Eugene Prokopiev пишет:
>> Выложите свой репозитарий на git.alt (ссылку -- сюда) -- ночером
>>попробую глянуть... ;-)
>
>
> http://git.altlinux.org/people/enp/packages/?p=dbmail.git;a=summary -
> это просто результат импорта из src.rpm, теперь нужно сделать правильно ;)
>
Правильность не обещаю, но то что получилось -- выложу, с описанием
процесса:
1. Клонирование
Процесс долгий и мучительный. Результат здесь:
Дальнейшее -- из расчёта что сделано cd в каталог репозитария.
2. Расстановка тегов.
Совсем паршиво. Похоже -- это
только часть репозитария используемого автором. Нашёл тольк 1 коммит
соответствующий какой либо стабильной версии (отметеил как
dbmail/2.2.4)... Всё остальное -- репозитарий разработки (судя по
ChangeLog).
3. Загрузка dbmail-*.src.rpm "рядом"
Для загрузки использовал патченую версию gear-srpmimport (можно взять
здесь:
),
позволяющую разложить компоненты 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 смержит созданый ей бранч с текущим. А нам, в данном
случаи, это не нужно.
В дальнейшем -- исхожу из того, что надо сменить версию на 2.2.4
(ненашоёл, куда поставить теги на другие версии).
4. Редактируем .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
> '
5. Редактируем спек. Сдесь всё аналогично:
а) Переходим в нужный бранч, если это нужно (у меня нужно перейти в
ALT/dbmail/spec)
$ git-checkout ALT/dbmail/spec
б) Редактируем и коммитем.
6. Собираем все правки в кучу (если компаненты по бранчам не разделялись
-- это шаг не нужен)
$ git-checkout ALT/dbmail/srpms
$ git-merge 'Merging all components' HEAD ALT/dbmail/spec
ALT/dbmail/gear_rules
7. Удаляем старый каталог dbmail (он больше не нужен) и соммитим:
$ git-rm -f dbmail
...
$ git-commit -a -s -m 'Remove old dbmail/'
8. Подшиваем бранч упстрима:
$ git-merge -s ours 'Using upstream branch' HEAD dbmail/2.2.4
9. Обнавляем/создаём .gear-tags:
$ gear-update-tag -a
10. Соммитем всё это безобразие :-)
git-commit -a -s -m '- move to 2.2.4'
11. Проверяем, а всё ли у нас получилось:
$ gear --rpmbuild -- rpmbuild --nodeps -bs
Записан: /home/solo/RPM/SRPMS/dbmail-2.2.4-alt0.src.rpm
[solo@worksol dbmail.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
PS: Результат описанных опираций -- здесь:
--
С уважением. Алексей.