Показаны сообщения с ярлыком buildservice. Показать все сообщения
Показаны сообщения с ярлыком buildservice. Показать все сообщения

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 в виде пакета. Красота.

openSUSE Build Service 2.0.5

Наконец переехал у себя с OBS 1.7 на 2.0. OBS — это, пожалуй, единственное ПО, которое я ставлю из пакета, делаю как в инструкции, и... и все падает с какими-то не информативными странными ошибками.

Начать следует с того, что, насколько я понял, эта штука теперь научилась работать с gpg2, поэтому gpg 1.4.5 со специальным патчем "files_are_digests" можно выкинуть. Не забыв при этом подправить путь к gpg в /etc/sign.conf

Порадовало, что наконец в пакет добавили конфиги для logrotate, теперь логи не вырастают до невиданных размеров.

Теперь более интересное. В связи с тем, что рабочие научились самостоятельно создавать себе образы дисков, в /etc/sysconfig/obs-worker добавлено очень много новых опций. В нем же можно изменить рабочую директорию (теперь по умолчанию /var/cache/obs/worker), размеры образов, количество памяти для виртуальной машины и указать её тип. В нем же мне пришлось обратить пристальное внимание на OBS_VM_KERNEL и OBS_VM_INITRD, у меня ничего не заработало пока я их не исправил:
OBS_VM_KERNEL="/boot/vmlinuz"
OBS_VM_INITRD="/boot/initrd-virtio"
Дело в том, что я предпочитаю использовать build с KVM. И, к сожалению, build не смог самостоятельно найти нужные образы для загрузки без явного указания этих параметров. Кстати, файл /boot/initrd-virtio (initrd с поддержкой virtio) делает сам скрипт build, так что не надо удивляться откуда он взялся.