ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] I: girar-nmu 2.0
@ 2018-06-18 18:56 Igor Vlasenko
  2018-06-19  9:07 ` Alexey V. Vissarionov
  2018-06-19 16:56 ` Grigory Ustinov
  0 siblings, 2 replies; 19+ messages in thread
From: Igor Vlasenko @ 2018-06-18 18:56 UTC (permalink / raw)
  To: devel

Уважаемые коллеги!

Кто пользовался пакетом girar-nmu.
Я собираюсь выпустить girar-nmu 2.0,
улучшенный, но, к сожалению,
не полностью совместимый с girar-nmu 1.x --
с изменениями в опциях и переименованными утилитами.

Чтобы не создавать проблем, делаю заранее анонс с планами.

girar-nmu 2.0
---------

== Введение ==

girar-nmu был создан как набор утилит для проведения
различных массовых пересборок пакетов, например, с новой библиотекой.

Для этого в нем есть набор скриптов
girar-nmu-sort-transaction -- вычислить порядок сборки (если она важна)
girar-nmu-prepare -- подготовить пакеты для транзакции
girar-nmu-local-build -- локально пересобрать транзакцию
girar-nmu-task-add -- добавить пакеты транзакции в task
girar-nmu-task-for-each -- или отправить на сборку в отдельных task'ах.

Кроме того, в его состав вошли вспомогательные утилиты-помощники
(helpers), часть с префиксом girar-nmu-helper-* и часть girar-*.
Со временем оказалось, что я эти вспомогательные утилиты
использую гораздо чаще, чем основной набор girar-nmu-*.
Более того, у пакета girar-nmu-* появились пользователи,
которые тоже делают акцент на вспомогательных утилитах.

После того, как мне поступил запрос от Григория Устинова
на добавление в набор утилиты Михаила Гордеева, стало ясно,
что утилиты-помощники пользуются спросом сами по себе.
У нас уже есть пакет girar-utils, но он по функциональности
практически не перекрывается с утилитами из girar-nmu.
Пришлось заняться приданием этим утилитам товарного вида.
Я обновил документацию, навел порядок с опциями --
добавил длинные опции, добавил новые возможности и привел
во всех утилитах опции в единообразный вид, заодно и добавил
поддержку всех имеющих смысл опций в каждой утилите.

К сожалению, лучшее -- враг хорошего, наведение единообразия
сломало для некоторых опций совместимость. Поэтому я решил
пойти дальше и переименовать утилиты, где совместимость нарушена,
убрав -nmu-helper-, раз уже эти утилиты используются независимо
от скриптов girar-nmu-*.

Представляю вашему вниманию girar-nmu 2.0.

=== общие опции ===

<-V|--version>, <-v|--verbose>, <-q|--quiet>, <-h|--help>
в представлении не нуждаются. Как и <-b|--branch> sisyphus|p8|...

==== <-R|--girar|--gyle> <girar ssh alias>, <-H|--gitery> <gitery ssh alias>. ====

В большинстве случаев, к girar и gitery(git.alt) нужен ssh доступ,
там, где нельзя обойтись git.altlinux.org.
По правилам, эти хосты надо прописать алиасами в ~/.ssh/config.
Однако исторически сложилось несколько возможных алиасов.
Их можно указать опциями -R/-H (--girar/--gitery), если
значения по умолчанию (girar и git.alt) не подходят,
а можно прописать в
/etc/girar-nmu/default (лучше в $HOME/.config/girar-nmu/default).

==== <-P|--profile> <profile>. ====

Поддержка e2k. Кроме умолчальных girar и gitery, у нас появились
дополнительные girar и gitery для дополнительных архитектур,
таких, как e2k. Чтобы работать с ними, утилитам надо каждый раз
указывать -R girar.e2k -H git.e2k . Вместо этого -P e2k
загрузит /etc/girar-nmu/e2k, профиль для работы с e2k,
где girar и gitery переопределены.
Можно создавать и другие свои профили настроек, в
/etc/girar-nmu/<profile> и в $HOME/.config/girar-nmu/<profile>.

=== girar-clone-*, girar-fetch-*, ... ===

утилиты клонирования gear репозитория
 girar-clone-build-commit
 girar-clone-srpm-build
 girar-clone-task-git

girar-clone-build-commit -- склонировать gear репозиторий,
из которого собрался пакет в Симзиф или бранчи.
к примеру,
 girar-clone-build-commit --branch p8 pkg-config

girar-clone-srpm-build -- склонировать автоматический
gear репозиторий для src.rpm пакетов.

girar-clone-task-git -- склонировать gear репозиторий из таска.
к примеру,
 girar-clone-task-git 208431 100

Если же gear репозиторий уже есть, то втянуть нужный коммит
можно с помощью утилит
 girar-fetch-build-commit
 girar-fetch-srpm-build
 girar-fetch-task-git

и полезные утилиты
 girar-get-upload-method [-b branch] <имя>
 girar-print-build-commit [-b branch] <имя>

 girar-get-upload-method [-b branch] <имя>
применяется для определения, как залит пакет:
как src.rpm или из gear репозитория.

 girar-print-build-commit [-b branch] <имя>
применяется для вычисления аргументов task check-git-inheritance.
К примеру,
 ssh girar task check-git-inheritance 208523 100 disable `girar-print-build-commit -b sisyphus devscripts`

