Gear/ImportUpstreamVBranch: различия между версиями
м (Теперь модно .gear/) |
Tba (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии 3 участников) | |||
Строка 1: | Строка 1: | ||
{{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/gear/ImportUpstreamVBranch}} | {{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/gear/ImportUpstreamVBranch}} | ||
== Описание процесса привязки к "апстримным" сорцам в отдельный бранче (на примере dbmail) == | == Описание процесса привязки к "апстримным" сорцам в отдельный бранче (на примере dbmail) == | ||
Процесс описываю без лишних подробностей (они есть | Процесс описываю без лишних подробностей (они есть здесь: [[gear/ImportSeparateUpstream|Импорт истории пакета и вынесение "апстримных" сорцов в отдельный бранч на примере пакета mutt1.5]]). | ||
=== Клонирование апстрима === | === Клонирование апстрима === | ||
Строка 11: | Строка 9: | ||
$ cd dbmail</pre> | $ cd dbmail</pre> | ||
Процесс долгий и мучительный. Поосле завершения -- рекомендую пережать | Процесс долгий и мучительный. Поосле завершения -- рекомендую пережать репозиторий: | ||
<pre>$ git-prune | <pre>$ git-prune | ||
$ git-repack -a -d</pre> | $ git-repack -a -d</pre> | ||
Результат | Результат здесь: [http://git.altlinux.ru/people/solo/packages/?p=dbmail.orig.git;a=summary http://git.altlinux.ru/people/solo/packages/?p=dbmail.orig.git;a=summary] | ||
=== Расстановка тегов === | === Расстановка тегов === | ||
Совсем паршиво. Похоже [http://nfg3.nfgs.net/git/dbmail.git http://nfg3.nfgs.net/git/dbmail.git] -- это только часть | Совсем паршиво. Похоже [http://nfg3.nfgs.net/git/dbmail.git http://nfg3.nfgs.net/git/dbmail.git] -- это только часть репозитория используемого автором. Тегов невидно вообще (на момент описания сдесь [http://nfg3.nfgs.net/git/dbmail.git/refs/tags/ http://nfg3.nfgs.net/git/dbmail.git/refs/tags/] девственно пусто). Но коммит соответствующий [http://www.dbmail.org/download/2.2/dbmail-2.2.4.tar.gz dbmail-2.2.4.tar.gz] похоже удалось найти (по комментарию и записям в <tt>[[gear/ChangeLog|ChangeLog]]</tt>). Отметил его тагом [http://git.altlinux.ru/people/solo/packages/?p=dbmail.orig.git;a=tag;h=0f6f20144ee5e5035c54a42a14b6289a324bbe89 dbmail/2.2.4]. | ||
=== Загрузка <tt>dbmail-*.src.rpm</tt> "рядом" === | === Загрузка <tt>dbmail-*.src.rpm</tt> "рядом" === | ||
Строка 115: | Строка 113: | ||
* [[gear/ImportSeparateUpstream|Импорт истории пакета и вынесение "апстримных" сорцов в отдельный бранч на примере пакета mutt1.5]] | * [[gear/ImportSeparateUpstream|Импорт истории пакета и вынесение "апстримных" сорцов в отдельный бранч на примере пакета mutt1.5]] | ||
* [[gear|gear]] | * [[gear|gear]] | ||
{{Category navigation|title=gear|category=gear|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 16:11, 24 сентября 2011
Описание процесса привязки к "апстримным" сорцам в отдельный бранче (на примере dbmail)
Процесс описываю без лишних подробностей (они есть здесь: Импорт истории пакета и вынесение "апстримных" сорцов в отдельный бранч на примере пакета mutt1.5).
Клонирование апстрима
$ git-clone http://nfg3.nfgs.net/git/dbmail.git $ cd dbmail
Процесс долгий и мучительный. Поосле завершения -- рекомендую пережать репозиторий:
$ git-prune $ git-repack -a -d
Результат здесь: http://git.altlinux.ru/people/solo/packages/?p=dbmail.orig.git;a=summary
Расстановка тегов
Совсем паршиво. Похоже http://nfg3.nfgs.net/git/dbmail.git -- это только часть репозитория используемого автором. Тегов невидно вообще (на момент описания сдесь http://nfg3.nfgs.net/git/dbmail.git/refs/tags/ девственно пусто). Но коммит соответствующий dbmail-2.2.4.tar.gz похоже удалось найти (по комментарию и записям в ChangeLog). Отметил его тагом dbmail/2.2.4.
Загрузка dbmail-*.src.rpm "рядом"
Для загрузки использовал патченую версию gear-srpmimport (можно взять здесь: http://git.altlinux.org/people/solo/packages/?p=gear.git;a=shortlog;h=solo/comp-branches), позволяющую разложить компоненты srpm по отдельным бранчам и задавать префикс для бранчей/тегов. (Для дальнейшей обработки мне так удобнее.) При использовании стандартной утилиты дальнейшее -- поменяется не сильно.
$ gear-srpmimport --import-only --comp-branches --prefix=ALT/dbmail dbmail-2.0.10-alt2.src.rpm ... $ gear-srpmimport --import-only --comp-branches --prefix=ALT/dbmail dbmail-2.2.1-alt5.0.src.rpm
Прошу обратить внимание на параметр --import-only: если его не указывать -- gear-srpmimport смержит созданый ей бранч с текущим. А нам, в данном случаи, это не нужно.
Редактируем .gear/rules
Переходим в нужный бранч
У меня это ALT/dbmail/gear_rules, по умолчению -- в srpms, если параметрами небыло заданно другое.
$ git-checkout ALT/dbmail/gear_rules
Редактируем .gear_rules
Строку генирации трабла меняем на:
tar.gz: dbmail/2.2.4:. name=dbmail-2.2.4
Коммитим
$ git-commit -a -s -m'Updete .gear_rules: > - using dbmail/2.2.4 tsg > '
Редактируем спек
Сдесь всё аналогично.
Переходим в нужный бранч, если это нужно
У меня нужно перейти в ALT/dbmail/spec:
$ git-checkout ALT/dbmail/spec
Редактируем и коммитим
Собираем все правки в кучу
Если компаненты по бранчам не разделялись -- это шаг не нужен.
$ git-checkout ALT/dbmail/srpms $ git-merge 'Merging all components' HEAD ALT/dbmail/spec ALT/dbmail/gear_rules
Зачистка
Удаляем старый каталог dbmail (он больше не нужен) и коммитим:
$ git-rm -f dbmail ... $ git-commit -a -s -m 'Remove old dbmail/'
Подшиваем бранч апстрима
$ git-merge -s ours 'Using upstream branch' HEAD dbmail/2.2.4
Обнавляем/создаём .gear/tags
$ gear-update-tag -a
Коммитим всё это безобразие :-)
git-commit -a -s -m '- move to 2.2.4'
Проверяем
А всё ли у нас получилось?
$ gear --rpmbuild -- rpmbuild --nodeps -bs Записан: /home/solo/RPM/SRPMS/dbmail-2.2.4-alt0.src.rpm $ rpm -qlp /home/solo/RPM/SRPMS/dbmail-2.2.4-alt0.src.rpm dbmail-2.2.0-altlinux-as-need.patch dbmail-2.2.1-fix-libdir.patch dbmail-2.2.4.tar.gz dbmail-clean dbmail-imapd.init dbmail-lmtpd.init dbmail-pop3d.init dbmail-timsieved.init dbmail.conf dbmail.spec
Сылки
- http://git.altlinux.ru/people/solo/packages/?p=dbmail.rpm.git;a=shortlog;h=ALT/dbmail/srpms -- результат описанных операций
- Импорт истории пакета и вынесение "апстримных" сорцов в отдельный бранч на примере пакета mutt1.5
- gear