Bug 27840 - ssh git.alt rebuild pkg
Summary: ssh git.alt rebuild pkg
Status: CLOSED FIXED
Alias: None
Product: Infrastructure
Classification: Infrastructure
Component: girar (show other bugs)
Version: unspecified
Hardware: all Linux
: P3 enhancement
Assignee: Dmitry V. Levin
QA Contact: Andrey Cherepanov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-10-12 18:03 MSK by Sergey V Turchin
Modified: 2019-03-25 04:44 MSK (History)
9 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey V Turchin 2012-10-12 18:03:23 MSK
Было бы удобно
ssh git.alt rebuild pkg
и
ssh git.alt task add rebuild pkg
, тупо пересобирающее пакет, автоматом увеличивая release
Comment 1 Sergey V Turchin 2012-10-12 18:06:06 MSK
1-е, возможно, не стОит делать
Comment 2 Dmitry V. Levin 2012-10-16 03:43:24 MSK
С поправкой, что эта команда будет пересобирать пакет из того же самого тэга (т.е. без изменения исходников), я согласен. :)
Comment 3 Dmitry V. Levin 2012-10-16 04:01:29 MSK
см. тж.:
http://lists.altlinux.org/pipermail/devel/2012-January/193149.html и далее по треду,
http://lists.altlinux.org/pipermail/devel/2012-February/193198.html и далее по треду.

Какую-то автоматику по мотивам этого треда в принципе можно реализовать.
А вот редактирование спек-файлов это точно EWONTFIX.
Comment 4 Sergey V Turchin 2012-10-16 13:57:30 MSK
(В ответ на комментарий №2)
> С поправкой, что эта команда будет пересобирать пакет из того же самого тэга
> (т.е. без изменения исходников), я согласен. :)
Если в результате будет пересобрано и обновится у пользователей то, что перед сборкой в репозитории, то все тоже согласны.
Comment 5 Dmitry V. Levin 2013-01-23 21:49:19 MSK
$ git.alt task add --help 2>&1 |grep rebuild
   or: girar-task add [<task_id> [<before_subtask_id>]] rebuild <package>

