Updates builder — различия между версиями
D uragan (обсуждение | вклад) |
D uragan (обсуждение | вклад) м (дополнение) |
||
(не показано 5 промежуточных версий 2 участников) | |||
Строка 19: | Строка 19: | ||
Ага, есть более новая версия! {{Программа|updates_builder}} ее скачал и поместил тарболл с исходниками в файловое хранилище ABF, обновил .abf.yml и spec-файл и запустил новую сборку. | Ага, есть более новая версия! {{Программа|updates_builder}} ее скачал и поместил тарболл с исходниками в файловое хранилище ABF, обновил .abf.yml и spec-файл и запустил новую сборку. | ||
− | Все эти изменения происходят в отдельной ветке Git-репозитория - '''auto_update'''. Сборка запускается для платформы | + | Все эти изменения происходят в отдельной ветке Git-репозитория - '''auto_update'''. Сборка запускается для актуальной платформы ROSA Desktop Fresh, но результаты будут публиковаться в репозиторий '''import_personal'''. Более того, автоматическая публикация для этих сборок отключена - поэтому пакеты необходимо скачивать из соответствующих контейнеров (либо явно запускать публикацию). |
Теперь надо убедиться, что новый пакет успешно собрался (если вы подписаны на оповещения по e-mail от ABF, то вам должно придти письмо с результатами сборки). Если сборка завершилась успешно, то вы можете скачать пакет и проверить, что он устанавливается и работает. Если все в порядке, то можно перенести изменения в основную ветку и собрать пакет в нормальный репозиторий. | Теперь надо убедиться, что новый пакет успешно собрался (если вы подписаны на оповещения по e-mail от ABF, то вам должно придти письмо с результатами сборки). Если сборка завершилась успешно, то вы можете скачать пакет и проверить, что он устанавливается и работает. Если все в порядке, то можно перенести изменения в основную ветку и собрать пакет в нормальный репозиторий. | ||
Строка 38: | Строка 38: | ||
== Технические подробности == | == Технические подробности == | ||
− | Для получения информации о новых релизах, {{Программа|updates_builder}} использует сервис http://upstream-tracker.org. Если вы хотите, чтобы {{Программа|updates_builder}} отслеживал некоторый пакет, для которого нет ссылки на апстрим - сообщите об этом | + | Для получения информации о новых релизах, {{Программа|updates_builder}} использует сервис [http://upstream-tracker.org/updates/rosa/2012/ upstream-tracker.org]. Если вы хотите, чтобы {{Программа|updates_builder}} отслеживал некоторый пакет, для которого нет ссылки на апстрим - сообщите об этом мэйнтейнеру сервиса upstream-tracker.org. |
Обратите внимание, что для работы с ABF {{Программа|updates_builder}} использует консольный клиент из пакета {{Pkg|abf-console-client}}. | Обратите внимание, что для работы с ABF {{Программа|updates_builder}} использует консольный клиент из пакета {{Pkg|abf-console-client}}. | ||
+ | |||
+ | == Запуск в РОСЕ == | ||
+ | Updates Builder запускается в РОСЕ на постоянной основе для пакетов, перечисленных на этой страничке: | ||
+ | |||
+ | http://wiki.rosalab.ru/en/index.php/Updates_builder_checklist | ||
+ | |||
+ | В случае успешной сборки, скрипты запуска автоматически формируют Pull Request на внесение изменений в основные репозитории. | ||
+ | |||
+ | В случае неудачи, скрипты анализируют журнал сборки и пытаются устранить некоторые виды тривиальных ошибок - такие, как изменение состава файлов, отсутствие сборочных зависимостей и так далее. После внесения изменений, сборка запускается повторно. | ||
+ | |||
+ | Исходный код скриптов, используемых для запуска Updates Builder, анализа его логов и исправления некоторых типов ошибок, можно найти здесь: | ||
+ | |||
+ | https://abf.rosalinux.ru/dsilakov/updates_builder_launcher | ||
+ | |||
+ | === Статистика обновления пакетов в РОСЕ === | ||
+ | На сайте [http://upstream.rosalinux.ru/updates_builder_reports/rosa_results.html Upstream Tracker] можно найти сводную информацию по пакетам ROSA Desktop Fresh, для которых Updaets Builder попробовал собрать обновления. | ||
[[Категория:Управление_пакетами]] | [[Категория:Управление_пакетами]] |
Текущая версия на 12:31, 25 августа 2015
Updates-builder - это утилита для автоматического отслеживания обновлений ПО для пакетов и сборки новых версий в ABF.
Содержание
Исходный код
Исходный код можно посмотреть здесь: https://abf.rosalinux.ru/dsilakov/updates_builder/tree/master?
Пример
Возьмем в качестве примера пакет alleyoop. У нас в репозиториях лежит версия 0.9.7 и мы хотим посмотреть, есть ли обновления в апстриме:
$ updates_builder.py --run-one alleyoop <...> alleyoop-0.9.8 https://sourceforge.net/projects/alleyoop/files/alleyoop/alleyoop-0.9.8/alleyoop-0.9.8.tar.gz <...> Creating a new spec file Downloading file https://sourceforge.net/projects/alleyoop/files/alleyoop/alleyoop-0.9.8/alleyoop-0.9.8.tar.gz done
Ага, есть более новая версия! updates_builder ее скачал и поместил тарболл с исходниками в файловое хранилище ABF, обновил .abf.yml и spec-файл и запустил новую сборку.
Все эти изменения происходят в отдельной ветке Git-репозитория - auto_update. Сборка запускается для актуальной платформы ROSA Desktop Fresh, но результаты будут публиковаться в репозиторий import_personal. Более того, автоматическая публикация для этих сборок отключена - поэтому пакеты необходимо скачивать из соответствующих контейнеров (либо явно запускать публикацию).
Теперь надо убедиться, что новый пакет успешно собрался (если вы подписаны на оповещения по e-mail от ABF, то вам должно придти письмо с результатами сборки). Если сборка завершилась успешно, то вы можете скачать пакет и проверить, что он устанавливается и работает. Если все в порядке, то можно перенести изменения в основную ветку и собрать пакет в нормальный репозиторий.
Для начала, клонируем проект alleyoop с помощью консольного клиента ABF:
$ abf get alleyoop; cd alleyoop $ git checkout auto_update
Посмотрите обновленный файл .abf.yml, а также spec-файл; при необходимости, подправьте их.
После этого, переключитесь на ветку rosa2012.1 и перенесите изменения туда:
$ git checkout rosa2012.1 $ git merge auto_update $ abf put -m "LOG Updated to 0.9.8"
Вот и все! Теперь можно запустить сборку обновленного пакета для платформы rosa2012.1 из ветки rosa2012.1.
Технические подробности
Для получения информации о новых релизах, updates_builder использует сервис upstream-tracker.org. Если вы хотите, чтобы updates_builder отслеживал некоторый пакет, для которого нет ссылки на апстрим - сообщите об этом мэйнтейнеру сервиса upstream-tracker.org.
Обратите внимание, что для работы с ABF updates_builder использует консольный клиент из пакета abf-console-client.
Запуск в РОСЕ
Updates Builder запускается в РОСЕ на постоянной основе для пакетов, перечисленных на этой страничке:
http://wiki.rosalab.ru/en/index.php/Updates_builder_checklist
В случае успешной сборки, скрипты запуска автоматически формируют Pull Request на внесение изменений в основные репозитории.
В случае неудачи, скрипты анализируют журнал сборки и пытаются устранить некоторые виды тривиальных ошибок - такие, как изменение состава файлов, отсутствие сборочных зависимостей и так далее. После внесения изменений, сборка запускается повторно.
Исходный код скриптов, используемых для запуска Updates Builder, анализа его логов и исправления некоторых типов ошибок, можно найти здесь:
https://abf.rosalinux.ru/dsilakov/updates_builder_launcher
Статистика обновления пакетов в РОСЕ
На сайте Upstream Tracker можно найти сводную информацию по пакетам ROSA Desktop Fresh, для которых Updaets Builder попробовал собрать обновления.