aboutsummaryrefslogtreecommitdiffstats
path: root/classes
diff options
context:
space:
mode:
authorPhil Blundell <philb@gnu.org>2004-07-04 15:24:14 +0000
committerPhil Blundell <philb@gnu.org>2004-07-04 15:24:14 +0000
commitfd62b55281f1493f24bd4dd0a9c6a2c078390221 (patch)
treef7a22963645a5c1ad9f49733b4cfe2289f78ed0e /classes
parentf8790318128135669c3d7fe5aa2a3a4ab8c0f814 (diff)
downloadopenembedded-fd62b55281f1493f24bd4dd0a9c6a2c078390221.tar.gz
rationalise module handling in kernel packages and MACHINE.conf files.
changed module naming to use - rather than + as replacement for underscore. ignore errors from update-modules in postinst, in case modutils-collateral is in use. add postrm scripts. BKrev: 40e8211eLQcjqqTncCe6a_iEukTM_g
Diffstat (limited to 'classes')
-rw-r--r--classes/kernel.oeclass15
-rw-r--r--classes/linux_modules.oeclass0
-rw-r--r--classes/package.oeclass14
3 files changed, 21 insertions, 8 deletions
diff --git a/classes/kernel.oeclass b/classes/kernel.oeclass
index 35884000a3..a0b26e33b9 100644
--- a/classes/kernel.oeclass
+++ b/classes/kernel.oeclass
@@ -85,10 +85,14 @@ if [ -n "$D" ]; then
${HOST_PREFIX}depmod -A -b $D -F $D/boot/System.map-${PV} $VER
else
depmod -A
- update-modules
+ update-modules || true
fi
}
+pkg_postrm_modules () {
+update-modules || true
+}
+
autoload_postinst_fragment() {
if [ x"$D" = "x" ]; then
modprobe %s
@@ -184,7 +188,7 @@ python populate_packages_prepend () {
m = re.match(pattern, os.path.basename(i))
if not m:
continue
- on = m.group(1).lower().replace('_', '+').replace('@', '+')
+ on = legitimize_package_name(m.group(1))
dependencies.append(format % on)
return dependencies
return []
@@ -219,7 +223,7 @@ python populate_packages_prepend () {
f.close()
files = oe.data.getVar('FILES_%s' % pkg, d, 1)
- files = "%s %s/etc/modutils/%s %s/etc/modutils/%s.conf" % (files, dvar, basename, dvar, basename)
+ files = "%s /etc/modutils/%s /etc/modutils/%s.conf" % (files, basename, basename)
oe.data.setVar('FILES_%s' % pkg, files, d)
if vals.has_key("description"):
@@ -239,7 +243,8 @@ python populate_packages_prepend () {
module_pattern = 'kernel-module-%s'
postinst = oe.data.getVar('pkg_postinst_modules', d, 1)
- do_split_packages(d, root='/lib/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, recursive=True, hook=frob_metadata, extra_depends='update-modules')
+ postrm = oe.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')
import re, os
metapkg = "kernel-modules"
@@ -248,7 +253,7 @@ python populate_packages_prepend () {
blacklist = []
for l in module_deps.values():
for i in l:
- pkg = module_pattern % re.match(module_regex, os.path.basename(i)).group(1).lower().replace('_', '+').replace('@', '+')
+ pkg = module_pattern % legitimize_package_name(re.match(module_regex, os.path.basename(i)).group(1))
blacklist.append(pkg)
metapkg_rdepends = []
packages = oe.data.getVar('PACKAGES', d, 1).split()
diff --git a/classes/linux_modules.oeclass b/classes/linux_modules.oeclass
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/classes/linux_modules.oeclass
diff --git a/classes/package.oeclass b/classes/package.oeclass
index 1c9cc53cbb..cde4ef6e5c 100644
--- a/classes/package.oeclass
+++ b/classes/package.oeclass
@@ -1,4 +1,7 @@
-def do_split_packages(d, root, file_regex, output_pattern, description, postinst=None, recursive=False, hook=None, extra_depends=None, aux_files_pattern=None):
+def legitimize_package_name(s):
+ return s.lower().replace('_', '-').replace('@', '+')
+
+def do_split_packages(d, root, file_regex, output_pattern, description, postinst=None, recursive=False, hook=None, extra_depends=None, aux_files_pattern=None, postrm=None):
import os, os.path, oe
dvar = oe.data.getVar('D', d, 1)
@@ -13,6 +16,8 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst
if postinst:
postinst = '#!/bin/sh\n' + postinst
+ if postrm:
+ postrm = '#!/bin/sh\n' + postrm
if not recursive:
objs = os.listdir(dvar + root)
else:
@@ -34,7 +39,7 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst
f = os.path.join(dvar + root, o)
if not stat.S_ISREG(os.lstat(f).st_mode):
continue
- on = m.group(1).lower().replace('_', '+').replace('@', '+')
+ on = legitimize_package_name(m.group(1))
pkg = output_pattern % on
if not pkg in packages:
packages.append(pkg)
@@ -47,6 +52,8 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst
oe.data.setVar('DESCRIPTION_' + pkg, description % on, d)
if postinst:
oe.data.setVar('pkg_postinst_' + pkg, postinst, d)
+ if postrm:
+ oe.data.setVar('pkg_postrm_' + pkg, postrm, d)
else:
oldfiles = oe.data.getVar('FILES_' + pkg, d, 1)
if not oldfiles:
@@ -220,6 +227,7 @@ python populate_packages () {
write_if_exists(f, pkg, 'ALLOW_EMPTY')
write_if_exists(f, pkg, 'FILES')
write_if_exists(f, pkg, 'pkg_postinst')
+ write_if_exists(f, pkg, 'pkg_postrm')
f.close()
oe.build.exec_func("read_subpackage_metadata", d)
}
@@ -399,7 +407,7 @@ python package_do_split_locales() {
mainpkg = packages[0]
for l in locales:
- ln = l.lower().replace('_', '+').replace('@', '+')
+ ln = legitimize_package_name(l)
pkg = pn + '-locale-' + ln
packages.append(pkg)
oe.data.setVar('FILES_' + pkg, os.path.join(datadir, 'locale', l), d)