ESO Midas 11SEP1.2

Отправил собираться новую версию.

Заодно осилил source service для build service. Первый приз получает сервис под названием download_files (надо в файл _service в проекте воткнуть вот это):
<services>
  <service name="download_files">
  <param name="recompress">yes</param>
  </service>
</services>

Он не просто прочитает spec-файл и попытается скачать все файлы для которых там есть полный url в строчке Source, он к тому-же (это же чудо!) перепакует их сам в нужный формат и сам разберется что скачивать. Например, допустим, Source0 указан вот так: ftp://ftp.eso.org/pub/midaspub/11SEP/sources/%{version}.tar.bz2, при этом на самом сервере нет архива tar.bz2, там есть только tar.gz. Так вот, умный сервис скачает такой архив, который там физически есть, и перепакует его в такой, который нужен.

Документации (как и во всем opensuse) нет, поэтому предлагается смотреть в /usr/lib/obs/service и там можно прочитать в исходниках какие сервисы есть, какие у них параметры и что делают.

p.s. Вообще, считаю, следующий гениальный шаг будет когда build service научится сам автоматически отслеживать хранилища типа PyPi, CPAN, etc и автоматом собирать новые пакеты и пересобирать обновленные. Закоммитил ты свой модуль новый питонный в PyPi, а он через 15 минут уже есть для opensuse в виде пакета. Красота.

2 комментария:

Андрей Ганьков комментирует...

Кстати по поводу автоматического отслеживание хранилищ, что то подобное уже начинает вырисовываться и даже успешно работает для репозитория Gnome, и некоторых других. http://en.opensuse.org/openSUSE:Osc_Collab

Правда обновление не совсем автоматическое, на полном автомате возможно и не получится.

Matwey V. Kornilov комментирует...

Вот тут нашел целый алфавит, я бы сказал, проектов CPAN-x, пакеты в которых тысячами берутся со CPAN:

devel:language:perl

Однако, результаты сборки пока не очень впечатляют. Предлагается оттуда пакеты копировать, чинить сборку и отправлять в основной перловый проект. Но все-равно здорово.