Mailinglist Archive: opensuse-buildservice (266 mails)

< Previous Next >
Re: [opensuse-buildservice] Using OBS to build mainline out-of-tree kernel modules.
On Tue, 2013-01-22 at 09:20 -0700, Peter Morreale wrote:
Hi all,

We are setting up an private OBS instance and one project in this
instance will be building out-of-tree kmp's based on
a mainline kernel.

Can someone point me to some links for the proper setup of the
project(s)? Google returns a large array and I'm not sure I'm finding
something appropriate.

I'm confused about how I ensure that our module code is properly linked
to reference the mainline source tree. Do I create a separate project
for building the mainline kernel and than (somehow) link that project to
the kmp project?

Yes. You will need to build the kernel against some distro (or possibly
multiple) as a base "repo". Then in the KMP project add a build
repository that points to the kernel project.

For example if you have a project called "mainline_kernel" that builds
kernel packages against opensuse_12.2, in the KMP project reference the
mainline_kernel project as the build repository like:

<repository name="mainline_opensuse_12.2">
<path repository="opensuse_12.2" project="mainline_kernel"/>
<arch>i586</arch>
...
</repository>

The repository name attribute can be chosen based on your preference.
The path entity points to the project and specific base repo within it.

When setting up the build environment for the KMPs, the build service
will first select packages from the mainline_kernel project (like the
kernel packages), and any remaining packages required will be taken from
the opensuse_12.2 base repo.

It is also possible to add multiple paths to a given build repository
definition...

http://en.opensuse.org/openSUSE:Build_Service_Tips_and_Tricks#Adding_multiple_repositories_to_a_project


Another way to accomplish what you need is to build the kernel and KMPs
all within the same project. When building the KMPs, the build service
will use the kernel package from the shared project instead of the base
distro (provided the kernel package has been built for that distro).

In any of these cases, because of the dependency of the KMPs on the
kernel package, they will be blocked for building until the kernel
package is successfully built. Updates to the kernel package would
trigger re-builds of the KMPs.

Its not clear to me how to specify the dependencies
and wind up with the actual mainline src path correctly.

The end goal will be the creation of an rpm for a mainline kernel and an
rpm for the kmp's.

Thanks in advance,
-PWM

Hope that helps,

-Scott


--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >
References