[devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm

Eugene Prokopiev =?iso-8859-1?q?prokopiev_=CE=C1_stc=2Edonpac=2Eru?=
Ср Апр 11 13:21:47 MSD 2007


Aleksey Avdeev пишет:
> Eugene Prokopiev пишет:
> 
>>>>> Мне удобнее держать полученное из старонних источников отдельно, с
>>>>>мимниумом изменений: продукты полученные от поставщика могут требовать
>>>>>предварительной обработки (мытья, например) и до её проведения --
>>>>>незачем их мешать их с остальными инградиентами (на своей кухне я хозяин
>>>>>-- смешаю как сочту нужным ;-)).
>>>>
>>>>Это верно, однако разделение можно понимать по разному ;) Разные бранчи 
>>>>требуют регулярного слияния, если же просто вынести исходники апстрима в 
>>>>отдельный каталог, то получим и разделение (пока для меня в принципе 
>>>>достаточное), и уменьшение количества операций.
>>>
>>>  Деление -- получаем. Но выцепить изменения сделанные в исходниках уже
>>>сложнее...
>>
>>Кажется, выше я писал, каким образом я выцепляю изменения:
>>
>>
>>>Патчи, если таковые имеются, можно держать в отдельных файлах, как и 
>>>раньше. Если эти патчи мои, то делаю я их старым проверенным способом: 
>>>собираю апстримные исходники и тестирую разультат где-то отдельно 
>>>(иногда в системе, в которой не жалко сделать make install  ;)  ), 
>>>изменяемые файлы перед изменением обзываю .orig, после изменений делаю 
>>>gendiff. Даст ли мне ощутимые преимущества какой-нибудь более правильный 
>>>способ с отдельным бранчем под каждый патч?
>>
>>Если вы делаете иначе, пожалуйста, расскажите как (по возможности 
>>подробно, с командами). Особенно интересуют преимущества по сравнению с 
>>приведенным выше способом.
> 
> 
>   Патчи, к которым я приложил руку после перехода на git, в виде файлов
> я не храню (только унаследываемые). Для из поучения -- использую diff
> между тегами, благо gear это позволяет. (Пока непозволял -- использовал
> самописанный велосипед для автоматизированного создания патчей на базе
> заданных коммитов.)
> 
>   Поскольку, для работы с данной схемой всё равно нужны фиктивные мержи
> и gear-upate-tag, у меня нет усложнения техпроцесса при хранении
> исходников в отдельном банче. Это, в свою очередь, позволяет
> небеспокоется о имени каталога, куда апстрим пакует исходники (если они
> распространяются в тарбл, то версия часто присутствует в имени
> каталога): достаточно соглашения, что всё находящееся в корне бранча с
> сорцами -- сорцы, полученные из внешнего источника (возможно --
> правленные, но в данном контексте это не важно).

Под каждый свой патч вы выделяете отдельный бранч? Из сказанного вами 
вроде этого не следует, хотя я с трудом представляю себе обратное. Можно 
все-таки пример?

Вот допустим, мне нужно изменить что либо в Makefile.in, я создаю бранч 
(git-branch dbmail_2_2_makefile_patch dbmail_2_2), что я получаю? Копию 
предыдущего без тагов? А идентификаторы коммитов будут такие же?

Теперь мне нужно сделать таг, слить его с бранчем srpms, чтобы сделать 
положить в пакет исходники нового бранча, исправить .gear-rules и 
собрать пакет.

Потом установить его в hasher, чтобы в рабочей системе не устраивать 
свинство с *-devel и промежуточными результатами сборки - опа, а какие 
тогда преимущества этого подхода, если все сводится к старому способу с 
.orig?

Значит собирать надо в бранче (ладно, иногда на свинство можно 
согласиться ;) ), хорошо, собираю, какой командой теперь разницу 
выгрузить в файл, перейдя в бранч srpms?

-- 
С уважением, Прокопьев Евгений




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