Появились первые программы, для которых не нашлись пакеты: утилиты для ITmages.ru и hzs Reminder. Решил осилить сборку пакетов, заодно и сделать репозиторий. Так я влился в
OpenSUSE Build Service - открытую и готовую платформу разработки.
В первую очереди регистрируемся на
са йте. Редактируем дистрибутивы своего домашнего репозитория, добавляя нужные. Добавляем репозитории и устанавливаем необходимые пакеты:
sudo zypper ar -f -r
http://download.opensuse.org/repositories/devel:/tools/openSUSE_12.1/devel:tools.reposudo zypper ar -f -r
http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_12.1/openSUSE:Tools.reposudo 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.reposudo zypper in plasmoid-itmages-applet hzs-reminder
Сначала было сложно (не умею собирать из исходных кодов, разбирать код на С++), но сейчас я более-менее просёк тему и хотя бы знаю, где и как искать ответы на мои вопросы. Огромное спасибо камрадам rioky, ascrazy и няше Ignotus за оказанную помощь! Всех с наступающим Новым годом, пускай баги обходят вас стороной.