Re: [PATCH, resend] build: fix broken kernel RPM source symlink

From: Paul Bolle
Date: Wed Jul 08 2015 - 12:56:32 EST


[I resisted looking into the flood of info you included in this message.
But this part could turn out to be interesting.]

On ma, 2015-07-06 at 21:37 +0200, Espen Carlsen wrote:
> This is the how BUILDROOT looks after rpmbuild -bi kernel-4.1.0.spec
> on an Ubuntu system, notice that on Ubuntu, there are already a
> 'build' and 'source' symlink before the ln -sf commands are issued,
> CentOS however doesn't have those links on the same step.
> user@build-ubuntu:/srv/user/rpmbuild$ rpmbuild -bi SPECS/kernel-4.1.0.spec

That is outside the realm of "make rpm".

I assume kernel-4.1.0.spec was a copy, somehow made, of kernel.spec as
was created by "make rpm". Does it matter, for the issue you ran into,
whether "make rpm" or "rpmbuild -bb SPECS/kernel.spec" is involved?

> user@build-ubuntu:/srv/user/rpmbuild/BUILDROOT/kernel-4.1.0-1.x86_64/lib/modules/4.1.0$ ls -gG
> total 64
> lrwxrwxrwx 1 35 Jul 6 18:56 build -> /srv/user/rpmbuild/BUILD/kernel-4.1.0
> [...]
> lrwxrwxrwx 1 35 Jul 6 19:00 source -> /srv/user/rpmbuild/BUILD/kernel-4.1.0

These two links are, I think, generated in this snippet from the main
Makefile:
_modinst_:
@rm -rf $(MODLIB)/kernel
@rm -f $(MODLIB)/source
@mkdir -p $(MODLIB)/kernel
@ln -s `cd $(srctree) && /bin/pwd` $(MODLIB)/source
@if [ ! $(objtree) -ef $(MODLIB)/build ]; then \
rm -f $(MODLIB)/build ; \
ln -s $(CURDIR) $(MODLIB)/build ; \
fi
@cp -f $(objtree)/modules.order $(MODLIB)/
@cp -f $(objtree)/modules.builtin $(MODLIB)/
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst

I wonder why you don't see similar links when building on CentOS. I saw
similar links in rpm's BUILDROOT when building on Fedora 22.

Thanks,


Paul Bolle
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/