Rust, Copr и изменения в инфраструктуре

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

Как известно, в Fedora не поощряется создание сторонних репозиториев (т.н. PPA). Для любого DevOps не составит большого труда назвать несколько причин, по которым это плохая идея. Однако, иногда очень хочется, и вот для таких случаев в Fedora есть персональные репозитории, использовать которые официально не рекомендуется. Создание и управление этими репозиториями было организовано очень неудобно и требовало многих ручных действий. Поэтому было решено написать с нуля специальный сервис для создания и управления официально нерекомендуемыми персональными репозиториями. Встречайте copr. Это полнофункциональная сборочная система, позволяющая подключать сторонние репозитарии, использовать уже собранные в copr пакеты (т.н. "chain builds"), и дающая пользователям больше свободы, чем жестко зарегулированный Koji. Получилось, что это не замена Koji, а скорее аналог OBS. Пока система находится в бета-тестировании, но скоро о ней объявят более официально. Основную работу по созданию сервиса выполнили Seth Vidal и участник Fedora Ruby SIG Bohuslav Kabrda, который и презентовал его широкой публике.

Copr уже реально используется. Например, с его помощью пользователям Fedora сделана доступной тестовая сборка языка Rust для Fedora 18 и Rawhide (Lubomir Rintel собрал для Fedora 19 - вот такой вот разнобой с этими PPA).

Ralph Bean продолжает продолжать улучшать инфраструктуру, добавляя в нее элементы соцсети. В строй введен новый узел - Tagger, с помощью которого можно присваивать тэги различным пакетам. Теперь начинающие пользователи с первого взгляда на облако тэгов смогут понять, что пакет perl-Params-Validate имеет отношение к Perl и Validation. Ralph очень горд этим прорывом в usability, призывает всех его попробовать и надеется на появление специализированного приложения, входящего в состав GNOME и делающего сервис еще более доступным для начинающих пользователей.

Раз уж заговорили об интеграции, то уже известная вам Fedora Infrastructure message bus получила новый узел - Simon Chopin, участник GSoC 2013 от коммьюнити Debian, в рамках проекта по соединению различных компонентов проекта Debian с помощью fedmsg, разрабатывает совместимый с ним источник событий от различных сервисов Debian. Дух захватывает от открывающихся перспектив междистрибутивного взаимодействия! Автоматизированное уведомление о багах-дупликатах, сообщения о новых патчах, да мало ли что еще!

И раз уж заговорили об междистрибутивной интеграции, то видится отличный кандидат из числа сервисов, которые должны быть подключены (и события от которых должны обрабатываться) в Fedora Infrastructure message bus. Это Upstream Tracker, созданный отечественными разработчиками из ROSA. Среди участников Fedora уже обсуждаются возможности abi-compliance-checker, другой разработки инженеров компании ROSA, и подключение Web-сервиса со стандартизированным API к Fedora Infrastructure для автоматического мониторинга вносимых изменений и раннего предупреждения ошибок совместимости звучит хорошей идеей.

К сожалению, на все рук не хватает - если вы свободны и желаете помочь, то мы будем только рады. Например, недавно мы с огорчением узнали, что ABRT, автоматическая "собиралка" ошибок в прикладном ПО, работает очень топорно и назначает ошибки в Bugzilla порой совсем не на те компоненты, что надо. Вроде-бы это не так уже и тяжело исправить, если есть свободное время. Это выглядит, как задача начального уровня (студент, интерн, junior developer, и т.п.)

Ну и раз уж заговорили о студентах, Fedora Security SIG решила поменять свое назначение. С этого внемени они будут не только заниматься исправлением и наблюдением за тем, как исправляются ошибки безопасности, но и в т.ч. учить безопасному программированию и проводить аудит ПО. Пока планы не дошли до уровня реализаций, но участники группы приглашают всех к сотрудничеству и совместному обсуждению дальнейших действий.