* [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