[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