[devel] Re: Re: Re: apache2
Sviataslau Svirydau
=?iso-8859-1?q?Sviataslau=5FSvirydau_=CE=C1_epam=2Ecom?=
Вт Янв 31 20:53:55 MSK 2006
Anton Farygin wrote on 1/31/2006 5:04 PM:
>> ... На svn://malta надо
>> именно так укладывать все, как для
>> остальных пакетов сделано?
>>
>
> Угу.. но готов рассмотреть другую
> структуру в качестве дефолтной, если оно будет интересно ;-)
>
На отдельную заявку не претендую :)
В принципе, в рамках существующей струкуты можно добиться того, чего мне
надо без особых ухищрений...
Я лучше расскажу как это организовано у меня:
1. Я не использую возможности svn-build-common, поэтому по старинке
собираю пакеты из ~/RPM. Хотя имеется несколько маленьких ньюансов.
=== На файловой системе ===
2. исходники/патчи лежат в ~/RPM/SOURCES/%name-%version
3. спек лежит вместе с исходниками в ~/RPM/SOURCES/%name-%version
(соответственно, если в существующей струкутру я сделаю ссылку
SPECS->SOURCES, то получится то, что мне надо, и вроде бы ничего другого
не сломает)
4. src.rpm укладываются в ~/RPM/SRPMS/%name
==== соответствующие строчки из ~/.rpmmacros ====
%_srcrpmdir %{_topdir}/SRPMS/%name
%_sourcedir %{_topsrcdir}/SOURCES/%name-%version
%_specdir %{_topsrcdir}/SOURCES/%name-%version
=== в svn ===
5. для всех пакетов я использую один svn-repository, на верхнем уровне
фолдер для каждого пакета, внутрях у каждого пакета свои trunk/tags/branches
6. мелкие тарболы закидываю в репозиторий, крупные - нет. В любом случае
в репозиторий попадает %name-%version.tar.(gz|bz2).asc от апстрима (если
таковой имеется)
Итого, чего бы я мог предложить:
1. В качестве энхансмента могу предложить передвинуть спек к исходникам.
(смысла держать отдельный каталог для одного спека нет, удобнее, когда
все под рукой. Но поскольку есть workaround, то это не критично)
2. Хотелось бы зафиксировать правила, по которым внутри svn://malta
следует создавать теги/бранчи (собсно расположение + naming
conventions). Полезно, например, ставить теги на состояния, залитые в
/i/S/. У меня для этой цели из спека вытаскивается
"%{VERSION}-%{RELEASE}" и используется для имени тега.
3. в svn-build-tools используется имя директирии для определения имени
пакета. Это наложит определенные (неудобные, имхо) требования на
создание бранчей. Если ввести требование на наличие только одного
спекфайла в каталоге с исходниками, то имя пакета можно определять прямо
из этого спекфайла (при наличи Name в спеке раньше определения
дополнительных %package, имя пакета выдается первым в rpm -q --qf
'%{NAME}\n' --specfile my.spec, с другими вариантами не экспериментировал).
--
Best Regards,
Sviatoslav Sviridov
Подробная информация о списке рассылки Devel