Mailinglist Archive: opensuse-buildservice (306 mails)

< Previous Next >
Re: [opensuse-buildservice] building cross distribution packages
  • From: Lubos Lunak <l.lunak@xxxxxxx>
  • Date: Mon, 4 Jan 2010 19:07:12 +0100
  • Message-id: <201001041907.12726.l.lunak@xxxxxxx>
On Friday 18 of December 2009 22:33:05 Pedro Lopez-Cabanillas wrote:
Hi,

I'm packaging my own programs using openSUSE build service, until now for
openSUSE only, but I'm trying also packaging for other distributions. I've
created a subproject at 'home:plcl:test', with only one KDE4 package
(kmetronome) and repositories for openSUSE, xUbuntu, Fedora and Mandriva.

I've started reading some documentation, at:
http://en.opensuse.org/Build_Service/cross_distribution_package_how_to
And a pointer provided by Will Stephenson:
http://www.kdedevelopers.org/node/3994
Looking to the projects packaged by Lubos Lunak, like ksshaskpass and
wmiface it seemed to me an easy task, but I was wrong...

My home:llunak:kde repository does not build against the distribution build
repositories themselves, but uses home:llunak:distro:<distro> as the build
repository, and that sets up some things that unify usage of the .spec file.

If you check out home:llunak:distro/setup and run setup_client_repo from
there, it will set those build repositories up for the given repository.

First, this error in Fedora (10, 11 and 12) packages:
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
The only way to fix it was to add "BuildRequires: gcc-c++". But, this
doesn't match the Fedora documentation:
http://fedoraproject.org/wiki/Packaging:Guidelines#Exceptions_2
"There is no need to include the following packages or their dependencies
as BuildRequires because they would occur too often." And the C++ compiler
is among those common packages. Why I need to include it in OBS?

You generally don't, repo prjconf is used to handle such things.

Second, for Mandriva there is a failure installing some dependencies.
error: Failed build dependencies:
kde4-macros is needed by kmetronome-0.9.1-28.1.x86_64
kdelibs4-devel is needed by kmetronome-0.9.1-28.1.x86_64
dbus-devel is needed by kmetronome-0.9.1-28.1.x86_64
alsa-lib-devel is needed by kmetronome-0.9.1-28.1.x86_64

No idea, but presumably the same cause.

I've tried to follow the directions in this document:
http://wiki.mandriva.com/en/Development/Tasks/Packaging/Policies/Kde4
But something is wrong, and I am unable to see what and where.

I don't know if the KDE4 packaging policies are compatible across
distributions. I tried to keep it as similar as possible, but ultimately
home:llunak:distro* sets it up the openSUSE way. It does not build

PS: I guess it's time to document this better. In case you'd be willing to
test and help with it, just say so ;).

--
Lubos Lunak
openSUSE Boosters team, KDE developer
l.lunak@xxxxxxx , l.lunak@xxxxxxx
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-buildservice+help@xxxxxxxxxxxx

< Previous Next >