August 6, 2008

installing a local build service on openSUSE 11


I recently installed a build service (http://en.opensuse.org/buildservice) on an openSUSE11 for demonstration purposes and here are my notes.

The build service is a GREAT tool in order to help you build packages for openSUSE but also for other distributions like Ubuntu, Fedora, ... so if you are building your own software and would like to distribute it by providing installers for different linux, this may be your tool.

I'll talk about the internals another day, but today I'll talk about how to install it.

The easiest way is to go to http://download.opensuse.org and search for obs. You'll find a product call obs-server. Click on the one-click-install and everything will be done (adding the openSUSE:Tools repo and installing the different components.

Once you have done that, that was pretty easy, you open the file /usr/share/doc/packages/obs-api/README.setup and follow the instructions.

However, I came up with some problems so I am giving the following advice:

1- If you have problems with authentication or authorization on the database, and if your platform is for testing, just use the root mysql user with no password. Warning: never do that on production systems!!

2- If your firefox does not find your application, like happened to me, use virtual hosts. As this is only for demonstration, I edit the /etc/hosts and add:

127.0.42.1 obs

127.0.42.2 obs2

127.0.42.3 obs3

and then change the 127.0.42.* by the corresponding obs* name on

/etc/lighttpd/vhosts.d/obs.conf

/srv/www/obs/webclient/config/environments/production_slave.rb (IMPORTANT: this change is not on the README.setup and you have to do it. I sent a ticket to bugzilla.novell.com so they can add it to it, but until then, you have to remember that, or make a grep)

Adapt the README.setup instructions to use those virtual hosts.

After following the instrucions, you'll be able to login as admin (password opensuse).

You can create a new user from http://obs2 (login with the admin user).

Then, you can login as the new user and create a project and a package. I am attaching here a simple spec you can use to test the building process. One that not requires more than this spec. After that, add the openSUSE10.3 repository (or anyother suse) and press "trigger rebuild".

After that, the build should start. If you do not see any message, press the "update" icon on the build section.

And to end with this very fast introduction on setting up a build service on an openSUSE11, we can change the openSUSE logo by one of our choice by editing the file

/srv/www/obs/webclient/app/views/layouts/application2.rhtml

look for the geeko.jpg and replace that by your own logo.

#
# simple spec file for testing the build service
#

# norootforbuild

Name: simple
License: BSD 3-Clause
Group: System/Fhs
Version: 11.0
Release: 47.1
Summary: Simple rpm
BuildRoot: %{_tmppath}/%{name}-%{version}-build

%description
This package contains a simple file for testing the build service.

%prep

%build

%install
touch $RPM_BUILD_ROOT/simple

%files
%defattr(644,root,root,755)
/simple

No comments: