Gear/ImportUpstreamVBranch: различия между версиями

Материал из ALT Linux Wiki
(Import from freesource.info)
 
 
(не показаны 4 промежуточные версии 4 участников)
Строка 1: Строка 1:
[[Category:Devel]]
{{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/gear/ImportUpstreamVBranch}}
{{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/gear/ImportUpstreamVBranch}}
== Описание процесса привязки к "апстримным" сорцам в отдельный бранче (на примере dbmail) ==
== Описание процесса привязки к "апстримным" сорцам в отдельный бранче (на примере dbmail) ==


Процесс описываю без лишних подробностей (они есть сдесь: [[gear/ImportSeparateUpstream|Импорт истории пакета и вынесение "апстримных" сорцов в отдельный бранч на примере пакета mutt1.5]]).
Процесс описываю без лишних подробностей (они есть здесь: [[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://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/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].
Совсем паршиво. Похоже [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> "рядом" ===
Строка 32: Строка 30:
Прошу обратить внимание на параметр <tt>--import-only</tt>: если его не указывать -- <tt>gear-srpmimport</tt> смержит созданый ей бранч с текущим. А нам, в данном случаи, это не нужно.
Прошу обратить внимание на параметр <tt>--import-only</tt>: если его не указывать -- <tt>gear-srpmimport</tt> смержит созданый ей бранч с текущим. А нам, в данном случаи, это не нужно.


=== Редактируем <tt>.gear-rules</tt> ===
=== Редактируем <tt>.gear/rules</tt> ===


==== Переходим в нужный бранч ====
==== Переходим в нужный бранч ====
Строка 83: Строка 81:
<pre>$ git-merge -s ours 'Using upstream branch' HEAD dbmail/2.2.4</pre>
<pre>$ git-merge -s ours 'Using upstream branch' HEAD dbmail/2.2.4</pre>


=== Обнавляем/создаём <tt>.gear-tags</tt> ===
=== Обнавляем/создаём <tt>.gear/tags</tt> ===


<pre>$ gear-update-tag -a</pre>
<pre>$ gear-update-tag -a</pre>
Строка 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

Freesource-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была перемещена с freesource.info.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.

Описание процесса привязки к "апстримным" сорцам в отдельный бранче (на примере 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

Сылки