Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSSDEVCONF-2022) — различия между версиями

Материал из 0x1.tv

м (StasFomin переименовал страницу Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022) в [[Repology — мониторинг пакетных репози…)
 
(не показаны 3 промежуточные версии этого же участника)
;{{SpeakerInfo}}: {{Speaker|Дмитрий Маракасов}}
<blockquote>
В докладе будет освещена история и основные возможности проекта Repology, ведущего мониторинг более 350 пакетных
репозиториев с целью обнаружения новых релизов, координации работы мантейнеров пакетов и авторов ПО между собой,
выявления уязвимых пакетов и пакетов, требующих обновления.

Будут затронуты встретившиеся на пути проекта сложности и их
решения, вылившиеся в побочные проекты, как-то универсальная библиотека сравнения версий libversion и агрегатор
метаданных о Python модулях PyPICache.
</blockquote>

{{VideoSection}}

{{vimeoembed|989843822|800|450}}
{{youtubelink|}}
|aSWvR7YEyDA}}
{{SlidesSection}}
[[File:Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf|left|page=-|300px]]

{{----}}

== Thesis ==

В мире насчитывается несколько сотен независимых открытых пакетных систем, но исторически разработка большинства из них
происходит в своеобразной изоляции, поскольку разница в форматах пакетов и рецептов сборки, организационных и
идеологических решениях не способствует не только прямому обмену кодом, но даже сравнительному анализу пакетных баз.
Тем не менее, значительная часть работы  примеру, подготовка патчей и банальный мониторинг новых релизов и
уязвимостей) многократно дублируется и кажется, что вся экосистема значительно выиграла бы, будь у мантейнеров быстрый
доступ к конфигурациям аналогичных пакетов в других системах и возможность сравнения с ними, равно как и «online»
информация по полноте и актуальности собственной пакетной базы.

В попытке проверить эту гипотезу появился проект Repology. Сервис работает уже более 5 лет и на данный момент собирает
информацию из более чем 350 источников, включающих основные и дополнительные пакетные репозитории большинства Linux и
* BSD дистрибутивов, сторонние пакетные менеджеры других систем (MacOSX, Windows, Android, AIX, Solaris), коллекции
модулей языков программирования (PyPI, RubyGems, crates.io, CPAN и др.), а также новостные сайты и каталоги СПО.

Собранная информация приводится к единому формату, нормализуется и агрегируется до уровня upstream проектов, нивелируя разницу в том, как именно они опакечены в отдельных репозиториях. На уровне проекта становится возможным сравнение номеров версий с определением актуальных и, соответственно, версий, требующих обновления, а из этой информации — составление широкого набора выборок, отчётов, atom лент и графических информеров в срезах по отдельным проектам,
мантейнерам и репозиториям. Собирается и другая информация, например, описания и ссылки на upstream, рецепты пакетов, логи сборки и патчи.

Проект решает задачи сразу нескольких заинтересованных сторон. Для мантейнеров пакетов Repology позволяет:
* Получать полную и актуальную информацию о новых релизах проектов, пакеты для которых они поддерживают (доступную, например, сразу как список требующих обновления пакетов для конкретного мантейнера, или как ленту сообщений о новых релизах), об обнаруженных уязвимостях и других проблемах.
* Выявлять недостающие пакеты для популярных (по наличию в других дистрибутивах) или новых проектов.
* Находить контакты коллег-мантейнеров из других дистрибутивов для консультаций, обмена опытом и информирования о проблемах.
* Искать готовые решения проблем, например, в виде патчей или комбинаций флагов сборки.


Для дистрибутивов/репозиториев в целом:
* Иметь статистику по полноте и актуальности пакетной базы.
* Своевременно получать информацию об обновлениях и уязвимостях по всем пакетам, возможно, экономя собственные ресурсы на создании локальных инструментов для этой цели.
* Использовать предоставляемые Repology API готовые графические информеры в собственной инфраструктуре.


Для авторов ПО:
* Иметь возможно полное представление обо всей downstream инфраструктуре: в каких дистрибутивах и системах опакечен
проект, под какие архитектуры собирается, с какими настройками и патчами, с какими версиями зависимостей и т. д.
* Поддерживать двустороннюю связь с мантейнерами пакетов, как помогая исправлять недочёты в пакетах, так и улучшая собственную систему сборки и документацию для упрощения развёртывания и эксплуатации.
* Использовать готовые графические информеры на страницах проекта, информируя пользователей о доступности и актуальности готовых пакетов.


На текущий момент поток обратной связи и статистика использования позволяют делать выводы о популярности и
востребованности сервиса, а для кого-то он даже стал незаменимым инструментом. Развитие проекта продолжается как в
сторону добавления новых возможностей (например, в планах добавить прямую поддержку VCS хостингов типа GitHub как
источника информации о новых релизах), так и в сторону улучшения удобства сайта.

