Hi,
On 3/22/2011 at 03:14 AM, in message <1300785260.8551.91.camel@acme.pacific>, Roger Oberholtzer <roger@opq.se> 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@ramboll.se ________________________________________
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@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
-- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org