From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.1 To: devel@lists.altlinux.org References: <20180618185639.GA5467@dad.imath.kiev.ua> From: Grigory Ustinov Message-ID: <5e2f5405-c8a7-a59d-eb3e-6ce01f67064b@altlinux.org> Date: Tue, 19 Jun 2018 19:56:55 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <20180618185639.GA5467@dad.imath.kiev.ua> Content-Type: text/plain; charset=koi8-r; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Subject: Re: [devel] I: girar-nmu 2.0 X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jun 2018 16:56:58 -0000 Archived-At: List-Archive: List-Post: А войдут ли утилиты для импорта из федоры? Имеется в виду не полноценный импорт, а "первичная подготовка спека", чтобы мейнтейнер мог ещё посмотреть, что-то изменить и уже отправить новый пакет в сизиф. Очень хотелось бы что-такое увидеть! Мне хотелось бы отправить в сизиф некоторое количество таких пакетов. 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> , <-H|--gitery> . ==== > > В большинстве случаев, к 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> . ==== > > Поддержка e2k. Кроме умолчальных girar и gitery, у нас появились > дополнительные girar и gitery для дополнительных архитектур, > таких, как e2k. Чтобы работать с ними, утилитам надо каждый раз > указывать -R girar.e2k -H git.e2k . Вместо этого -P e2k > загрузит /etc/girar-nmu/e2k, профиль для работы с e2k, > где girar и gitery переопределены. > Можно создавать и другие свои профили настроек, в > /etc/girar-nmu/ и в $HOME/.config/girar-nmu/. > > === 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 [--before[-subtask] ] > girar-task-for-each-* по умолчанию создают новый task > для каждой задачи. > > Все они оддерживают опции -S|--share (ssh girar task share enabled) > -d|--deps (ssh girar task deps 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, не выложен в Сизиф. > Замечания и пожелания приветствуются. >