On Wednesday 2010-02-24 13:50, Michal Marek wrote:
Why are you creating a separate /usr/src/linux-src directory? Is it not possible to continue installing everything into /usr/src/linux and just split the files between kernel-source and kernel-devel? People usually expect that the full kernel source is in /usr/src/linux.
No. Putting the source into the same spot as devel packages is the root reason that people are able to trash their KMP building environment.
I see, people who compile their kernel as root in /usr/src/linux directly break the /usr/src/linux-obj/... builddirs. But I would argue that people who do the above and people who build KMPs are two almost distinct groups :)
Not quite. Let's say they just start compilation in /usr/src/linux, but then go on using the regular kernel and then decide to build some module. There it goes boom.
And I opted to leave the devel part in /usr/src/linux because more specfiles and Makefiles depend on it.
Yes, but then many people "depend" on the /usr/src/linux location to contain full sources of the kernel (I can imagine the bugreports and blog posts complaining that the evil SUSE moved away the kernel sources for no good reason...).
/usr/src/linux was deprecated as a global location years ago by upstream. Remember symlinking /usr/include/linux to /usr/src/linux/include? Gone. I guess the *only* reason why /usr/src/linux is still used today is: 1. frankly we could not come up with a better location ;-) 2. it's only the kmp macro that still needs it (Requires a location without %version it. Shipped Makefiles can and should default to /lib/modules/$(shell uname -r)/build in any case.) Why do people depend on it? Why do they need it? Compile tests to see if something is CONFIG_xyz=y can be done without the full source. I know VMware survives the proposed split layout. So does fglrx -- given that proprietary stuff usually has a primary market share on the worst Makefiles. All this dependency on source has been noticed ages ago. Heck, iptables even ships the *headers* for itself because it can't even be sure they exist in /usr/include/linux. (But that's just sort of a special userspace case.) Those packages which still rely on source need to finally get the grip and move their a.b.code forward. (N.B.: I am talking about upstream in general. The decision to make 'kernel-docs' and 'perf' copying off kernel-source is an openSUSE-specific decision.) -- To unsubscribe, e-mail: email@example.com For additional commands, e-mail: firstname.lastname@example.org