Mib-report - еще одна утилита в помощь мэйнтейнерам
м |
|||
Строка 1: | Строка 1: | ||
<!-- Смело пишите здесь свою заметку. Можно использовать все возможности вики, включать картинки и другие статьи — все они автоматически отреплицируются наружу --> | <!-- Смело пишите здесь свою заметку. Можно использовать все возможности вики, включать картинки и другие статьи — все они автоматически отреплицируются наружу --> | ||
− | Вот уже несколько месяцев мы используем {{prog|Updates Builder}} для автоматического обновления пакетов в наших репозиториях. Инструмент неплохо справляется со своей задачей и количество обновленных с помощью него пакетов [http://fba.rosalinux.ru/modified_packages/?platform=rosa2012.1&since_date=2013.10.19&for_date=2013.11.19 исчисляется сотнями]. Однако практика показала, что одно из узких мест автоматического обновления | + | Вот уже несколько месяцев мы используем {{prog|Updates Builder}} для автоматического обновления пакетов в наших репозиториях. Инструмент неплохо справляется со своей задачей и количество обновленных с помощью него пакетов [http://fba.rosalinux.ru/modified_packages/?platform=rosa2012.1&since_date=2013.10.19&for_date=2013.11.19 исчисляется сотнями]. Однако практика показала, что одно из узких мест автоматического обновления — это не сам инструментарий, а передаваемая ему на вход информация. Дело в том, что {{prog|Updates Builder}} собирает новые версии пакетов на основе данных, получаемых от {{prog|Upstream Tracker}}'а. Тот, в свою очередь, проводит мониторинг апстрим-проектов на основе ссылок на исходный код, содержащихся в spec-файлах пакетов RPM. Но эти ссылки часто отсутствуют, а если они и есть, то не всегда актуальны — ведь обычным пользователям такая информация не нужна, при сборке пакетов на ABF она тоже не используется, и поэтому мэйнтейнеры не уделяют ей большого внимания. Как следствие, пробелов в колонке «Available in Upstream» на [http://upstream-tracker.org/updates/rosa/2012/ страничке ROSA Updates Tracker] хватает. |
Но помимо мониторинга апстрима, можно подглядывать и на репозитории других дистрибутивов. И здесь на помощь приходит утилита [http://mib.pianetalinux.org/mib-report/ mib-report], изначально созданная нашими друзьями из группы [http://mib.pianetalinux.org/ Mandriva International Backports]. Эта утилита сравнивает версии пакетов в разрабатываемых репозиториях десяти дистрибутивов: | Но помимо мониторинга апстрима, можно подглядывать и на репозитории других дистрибутивов. И здесь на помощь приходит утилита [http://mib.pianetalinux.org/mib-report/ mib-report], изначально созданная нашими друзьями из группы [http://mib.pianetalinux.org/ Mandriva International Backports]. Эта утилита сравнивает версии пакетов в разрабатываемых репозиториях десяти дистрибутивов: | ||
Строка 20: | Строка 20: | ||
<pre> | <pre> | ||
$ mib-report --search firefox | $ mib-report --search firefox | ||
− | Searching for package | + | Searching for package firefox… |
Rosa: 25.0 | Rosa: 25.0 | ||
http://abf-downloads.rosalinux.ru/rosa2012.1/repository/SRPMS/main/updates/firefox-25.0-1.src.rpm | http://abf-downloads.rosalinux.ru/rosa2012.1/repository/SRPMS/main/updates/firefox-25.0-1.src.rpm | ||
Строка 41: | Строка 41: | ||
</pre> | </pre> | ||
− | А внутри {{file|SRPM-пакетов}} можно найти и архив с исходным кодом! Так что даже если мы не можем автоматически найти самую свежую версию программы в апстриме, мы можем | + | А внутри {{file|SRPM-пакетов}} можно найти и архив с исходным кодом! Так что даже если мы не можем автоматически найти самую свежую версию программы в апстриме, мы можем «подсмотреть», что имеется в других дистрибутивах. И если у них есть версия новее — то можно взять {{file|SRPM-пакет}} и вытащить из него тарболлы с новым исходным кодом. Заодно обновить URL в нашем пакете, чтобы в следующий раз уже не лазить к соседу. |
− | Именно такую возможность мы и внедряем сейчас в наш инструментарий автоматического обновления пакетов | + | Именно такую возможность мы и внедряем сейчас в наш инструментарий автоматического обновления пакетов — теперь он будет учитывать не только информацию от {{prog|Upstream Tracker}}, но и данные от {{prog|mib-report}}. Хотелось бы подчеркнуть, что из {{file|SRPM-пакетов}} других дистрибутивов мы извлекаем только архивы с исходным кодом, а ни в коем случае не патчи (поскольку без вмешательства человека сложно понять, актуален ли патч для нас или нет) и не spec-файлы (поскольку у нас есть все основания считать, что наши spec-файлы — одни из самых простых и понятных, и нет нужды загромождать их монструозными конструкциями, используемыми во многих других дистрибутивах). |
− | В общем, если обновление пакета сводится к пересборке нового тарболла из апстрима | + | В общем, если обновление пакета сводится к пересборке нового тарболла из апстрима — то почему бы не поручить это дело роботам? Для людей найдутся и более интересные занятия, которые принесут гораздо больше пользы и пользователям, и апстрим-разработчикам. Ведь наверняка апстрим больше заинтересован в том, чтобы мэйнтейнеры дистрибутивов работали над улучшением их продуктов и присылали в апстрим патчи, а не соревновались — кто быстрее обнаружит выход новой версии. |
− | + | <poll> | |
− | <poll> | + | |
ALTERNATIVE | ALTERNATIVE | ||
OPEN_RESULTS | OPEN_RESULTS | ||
− | UNSAFE_ID=good-news-2013- | + | UNSAFE_ID=good-news-2013-12-30 |
Надеюсь, эта новость вас… | Надеюсь, эта новость вас… | ||
Ввела в экстаз <tt>^_^</tt> | Ввела в экстаз <tt>^_^</tt> | ||
Строка 59: | Строка 58: | ||
Огорчила <tt>:(</tt> | Огорчила <tt>:(</tt> | ||
</poll> | </poll> | ||
− | |||
[[Category:ToROSAPoint]] | [[Category:ToROSAPoint]] | ||
{{wl-publish: 2013-12-30 12:08:37 +0400 | Denis.silakov }} | {{wl-publish: 2013-12-30 12:08:37 +0400 | Denis.silakov }} |
Версия 20:44, 15 мая 2014
Вот уже несколько месяцев мы используем Updates Builder для автоматического обновления пакетов в наших репозиториях. Инструмент неплохо справляется со своей задачей и количество обновленных с помощью него пакетов исчисляется сотнями. Однако практика показала, что одно из узких мест автоматического обновления — это не сам инструментарий, а передаваемая ему на вход информация. Дело в том, что Updates Builder собирает новые версии пакетов на основе данных, получаемых от Upstream Tracker'а. Тот, в свою очередь, проводит мониторинг апстрим-проектов на основе ссылок на исходный код, содержащихся в spec-файлах пакетов RPM. Но эти ссылки часто отсутствуют, а если они и есть, то не всегда актуальны — ведь обычным пользователям такая информация не нужна, при сборке пакетов на ABF она тоже не используется, и поэтому мэйнтейнеры не уделяют ей большого внимания. Как следствие, пробелов в колонке «Available in Upstream» на страничке ROSA Updates Tracker хватает.
Но помимо мониторинга апстрима, можно подглядывать и на репозитории других дистрибутивов. И здесь на помощь приходит утилита mib-report, изначально созданная нашими друзьями из группы Mandriva International Backports. Эта утилита сравнивает версии пакетов в разрабатываемых репозиториях десяти дистрибутивов:
- Rosa Desktop Fresh
- OpenMandriva Cooker
- Mageia Cauldron
- PCLinuxOS
- OpenSUSE Factory
- Alt Linux Sisyphus
- Fedora Rawhide (с учетом RpmFusion)
- Gentoo
- Debian
- Ubuntu
При этом mib-report не просто сравнивает версии пакетов, но для RPM-based дистрибутивов выдает ссылки на Source RPM пакет:
$ mib-report --search firefox Searching for package firefox… Rosa: 25.0 http://abf-downloads.rosalinux.ru/rosa2012.1/repository/SRPMS/main/updates/firefox-25.0-1.src.rpm Cooker: 25.0.1 http://abf-downloads.rosalinux.ru/cooker/repository/SRPMS/main/release/firefox-25.0.1-1.src.rpm Mageia: 24.1.0 http://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/cauldron/SRPMS/core/release/firefox-24.1.0-1.mga4.src.rpm Fedora: 25.0 http://mirror.yandex.ru/fedora/linux/development/rawhide/source/SRPMS/f/firefox-25.0-3.fc21.src.rpm PCLinuxOS: 25.0 http://distrib-coffee.ipsl.jussieu.fr/pub/linux/pclinuxos/pclinuxos/srpms/SRPMS.pclos/firefox-25.0-1pclos2013.src.rpm Sisyphus: 25.0 http://mirror.yandex.ru/altlinux/Sisyphus/files/SRPMS/firefox-25.0-alt1.src.rpm Gentoo: 25.0 http://packages.gentoo.org/package/firefox Ubuntu: 25.0 http://packages.ubuntu.com/firefox Homepage URL: http://www.mozilla.com/firefox/
А внутри SRPM-пакетов можно найти и архив с исходным кодом! Так что даже если мы не можем автоматически найти самую свежую версию программы в апстриме, мы можем «подсмотреть», что имеется в других дистрибутивах. И если у них есть версия новее — то можно взять SRPM-пакет и вытащить из него тарболлы с новым исходным кодом. Заодно обновить URL в нашем пакете, чтобы в следующий раз уже не лазить к соседу.
Именно такую возможность мы и внедряем сейчас в наш инструментарий автоматического обновления пакетов — теперь он будет учитывать не только информацию от Upstream Tracker, но и данные от mib-report. Хотелось бы подчеркнуть, что из SRPM-пакетов других дистрибутивов мы извлекаем только архивы с исходным кодом, а ни в коем случае не патчи (поскольку без вмешательства человека сложно понять, актуален ли патч для нас или нет) и не spec-файлы (поскольку у нас есть все основания считать, что наши spec-файлы — одни из самых простых и понятных, и нет нужды загромождать их монструозными конструкциями, используемыми во многих других дистрибутивах).
В общем, если обновление пакета сводится к пересборке нового тарболла из апстрима — то почему бы не поручить это дело роботам? Для людей найдутся и более интересные занятия, которые принесут гораздо больше пользы и пользователям, и апстрим-разработчикам. Ведь наверняка апстрим больше заинтересован в том, чтобы мэйнтейнеры дистрибутивов работали над улучшением их продуктов и присылали в апстрим патчи, а не соревновались — кто быстрее обнаружит выход новой версии.
|
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.