[devel] rpmbph with git branches

Anton Farygin rider на altlinux.com
Пн Май 18 23:37:56 MSD 2009


Aleksey Avdeev пишет:
> Anton Farygin пишет:
>> Eugene Prokopiev пишет:
>>> 18.05.09, Anton 
>>> Farygin<rider-u2l5PoMzF/VWk0Htik3J/w на public.gmane.org> написал(а):
>>>> Eugene Prokopiev пишет:
>>>>
>>>>
>>>>>>  Пакеты в бранчи я собираю такой командой:
>>>>>>  $ rpmbph -n -M50 -u global.spec
>>>>>>  Пока не представляю, как это сделать на основе git, поскольку
>>>>>>  пока не готов изобретать правила для хранения в репозитории
>>>>>>  разных веток (или они уже где-то опубликованы).
>>>>>>  Если Вы считаете, что автоматическое создание ветки в git для
>>>>>>  бранча имеет смысл, я готов рассмотреть пример репозитория с
>>>>>>  правильной структурой и адаптировать rpmbph к сборке из git.
>>>>>>
>>>>> Как минимум для меня некоторая автоматика для управления ветками в git
>>>>> имеет смысл, только сделать никак не соберусь :( В качестве примера
>>>>> структуры репозитория предлагаю взглянуть на
>>>>> http://www.altlinux.org/Git/SomeDestReposViaBranches
>>>>>
>>>>>
>>>>  Скажу вам по секрету, только никому не говорите - при сборке 
>>>> пакетов ветки
>>>> не имеют никакого значения, важны только тэги.
>>>
>>> А можно развить эту мысль дальше?
>>>
>>> Мне было показалось, что вы хотели предложить собирать в разные
>>> репозитории из одной ветки, но я не смог понять как быть с Release и
>>> changelog ...
>>
>> А дальше - вы пишете скрипт, который будет из master делать тэги с 
>> нужными изменениями (через временный бранч). Release и changelog надо 
>> будет править.
>>
>> Кстати, почему-то у нас в Release: не получается использовать макросы, 
>> определённые в /etc/rpm/macros.d/ ? Они вообще должны работать ?
> 
>   Можно, и оно работает. См. 
> <http://git.altlinux.org/people/solo/packages/?p=apache2.git;a=blob;f=apache2.spec;h=2d4284a637889841f6dba3f089bcfc55372a0e21;hb=ALT/apache2/spec>: 
> 
> часть макросов, на основе которых вычисляется Release (%distr_switch, в 
> частности) определена в другом пакете (в rpm-macros-apache2). Для 
> данного пакета требуется использовать BuildRequires(pre).

Интересно было бы полностью вычислить Release в /etc/rpm/macros.d/

Всё, что еу нужно передавать - это номер релиза - циферку.

Т.е. - в итоге должно получиться что-то вроде

%_altrelease 1
Release: %alt_release

> 
>> а так можно было бы release вычислять на основании какого-нить %branchver
> 
>   Я давно этим (вычислением нужного Release, в зависимости от 
> дистрибутива/бранча, через макросы) пользуюсь (и как-то сюда писал об 
> этом).

что-то у тебя в спеке страшно всё очень. Вынести бы это в отдельную 
функцию...



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