[devel] Как сделать репозиторий в git

Alexey Tourbin at на altlinux.ru
Ср Апр 26 03:46:02 MSD 2006


On Wed, Apr 26, 2006 at 02:47:36AM +0400, Dmitry V. Levin wrote:
> Предпосылка та же, что была при создании hasher'а: я предполагаю, что
> система предназначена не только для того, чтобы мантейнер собирал свои
> пакеты, но и для того, чтобы собирать чужие пакеты "не глядя".
> 
> В этом случае содержимое репозитория следует рассматривать как untrusted
> input.  В такой ситуации нельзя использовать простые методы, эквивалентные
> запуску произвольного кода, извлекаемого из репозитория.  К этим простым
> методам относятся:
> - запускаемые скрипты;
> - включаемые makefile'ы;
> - specfile'ы, обрабатываемые rpmbuild'ом.
> 
> Значит, чтобы собирать пакеты из репозитория, нужно либо иметь просто
> устроенные specfile'ы, либо завести служебный файл, примитивный внутри и
> достаточный для сборки пакета в типичных случаях устройства репозитория.

Здесь не понял ход мыслей.  "Сборка specfile'ов небезопасна.  Значит,
нужно упростить specfile'ы, чтобы сборка стала безопасной."  Так?
Что имелось в виду под упрощением?

> Упростить 5.5 тысяч specfile'ов в обозримом будущем нереально, поэтому я
> предлагаю завести служебный файл.  Имя его не столь важно, хотя значение
> по умолчанию должно быть достаточно редким.  Во время тестирования я
> использовал имя ".buildspec".

Чем занимается этот служебный файл?

Проблема в том, что из спека на самом деле нетривиально получить src.rpm
для последующей сборки.

%if_with gnome
BuildRequires: gnome
%else
BuildRequires: kde
%endif

Если только запихнуть этот спек в чрут и сделать там
rpm -q --requires --specfile *.spec

но тогда опять же макросы могут не раскрыться.
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: отсутствует
Url     : http://lists.altlinux.org/pipermail/devel/attachments/20060426/a0b15e3a/attachment.bin 


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