From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 Date: Wed, 13 Jan 2010 00:57:48 +0200 From: Michael Shigorin To: ALT Linux Sisyphus discussions Message-ID: <20100112225748.GI11686@osdn.org.ua> Mail-Followup-To: ALT Linux Sisyphus discussions , Alexey Shabalin , Denis Smirnov References: <20100112124344.GF28738@ender.fondinvestrk.ru> <20100112171711.GF11686@osdn.org.ua> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20100112171711.GF11686@osdn.org.ua> User-Agent: Mutt/1.4.2.1i Cc: Denis Smirnov , Alexey Shabalin Subject: Re: [sisyphus] ppp-2.4.5-alt1 X-BeenThere: sisyphus@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: shigorin@gmail.com, ALT Linux Sisyphus discussions List-Id: ALT Linux Sisyphus discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jan 2010 22:58:04 -0000 Archived-At: List-Archive: List-Post: On Tue, Jan 12, 2010 at 07:17:11PM +0200, I wrote: > > - изменена схема сборки из git. Кому не нравится прошу > > высказать пожелания. > Мне не нравится хранить не имеющее ни малейшего отношения > к gear в .gear. Для такого IMHO лучше держать чистый master, > а исходники -- в бранче upstream. Тем паче что апстрим в гите уже и живёт: git remote add upstream git://ozlabs.org/~paulus/ppp.git Твоё объединение пачек патчей устраивает, но не понравилось: - засовывание спека и дописходников в .gear (они ж не относятся); - смесь из апстримных исходников и этого всего в master. IMCO тарбол лучше собирать из тега, да и мегапатч тогда уж лучше делать между тегом и веткой, в которую помержено всё нужное. Далее: - girar-download (см. в моём girar-utils.git), чтоб быренько найти, прописать и втянуть remotes; - поприбивал свои старые ненужные бранчи локально и на git.alt; - втянул твои патч-бранчи как локальные: git branch -r | grep patches | while read i; do git checkout -b ${i#shaba/} $i; done - как сегодня предлагали, отодвинул master: git branch -m master oldmaster - сделал чистый бранч: git-empty-branch master - сгенерил кусок .gear/rules: git branch | grep patches | while read i; do echo "diff: v2.4.5:. $i:. name=ppp-2.4.5-${i#patches/}.patch"; done - сделал заготовку для использования в спеке: N=0; git branch | grep patches | while read i; do echo "Patch$N: ppp-2.4.5-${i#patches/}.patch"; N=$((N+1)); done N=0; git branch | grep patches | while read i; do echo "%patch$N -p1"; N=$((N+1)); done - переставил тег v2.4.5 на соответствующий апстримный коммит: git tag -d v2.4.5 git checkout -b upstream upstream/master git log # HEAD на 2.4.5 git checkout master - поделал fake merge (патч-бранчи в master реально НЕ мержатся): git merge -s ours upstream git branch | grep patches | while read i; do git merge -s ours $i; done - поскольку старый тег v2.4.5 удалён, а других и не было, то rm -rf .gear/tags gear-update-tag -avc && git commit -am 'gear-update-tag' Дальше не заметил было в gitk того, что patches/openssl и patches/eaptls конфликтуют; спасибо за пояснение, сделал patches/openssl+eaptls (соответственно патчи из отдельных двух бранчей не прикладываются). Ну и поскольку сперва оформлял на скору руку -- решил разобрать чуть аккуратней коммиты, отодвинув master в сторонку, начав с исходных мегапатчевых .gear/rules и ppp.spec да сделав по-новой с применением git cherry-pick. Результат ещё немного подчистил по части спека и пушнул. Просьба посмотреть и отозваться насчёт репо -- код должен быть тот же. PS: ppp обновляется крайне редко, поэтому решил не использовать @version@ для патчей в .gear/rules: патчи делались от 2.4.5, это и отражено в их рецептах и названиях. Впрочем, для ядра tmc-tc на основе часто, но несильно изменяющегося 2.6.27.y использую схожий подход и не вижу поводов расстраиваться. PPS: в воздухе запахло gear-update-patches и .gear/rules.in... -- ---- WBR, Michael Shigorin ------ Linux.Kiev http://www.linux.kiev.ua/