Mailinglist Archive: opensuse-buildservice (207 mails)

< Previous Next >
Re: [opensuse-buildservice] New kernel module build failures - Really looks like an OBS issue
Hi,

On 3/22/2011 at 03:14 AM, in message
<1300785260.8551.91.camel@acme.pacific>,
Roger Oberholtzer <roger@xxxxxx> wrote:
On Tue, 2011-03-22 at 09:43 +0100, Adrian Schröter wrote:
Am Dienstag, 22. März 2011, 09:36:37 schrieb Roger Oberholtzer:

Isn't it OBS that sets that up? It is OBS that chooses a kernel source
from somewhere and puts it in the build. I do not provide that in the
build. The Makefile that is being complained about does not come from
anything I provide.

It must be triggered by these statements in my spec:

BuildRequires: %kernel_module_package_buildreqs

We don't support macros as build requires, it would mean that the
scheduler would need to setup a build enviroment to calculate the packages
for
the build enviroment ;)

That can't really work, you can try to workaround this by defining/replacing
this definition in prjconf to a fixed set of packages. Optionally also
different
for each of your repositories.


%kernel_module_package


A sample spec is:



https://build.opensuse.org/package/view_file?file=universe.spec&package=univer
se&project=home%3Arogeroberholtzer&srcmd5=c1e7d331a7f0803ada9e50
afd57c9743

This spec works on all but two repos in OBS. It worked for those repos
up to about a month ago. Then is started failing. And only for these
repos.

If that ever worked, it was just luck.

Now I am really confused. I did not make up these macros. But perhaps
they are old and OBS has moved on. And perhaps the BuildRequires is
really doing nothing. Perhaps it is the %kernel_module_package statement
that is really doing something.

Could you point me to a sample that implements kernel module building as
is "should" be implemented? I have looked at, say, the nvidia spec. I am
confused why they have a lot of references hardwired and not via some
OBS macro. For example, that spec has:

for flavor in %flavors_to_build; do
make -C /usr/src/linux-obj/%_target_cpu/$flavor modules_install
M=$PWD/obj/$flavor/%{version}

when I am using (successfully...):

for flavor in %flavors_to_build; do
make -C %{kernel_source $flavor} modules_install M=$PWD/obj/$flavor

It is the -C syntax. I am using things that come from OBS. Why doesn't
the nvidia spec do so? Is it just preference, or is there some
legitimate reason?

I am more than happy to do what OBS requires. It is just that it is
unclear to me what that might be.

Pls. take a look at the project/package home:andavis:novell-hello; it's a very
simple KMP that uses the macros and is building successfully for opensuse 11.x.

The Kernel Module Packages Manuals (
http://www.novell.com/developer/kernel_module_packages_manuals.html ) specifies
to use the macros so certainly OBS should be able to handle them. They have
always worked for SLE 11 SP1.

Regards,

Ann



Yours sincerely,

Roger Oberholtzer

OPQ Systems / Ramböll RST

Office: Int +46 10-615 60 20
Mobile: Int +46 70-815 1696
roger.oberholtzer@xxxxxxxxxx
________________________________________

Ramböll Sverige AB
Krukmakargatan 21
P.O. Box 17009
SE-104 62 Stockholm, Sweden
www.rambollrst.se


--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-buildservice+help@xxxxxxxxxxxx

--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-buildservice+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups