From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 5 Aug 2003 21:09:55 +0300 From: Alexander Bokovoy To: ALT Devel discussion list Subject: Re: [devel] sandman =?koi8-r?Q?=CE?= =?koi8-r?Q?=C1?= cvs.altlinux.org Message-ID: <20030805180955.GB22332@sam-solutions.net> Mail-Followup-To: ALT Devel discussion list References: <20030804084612.GB15251@basalt.office.altlinux.org> <3F2E1E8A.7020400@altlinux.com> <20030804090027.GA15443@basalt.office.altlinux.org> <3F2E217D.4010202@altlinux.com> <20030804090859.GA15677@basalt.office.altlinux.org> <20030804095035.GA30926@sam-solutions.net> <20030805093239.GC31934@sam-solutions.net> <20030805173326.GA16249@basalt.office.altlinux.org> <20030805174938.GA22332@sam-solutions.net> <20030805175822.GA16612@basalt.office.altlinux.org> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20030805175822.GA16612@basalt.office.altlinux.org> X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.2 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Aug 2003 18:10:08 -0000 Archived-At: List-Archive: List-Post: On Tue, Aug 05, 2003 at 09:58:22PM +0400, Dmitry V. Levin wrote: > > > > контроля всех остальных -- текстовых и бинарных -- объектов пакета и > > > > этим контролирующим объектом является spec-файл. > > > > > > Это не всегда так. > > > Зачастую среди множества исходных файлов данного пакета есть и вполне > > > плоские текстовые файлы. > > Увы, формализовать структуру для них в общем случае нельзя. Также, > Почему? Придется делать это по-пакетно. Вот эти файлы -- текстовые, а эти -- нет. И так далее. То есть, кто-то должен проанализировать пакет и разложить его исходники в хранилище и в SCM, да еще и учесть возможность удаления исходников из SCM -- этот вариант наиболее непригляден. > > При использовании hasher в любом случае предполагается первичная генерация > > src.rpm посредством промежуточного скрипта, который может сделать все ту > > же работу по приклеиванию .spec. Не вижу, каким образом это несовместимо с > > нынешним Сизифом. > > В нем имена spec-файлов имеет вид, отличный от используемого sandman'ом. > Кто будет конвертировать? Давай разделим проблемы. От пакетов, попадающих в Sisyphus, требуется наличие в них регуляризованных spec-файлов в формате foo.spec. Для Sandman даже это не существенно, так как перед попаданием содержимого исходного пакета в хранилище (суть, вызов команд утилиты sandcl) этот src.rpm будет раскручиваться, например, так: addpackage() { name=$($RPMQ --qf='%{NAME}' -p $1) basepart=$(basename $1) echo -e "\tImporting sources into Sandman..." $RPM2CPIO $1 | $SANDCL addsources $name pushd $CVSDIR $RPM2CPIO $1 | $CPIO -i $name.spec if [ ! -f $name ] ; then mv -f $name.spec $name echo -e "\tAdding spec file to CVS..." cvs add $name else mv $name.spec $name fi echo -e "\tImporting package ${basepart/.src.rpm/} ..." cvs ci -m "Imported package ${basepart/.src.rpm/}" $name popd } Как видишь, в данном случае мы предполагаем, что spec-файл называется имя_пакета.spec в src.rpm. Вот и все. Напишем скрипт, который будет выуживать любой spec-файл, -- не будет и этого ограничения. > > Diff относительно чего? Двух конкретных версий одного и того же исходника > > (если тот определяется как text/plain по мнению file)? Это легко > > добавляется, никаких проблем. > > Нет, xdelta на несжатые tarball'ы. > Можно, конечно, отложить на потом. Угу. Кстати, это дополнительная вычислительная нагрузка. > > Вычислительные ресурсы: минимум, если не используется сборка > > > > Дисковый ресурс: однократно -- развернутый Сизиф в исходниках (3.3Гб), > > далее -- по нарастающей, плюс место для референтной системы, на которой > > вычисляется корректность spec-файла (150-500Мб). Думаю, что 40-60Гб диска > > нам хватит надолго, поскольку наиболее дискоемкая функциональность > > sandman-а (генерация ISO-образов дистрибутивов) не используется. > > А по софту? Смотри зависимости пакета sandman-server: $ apt-cache depends sandman-server: sandman-server-0.5.5-alt4 Для установки требует: cvs Требует: sandman = 0.5.5-alt4 Требует: apt-utils Требует: chrootuid >= 1.3-alt2 Требует: e2fsprogs Требует: mount Требует: apt >= 0.5.5cnc4.1-alt4 Требует: service >= 0.4-alt1 Требует: sh-2.05b-alt5 Требует: logrotate-3.6.2-alt2 Требует: service-0.5-alt1 $ apt-cache depends sandman sandman-0.5.5-alt4 Требует: cpio Требует: tcl >= 8.4.2-alt1 Требует: tclx Требует: tcllib >= 0.8 Требует: tcl-trf Требует: tcl-memchan Я немного подредактировал вывод этих команд в смысле сокращения дублирования и виртуальных зависимостей (sh, init(...)). -- / Alexander Bokovoy --- The clearest way into the Universe is through a forest wilderness. -- John Muir