Формально тупая пересборка была реализована в декабре прошлого года.
Но она совсем тупая, спеки не редактирует, просто берет тэг, из которого указанный пакет был собран в указанный бранч, и снова отправляет его на сборку в тот же бранч.
Comment 6 Sergey V Turchin 2013-01-24 15:18:35 MSK
У пользователей обновиться пакет предыдущей сборки?
Comment 7 Sergey Y. Afonin 2013-09-16 16:26:50 MSK
(In reply to comment #5)

> просто берет тэг, из которого указанный пакет был собран в указанный
> бранч, и снова отправляет его на сборку в тот же бранч.

Так что с вопросом zerg@ ? Мне тоже интересно. Попробовал в задание 103969 добавить несколько пакетов таким образом, увеличения релиза не вижу. Например, как ekiga присутствует в Сизифе в версии 4.0.1-alt2, так и добавляется:

$ ssh git.alt task add 103969 rebuild ekiga
Enter passphrase for key '/home/asy/.ssh/asy-key-ssh':
ssh: X11 forwarding request failed on channel 0
fetching tag "4.0.1-alt2" from /gears/e/ekiga.git... done
Deleted tag 'gb-sisyphus-task93303.22700' (was 829b90a)
generating pkg.tar for ekiga.git tag "4.0.1-alt2"... done
task #103969: added #1000: build tag "4.0.1-alt2" from /gears/e/ekiga.git

Судя по этому, у пользователей обновление не произойдёт. Или я что-то не понимаю ?
Comment 8 Gleb F-Malinovskiy 2013-09-16 16:48:35 MSK
(In reply to comment #7)
> Так что с вопросом zerg@ ?

Нет. Сборочница не пропустит пакет без увеличения версии-релиза. А rebuild не редактирует spec.

> Мне тоже интересно. Попробовал в задание 103969
> добавить несколько пакетов таким образом, увеличения релиза не вижу. Например,
> как ekiga присутствует в Сизифе в версии 4.0.1-alt2, так и добавляется:
> 
> $ ssh git.alt task add 103969 rebuild ekiga
> Enter passphrase for key '/home/asy/.ssh/asy-key-ssh':
> ssh: X11 forwarding request failed on channel 0
> fetching tag "4.0.1-alt2" from /gears/e/ekiga.git... done
> Deleted tag 'gb-sisyphus-task93303.22700' (was 829b90a)
> generating pkg.tar for ekiga.git tag "4.0.1-alt2"... done
> task #103969: added #1000: build tag "4.0.1-alt2" from /gears/e/ekiga.git
> 
> Судя по этому, у пользователей обновление не произойдёт. Или я что-то не
> понимаю ?

git.alt task add rebuild полагается на то, что релиз поменяется благодаря gear-specsubst (http://www.altlinux.org/Gear/specsubst)

т.е. если gear-specsubst подставит в поле Release: не то же самое (по больше, чем было), что в прошлый раз, то пересборка пройдёт и пакет, естественно, обновится.
Comment 9 Gleb F-Malinovskiy 2013-09-16 17:18:43 MSK
(In reply to comment #8)
> git.alt task add rebuild полагается на то, что релиз поменяется благодаря
> gear-specsubst (http://www.altlinux.org/Gear/specsubst)
> 
> т.е. если gear-specsubst подставит в поле Release: не то же самое (по больше,
> чем было), что в прошлый раз, то пересборка пройдёт и пакет, естественно,
> обновится.

Вру и не краснею, извините.
specsubst тут не обязателен и вообще для другого. Он позволяет из одного коммита собирать несколько пакетов, например.

Теперь всё же, про rebuild:
Реально, разница в том, что разрешили собирать из одного и того же коммита несколько раз.
Посмотрите например http://git.altlinux.org/gears/p/pecl-perl.git
Там в "Release:" используется %php5_version.%php5_release, которые определены во внешнем пакете.
В итоге, при rebuild-е увеличивается release при условии, что обновился php.

Автоувеличивалки релиза нету.
Comment 10 Sergey V Turchin 2013-09-16 17:22:08 MSK
(В ответ на комментарий №9)
> Автоувеличивалки релиза нету.
Да.
Comment 11 Sergey Y. Afonin 2013-09-16 17:26:36 MSK
(In reply to comment #9)

> Посмотрите например http://git.altlinux.org/gears/p/pecl-perl.git
> Там в "Release:" используется %php5_version.%php5_release, которые определены
> во внешнем пакете. В итоге, при rebuild-е увеличивается release при условии, 
> что обновился php.

Понятно. А жаль... Для пересборки произвольного набора пакетов тоже было бы неплохо.
Comment 12 Sergey V Turchin 2013-09-16 17:27:49 MSK
Может, будет проще сделать, если в спеках будет что-то типа
Release: alt1.%alt_release_suffix
, который и под все бранчи будет сам подстанавливаться нужный, включая сизиф.
Например, M51, M60P, S01.
Comment 13 viy 2013-09-16 19:06:17 MSK
(В ответ на комментарий №11)
> (In reply to comment #9)
> 
> > Посмотрите например http://git.altlinux.org/gears/p/pecl-perl.git
> > Там в "Release:" используется %php5_version.%php5_release, которые определены
> > во внешнем пакете. В итоге, при rebuild-е увеличивается release при условии, 
> > что обновился php.
> 
> Понятно. А жаль... Для пересборки произвольного набора пакетов тоже было бы
> неплохо.

Можно посмотреть в сторону пакета girar-nmu , см. на wiki документацию.
Comment 14 Dmitry V. Levin 2019-02-17 05:00:33 MSK
Пересборка без изменения релиза реализована.
Comment 15 Sergey V Turchin 2019-02-18 10:21:26 MSK
Клёва!
Comment 16 alexey.tourbin 2019-03-25 04:24:42 MSK
> Пересборка без изменения релиза реализована.

Хм, а files/SRPMS/nvr.src.rpm после такой пересборки будет замещен?
Comment 17 Dmitry V. Levin 2019-03-25 04:44:43 MSK
(In reply to comment #16)
> > Пересборка без изменения релиза реализована.
> 
> Хм, а files/SRPMS/nvr.src.rpm после такой пересборки будет замещен?

Если пересборка была из /gears, то он изменился и будет замещён, см. напр.
http://git.altlinux.org/tasks/archive/done/_219/224335/plan/src.hash.diff

Если пересборка была из nvr.src.rpm, то он не изменился.