From bb1352ba5f25781d237e20ad4e8bce6e46026abf Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Tue, 12 Sep 2006 15:59:43 +0000 Subject: package.bbclass: Detect duplicates in PACKAGES properly. * Fix bug which caused non-detection. * Make visible error message for such condition. * But still recover and continue for now, while we don't have all occurances fixed in metadata. Note that while content of the package will be ok, metadata can be wrong. So, recover behavior should not be relied upon, this going to be fatal condition later. Oked-by: RP, hrw --- classes/package.bbclass | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/classes/package.bbclass b/classes/package.bbclass index 8dbc5d7b25..89615b8667 100644 --- a/classes/package.bbclass +++ b/classes/package.bbclass @@ -259,12 +259,16 @@ python populate_packages () { return (s[stat.ST_MODE] & stat.S_IEXEC) # Sanity check PACKAGES for duplicates - should be moved to - # sanity.bbclass once we have he infrastucture - pkgs = [] + # sanity.bbclass once we have the infrastucture + package_list = [] for pkg in packages.split(): - if pkg in pkgs: - bb.error("%s is listed in PACKAGES mutliple times. Undefined behaviour will result." % pkg) - pkgs += pkg + if pkg in package_list: + bb.error("-------------------") + bb.error("%s is listed in PACKAGES mutliple times, this leads to packaging errors." % pkg) + bb.error("Please fix the metadata/report this as bug to OE bugtracker.") + bb.error("-------------------") + else: + package_list.append(pkg) if (bb.data.getVar('INHIBIT_PACKAGE_STRIP', d, 1) != '1'): stripfunc = "" @@ -281,7 +285,7 @@ python populate_packages () { bb.data.setVarFlag('RUNSTRIP', 'func', 1, localdata) bb.build.exec_func('RUNSTRIP', localdata) - for pkg in packages.split(): + for pkg in package_list: localdata = bb.data.createCopy(d) root = os.path.join(workdir, "install", pkg) @@ -343,7 +347,7 @@ python populate_packages () { bb.build.exec_func("package_name_hook", d) - for pkg in packages.split(): + for pkg in package_list: pkgname = bb.data.getVar('PKG_%s' % pkg, d, 1) if pkgname is None: bb.data.setVar('PKG_%s' % pkg, pkg, d) @@ -352,7 +356,7 @@ python populate_packages () { dangling_links = {} pkg_files = {} - for pkg in packages.split(): + for pkg in package_list: dangling_links[pkg] = [] pkg_files[pkg] = [] inst_root = os.path.join(workdir, "install", pkg) @@ -371,12 +375,12 @@ python populate_packages () { target = os.path.join(root[len(inst_root):], target) dangling_links[pkg].append(os.path.normpath(target)) - for pkg in packages.split(): + for pkg in package_list: rdepends = explode_deps(bb.data.getVar('RDEPENDS_' + pkg, d, 1) or bb.data.getVar('RDEPENDS', d, 1) or "") for l in dangling_links[pkg]: found = False bb.debug(1, "%s contains dangling link %s" % (pkg, l)) - for p in packages.split(): + for p in package_list: for f in pkg_files[p]: if f == l: found = True @@ -404,7 +408,7 @@ python populate_packages () { data_file = os.path.join(workdir, "install", pn + ".package") f = open(data_file, 'w') f.write("PACKAGES: %s\n" % packages) - for pkg in packages.split(): + for pkg in package_list: write_if_exists(f, pkg, 'DESCRIPTION') write_if_exists(f, pkg, 'RDEPENDS') write_if_exists(f, pkg, 'RPROVIDES') -- cgit v1.2.3 From 7232b828c1a32ba503545838ec29366e13bf68db Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Tue, 12 Sep 2006 16:05:02 +0000 Subject: ntp 4.2.0: If we use += for PACKAGES, ntp is already there, don't add it twice. * Fixes #1413. --- packages/ntp/ntp_4.2.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ntp/ntp_4.2.0.bb b/packages/ntp/ntp_4.2.0.bb index cc3ecb89dc..d2ce470758 100644 --- a/packages/ntp/ntp_4.2.0.bb +++ b/packages/ntp/ntp_4.2.0.bb @@ -28,7 +28,7 @@ inherit autotools update-rc.d EXTRA_OECONF = "--without-openssl --without-crypto ac_cv_header_readline_history_h=no" CFLAGS_append = " -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED" -PACKAGES += "ntpdate ntp-bin ntp ntp-tickadj" +PACKAGES += "ntpdate ntp-bin ntp-tickadj" # NOTE: you don't need ntpdate, use "ntpdc -q -g -x" PROVIDES = "ntpdate-${PV} ntpdate-${PV}-${PR} ntpdate" -- cgit v1.2.3 From c5e25db9e76a5c8a2964dac494f1e4ebd08a14e7 Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Tue, 12 Sep 2006 19:54:28 +0000 Subject: udev-097,100: firmware_helper is now firmware.sh - fix udev.rules --- packages/udev/udev-097/udev.rules | 2 +- packages/udev/udev-100/udev.rules | 2 +- packages/udev/udev_097.bb | 2 +- packages/udev/udev_100.bb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/udev/udev-097/udev.rules b/packages/udev/udev-097/udev.rules index 9c4ea4214d..5acd79d092 100644 --- a/packages/udev/udev-097/udev.rules +++ b/packages/udev/udev-097/udev.rules @@ -95,4 +95,4 @@ KERNEL=="device-mapper", NAME="mapper/control" KERNEL=="rfcomm[0-9]*", NAME="%k", GROUP="users", MODE="0660" # Firmware Helper -ACTION=="add", SUBSYSTEM=="firmware", RUN+="/lib/udev/firmware_helper" +ACTION=="add", SUBSYSTEM=="firmware", RUN+="/lib/udev/firmware.sh" diff --git a/packages/udev/udev-100/udev.rules b/packages/udev/udev-100/udev.rules index 9c4ea4214d..5acd79d092 100644 --- a/packages/udev/udev-100/udev.rules +++ b/packages/udev/udev-100/udev.rules @@ -95,4 +95,4 @@ KERNEL=="device-mapper", NAME="mapper/control" KERNEL=="rfcomm[0-9]*", NAME="%k", GROUP="users", MODE="0660" # Firmware Helper -ACTION=="add", SUBSYSTEM=="firmware", RUN+="/lib/udev/firmware_helper" +ACTION=="add", SUBSYSTEM=="firmware", RUN+="/lib/udev/firmware.sh" diff --git a/packages/udev/udev_097.bb b/packages/udev/udev_097.bb index fe24573b8d..5cc3ad581a 100644 --- a/packages/udev/udev_097.bb +++ b/packages/udev/udev_097.bb @@ -8,7 +8,7 @@ used to detect the type of a file system and read its metadata." DESCRIPTION_libvolume-id-dev = "libvolume_id development headers, \ needed to link programs with libvolume_id." -PR = "r1" +PR = "r2" SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \ file://noasmlinkage.patch;patch=1 \ diff --git a/packages/udev/udev_100.bb b/packages/udev/udev_100.bb index 2e9e8d500f..fe24573b8d 100644 --- a/packages/udev/udev_100.bb +++ b/packages/udev/udev_100.bb @@ -8,7 +8,7 @@ used to detect the type of a file system and read its metadata." DESCRIPTION_libvolume-id-dev = "libvolume_id development headers, \ needed to link programs with libvolume_id." -PR = "r0" +PR = "r1" SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \ file://noasmlinkage.patch;patch=1 \ -- cgit v1.2.3