ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] sandman mini-HOWTO part II
@ 2003-09-11  6:33 Alexey I. Froloff
  2003-09-12  6:48 ` Serge
  0 siblings, 1 reply; 5+ messages in thread
From: Alexey I. Froloff @ 2003-09-11  6:33 UTC (permalink / raw)
  To: ALTLinux devel

[-- Attachment #1: Type: text/plain, Size: 4103 bytes --]

Итак, sandman настроили, начинаем его использовать...

Будем думать, что в каталоге ~/sandman у нас с-checkout-ены cvs модули
release и packages (packages пока пустой):

$ tree sandman
sandman
|--packages
|  `--CVS
|     |--Root
|     |--Repository
|     `--Entries
`--release
   |--CVS
   |  |--Root
   |  |--Repository
   |  `--Entries
   |--installer
   |--macros
   |--macros.generic
   |--modules
   |--modules.generic
   |--release
   `--release.generic

Я буду рассказывать про метод "spec" (см. README)...

$ cd sandman/packages
(просто так, для удобства)
$ rpm2cpio package-V-R.src.rpm| sandcl -d <BTEROOT> addsources package
$ rpm2cpio package-V-R.src.rpm| cpio -i package.spec
$ mv package.spec package

Я рекомендую в самом начале файла со спеком добавить две строчки для
редакторов типа vim или emacs (файл-то у нас получился без расширения):

# vim: set ft=spec: -*- mode: rpm-spec; -*-
# $Id$

Во второй строчке cvs сам проставит тэг с информацией о файле, дате
последнего изменения, ревизии и коммитере (см. info cvs).

$ cvs add package
$ cvs commit -m "Added package" package

Если всё в порядке, коммит пройдёт, если нет - sandman скажет в чём
ошибка и предложит её исправить. Будем думать, что у нас всё в порядке
;-)

Попробуем собрать наш пакет:

$ sandcl -d <BTEROOT> build -pocket package_build package

Тут package_build - имя "кармана", куда будет производиться сборка. В
силу некоторых особенностей внутреннего устройства sandman'а - это
наверно единственный способ собрать "текущую" версию пакета. Дело в том,
что при изменении версии пакета (S:V-R) sandman проставляет тэг в cvs на
предыдущую ревизию спека, а sandcl build будет собирать последнюю
известную ему (по cvs тэгам) версию пакета. Всё это сделано по той
причине, что спекфайл для одной версии пакета может изменяться несколько
раз (например в процессе правки спека при исправлении ошибок сборки,
например в новой версии потребовалось изменение сборочных зависимостей,
а мантейнер это не сразу заметил). Но я отвлёкся.

Итак, после выполнения команды build, сервер sandman создаст chroot,
поставит туда, с отслеживанием всех зависимостей, basesystem (описаную в
/etc/sandman/repos), потом buildsystem и наконец пакеты указанные в
сборочных зависимостях (BuildPreReq и BuildRequires) в спекфайле.

Если всё опять прошло нормально, в созданном chroot запустится rpm -ba...

После сборки, все собраные бинарные и исходные пакеты будут положены в
"карман", указаный в опции pocket. Достать из оттуда можно командой

$ sandcl getpocket <pocketname>

При этом файлы будут скопированы в текущий каталог.

$ sandcl endpocket <pocketname>

"закрывает карман", при этом пакеты в нём содержащися переносятся в
"current" (см. README в %_docsir/sandman-server-*) а сам "карман"
удаляется.

"Карман" применяется при сборке текущей версии паекета, и при сборке
нескольких зависимых друг от друга пакетов - при создании chroot'а
sanman ищёт необходимые пакеты сначала в указаном "кармане" (если он
указан в командной строке), потом в stable, указаном в repos.

В этом месте рекомндуется отвлечься от HOWTO и прочитать man sandcl...

Итак, при помощи команд getsources и addsources можно "достать" и
"положить" исходные файлы и патчи из/в хранилище sandman'а. Например,
если понадобилось изменить файл меню:

$ sandcl -d <BTEROOT> getsources package package.menu
$ $EDITOR package.menu
$ sandcl -d <BTEROOT> addsources package package.menu

Но что бы sandman приянл эти изменения, надо обязательно сделать коммит
спекaайла в cvs, даже если он и не изменился. Честно говоря, я не нашёл
у cvs опции --force, так что просто добавляю/удаляю пустую строку в
конце файла ;-)

$ cvs commit package

Если всё в порядке, коммит пройдёт, если нет - sandman скажет в чём
проблема.

Да, один момент - команда addsources добавляет файлы только из текущего
каталога.

... возможно to be continued ...

-- 
Regards, Sir Raorn.
-------------------
>ps: куплю билеты на матч ldv--rider, т.к. пока изложенные ими
>позиции существенно противоречат друг другу ;[
Организуем на linuxfest. Билеты в танцевальный партер -- $50.
		-- aen in devel-kernel@

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [devel] sandman mini-HOWTO part II
  2003-09-11  6:33 [devel] sandman mini-HOWTO part II Alexey I. Froloff
@ 2003-09-12  6:48 ` Serge
  2003-09-12  7:00   ` Alexey I. Froloff
  0 siblings, 1 reply; 5+ messages in thread
From: Serge @ 2003-09-12  6:48 UTC (permalink / raw)
  To: ALT Devel discussion list

On Thu, 11 Sep 2003 10:33:36 +0400
"Alexey I. Froloff" <sir_raorn@immo.ru> wrote:

> Итак, sandman настроили, начинаем его использовать...
> 
А где почитать sandman mini-HOWTO part I ?

Regards,
	Serge.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [devel] sandman mini-HOWTO part II
  2003-09-12  6:48 ` Serge
@ 2003-09-12  7:00   ` Alexey I. Froloff
  2003-09-12  8:33     ` Serge
  0 siblings, 1 reply; 5+ messages in thread
From: Alexey I. Froloff @ 2003-09-12  7:00 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 600 bytes --]

* Serge <ssv@altlinux.ru> [030912 10:55]:
> > Итак, sandman настроили, начинаем его использовать...
> А где почитать sandman mini-HOWTO part I ?
Здесь же несколько дней назад (в каком-то треде был) и на atmsk в
разделе статьи.

http://www.atmsk.ru/index.php?option=articles&task=viewarticle&artid=74&Itemid=3
http://www.atmsk.ru/index.php?option=articles&task=viewarticle&artid=75&Itemid=3

-- 
Regards, Sir Raorn.
-------------------
В принципе, и управляющий сервер можно сконфигурировать работать с правами
псевдопользователя; при этом будет потеряна часть функциональности.
		-- ldv in sisyphus@

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [devel] sandman mini-HOWTO part II
  2003-09-12  7:00   ` Alexey I. Froloff
@ 2003-09-12  8:33     ` Serge
  2003-09-12  9:06       ` Alexey I. Froloff
  0 siblings, 1 reply; 5+ messages in thread
From: Serge @ 2003-09-12  8:33 UTC (permalink / raw)
  To: ALT Devel discussion list

On Fri, 12 Sep 2003 11:00:10 +0400
"Alexey I. Froloff" <raorn@immo.ru> wrote:

> * Serge <ssv@altlinux.ru> [030912 10:55]:
> > > Итак, sandman настроили, начинаем его использовать...
Спасибо.
После прочтения наконец-то наступило хоть какое-то просветление :)

Однако:
Starting BTE daemon: key "repos" not found in keyed list    [FAILED]
Где находится "keyed list" и что сделать чтобы repos там был "found" ?

"stable = file:/var/ftp/pub/distributions/ALTLinux Master/current/i586"
Насколько я понимаю - это для apt-get и там может быть любой URL который понимает apt?

Regards,
	Serge.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [devel] sandman mini-HOWTO part II
  2003-09-12  8:33     ` Serge
@ 2003-09-12  9:06       ` Alexey I. Froloff
  0 siblings, 0 replies; 5+ messages in thread
From: Alexey I. Froloff @ 2003-09-12  9:06 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 712 bytes --]

* Serge <ssv@altlinux.ru> [030912 12:38]:
> Starting BTE daemon: key "repos" not found in keyed list    [FAILED]
> Где находится "keyed list" и что сделать чтобы repos там был "found" ?
Была у меня такая проблема, но это было давно и я не помню как
она решалась... :-( Есть подожрение, что у вас просто старый
sandman, поставьте последний сизифный...

> "stable = file:/var/ftp/pub/distributions/ALTLinux Master/current/i586"
> Насколько я понимаю - это для apt-get и там может быть любой URL который понимает apt?
Только file: и только локально... Но говорят, работа в этом
направлении идёт ;-)

-- 
Regards, Sir Raorn.
-------------------
Я против макросов на любой основе, если они кривые.
		-- ldv in devel@

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2003-09-12  9:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-11  6:33 [devel] sandman mini-HOWTO part II Alexey I. Froloff
2003-09-12  6:48 ` Serge
2003-09-12  7:00   ` Alexey I. Froloff
2003-09-12  8:33     ` Serge
2003-09-12  9:06       ` Alexey I. Froloff

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git