openSUSEopenSUSE Build Service

Для начала небольшое вступление.
Являясь закоренелым пользователем арча вдруг решил поставить openSUSE.
Чем же меня заинтересовал этот дистрибутив? Заинтересовал он, а именно его разработчики отношением к пользователю и количеством нужных и качественных сервисов:OBS + 1-click install,openFATE,качественная документация на wiki,SUSE Studio.
Признайтесь, такого больше не у кого нет.
Сегодня, как вы уже догадались, мы разберем первый сервис — OBS.
Если кто пользовался арчем, то он знает что такое AUR.
По сути OBS это тот же AUR, но он еще сам собираем бинарные версии под множество дистрибутивов.
Как и во всех других сервисах Novell вход происходит через Novell account.
Он же уже у вас есть? Нет? Не беда — регистрируемся.
Собирать пакеты можно разными способами, сегодня разберем один из них — RPM spec.
Вот пример spec'a с комментариями(кстати, я первый кто этот пакет добавил в OBS, так что spec. эксклюзивный… шучу, ведь spec можно увидеть на странице пакета):
#
# rpm spec for nitrogen
#
#Общая информация о пакете,тут думаю все понятно по названиям
Summary: Nitrogen is a background browser and setter for X windows.
Name: nitrogen
Version: 1.4
Release: 0
Epoch: 0
License: GPL
#группа пакета,т.е. то место где можно будет его найти в менеджере пакетов
#найти группы можно тут - http://en.opensuse.org/SUSE_Package_Conventions/RPM_Groups
Group: Utilities/System
#Вписываем свои имя в историю :)
Packager: Adrov Igor <nucleartux@gmail.com>
#домашняя страница проекта
URL: http://projects.l3ib.org/nitrogen/
#путь к файлу
Source: http://projects.l3ib.org/nitrogen/files/nitrogen-1.4.tar.gz
#папочка,в которой наш проект будет собиратся,почти всегда это:
#BuildRoot: %{_tmppath}/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
#зависимости для сборки
BuildRequires:  gtkmm2-devel gtk2 make gcc-c++
#и для запуска
Requires: gtkmm2 gtk2
#детальное описание
%description
Nitrogen is a background browser and setter for X windows. It is written in C++ using the gtkmm toolkit. It can be used in two modes: browser and recall. Nitrogen has been in development for over 2 years, due to real life and laziness. For more info, check out the features section.

#подготовка пакета,тут будет выполнена разархивация и т.п.
%prep
#копирование файлов,принимает параметр -n name,где name - имя папки проекта в архиве
%setup -q

#сборка,конфигурирование
%build
%configure

#устанавливаем и очищаем временную папку
%install
rm -rf "$RPM_BUILD_ROOT"
%makeinstall
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
%clean
rm -rf "$RPM_BUILD_ROOT"

#очень важный момент - каталог файлов,тут нужно для каждого проекта смотреть индивидуально
%files
%defattr(-,root,root)
%doc AUTHORS ChangeLog NEWS README
%doc %{_mandir}/*/*
%{_bindir}/*
%_datadir/icons/hicolor/128x128/apps/%{name}.png
%_datadir/icons/hicolor/16x16/apps/%{name}.png
%_datadir/icons/hicolor/22x22/apps/%{name}.png
%_datadir/icons/hicolor/32x32/apps/%{name}.png
%_datadir/icons/hicolor/48x48/apps/%{name}.png
%_datadir/icons/hicolor/16x16/actions/wallpaper-centered.png
%_datadir/icons/hicolor/16x16/actions/wallpaper-scaled.png
%_datadir/icons/hicolor/16x16/actions/wallpaper-tiled.png
%_datadir/icons/hicolor/16x16/actions/wallpaper-zoomed.png
%_datadir/icons/hicolor/16x16/devices/video-display.png
%_datadir/icons/hicolor/16x16/mimetypes/image-x-generic.png
#ченейджлог он и в африке ченейджлог
%changelog
* Wed Jul  18 2009 Adrov Igor <nucleartux@gmail.com> 0:1.4-0
- initial release

###
### eof
###

spec. мы написали, а то нам с ним делать?
Можно собрать на локальной машине rpmbuild -bb nitrogen.spec.
А можно и OBS, вот об этом поподробнее.
С активацией аккаунта на OBS нам дают домашний проект, вот там мы и будем собирать пакеты.
Нажимаем на cсылочку [Add Package].
Записываем данные о пакета, как мы делали это в спеке.
Теперь мы на странице пакета, для начала справа добавляем дистрибутивы для сборки.
Теперь можно заполнить URL проекта, теги, но самое главное это файлы: добавляем в файлы на spec. файл м архив с исходниками. Для уверенности жмакаем [Trigger Rebuild] и ждем, через какое-то время пакет будет собран и выставлен на всеобщее обозрение.
На этом все, удачной компиляции!
ЗЫ прошу не разводить холивар насчет дистрибутивов.
  • +3
  • nuclear
  • 17 июля 2009, 09:31

Комментарии (3)

Не заглядывал ранее на OBS.
Спасибо
Плохая статья. Сумбурно, без разбора и ни о чём.
Скажу бональность: напишите лучше.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.