Mailinglist Archive: opensuse-buildservice (153 mails)

< Previous Next >
Re: [opensuse-buildservice] Build C++ Files for different distributions
  • From: Greg Freemyer <greg.freemyer@xxxxxxxxx>
  • Date: Fri, 7 Nov 2014 18:13:53 -0500
  • Message-id: <CAGpXXZ+La0ExqXc5zABZS7XJ6TC1MvJ-Us4sULfSH4=jB+aD4Q@mail.gmail.com>
On Fri, Nov 7, 2014 at 12:07 PM, Tobias Lauterbach <tol@xxxxxxxxxxxx> wrote:
Hello,

I´m quite new to building packages on Linux, so I have some very basic,
probably stupid questions, but after hours of luckless research this is the
last way I see to understand this.

I have the task to find out how to avoid the need of 3 build servers for
supplying three different distributions.

All I read is the open build service would be able to build binary packages
from sources for a wide range of operating systems and hardware architectures.
But I don't understand what those sources are.

Would I be able to compile binaries for different distributions from C++ code
with this? And then based on those binaries build the packages?

If yes, how can I do it?
If not, what is the benefit from just building packages if I need to build
the binaries on different distributions?

Thank you very much,
tol


Tol,

Stefan seems to have written a nice reply, but tl;dr. (sorry Stefan)

open build service is software specifically designed to do what you want.

There are 3 variations you need to choose from:

osc - the command line version that runs on your local linux box.
Minimal special code needed. With it you can tell your openSUSE
distribution to create a chroot jail and fill it up with the needed
Radhat packages to let you compile a Redhat set of binaries, then put
the binaries into an RPM. Lots of different distros can be both the
host linux OS and the target linux OS.

"open build service" itself. It comes as a full openSUSE distro with
all the software and tools to create a dedicated build farm. I
believe the farm can be as small as one PC, or a couple hundred (or
more).
People like Dell and Oracle run private instances like that.
Obviously lots of smaller companies as well. In general, open build
service uses VMs in which to do the builds, not chroot jails. It also
has a WebUI, so you can interact with it from other than the command
line.

OBS - "build.opensuse.org" - This is the reference instance of "open
build service". You can create an account and use it to your hearts
content. It has numerous linux distros in the various repositories so
you can build packages for any of them.

===
For your initial famiarization, take a look at how "osc" itself is
packaged and made available:

https://build.opensuse.org/package/show/openSUSE:Tools/osc

Look at all the distros it is being built for on OBS.

You can download the various packages from:
http://software.opensuse.org/download.html?project=openSUSE%3ATools&package=osc

===
Once you have a login, you can create a sub-project within your home
project and do similar things.

As an example, the "sleuthkit" project created a project login and
tinkered with doing what you want to do. They never actually did
much, but you can see their concept by looking at:

https://build.opensuse.org/project/show/home:sleuthkit

===
OBS, the reference instance, by policy can only host opensource
projects. If the code your need to work with is proprietary you need
to look at osc, or your own private instance of open build service.

=======

I hope that isn't overwhelming,
Greg
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups
References