* https://repology.org/

{{----}}
[[File:{{#setmainimage:Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022)!.jpg}}|center|640px]]
{{LinksSection}}
<!-- <blockquote>[©]</blockquote> -->

<references/>

[[Категория:OSSDEVCONF-2022]]
[[Категория:Draft]]

Текущая версия на 16:15, 2 августа 2024

Докладчик
Дмитрий Маракасов

В докладе будет освещена история и основные возможности проекта Repology, ведущего мониторинг более 350 пакетных репозиториев с целью обнаружения новых релизов, координации работы мантейнеров пакетов и авторов ПО между собой, выявления уязвимых пакетов и пакетов, требующих обновления.

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

Видео

on youtube

Презентация

Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022).pdf

Thesis

В мире насчитывается несколько сотен независимых открытых пакетных систем, но исторически разработка большинства из них происходит в своеобразной изоляции, поскольку разница в форматах пакетов и рецептов сборки, организационных и идеологических решениях не способствует не только прямому обмену кодом, но даже сравнительному анализу пакетных баз. Тем не менее, значительная часть работы (к примеру, подготовка патчей и банальный мониторинг новых релизов и уязвимостей) многократно дублируется и кажется, что вся экосистема значительно выиграла бы, будь у мантейнеров быстрый доступ к конфигурациям аналогичных пакетов в других системах и возможность сравнения с ними, равно как и «online» информация по полноте и актуальности собственной пакетной базы.

В попытке проверить эту гипотезу появился проект Repology. Сервис работает уже более 5 лет и на данный момент собирает информацию из более чем 350 источников, включающих основные и дополнительные пакетные репозитории большинства Linux и

  • BSD дистрибутивов, сторонние пакетные менеджеры других систем (MacOSX, Windows, Android, AIX, Solaris), коллекции

модулей языков программирования (PyPI, RubyGems, crates.io, CPAN и др.), а также новостные сайты и каталоги СПО.

Собранная информация приводится к единому формату, нормализуется и агрегируется до уровня upstream проектов, нивелируя разницу в том, как именно они опакечены в отдельных репозиториях. На уровне проекта становится возможным сравнение номеров версий с определением актуальных и, соответственно, версий, требующих обновления, а из этой информации — составление широкого набора выборок, отчётов, atom лент и графических информеров в срезах по отдельным проектам, мантейнерам и репозиториям. Собирается и другая информация, например, описания и ссылки на upstream, рецепты пакетов, логи сборки и патчи.

Проект решает задачи сразу нескольких заинтересованных сторон. Для мантейнеров пакетов Repology позволяет:

  • Получать полную и актуальную информацию о новых релизах проектов, пакеты для которых они поддерживают (доступную, например, сразу как список требующих обновления пакетов для конкретного мантейнера, или как ленту сообщений о новых релизах), об обнаруженных уязвимостях и других проблемах.
  • Выявлять недостающие пакеты для популярных (по наличию в других дистрибутивах) или новых проектов.
  • Находить контакты коллег-мантейнеров из других дистрибутивов для консультаций, обмена опытом и информирования о проблемах.
  • Искать готовые решения проблем, например, в виде патчей или комбинаций флагов сборки.


Для дистрибутивов/репозиториев в целом:

  • Иметь статистику по полноте и актуальности пакетной базы.
  • Своевременно получать информацию об обновлениях и уязвимостях по всем пакетам, возможно, экономя собственные ресурсы на создании локальных инструментов для этой цели.
  • Использовать предоставляемые Repology API готовые графические информеры в собственной инфраструктуре.


Для авторов ПО:

  • Иметь возможно полное представление обо всей downstream инфраструктуре: в каких дистрибутивах и системах опакечен

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

  • Поддерживать двустороннюю связь с мантейнерами пакетов, как помогая исправлять недочёты в пакетах, так и улучшая собственную систему сборки и документацию для упрощения развёртывания и эксплуатации.
  • Использовать готовые графические информеры на страницах проекта, информируя пользователей о доступности и актуальности готовых пакетов.


На текущий момент поток обратной связи и статистика использования позволяют делать выводы о популярности и востребованности сервиса, а для кого-то он даже стал незаменимым инструментом. Развитие проекта продолжается как в сторону добавления новых возможностей (например, в планах добавить прямую поддержку VCS хостингов типа GitHub как источника информации о новых релизах), так и в сторону улучшения удобства сайта.

Repology — мониторинг пакетных репозиториев (Дмитрий Маракасов, OSEDUCONF-2022)!.jpg

Примечания и ссылки