[devel] I: Makefile* для svn репозитария (was: apache2)
Aleksey Avdeev
=?iso-8859-1?q?solo_=CE=C1_solin=2Espb=2Eru?=
Пт Фев 3 17:03:00 MSK 2006
Ivan Fedorov пишет:
> Sviatoslav Sviridov пишет:
>
...
>>
>> Какой subversion имеется ввиду?
>
>
> svn://malta.altlinux.ru/trunk/
Посмотрел я на него, и на
<http://wiki.sisyphus.ru/devel/SubversionForSPECS>... И решил, привести
свой репозитарий (<http://gaspar.ramax.lan/pub/svn/rpm/>) к подобному
виду. Структура уже успела устареть (рядом -- обсуждения более вкусных
вариантов), но Makefile* -- могут оказаться полезными.
Основные отличия:
1. Вместо подключения внешних репозитариев -- по make update
производится переключение <имя>/Makefile{,.common} (svn sw) на
svn-build-common/Makefile{,.common}.project соответствующего уровня. От
внешних ссылок отказался, т. к. не придумал как корректно разрулить
множественность путей к репозитарию: у меня репозитарий доступен под
разными адресами, и есть места где доступен только 1, без
альтернативный, вариант (в разных местах -- различный).
2. Имена файлов с исходниками/патчами -- выдираются из спека (rpm -bE).
3. Предусмотрена адаптация под условия конкретного пакета (через
Makefile.{pre,post})
3. make clean -- чистит всё, отсутствующее в svn.
Структура:
/trunk
/trunk/Makefile -- незначительно изменён относительно оригинала
(приложен как Makefile)
/trunk/svn-build-common -- Makefile* автоматизации (разработка)
/trunk/svn-build-common/Makefile.project -- оригинал Makefile проекта (
trunk/ProjectTemplate/Makefile). Приложен к письму.
/trunk/svn-build-common/Makefile.common.project -- оригинал
Makefile.common проекта ( trunk/ProjectTemplate/Makefile.common).
Приложен к письму.
/trunk/ProjectTemplate -- шаблон проекта (реальный проект -- его
рихованая копия)
/trunk/ProjectTemplate/Makefile -- копия Makefile.project
/trunk/ProjectTemplate/Makefile.common -- копия Makefile.common.project
/trunk/ProjectTemplate/Makefile.pre -- для подмены умолчаний (inсlude в
начале Makefile.common), может отсутствовать (по умолчанию -- список
переменных штатно допустимых к подмене). (Набор переменных рассчитан на
переименование/объединение подкаталогов, задание имени спека, и т. д..
;-)) Приложен к письму.
/trunk/ProjectTemplate/Makefile.post -- рихтовка по месту (inсlude в
конце Makefile.common), может отсутствовать (по умолчанию -- пуст).
/trunk/ProjectTemplate/incoming -- отправляемое в incoming (может
отсутствовать)
/trunk/ProjectTemplate/{S,}RPMS -- результаты сборки (могут отсутствовать)
/trunk/ProjectTemplate/{SPECS,SOURCES} -- обязательны
/branches/SubversionForSPECS -- бранчи элементов автоматизации
/branches/SubversionForSPECS/AntonFarygin -- честно украдено с
<svn://malta.altlinux.ru> (и
<http://wiki.sisyphus.ru/devel/SubversionForSPECS>) :-)
/branches/SubversionForSPECS/solo -- то что у меня вышло из вышележащего.
/tags/SubversionForSPECS
/tags/SubversionForSPECS/v0.2 -- версия без явных ошибок в Makefile.*
(apache2 -- у меня ими собрался)
--
С уважением. Алексей.
----------- следующая часть -----------
An embedded and charset-unspecified text was scrubbed...
Name: Makefile
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20060203/77dec798/attachment-0004.ksh>
----------- следующая часть -----------
An embedded and charset-unspecified text was scrubbed...
Name: Makefile.project
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20060203/77dec798/attachment-0005.ksh>
----------- следующая часть -----------
An embedded and charset-unspecified text was scrubbed...
Name: Makefile.common.project
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20060203/77dec798/attachment-0006.ksh>
----------- следующая часть -----------
An embedded and charset-unspecified text was scrubbed...
Name: Makefile.pre
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20060203/77dec798/attachment-0007.ksh>
Подробная информация о списке рассылки Devel