[devel] packages

Alexey I. Froloff =?iso-8859-1?q?sir=5Fraorn_=CE=C1_immo=2Eru?=
Пн Сен 8 13:03:11 MSD 2003


* Anatoly A. Yakushin <yakushin на umail.ru> [030908 12:09]:
> Однако хотелось бы хоть какую-то членораздельную минимальную 
> документацию по hasher или sandman (желательно по обоим).

"Не под воздеёствием ваших речей, но исключительно из уважения к
Хоботову" (C) ;-)

Корявенько, конечно, но я старался описать именно
последовательность действий, чего так не хватает в документации к
sandman'у...

=== cut ===
                           sandman mini-HOWTO

"Первым делом... Что первым делом? А! Пианину куплю!" (С) Падал
прошлогодний снег

$ apt-get install sandman sandman-server

Внимательно читаем доку (/usr/share/doc/sandman-server-*/README.sandd) и
понимаем, что ничего не понимаем.

Я буду рассказывать на примере Master 2.2 (он у меня сейчас под рукой).

Настраиваем /etc/sandman/repos:

[global]
target = i586
distribution = ALT Linux
vendor = ALT Linux Team
cvsroot = /var/cvsroot

[master]
cvsmodule = release
stable = file:/var/ftp/pub/distributions/ALTLinux Master/current/i586 updates hotfix main addon compat
# Вот такой у меня хитрый stable ;-)
basesystem = setup glibc-core filesystem basesystem
buildsystem = basesystem rpm-build

Внимательно читаем /usr/share/doc/sandman-server-*/sudoers.sample и
кладём его в /etc/sudo.d (не забудьте проверить права!)

Инициализируем cvs (рекомендуется использовать метод ext, настройте sshd
и ключи):

$ cvs -d :ext:$LOGNAME на localhost:/var/cvsroot init
$ cvs -d :ext:$LOGNAME на localhost:/var/cvsroot co CVSROOT
$ cd CVSROOT
$ $EDITOR users

Добавляем строчку:
username:"First Last <id на altlinux.org>"

$ htpasswd -c passwd usename
Вводим пароль

$ cvs add users passwd
$ $EDITOR checkoutlist

Добавляем строчки:
users   No users file
passwd  No passwd file

$ cvs commit users passwd checkoutlist
$ mkdir ../release && cd ../release

Копируем release installer macros modules из
/usr/share/doc/sandman-server-*/*.sample и слегка редактируем. Например
у меня в modules содержится только:

[master]
* = packages

$ touch {release,installer,macros}.generic

Создаём модуль release в cvs:

$ cvs -d :ext:$LOGNAME на localhost:/var/cvsroot import release me start

(Более подробную документацию по cvs можно найти в info cvs)

$ cd ..
$ mv release release.orig
$ cvs -d :ext:$LOGNAME на localhost:/var/cvsroot co release
$ ls -l release

Проверяем что всё нормально.

$ mkdir packages
$ cd packages
$ cvs -d :ext:$LOGNAME на localhost:/var/cvsroot import packages me start
$ cd ..
$ mv packages packages.orig
$ cvs -d :ext:$LOGNAME на localhost:/var/cvsroot co packages
$ ls -l packages

Проверяем что всё нормально.

Создаём дерево для sandman'а:

$ sudo mkdir -p /var/lib/sandman/master/{stable/{SRPMS.master,i586/{RPMS.master,base}}}
$ sudo chown -R sandman:sandman /var/lib/sandman/master

Прописываем sandman'ские хуки:

$ cd CVSROOT
$ $EDITOR commitinfo

Добавляем строчки:
release/*       /usr/bin/sandctl -hook cvs:commit
packages/*      /usr/bin/sandctl -hook cvs:commit

$ cvs commit commitinfo

Запускаем демона:

$ sudo /sbin/service sandd start

По идее должен завестить...

$ sandcl -d usename:пароль@localhost:/master querynames \*

...должен немно подумать (на самом деле он создаёт
/var/cache/sandman/master) и выдать пустой список.

... to be continued ...
=== cut ===

-- 
Regards, Sir Raorn.
-------------------
Функции типа strcpy/sprintf вредны не из-за опасной реализации, а сами по
себе, из-за своей семантики.
		-- ldv in devel@
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20030908/b2b772c8/attachment-0001.bin>


Подробная информация о списке рассылки Devel