Вход:  Пароль:  
FreeSource: Мусорка/AltLinux?/Sisyphus?/devel?/SubversionForSPECS ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |

Использование subversion для хранения и сборки SRC пакетов.


Предлагаемый метод ни на что не претендует, но зарекомендовал себя как удобный способ хранения и сборки пакетов.


Для начала необходимо установить subversion (этот пакет не вытягивает ничего страшного, бояться его не стоит):


Создаем чистый репозитарий:


первый checkout:

Здесь вместо файл можно использовать svn+ssh://<сервер>/<путь к репозитарию>


далее необходимо зайти в каталог svn/trunk/


создаем каталог svn-build-common и кладем в него Makefile.common такого содержания:



добавляем каталог вместе с содержимым в svn:


коммитим:


начинаем укладывать пакеты:


для примера возьмем пакет gqview.


после выполнения последней команды получим в каталоге gqview подкаталоги SPECS и SOURCES, содержащие соответствующие компоненты RPM пакета


можно выполнять svn add gqview и svn commit


Следущим этапом надо сделать возможность сборки пакета с помощью make (кому это не нравится, тот может сделать какой-нибуть враппер на rpmbuild, переопределяющий _topdir):


в каталог gqview укладываем Makefile такого содержания:


И добавляем property для подключения внешнего источника svn-build-common в каталоге gqview:


коммитим property:
svn commit gqview


делаем update для gqview
svn up gqview


В итоге в каталоге gqview должен появится подкаталог svn-build-common, содержащий Makefile.common


ну а теперь об использовании всего этого хозяйства:


сборка исходного и бинарного пакета – в каталоге пакета make (или make ba)
сборка исходного пакета – make source
сборка бинарного пакета – make binary
накладывание патчей и подготовка build – make bp
очистка – make clean


также, для тех кто собирает пакеты из собственных исходников – данная схема предоставляет возможность хранения исходников в дереве svn с одновременной сборкой в тарболл и пакет.


Для этого достаточно в каталоге пакета создать подкаталог UNCOMPRESSED и в него уложить дерево исходников вашего проекта.


В случае обнаружения данного каталога make экспортирует из svn все дерево в каталог TMP/<имя пакета>-<версия>/, запакует каталог в tar.bz2 и соберет с ним пакет.


Версия в этом случае берется из SPEC файла.


Ограничение данной схемы:
spec файл должен иметь одинаковое имя с именем пакета.


 
Файлов нет. [Показать файлы/форму]
Много комментариев (5). [Показать комментарии/форму]