=== Работа с girar ===

Собственно создание тасков в girar представлено двумя семействами утилит
 girar-task-add-* [опции] [список задач]
 girar-task-for-each-* [опции] [список задач]
 (еще думаю добавить семейство girar-build-*, для запуска списка задач
 одним таsk'om).

именно,
 girar-task-add-srpm
 girar-task-add-git
 girar-task-add-copy
 girar-task-add-del
 girar-task-add-rebuild

 girar-task-for-each-srpm
 girar-task-for-each-git
 girar-task-for-each-copy
 girar-task-for-each-del
 girar-task-for-each-rebuild

girar-task-add-* по умолчанию добавляют задачи
в --task <task> [--before[-subtask] <subtask>]
girar-task-for-each-* по умолчанию создают новый task
для каждой задачи.

Все они оддерживают опции -S|--share (ssh girar task share enabled)
-d|--deps <dep1,...,depN> (ssh girar task deps <task> add dep1 ... add depN)
а girar-task-for-each-* -- и опции запуска:
--test-only,--swift.

В качестве аргумента принимается список:
имен, в случае -copy/del/rebuild
пример
 girar-build-del --share --deps 555111,555112 --test-only `cat names-to-del.txt`
src.rpm пакетов, в случае -srpm:
пример
 girar-task-for-each-srpm --no-test-only ~/hasher/repo/SRPMS.hasher/*.src.rpm
git каталогов, в случае -git:
 girar-task-add-git /path/to/foo.git /path/to/bar.git 

Утилиты girar-*-srpm выполняют подписывание srpm
(опция --rpm-sign=<...> и ряд коротких опций,
поддерживается несколько вариантов подписи, в т.ч. gpg и gpg2),
заливают srpm и добавляют их имена на сборку.

Утилиты girar-*-git проверяют, все ли изменения добавлены в git index.
Если есть изменения вне индекса, прерываются. Иначе коммитят изменения
(-с, --сommit, можно отключить --no-сommit), создают тег, если он не
указан -t|--tag и последний коммит тегом не является,
создают клонированием последней сборки репозиторий на gitery, если
там его нет, заливают туда сборочный тег, отправляют на сборку,
при необходимости могут сразу удалить репозиторий на gitery
(опция -K, --kill-after) и есть ряд других полезных опций.
Если git репозиторий(и) не указан(ы), то используется текущий каталог.

Изменения по сравнению с бывшей утилитой girar-nmu-helper-git-push-build
в поддержке списка аргументов и в настройках по умолчанию
(ранее я всегда запускал ее как girar-nmu-helper-git-push-build -c -T,
подумал, что это поведение имеет смысл включить по умолчанию).

Код пока только у меня в git, не выложен в Сизиф.
Замечания и пожелания приветствуются.

-- 

I V


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  2018-06-18 18:56 [devel] I: girar-nmu 2.0 Igor Vlasenko
@ 2018-06-19  9:07 ` Alexey V. Vissarionov
  2018-06-19  9:33   ` Aleksei Nikiforov
                     ` (2 more replies)
  2018-06-19 16:56 ` Grigory Ustinov
  1 sibling, 3 replies; 19+ messages in thread
From: Alexey V. Vissarionov @ 2018-06-19  9:07 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On 2018-06-18 21:56:39 +0300, Igor Vlasenko wrote:

 > <-R|--girar|--gyle> <girar ssh alias>, <-H|--gitery> <gitery ssh alias>
 > В большинстве случаев, к girar и gitery (git.alt) нужен ssh доступ,

Он в любом случае нужен к git-репам и сборочным системам.

 > там, где нельзя обойтись git.altlinux.org.

Надеюсь, это имя хоста нигде не прибито гвоздями? Не то, чтобы я
ожидал от коллег подобной дури, но имея почти четвертьвековой опыт
администрирования - просто не могу не спросить.

 > По правилам, эти хосты надо прописать алиасами в ~/.ssh/config.

С чего бы изба-то покосилась? Кому на какой хост ходить надо, пусть
в своем конфиге их и держит, а содержимое ~/.ssh/config имеет к сборке
чуть менее, чем никакое отношение.

 > Однако исторически сложилось несколько возможных алиасов. Их можно
 > указать опциями -R/-H (--girar/--gitery)

Что такое girar и gitery? Даже так: как ты будешь объяснять это людям,
абсолютно далеким от нашего колхоза? :-)

Я бы еще понял вариант -R --repo --git-repo и -H --host --build-host
соответственно...

 > если значения по умолчанию (girar и git.alt) не подходят,

Разумеется не подходят - по умолчанию в таком месте может быть разве
что localhost (да и то так лучше не делать).

 > а можно прописать в /etc/girar-nmu/default

И только там (в конфиге). А конфиг ставить из отдельного пакета
girar-nmu-config-default

 > (лучше в

И там, и там: затащили значения по умолчанию из /etc, переопределили
часть из ~

 > $HOME/.config/girar-nmu/default).

Тьфу... А без .config совсем никак? Чем плох каталог ~/.girar-nmu ?


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  2018-06-19  9:07 ` Alexey V. Vissarionov
@ 2018-06-19  9:33   ` Aleksei Nikiforov
  2018-06-19 10:07     ` Alexey V. Vissarionov
                       ` (2 more replies)
  2018-06-19 13:08   ` Igor Vlasenko
  2018-06-19 13:15   ` Igor Vlasenko
  2 siblings, 3 replies; 19+ messages in thread
From: Aleksei Nikiforov @ 2018-06-19  9:33 UTC (permalink / raw)
  To: devel

19.06.2018 12:07, Alexey V. Vissarionov пишет:
> On 2018-06-18 21:56:39 +0300, Igor Vlasenko wrote:
> 
>   > <-R|--girar|--gyle> <girar ssh alias>, <-H|--gitery> <gitery ssh alias>
>   > В большинстве случаев, к girar и gitery (git.alt) нужен ssh доступ,
> 
> Он в любом случае нужен к git-репам и сборочным системам.
> 
>   > там, где нельзя обойтись git.altlinux.org.
> 
> Надеюсь, это имя хоста нигде не прибито гвоздями? Не то, чтобы я
> ожидал от коллег подобной дури, но имея почти четвертьвековой опыт
> администрирования - просто не могу не спросить.
> 
>   > По правилам, эти хосты надо прописать алиасами в ~/.ssh/config.
> 
> С чего бы изба-то покосилась? Кому на какой хост ходить надо, пусть
> в своем конфиге их и держит, а содержимое ~/.ssh/config имеет к сборке
> чуть менее, чем никакое отношение.
> 
>   > Однако исторически сложилось несколько возможных алиасов. Их можно
>   > указать опциями -R/-H (--girar/--gitery)
> 
> Что такое girar и gitery? Даже так: как ты будешь объяснять это людям,
> абсолютно далеким от нашего колхоза? :-)
> 
> Я бы еще понял вариант -R --repo --git-repo и -H --host --build-host
> соответственно...
> 
>   > если значения по умолчанию (girar и git.alt) не подходят,
> 
> Разумеется не подходят - по умолчанию в таком месте может быть разве
> что localhost (да и то так лучше не делать).
> 
>   > а можно прописать в /etc/girar-nmu/default
> 
> И только там (в конфиге). А конфиг ставить из отдельного пакета
> girar-nmu-config-default
> 
>   > (лучше в
> 
> И там, и там: затащили значения по умолчанию из /etc, переопределили
> часть из ~
> 
>   > $HOME/.config/girar-nmu/default).
> 
> Тьфу... А без .config совсем никак? Чем плох каталог ~/.girar-nmu ?
> 
> 

$XDG_CONFIG_HOME, если отсутствует или не указано иное, равнозначно 
$HOME/.config. ИМХО, было бы неплохо поддержать этот стандарт XDG Base 
Directory Specification.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  2018-06-19 10:07     ` Alexey V. Vissarionov
@ 2018-06-19 10:05       ` Denis Medvedev
  0 siblings, 0 replies; 19+ messages in thread
From: Denis Medvedev @ 2018-06-19 10:05 UTC (permalink / raw)
  To: ALT Linux Team development discussions, Alexey V. Vissarionov



On 06/19/2018 01:07 PM, Alexey V. Vissarionov wrote:
> On 2018-06-19 12:33:57 +0300, Aleksei Nikiforov wrote:
>
>  >>> $HOME/.config/girar-nmu/default).
>  >> Тьфу... А без .config совсем никак? Чем плох каталог ~/.girar-nmu ?
>  > $XDG_CONFIG_HOME, если отсутствует или не указано иное, равнозначно
>  > $HOME/.config. ИМХО, было бы неплохо поддержать этот стандарт
>  > XDG Base Directory Specification.
>
> Да ну этот freedesktop.org в пень... очередная "мышка на сервере" :-)
>
Без упования на стандарты: вообще-то хорошая идея упаковывать .* файлы в
подкаталог для избегания
замусоривания $HOME и простоты хранения конфигурации.





^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  2018-06-19  9:33   ` Aleksei Nikiforov
@ 2018-06-19 10:07     ` Alexey V. Vissarionov
  2018-06-19 10:05       ` Denis Medvedev
  2018-06-19 13:10     ` Igor Vlasenko
  2018-06-19 20:36     ` Leonid Krivoshein
  2 siblings, 1 reply; 19+ messages in thread
From: Alexey V. Vissarionov @ 2018-06-19 10:07 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On 2018-06-19 12:33:57 +0300, Aleksei Nikiforov wrote:

 >>> $HOME/.config/girar-nmu/default).
 >> Тьфу... А без .config совсем никак? Чем плох каталог ~/.girar-nmu ?
 > $XDG_CONFIG_HOME, если отсутствует или не указано иное, равнозначно
 > $HOME/.config. ИМХО, было бы неплохо поддержать этот стандарт
 > XDG Base Directory Specification.

Да ну этот freedesktop.org в пень... очередная "мышка на сервере" :-)


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  2018-06-19  9:07 ` Alexey V. Vissarionov
  2018-06-19  9:33   ` Aleksei Nikiforov
@ 2018-06-19 13:08   ` Igor Vlasenko
  2018-06-19 13:15   ` Igor Vlasenko
  2 siblings, 0 replies; 19+ messages in thread
From: Igor Vlasenko @ 2018-06-19 13:08 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tue, Jun 19, 2018 at 12:07:54PM +0300, Alexey V. Vissarionov wrote:
>  > <-R|--girar|--gyle> <girar ssh alias>, <-H|--gitery> <gitery ssh alias>
>  > В большинстве случаев, к girar и gitery (git.alt) нужен ssh доступ,
> 
> Он в любом случае нужен к git-репам и сборочным системам.
> 
>  > там, где нельзя обойтись git.altlinux.org.
> 
> Надеюсь, это имя хоста нигде не прибито гвоздями? Не то, чтобы я
> ожидал от коллег подобной дури, но имея почти четвертьвековой опыт
> администрирования - просто не могу не спросить.

не прибит, есть во внутренней переменной, которая не используется,
если указан -H (в т.ч. в конфиге)
 
>  > По правилам, эти хосты надо прописать алиасами в ~/.ssh/config.
> 
> С чего бы изба-то покосилась? Кому на какой хост ходить надо, пусть
> в своем конфиге их и держит, а содержимое ~/.ssh/config имеет к сборке
> чуть менее, чем никакое отношение.

Неудачно выразился. код расчитан на ssh алиасы (у меня это girar и git.alt)
чтобы порт и пользователя не нужно было указывать.

>  > Однако исторически сложилось несколько возможных алиасов. Их можно
>  > указать опциями -R/-H (--girar/--gitery)
> 
> Что такое girar и gitery? Даже так: как ты будешь объяснять это людям,
> абсолютно далеким от нашего колхоза? :-)
> 
> Я бы еще понял вариант -R --repo --git-repo и -H --host --build-host
> соответственно...
> 
>  > если значения по умолчанию (girar и git.alt) не подходят,
> 
> Разумеется не подходят - по умолчанию в таком месте может быть разве
> что localhost (да и то так лучше не делать).
> 
>  > а можно прописать в /etc/girar-nmu/default
> 
> И только там (в конфиге). А конфиг ставить из отдельного пакета
> girar-nmu-config-default
> 
>  > (лучше в
> 
> И там, и там: затащили значения по умолчанию из /etc, переопределили
> часть из ~
> 
>  > $HOME/.config/girar-nmu/default).
> 
> Тьфу... А без .config совсем никак? Чем плох каталог ~/.girar-nmu ?

Попробую добавить поддержку, в соответствии с XDG. 

-- 

I V


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  2018-06-19  9:33   ` Aleksei Nikiforov
  2018-06-19 10:07     ` Alexey V. Vissarionov
@ 2018-06-19 13:10     ` Igor Vlasenko
  2018-06-19 20:36     ` Leonid Krivoshein
  2 siblings, 0 replies; 19+ messages in thread
From: Igor Vlasenko @ 2018-06-19 13:10 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tue, Jun 19, 2018 at 12:33:57PM +0300, Aleksei Nikiforov wrote:
> $XDG_CONFIG_HOME, если отсутствует или не указано иное, равнозначно
> $HOME/.config. ИМХО, было бы неплохо поддержать этот стандарт XDG Base
> Directory Specification.

Да, спасибо, попробую использовать.

-- 

I V


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  2018-06-19  9:07 ` Alexey V. Vissarionov
  2018-06-19  9:33   ` Aleksei Nikiforov
  2018-06-19 13:08   ` Igor Vlasenko
@ 2018-06-19 13:15   ` Igor Vlasenko
  2018-06-19 14:11     ` Andrey Savchenko
  2 siblings, 1 reply; 19+ messages in thread
From: Igor Vlasenko @ 2018-06-19 13:15 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tue, Jun 19, 2018 at 12:07:54PM +0300, Alexey V. Vissarionov wrote:
>  > Однако исторически сложилось несколько возможных алиасов. Их можно
>  > указать опциями -R/-H (--girar/--gitery)
> 
> Что такое girar и gitery? Даже так: как ты будешь объяснять это людям,
> абсолютно далеким от нашего колхоза? :-)
> 
> Я бы еще понял вариант -R --repo --git-repo и -H --host --build-host
> соответственно...

Исторически сложилось в пакете girar-nmu,
чтобы кто уже привык, не менять.
Зато с длинными опциями свобода.
Добавил, к примеру, опцию --gyle как синоним --girar 
(подсмотрел у Михаила Гордеева)
хотя сам без понятия, что такое gyle (какой-то хост?)

-- 

I V


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  2018-06-19 13:15   ` Igor Vlasenko
@ 2018-06-19 14:11     ` Andrey Savchenko
  2018-06-19 15:49       ` Michael Shigorin
  0 siblings, 1 reply; 19+ messages in thread
From: Andrey Savchenko @ 2018-06-19 14:11 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1262 bytes --]

On Tue, 19 Jun 2018 16:15:55 +0300 Igor Vlasenko wrote:
> On Tue, Jun 19, 2018 at 12:07:54PM +0300, Alexey V. Vissarionov wrote:
> >  > Однако исторически сложилось несколько возможных алиасов. Их можно
> >  > указать опциями -R/-H (--girar/--gitery)
> > 
> > Что такое girar и gitery? Даже так: как ты будешь объяснять это людям,
> > абсолютно далеким от нашего колхоза? :-)
> > 
> > Я бы еще понял вариант -R --repo --git-repo и -H --host --build-host
> > соответственно...
> 
> Исторически сложилось в пакете girar-nmu,
> чтобы кто уже привык, не менять.
> Зато с длинными опциями свобода.
> Добавил, к примеру, опцию --gyle как синоним --girar 
> (подсмотрел у Михаила Гордеева)
> хотя сам без понятия, что такое gyle (какой-то хост?)

Так у нас называет хост со сборочницей — то, что раньше было build.

Best regards,
Andrew Savchenko

[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  2018-06-19 14:11     ` Andrey Savchenko
@ 2018-06-19 15:49       ` Michael Shigorin
  0 siblings, 0 replies; 19+ messages in thread
From: Michael Shigorin @ 2018-06-19 15:49 UTC (permalink / raw)
  To: devel

On Tue, Jun 19, 2018 at 05:11:20PM +0300, Andrey Savchenko wrote:
> > хотя сам без понятия, что такое gyle (какой-то хост?)
> Так у нас называет хост со сборочницей — то, что раньше было build.

Не было оно никогда build, увы.

Предыстория вкратце такова, ЕМНИП:

- первоначальная реализация girar и girar_builder жила вместе
  на git.altlinux.org, куда и код заливали, и команды на сборку
  отправляли, и где содержался рабочий архив репозиторией;

- с тех пор в рамках работ по повышению масштабируемости
  сборочницы были разделены gitery.altlinux.org (хранение
  gear-репозиториев) и gyle.altlinux.org (сборочная очередь
  и архив репозиториев), при этом по каким-то соображениям
  (вполне прикладным, вроде сравнительной частоты команд)
  имя хоста git.altlinux.org осталось за той частью, которая
  gyle, а не которая gitery[*].

Я бы произвёл такое переименование даже и сейчас,
поскольку по наблюдениям у многих участников team
уже фигурируют ssh-алиасы вида git.alt и build.alt.

Ну и следующим кандидатом на выделение видится архив.

* ещё тогда предлагал назвать "гитовницу" -- git,
  "сборочницу" -- build и один раз согласованно
  пройтись всей командой по своим ~/.ssh/config

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  2018-06-18 18:56 [devel] I: girar-nmu 2.0 Igor Vlasenko
  2018-06-19  9:07 ` Alexey V. Vissarionov
@ 2018-06-19 16:56 ` Grigory Ustinov
  2018-06-19 17:07   ` Igor Vlasenko
  1 sibling, 1 reply; 19+ messages in thread
From: Grigory Ustinov @ 2018-06-19 16:56 UTC (permalink / raw)
  To: devel

А войдут ли утилиты для импорта из федоры? Имеется в виду не полноценный 
импорт, а "первичная подготовка спека", чтобы мейнтейнер мог ещё 
посмотреть, что-то изменить и уже отправить новый пакет в сизиф.

Очень хотелось бы что-такое увидеть! Мне хотелось бы отправить в сизиф 
некоторое количество таких пакетов.


On 18.06.2018 21:56, Igor Vlasenko wrote:
> Уважаемые коллеги!
>
> Кто пользовался пакетом girar-nmu.
> Я собираюсь выпустить girar-nmu 2.0,
> улучшенный, но, к сожалению,
> не полностью совместимый с girar-nmu 1.x --
> с изменениями в опциях и переименованными утилитами.
>
> Чтобы не создавать проблем, делаю заранее анонс с планами.
>
> girar-nmu 2.0
> ---------
>
> == Введение ==
>
> girar-nmu был создан как набор утилит для проведения
> различных массовых пересборок пакетов, например, с новой библиотекой.
>
> Для этого в нем есть набор скриптов
> girar-nmu-sort-transaction -- вычислить порядок сборки (если она важна)
> girar-nmu-prepare -- подготовить пакеты для транзакции
> girar-nmu-local-build -- локально пересобрать транзакцию
> girar-nmu-task-add -- добавить пакеты транзакции в task
> girar-nmu-task-for-each -- или отправить на сборку в отдельных task'ах.
>
> Кроме того, в его состав вошли вспомогательные утилиты-помощники
> (helpers), часть с префиксом girar-nmu-helper-* и часть girar-*.
> Со временем оказалось, что я эти вспомогательные утилиты
> использую гораздо чаще, чем основной набор girar-nmu-*.
> Более того, у пакета girar-nmu-* появились пользователи,
> которые тоже делают акцент на вспомогательных утилитах.
>
> После того, как мне поступил запрос от Григория Устинова
> на добавление в набор утилиты Михаила Гордеева, стало ясно,
> что утилиты-помощники пользуются спросом сами по себе.
> У нас уже есть пакет girar-utils, но он по функциональности
> практически не перекрывается с утилитами из girar-nmu.
> Пришлось заняться приданием этим утилитам товарного вида.
> Я обновил документацию, навел порядок с опциями --
> добавил длинные опции, добавил новые возможности и привел
> во всех утилитах опции в единообразный вид, заодно и добавил
> поддержку всех имеющих смысл опций в каждой утилите.
>
> К сожалению, лучшее -- враг хорошего, наведение единообразия
> сломало для некоторых опций совместимость. Поэтому я решил
> пойти дальше и переименовать утилиты, где совместимость нарушена,
> убрав -nmu-helper-, раз уже эти утилиты используются независимо
> от скриптов girar-nmu-*.
>
> Представляю вашему вниманию girar-nmu 2.0.
>
> === общие опции ===
>
> <-V|--version>, <-v|--verbose>, <-q|--quiet>, <-h|--help>
> в представлении не нуждаются. Как и <-b|--branch> sisyphus|p8|...
>
> ==== <-R|--girar|--gyle> <girar ssh alias>, <-H|--gitery> <gitery ssh alias>. ====
>
> В большинстве случаев, к girar и gitery(git.alt) нужен ssh доступ,
> там, где нельзя обойтись git.altlinux.org.
> По правилам, эти хосты надо прописать алиасами в ~/.ssh/config.
> Однако исторически сложилось несколько возможных алиасов.
> Их можно указать опциями -R/-H (--girar/--gitery), если
> значения по умолчанию (girar и git.alt) не подходят,
> а можно прописать в
> /etc/girar-nmu/default (лучше в $HOME/.config/girar-nmu/default).
>
> ==== <-P|--profile> <profile>. ====
>
> Поддержка e2k. Кроме умолчальных girar и gitery, у нас появились
> дополнительные girar и gitery для дополнительных архитектур,
> таких, как e2k. Чтобы работать с ними, утилитам надо каждый раз
> указывать -R girar.e2k -H git.e2k . Вместо этого -P e2k
> загрузит /etc/girar-nmu/e2k, профиль для работы с e2k,
> где girar и gitery переопределены.
> Можно создавать и другие свои профили настроек, в
> /etc/girar-nmu/<profile> и в $HOME/.config/girar-nmu/<profile>.
>
> === girar-clone-*, girar-fetch-*, ... ===
>
> утилиты клонирования gear репозитория
>   girar-clone-build-commit
>   girar-clone-srpm-build
>   girar-clone-task-git
>
> girar-clone-build-commit -- склонировать gear репозиторий,
> из которого собрался пакет в Симзиф или бранчи.
> к примеру,
>   girar-clone-build-commit --branch p8 pkg-config
>
> girar-clone-srpm-build -- склонировать автоматический
> gear репозиторий для src.rpm пакетов.
>
> girar-clone-task-git -- склонировать gear репозиторий из таска.
> к примеру,
>   girar-clone-task-git 208431 100
>
> Если же gear репозиторий уже есть, то втянуть нужный коммит
> можно с помощью утилит
>   girar-fetch-build-commit
>   girar-fetch-srpm-build
>   girar-fetch-task-git
>
> и полезные утилиты
>   girar-get-upload-method [-b branch] <имя>
>   girar-print-build-commit [-b branch] <имя>
>
>   girar-get-upload-method [-b branch] <имя>
> применяется для определения, как залит пакет:
> как src.rpm или из gear репозитория.
>
>   girar-print-build-commit [-b branch] <имя>
> применяется для вычисления аргументов task check-git-inheritance.
> К примеру,
>   ssh girar task check-git-inheritance 208523 100 disable `girar-print-build-commit -b sisyphus devscripts`
>
> === Работа с girar ===
>
> Собственно создание тасков в girar представлено двумя семействами утилит
>   girar-task-add-* [опции] [список задач]
>   girar-task-for-each-* [опции] [список задач]
>   (еще думаю добавить семейство girar-build-*, для запуска списка задач
>   одним таsk'om).
>
> именно,
>   girar-task-add-srpm
>   girar-task-add-git
>   girar-task-add-copy
>   girar-task-add-del
>   girar-task-add-rebuild
>
>   girar-task-for-each-srpm
>   girar-task-for-each-git
>   girar-task-for-each-copy
>   girar-task-for-each-del
>   girar-task-for-each-rebuild
>
> girar-task-add-* по умолчанию добавляют задачи
> в --task <task> [--before[-subtask] <subtask>]
> girar-task-for-each-* по умолчанию создают новый task
> для каждой задачи.
>
> Все они оддерживают опции -S|--share (ssh girar task share enabled)
> -d|--deps <dep1,...,depN> (ssh girar task deps <task> add dep1 ... add depN)
> а girar-task-for-each-* -- и опции запуска:
> --test-only,--swift.
>
> В качестве аргумента принимается список:
> имен, в случае -copy/del/rebuild
> пример
>   girar-build-del --share --deps 555111,555112 --test-only `cat names-to-del.txt`
> src.rpm пакетов, в случае -srpm:
> пример
>   girar-task-for-each-srpm --no-test-only ~/hasher/repo/SRPMS.hasher/*.src.rpm
> git каталогов, в случае -git:
>   girar-task-add-git /path/to/foo.git /path/to/bar.git
>
> Утилиты girar-*-srpm выполняют подписывание srpm
> (опция --rpm-sign=<...> и ряд коротких опций,
> поддерживается несколько вариантов подписи, в т.ч. gpg и gpg2),
> заливают srpm и добавляют их имена на сборку.
>
> Утилиты girar-*-git проверяют, все ли изменения добавлены в git index.
> Если есть изменения вне индекса, прерываются. Иначе коммитят изменения
> (-с, --сommit, можно отключить --no-сommit), создают тег, если он не
> указан -t|--tag и последний коммит тегом не является,
> создают клонированием последней сборки репозиторий на gitery, если
> там его нет, заливают туда сборочный тег, отправляют на сборку,
> при необходимости могут сразу удалить репозиторий на gitery
> (опция -K, --kill-after) и есть ряд других полезных опций.
> Если git репозиторий(и) не указан(ы), то используется текущий каталог.
>
> Изменения по сравнению с бывшей утилитой girar-nmu-helper-git-push-build
> в поддержке списка аргументов и в настройках по умолчанию
> (ранее я всегда запускал ее как girar-nmu-helper-git-push-build -c -T,
> подумал, что это поведение имеет смысл включить по умолчанию).
>
> Код пока только у меня в git, не выложен в Сизиф.
> Замечания и пожелания приветствуются.
>



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  2018-06-19 16:56 ` Grigory Ustinov
@ 2018-06-19 17:07   ` Igor Vlasenko
    0 siblings, 1 reply; 19+ messages in thread
From: Igor Vlasenko @ 2018-06-19 17:07 UTC (permalink / raw)
  To: ALT Linux Team development discussions; +Cc: Grigory Ustinov

On Tue, Jun 19, 2018 at 07:56:55PM +0300, Grigory Ustinov wrote:
> А войдут ли утилиты для импорта из федоры? Имеется в виду не полноценный
> импорт, а "первичная подготовка спека", чтобы мейнтейнер мог ещё посмотреть,
> что-то изменить и уже отправить новый пакет в сизиф.
> 
> Очень хотелось бы что-такое увидеть! 

Эти утилиты давно есть в сизифе: пакет
perl-RPM-Source-Convert.

Если rpm пакет, делаем srpmconvert-fc foo-*-*.src.rpm
затем rpm -i сконвертированного, и
можно далее редактировать и менять спек.

Если же только спек, то делаем srpmconvert-fc -i foo.spec.

> Мне хотелось бы отправить в сизиф
> некоторое количество таких пакетов.

Их потом сопровождать надо, обновлять вовремя.

-- 

I V


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  @ 2018-06-19 17:44       ` Igor Vlasenko
  2018-06-19 17:50         ` Grigory Ustinov
  0 siblings, 1 reply; 19+ messages in thread
From: Igor Vlasenko @ 2018-06-19 17:44 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tue, Jun 19, 2018 at 08:14:15PM +0300, Grigory Ustinov wrote:
> *Не робит.**
> warning: Macro %cabal_test not found
> error: Macro %ghc_pkg_recache not found
> error: line 80: %ghc_pkg_recache

Да, к сожалению, поддержки импорта haskell пока нет.
Далеко не все языки, библиотеки, макросы к ним
поддерживаются. Но постоянно добавляю что-то новое.
Вот прямо сейчас добавил поддержку %py2/3_build/%py2/3_install.

-- 

I V


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  2018-06-19 17:44       ` Igor Vlasenko
@ 2018-06-19 17:50         ` Grigory Ustinov
  2018-06-20 11:22           ` Anton Farygin
  2018-06-20 13:24           ` Igor Vlasenko
  0 siblings, 2 replies; 19+ messages in thread
From: Grigory Ustinov @ 2018-06-19 17:50 UTC (permalink / raw)
  To: devel

On 19.06.2018 20:44, Igor Vlasenko wrote:
> On Tue, Jun 19, 2018 at 08:14:15PM +0300, Grigory Ustinov wrote:
>> *Не робит.**
>> warning: Macro %cabal_test not found
>> error: Macro %ghc_pkg_recache not found
>> error: line 80: %ghc_pkg_recache
> Да, к сожалению, поддержки импорта haskell пока нет.
> Далеко не все языки, библиотеки, макросы к ним
> поддерживаются. Но постоянно добавляю что-то новое.
> Вот прямо сейчас добавил поддержку %py2/3_build/%py2/3_install.
>

Тогда фичереквест: добавить хаскель. Потому что мне хотелось бы добавить 
в сизиф около десятка новых пакетов, морально это делать вручную, когда 
я уже знаю о существовании такого великолепного инструмента я пока не 
готов=(


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  2018-06-19  9:33   ` Aleksei Nikiforov
  2018-06-19 10:07     ` Alexey V. Vissarionov
  2018-06-19 13:10     ` Igor Vlasenko
@ 2018-06-19 20:36     ` Leonid Krivoshein
  2 siblings, 0 replies; 19+ messages in thread
From: Leonid Krivoshein @ 2018-06-19 20:36 UTC (permalink / raw)
  To: devel


19.06.2018 12:33, Aleksei Nikiforov пишет:
> 19.06.2018 12:07, Alexey V. Vissarionov пишет:
>>
>>   > $HOME/.config/girar-nmu/default).
>>
>> Тьфу... А без .config совсем никак? Чем плох каталог ~/.girar-nmu ?
>>
>
> $XDG_CONFIG_HOME, если отсутствует или не указано иное, равнозначно 
> $HOME/.config. ИМХО, было бы неплохо поддержать этот стандарт XDG Base 
> Directory Specification.

+1

Лишние DOT-файлы/каталоги в хомяке выглядят ужасно... старо)


-- 
Best regards,
Leonid Krivoshein.



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  2018-06-19 17:50         ` Grigory Ustinov
@ 2018-06-20 11:22           ` Anton Farygin
  2018-06-20 13:27             ` Igor Vlasenko
  2018-06-20 13:24           ` Igor Vlasenko
  1 sibling, 1 reply; 19+ messages in thread
From: Anton Farygin @ 2018-06-20 11:22 UTC (permalink / raw)
  To: ALT Linux Team development discussions, Grigory Ustinov

19.06.2018 20:50, Grigory Ustinov пишет:
> Тогда фичереквест: добавить хаскель. Потому что мне хотелось бы 
> добавить в сизиф около десятка новых пакетов, морально это делать 
> вручную, когда я уже знаю о существовании такого великолепного 
> инструмента я пока не готов=(
И это очень плохо.




^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  2018-06-19 17:50         ` Grigory Ustinov
  2018-06-20 11:22           ` Anton Farygin
@ 2018-06-20 13:24           ` Igor Vlasenko
  1 sibling, 0 replies; 19+ messages in thread
From: Igor Vlasenko @ 2018-06-20 13:24 UTC (permalink / raw)
  To: ALT Linux Team development discussions; +Cc: Grigory Ustinov

On Tue, Jun 19, 2018 at 08:50:25PM +0300, Grigory Ustinov wrote:
> Тогда фичереквест: добавить хаскель. Потому что мне хотелось бы добавить в
> сизиф около десятка новых пакетов, морально это делать вручную, когда я уже
> знаю о существовании такого великолепного инструмента я пока не готов=(

В чем с хаскелем проблема:
чтобы написать конвертер чего либо, надо знать, как
собираются пакеты "там" и как "здесь". Если полиси
более-менее похожи, то можно обойтись только заменой
макросов. В сложных случаях могут понадобиться
rpm-macros-*-compat пакеты и доп. скрипты-прослойки.
Это все решаемо.

Но у нас хаскель был заброшен. Сейчас за него
взялся Евгений Косенко. Пусть он сначала примет
стратегические решения:
* сколько версий хаскеля поддерживать;
* схемы именования пакетов;
* формат Requires/Provides;
* как назвать макросы.

Когда все это определится и устаканится в Сизифе,
можно говорить о конвертере.
Сейчас я буду только мешать.

-- 

I V


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  2018-06-20 11:22           ` Anton Farygin
@ 2018-06-20 13:27             ` Igor Vlasenko
  2018-06-20 14:17               ` Anton Farygin
  0 siblings, 1 reply; 19+ messages in thread
From: Igor Vlasenko @ 2018-06-20 13:27 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Wed, Jun 20, 2018 at 02:22:16PM +0300, Anton Farygin wrote:
> 19.06.2018 20:50, Grigory Ustinov пишет:
> > Тогда фичереквест: добавить хаскель. Потому что мне хотелось бы добавить
> > в сизиф около десятка новых пакетов, морально это делать вручную, когда
> > я уже знаю о существовании такого великолепного инструмента я пока не
> > готов=(
> И это очень плохо.

Что плохого в пользовании хорошим инструментом?
Так можно сказать, что и компилятор -
буржуйская роскошь, хороший программист должен
сразу в уме переводить текст в машинный код
и набивать уже бинарник.

-- 

I V


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [devel] I: girar-nmu 2.0
  2018-06-20 13:27             ` Igor Vlasenko
@ 2018-06-20 14:17               ` Anton Farygin
  0 siblings, 0 replies; 19+ messages in thread
From: Anton Farygin @ 2018-06-20 14:17 UTC (permalink / raw)
  To: ALT Linux Team development discussions, Igor Vlasenko

20.06.2018 16:27, Igor Vlasenko пишет:
> On Wed, Jun 20, 2018 at 02:22:16PM +0300, Anton Farygin wrote:
>> 19.06.2018 20:50, Grigory Ustinov пишет:
>>> Тогда фичереквест: добавить хаскель. Потому что мне хотелось бы добавить
>>> в сизиф около десятка новых пакетов, морально это делать вручную, когда
>>> я уже знаю о существовании такого великолепного инструмента я пока не
>>> готов=(
>> И это очень плохо.
> Что плохого в пользовании хорошим инструментом?
> Так можно сказать, что и компилятор -
> буржуйская роскошь, хороший программист должен
> сразу в уме переводить текст в машинный код
> и набивать уже бинарник.
>
Плохо тем, что при этом процессе ментейнер не обрастает знаниями о 
собираемом пакете и не сможет решать возникающие с ним проблемы.



^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2018-06-20 14:17 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-18 18:56 [devel] I: girar-nmu 2.0 Igor Vlasenko
2018-06-19  9:07 ` Alexey V. Vissarionov
2018-06-19  9:33   ` Aleksei Nikiforov
2018-06-19 10:07     ` Alexey V. Vissarionov
2018-06-19 10:05       ` Denis Medvedev
2018-06-19 13:10     ` Igor Vlasenko
2018-06-19 20:36     ` Leonid Krivoshein
2018-06-19 13:08   ` Igor Vlasenko
2018-06-19 13:15   ` Igor Vlasenko
2018-06-19 14:11     ` Andrey Savchenko
2018-06-19 15:49       ` Michael Shigorin
2018-06-19 16:56 ` Grigory Ustinov
2018-06-19 17:07   ` Igor Vlasenko
2018-06-19 17:44       ` Igor Vlasenko
2018-06-19 17:50         ` Grigory Ustinov
2018-06-20 11:22           ` Anton Farygin
2018-06-20 13:27             ` Igor Vlasenko
2018-06-20 14:17               ` Anton Farygin
2018-06-20 13:24           ` Igor Vlasenko

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git