OpenSUSE Build Service

Dec 30, 2011 22:46


Появились первые программы, для которых не нашлись пакеты: утилиты для ITmages.ru и hzs Reminder. Решил осилить сборку пакетов, заодно и сделать репозиторий. Так я влился в OpenSUSE Build Service - открытую и готовую платформу разработки.

В первую очереди регистрируемся на са йте. Редактируем дистрибутивы своего домашнего репозитория, добавляя нужные. Добавляем репозитории и устанавливаем необходимые пакеты:

sudo zypper ar -f -r http://download.opensuse.org/repositories/devel:/tools/openSUSE_12.1/devel:tools.repo
sudo zypper ar -f -r http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_12.1/openSUSE:Tools.repo
sudo zypper in --no-recommends osc osc-source_validator rpmdevtools build
Создаём себе папку и переходим в неё. Создаём локальную папку домашнего репозитория и переходим в неё:

osc co home:DarkSS
cd home:DarkSS
Создаём папку для пакета, связываем её с ОБС, переходим в неё и создаём шаблон конфигурационного файла:

osc mkpac <имя пакета> && cd <имя пакета> && osc ci && rpmdev-newspec <имя пакета>.spec
В созданном файле заполняются пустые поля, инструкции по сборке, как правило, прилагаются к исходным кодам в том или ином виде (пкгбилды для арча и т.д.). Если нет, действуем методом проб и ошибок. Примеры и шаблоны можно подсмотреть в репозиториях на ОБС. Проверить сборку пакета (NB! Выкачиваются все пакеты, необходимые для сборки, они не ставятся в систему и будут храниться в кеше.) без загрузки на сервер (пример):

osc build --ccache openSUSE_12.1 x86_64
Не забываем добавить к проекту спек-файл и исходные коды (внутри должна быть папка с названием вида <имя пакета>-<версия пакета>): osc add

Удалить файлы можно по osc rm (NB! Удаляются и с жёсткого диска!).

Когда нас устроит сборка пакета, делаем коммит на сервер: osc commit -m '1st'

Если встретите такой выхлоп: Working copy is out of date (rev None vs rev 9). Looks as if you need to update it first., вбейте это: osc up

Посмотреть на мой репозиторий можно по этой ссылке. А так можно подключить его и поставить всё добро, что есть на данный момент:

sudo zypper ar -f -r http://download.opensuse.org/repositories/home:/DarkSS/openSUSE_12.1/home:DarkSS.repo
sudo zypper in plasmoid-itmages-applet hzs-reminder
Сначала было сложно (не умею собирать из исходных кодов, разбирать код на С++), но сейчас я более-менее просёк тему и хотя бы знаю, где и как искать ответы на мои вопросы. Огромное спасибо камрадам rioky, ascrazy и няше Ignotus за оказанную помощь! Всех с наступающим Новым годом, пускай баги обходят вас стороной.

напоминалка, линукс, rpm, obs, консоль, opensuse

Previous post Next post
Up