X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=org.handhelds.familiar%2Fclasses%2Fkernel.bbclass;h=b8dfc2fcf1367c12d2eb691338d2e597d56e170b;hb=7151d8fc84e933979f9c2d02163bd6a64b6b44c9;hp=009f185d0755561efbb38474f249d19da0d8f00c;hpb=175e373cfa096d9236017389d6bd5cf45a24019f;p=familiar-h63xx-build.git diff --git a/org.handhelds.familiar/classes/kernel.bbclass b/org.handhelds.familiar/classes/kernel.bbclass index 009f185..b8dfc2f 100644 --- a/org.handhelds.familiar/classes/kernel.bbclass +++ b/org.handhelds.familiar/classes/kernel.bbclass @@ -158,8 +158,11 @@ PACKAGES = "kernel 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}" -PKG_kernel-image = "kernel-image-${KERNEL_VERSION}" +RDEPENDS_kernel = "kernel-image-${KERNEL_MAJOR_VERSION}" +PKG_kernel-image = "kernel-image-${KERNEL_MAJOR_VERSION}" +RPROVIDES_kernel-image = "kernel-image-${KERNEL_VERSION}" +RCONFLICTS_kernel-image = "kernel-image-${KERNEL_VERSION}" +RREPLACES_kernel-image = "kernel-image-${KERNEL_VERSION}" ALLOW_EMPTY_kernel = "1" ALLOW_EMPTY_kernel-image = "1" @@ -343,7 +346,7 @@ 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-image-%s' % bb.data.getVar("KERNEL_MAJOR_VERSION", d, 1)) import re, os metapkg = "kernel-modules" @@ -369,6 +372,7 @@ python populate_packages_prepend () { kv = bb.data.getVar("KERNEL_MAJOR_VERSION", d, 1) packages = bb.data.getVar("PACKAGES", d, 1) module_re = re.compile("^kernel-module-") + repl_vers = bb.data.getVar("PARALLEL_INSTALL_REPLACE_VERSIONS", d, 1) for p in packages.split(): if not module_re.match(p): continue @@ -381,4 +385,40 @@ python populate_packages_prepend () { else: rprovides = pkg bb.data.setVar("RPROVIDES_%s" % p, rprovides, d) + + # kv was changed from KERNEL_VERSION to KERNEL_MAJOR_VERSION. + # now fix the upgrade path... + if repl_vers: + repl_pkgs = [] + for v in repl_vers.split(): + repl_pkgs.append("%s-%s" % (pkg, v)) + for i in ["PROVIDES", "CONFLICTS", "REPLACES"]: + val = bb.data.getVar("R%s_%s" % (i, p), d, 1) + if val: + old = val.split() + add = [] + for k in repl_pkgs: + if not k in old: + add.append(k) + val = "%s %s" % (val, " ".join(add)) + else: + val = "%s" % " ".join(repl_pkgs) + bb.data.setVar("R%s_%s" % (i, p), val, d) + if repl_vers: + p = "kernel-image" + repl_pkgs = [] + for v in repl_vers.split(): + repl_pkgs.append("%s-%s" % (p, v)) + for i in ["PROVIDES", "CONFLICTS", "REPLACES"]: + val = bb.data.getVar("R%s_%s" % (i, p), d, 1) + if val: + old = val.split() + add = [] + for k in repl_pkgs: + if not k in old: + add.append(k) + val = "%s %s" % (val, " ".join(add)) + else: + val = "%s" % " ".join(repl_pkgs) + bb.data.setVar("R%s_%s" % (i, p), val, d) }