Greetings.
The following is a submission to reduce the number of files that will
be installed when one wants to compile kernel modules, offering
saving both in time and space. Disks are touted as cheap, but let's
face it, spending ~340 MB for kernel sources means you have 340 less
for your personal files. The time savings should be obvious too: less
files to install, and also less files to index — locatedb, quota,
beagle/etc., you name it. This is especially beneficial for
developers and OBS or OBS-like instances where packages are not only
built in random order(*), but where the chroots are usually torn down
everytime.
(*) Calling build locally and manually, without --clean, and with the
same buildroot everytime would allow for a time optimization when
all KMPs are built after another, as big packages like kernel-* would
not have to be reinstalled/deleted everytime.
With this patch(set) — there is a bit of cleanup upfront —, the
"kernel-devel" package is introduced which contains all (and only)
the necessary files to support external module building. The entire
source for personal recompilation orgies is moved out to
"kernel-source", which now behaves like "kernel-source-vanilla"
already did.
The standalone sources' (kernel-source) path has been changed so as
to not overlap with those used for module building, because people
always trash their KMP build environment for the shipped kernel when
they ran cloneconfig.
Another desired side-effect of the so-codified separation into
the kernel-devel package is that dangerous calls that would cause
above-mentioned trashing are now completely inhibited.
This modification has been tested with various kinds of free and
non-free packages and kernel versions already. The latter is
especially important because they are the most likely ones to
break because of their awkward-to-horrid Makefiles. These have been
made available for a long time already at jftp.medozas.de; the list
includes at least:
fglrx-kmp-default-8.681~2.6.31.11~jen93-jen0.x86_64.rpm
ndiswrapper-kmp-default-1.55~2.6.31.11~jen93-3.4.jen2.x86_64.rpm
nvidiagfx-kmp-default-190.53~2.6.31.11~jen93-jen8.x86_64.rpm
nvidiagfx-legacy173-kmp-default-173.14.22~2.6.31.11~jen93-jen8.x86_64.rpm
nvidiagfx-legacy71-kmp-default-71.86.11~2.6.31.11~jen93-jen8.x86_64.rpm
nvidiagfx-legacy96-kmp-default-96.43.14~2.6.31.11~jen93-jen8.x86_64.rpm
ttyrpld-kmp-default-2.60~2.6.31.11~jen93-jen4.x86_64.rpm
virtualbox-modules-kmp-default-3.1.2_56127~2.6.31.12~jen93-jen0.x86_64.rpm
vmware-modules-kmp-default-6.5.3~185404~2.6.31.12~jen93-jen3.x86_64.rpm
xtables-addons-kmp-default-1.22~2.6.31.12~jen93-jen0.x86_64.rpm
It was also tested with 2.6.32 and — since somebody decided out of
the blue to rebase last week :-) — just now with .33-rc6 too.
The resulting kernel-devel package is 10x smaller in installed size
and has roughly 3x fewer files.
The following changes since commit 69aad1a30e31d4f33ab56a1f195c7c4229c9dd66:
Nikanth Karthikesan (1):
- patches.fixes/dm-stripe-zero-stripes: dm-stripe: return -EINVAL if stripe count is zero (bnc#576312).
are available in the git repository at:
git://dev.medozas.de/suse-kernel less-source
Jan Engelhardt (3):
misc: use proper tar options
kernel-source: use more macros
kernel-source: split devel files and full-source
doc/README.SUSE | 4 +-
kernel-source.changes | 7 +++++
rpm/compute-PATCHVERSION.sh | 2 +-
rpm/group-source-files | 33 +++++++++++++++++++++++++
rpm/kernel-binary.spec.in | 12 ++++----
rpm/kernel-source.spec.in | 56 +++++++++++++++++++++++++++++++++++++++----
rpm/kernel-syms.spec.in | 4 +-
scripts/tar-up.sh | 2 +-
8 files changed, 103 insertions(+), 17 deletions(-)
create mode 100755 rpm/group-source-files
--
To unsubscribe, e-mail: opensuse-kernel+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-kernel+help(a)opensuse.org