Pull to refresh

Comments 21

Когда-то поднимал на OpenSUSE, пришел к выводу, что лучше брать готовые образы, благо они есть :)
UFO landed and left these words here
Спасибо!

А вот подскажите ответы на следующие вопросы по OBS:
1) Можно собирать только rpm?
2) Можно собирать под любой дистрибутив rpm: fedora, rhel, suse?
3) Каковы гарантии что пакет собранный под rhel запустится и будет работать на rhel?
4) На одном билд сервере можно собирать и 32 и 64-битные пакеты?
5) Пакеты собираются только по spec-файлам, нельзя использовать кастомные скрипты?

По поводу 3, я как-то раз занимался пересборкой пакетов rhel6 и столкнулся с тем, что пакет собрынный _на_ fedora _под_ rhel не будет работать под rhel. Так как там бывают условия во время сборки, проверяющиеся на собираемой системе(пути к файлам библиотек и т.п.).
1) Нет, не только.
2) Не под любой, но есть список поддерживаемых дистрибутивов: http://en.opensuse.org/openSUSE:Build_Service_supported_build_targets
3) Пакет для RedHat собирается в RedHat и т.д., так как применяется виртуализация.
4) Если билд-сервер 64 битный, то да. Под каждый билд разворачивается чистая виртуальная машина.
5) Нужны файлы, описывающие пакет, что в случае rpm — spec. Но внутри spec-файла могут вызываться кастомные скрипты, например cmake, который конфигурирует приложение или другие.
UFO landed and left these words here
Спасибо! kvm это то что нужно.

> 5) разъясни, для rpm используется rpmbuild.
Вот у меня возникла немного экзотическая задача — собирать пакеты для программ на haskell.
«Хоть как-то» я собираю так: dev117.livejournal.com/9127.html

Почему-то мне кажется что не получится делать это через OBS. Для сборки нужно скомпилировать нужную версию компилятора, загрузить и скомпилировать нужные библиотеки. Делать это каждый раз при каждом билде долго. Вместо этого я предпочитаю иметь преднастроенный образ виртуалки, и делать каждый билд в копии этого образа.

Насколько это реализуемо с помощью OBS, как думаешь?
UFO landed and left these words here
> Если хаскеля по рхелом не найдешь — то запакетируй. (У пакетов в проекте приоритет выше, чем у тех что в таргете).

В этом то главная проблема, у меня нет столько времени. Помимо компилятора для каждого проекта нужны ещё десятки библиотек. Если не использовать пакеты, то они загружаются и ставятся автоматически. Тот метод который я описал позволяет сделать это в разы быстрее. Я думаю затраты времени примерно 2 часа на ad-hoc сборку против 5 полных рабочих дней если всё делать через пакеты.
UFO landed and left these words here
UFO landed and left these words here
Доки на вики устаревшие, потому я и решил немного заполнить этот пробел, Установка воркера — это уже опция и мне она не нужна была.
4) их image отлично установился в virtualbox'e — версию в студию
UFO landed and left these words here
А почему на виртуалке не хочет ставится — что ему мешает?
Как понимаю, чтобы скомпилить пару пакетов, можно ничего из этого не ставить, а воспользоваться build.opensuse.org
На комп не обязательно ничего ставить — все можно делать через web-интерфейс.

И пакет автоматом станет доступным для всех на software.opensuse.org (если включить опцию поиска по всем репам).
UFO landed and left these words here
Всё верно, можно и так, если вы не планируете автоматизировать сборки. В моем случае OBS связан с свн и, как только, девелоперы коммитят новые версии исходников, система собирает новые пакеты
UFO landed and left these words here
Если действительно интересно как скрестить OBS с SVN и автоматизировать сборки — я подготовлю отдельную статью в дополнение к этой.
UFO landed and left these words here
Only those users with full accounts are able to leave comments. Log in, please.