[devel] I: packages.altlinux.org

Igor Zubkov igor.zubkov на gmail.com
Пн Мар 2 16:54:35 MSK 2015


сб, 28 февр. 2015 г. в 17:34, Anton Farygin:

Было бы неплохо на странице пакета:
> - ссылку на gear репозиторий, если есть
>

Вообще, у каждого пакета есть страница с gear репозиториями. Я сомневаюсь
что это можно не заметить.

Может стоит перефразировать это как "перенести информацию о gear
репозиториях прям на главную пакета". Я прав?


> - ссылку на лог сборки (ну или на task)
>

Мне нужно описание формата тасков. Что, где и как. Тогда будет. Я давно это
хотел написать, но всё руки не доходили. Надеюсь, теперь дойдут.

Я вижу это примерно так. У нас на главной появится ссылка на таски. Браузер
для них. В каждом таксе список всех файлов что собрались и логи сборки. С
возможностью их загрузки. На странице у каждого пакета появится ссылка на
этот таск со всей информацией (возможно и ссылка на лог сборки тут же, об
конкретной реализацией надо ещё подумать).


> - историю версий с возможностю скачать бинарный пакет предыдущей версии
>

Тут задача упирается во много технических проблем которые ещё не решены.

Первая, это архив Сизифа доступный с контейнера packages.altlinux.org.
Вторая, это раздача этих файлов. Третья, место для базы данных (база
прометея распухнет). Ну и последнее, это код поддержки всего этого в движке.

Плюс, таски тут же нужны.

Я проверю чего нам для этого не хватает и напишу отдельно. Просто в нашей
багзилле есть куча багов на прометей которые надо проверить. Возможно,
часть из того что надо уже просто готово. Это как с добавлением поддержки
autoimports. Я жду год пока они появятся в контейнере, а оказывается они
как год уже там есть. :)


> - обработку watch файлов, соответственно на странице мейнтейнера
> информации о новых версиях, на странице пакета информацию о новой версии
> в апстриме.
>

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

У меня была попытка сделать мониторилку свежих пакетов через (уже
переименновый в freecode) freshmeat. Но там у парней оказалось слишком
лимитированным по количеству запросов API. Возможно стоит сходить к ним ещё
раз. Может уже можно нормально будет сделать. Кстати, кто им пользуется,
ответьте. У них там есть чем поживится в плане информации о свежих пакетах
или нет?

По поводу watch файлов. Жду ссылку на спецификацию этих файлов. Примеров
пакетов с ними. Ну и что может ещё понадобится. Буду смотреть и думать как
сделать.

Возможно ещё есть какие-то источники данных которые бы не плохо было бы
добавить? Есть вот pypi для python, rubygems для ruby. Кто ещё что знает?
По поводу rubygems, там всё классно. Есть api и всё такое. Но у нас руби
пакетов практически нет. А вот мысль с pypi уже интересна. Я даже где-то
видел нормальный или сервис или библиотеку для опроса pypi и получения
информации. Надо будет найти и поэксперементировать.

и я хотел бы форум, не знаю как коллеги. попакетный, в отличии от
> forum.altlinux.org
>
> С email уведомлениями, модерацией и остальной требухой.
>

Идея с формумом была ещё в оригинальном прометее который стоит на
sisyphus.ru. Вот только реализации в нём не было. Мне идея с форумом, в
принципе, нравится.

В плане реализации я не хочу ничего интегрировать с forum.altlinux.org.
Максимум, это oauth авторизацию через него. Только я вот сомневаюсь что он
это поддерживает.

Для реализации этого внутри прометея можно использовать
https://github.com/radar/forem . Я попробую собрать на нём какое-нибудь
демо и посмотреть. В принципе, как вариант, можно сделать форум с разметкой
в markdown и emoji. :) Было бы круто. Почти так же как сделаны комменты на
github (фактически, они выложили почти весь код который за это отвечает,
так что можно почти как у них). Пока, правда, я не понимаю по каким путям
его бы приделать, но думаю что придумаю.

Ну а теперь то что я думаю сделать:
1. В текущий момент я отрываю код работы с rpm файлами в библиотеку. Это в
текущем мастере уже. Если кто-то может помочь с примерами работы librpm API
на C то это было бы круто. Это может сделать работу с ними быстрее.
2. Починить пагинацию страниц. Сейчас это выглядит достаточно некрасиво, но
так-как находится в низу главной, то никто не жалуется. :)
3. Разделить страницу "Майнтенеры" (та что с главной)
http://packages.altlinux.org/ru/Sisyphus/people на две. На страницу
маинтейнеров и страницу команд. Это для разделения сущностей.
4. Я думаю над тем что бы все страницы которые относятся к пакету
объединить в одну. Это облегчит нагрузку на сервер, улучшит индексацию
страниц поисковыми механизмами и должно улучшить качество сайта в глазах
этих самых поисковым механизмов. Для начала, я планирую убрать страницу с
gear. Над тем как перенести контент с других я пока подумаю.
5. 100% test coverage and refactoring. Код писался очень уже давно и
требует того что бы его переписали с rails style на ruby style.
6. Расширить страницу с информацией о маинтейнере. Добавить ссылки на
github и linkedin.
7. Так же, на странице у маинтейнера не хватает двух страниц. Первая,
страница со всеми пакетами и их правами. Что бы визуально можно было бы
быстро оценить acl у пакетов. Второе, это список команд в которых он
состоит и пакеты в них.
8. И ещё немного для маинтейнеров. Сейчас для каждого бранча отдельная
страница маинтейнера. По ссылкам вида /:locale/:branch/maintainers/:login.
Это надо исправить. Будет только одна.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20150302/8d2815fa/attachment-0001.html>


Подробная информация о списке рассылки Devel