All of lore.kernel.org
 help / color / mirror / Atom feed
* RFC: Kernel image packaging
@ 2007-03-14 10:44 Richard Purdie
  2007-03-14 20:31 ` Paul Sokolovsky
  2007-03-14 21:20 ` Hans Henry von Tresckow
  0 siblings, 2 replies; 3+ messages in thread
From: Richard Purdie @ 2007-03-14 10:44 UTC (permalink / raw)
  To: openembedded-devel

Hi,

The kernel packaging has given various people concern for a while. The
problem is some devices don't want a kernel binary installed into the
root filesystem. We can do this at the moment but the kernel doesn't end
up packaged and we would like those packages to be available even if
they're not installed by default on a given device.

I'm proposing the patch below. This basically adds a
kernel-${KERNEL_VERSION} package to the mix. This package is in the
Dependencies of all kernel modules instead of
kernel-image-${KERNEL_VERSION}. As standard, kernel-${KERNEL_VERSION}
also RDEPENDS on the kernel-image.

For a device that doesn't want the kernel in the rootfs, it would simply
set:

RDEPENDS_kernel-base = ""

in the appropriate kernel file. Perhaps the definition below should be
a ?= and the above could then be set in the machine.conf file.

Does anyone see a nicer way to handle this or have an alternative?

If nobody objects, this will probably get committed at the weekend.

Cheers,

Richard

# 
# old_revision [50c9ee81517d5a1c32a7a7afe7a00793aabceb33]
# 
# patch "classes/kernel.bbclass"
#  from [237ec9e436415eab3772495898c0921de38b3c07]
#    to [17662f6347d7aa822bbb7a5455926a96c9149132]
# 
============================================================
--- classes/kernel.bbclass	237ec9e436415eab3772495898c0921de38b3c07
+++ classes/kernel.bbclass	17662f6347d7aa822bbb7a5455926a96c9149132
@@ -169,13 +169,18 @@ EXPORT_FUNCTIONS do_compile do_install d
 
 EXPORT_FUNCTIONS do_compile do_install do_stage do_configure
 
-PACKAGES = "kernel kernel-image kernel-dev"
+# kernel-base becomes kernel-${KERNEL_VERSION}
+# kernel-image becomes kernel-image-${KERNEL_VERISON}
+PACKAGES = "kernel kernel-base kernel-image kernel-dev"
 FILES = ""
 FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*"
 FILES_kernel-dev = "/boot/System.map* /boot/config*"
-RDEPENDS_kernel = "kernel-image-${KERNEL_VERSION}"
+RDEPENDS_kernel = "kernel-${KERNEL_VERSION}"
+RDEPENDS_kernel-base = "kernel-image-${KERNEL_VERSION}"
 PKG_kernel-image = "kernel-image-${KERNEL_VERSION}"
+PKG_kernel-base = "kernel-${KERNEL_VERSION}"
 ALLOW_EMPTY_kernel = "1"
+ALLOW_EMPTY_kernel-base = "1"
 ALLOW_EMPTY_kernel-image = "1"
 
 pkg_postinst_kernel-image () {
@@ -362,13 +367,13 @@ python populate_packages_prepend () {
 
 	postinst = bb.data.getVar('pkg_postinst_modules', d, 1)
 	postrm = bb.data.getVar('pkg_postrm_modules', d, 1)
-	do_split_packages(d, root='/lib/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='update-modules kernel-image-%s' % bb.data.getVar("KERNEL_VERSION", d, 1))
+	do_split_packages(d, root='/lib/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='update-modules kernel-%s' % bb.data.getVar("KERNEL_VERSION", d, 1))
 
 	import re, os
 	metapkg = "kernel-modules"
 	bb.data.setVar('ALLOW_EMPTY_' + metapkg, "1", d)
 	bb.data.setVar('FILES_' + metapkg, "", d)
-	blacklist = [ 'kernel-dev', 'kernel-image' ]
+	blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base' ]
 	for l in module_deps.values():
 		for i in l:
 			pkg = module_pattern % legitimize_package_name(re.match(module_regex, os.path.basename(i)).group(1))





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-03-14 21:20 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-14 10:44 RFC: Kernel image packaging Richard Purdie
2007-03-14 20:31 ` Paul Sokolovsky
2007-03-14 21:20 ` Hans Henry von Tresckow

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.