Fix core-image-lsb dependencies
cover Fix core-image-lsb dependencies
Fix additional dependencies found while building core-image-lsb. Most of the issues are related to simple errors in the recipes or PAM integration problems.
The following changes since commit 40b52d9ed9b7b39bc86b3c87ae60fa6359cac265:
distro tracking: Update Distro Aliases (2011-09-22 01:30:00 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib mhatle/rpm
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=mhatle/rpm
Mark Hatle (6):
python: Fix cgi.py runtime issue
usbutils: Move the pkgconfig file(s) to the -dev package
foomatic-filters: Disable filter checking
perl: Fix a few perl binaries to use target interpreter paths
sudo: Fix PAM dependencies
task-core-lsb: Remove perl-dev
meta/recipes-bsp/usbutils/usbutils_0.91.bb | 4 +- meta/recipes-devtools/perl/perl_5.12.3.bb | 10 ++++++++- meta/recipes-devtools/python/python/cgi_py.patch | 21 ++++++++++++++++++++ meta/recipes-devtools/python/python_2.6.6.bb | 3 +- .../foomatic/foomatic-filters_4.0.7.bb | 21 ++++++++++++++----- meta/recipes-extended/sudo/sudo_1.8.1p2.bb | 5 +++- meta/recipes-extended/tasks/task-core-lsb.bb | 3 +- 7 files changed, 54 insertions(+), 13 deletions(-) create mode 100644 meta/recipes-devtools/python/python/cgi_py.patch
Signature · 1 line
1.7.3.4
PATCH 1/6 python: Fix cgi.py runtime issue
By default cgi.py attempts to use /usr/local/bin/python as its interpreter. However, on my Linux systems, including OE-Core, python is installed into {bindir}. Adjust this one file based on the comment at the top of the upstream file.
This resolves an issue where a runtime dependency discovered during RPM packaging breaks the rootfs construction.
--- meta/recipes-devtools/python/python/cgi_py.patch | 21 +++++++++++++++++++++ meta/recipes-devtools/python/python_2.6.6.bb | 3 ++- 2 files changed, 23 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-devtools/python/python/cgi_py.patch
meta/recipes-devtools/python/python/cgi_py.patch new file +21 -0
@@ -0,0 +1,21 @@ +Lib/cgi.py: Update the script as mentioned in the comment + +Signed-off-by: Mark Hatle <[email protected]> + +--- Python-2.6.6/Lib/cgi.py.orig 2010-08-01 22:14:27.000000000 -0500 ++++ Python-2.6.6/Lib/cgi.py 2011-09-21 15:28:40.478208631 -0500 +@@ -1,13 +1,4 @@ +-#! /usr/local/bin/python +- +-# NOTE: the above "/usr/local/bin/python" is NOT a mistake. It is +-# intentionally NOT "/usr/bin/env python". On many systems +-# (e.g. Solaris), /usr/local/bin is not in $PATH as passed to CGI +-# scripts, and /usr/local/bin is the default directory where Python is +-# installed, so /usr/bin/env would be unable to find python. Granted, +-# binary installations by Linux vendors often install Python in +-# /usr/bin. So let those vendors patch cgi.py to match their choice +-# of installation. ++#! /usr/bin/env python + + """Support module for CGI (Common Gateway Interface) scripts. +
meta/recipes-devtools/python/python_2.6.6.bb +2 -1
@@ -1,7 +1,7 @@ require python.inc DEPENDS = "python-native db gdbm openssl readline sqlite3 zlib" DEPENDS_sharprom = "python-native db readline zlib gdbm openssl" -PR = "${INC_PR}.9" +PR = "${INC_PR}.10" LIC_FILES_CHKSUM = "file://LICENSE;md5=38fdd546420fab09ac6bd3d8a1c83eb6" DISTRO_SRC_URI ?= "file://sitecustomize.py"
@@ -20,6 +20,7 @@ SRC_URI = "\ ${DISTRO_SRC_URI} \ file://multilib.patch \ file://security_issue_2254_fix.patch \ + file://cgi_py.patch \ " SRC_URI[md5sum] = "cf4e6881bb84a7ce6089e4a307f71f14"
Signature · 1 line
1.7.3.4
PATCH 2/6 usbutils: Move the pkgconfig file(s) to the -dev package
In reply to Mark Hatlepkgconfig files belong in the -dev package. They automatically add a runtime dependency (when packaging with RPM) for "pkgconfig", which is not desired to be installed with this package.
--- meta/recipes-bsp/usbutils/usbutils_0.91.bb | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
meta/recipes-bsp/usbutils/usbutils_0.91.bb +2 -2
@@ -7,7 +7,7 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" DEPENDS = "libusb zlib" -PR = "r2" +PR = "r3" SRC_URI = "${KERNELORG_MIRROR}/linux/utils/usb/usbutils/usbutils-${PV}.tar.gz"
@@ -23,7 +23,7 @@ do_install_append() { } PACKAGES += "${PN}-ids" -FILES_${PN} += "${datadir}/pkgconfig" +FILES_${PN}-dev += "${datadir}/pkgconfig" FILES_${PN}-ids = "${datadir}/usb*" RDEPENDS_${PN} = "${PN}-ids bash"
Signature · 1 line
1.7.3.4
PATCH 3/6 foomatic-filters: Disable filter checking
In reply to Mark HatleDisable a few checks, and hard code the values for a few other items to work around potential host contamination issues. We also default to the cups configuration for items.
--- .../foomatic/foomatic-filters_4.0.7.bb | 21 ++++++++++++++----- 1 files changed, 15 insertions(+), 6 deletions(-)
meta/recipes-extended/foomatic/foomatic-filters_4.0.7.bb +15 -6
@@ -10,7 +10,7 @@ format using a printer-specific, but spooler-independent PPD file. \ " DEPENDS += "cups perl libxml2" -PR = "r1" +PR = "r2" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://${WORKDIR}/foomatic-filters-${PV}/COPYING;md5=393a5ca445f6965873eca0259a17f833"
@@ -20,11 +20,20 @@ SRC_URI = "http://www.openprinting.org/download/foomatic/foomatic-filters-${PV}. SRC_URI[md5sum] = "20abd25c1c98b2dae68709062a132a7d" SRC_URI[sha256sum] = "090313fae40b177f505d9c9b93d7a4d7188b6d5d18b6ae41ab24903ac983478d" -do_install_append_linuxstdbase() { - install -d ${D}${libdir}/cups/filter - ln -sf ${bindir}/foomatic-rip ${D}${libdir}/cups/filter +inherit autotools + +EXTRA_OECONF += "--disable-file-converter-check --with-file-converter=texttops" + +do_configure_prepend() { + export LIB_CUPS=/usr/lib/cups # /usr/lib NOT libdir + export CUPS_BACKENDS=/usr/lib/cups/backend # /usr/lib NOT libdir + export CUPS_FILTERS=/usr/lib/cups/filter # /usr/lib NOT libdir + export CUPS_PPDS=%{_datadir}/cups/model } -FILES_${PN}_append_linuxstdbase += "${libdir}/cups/filter/foomatic-rip" +do_install_append_linuxstdbase() { + install -d ${D}/usr/lib/cups/filter + ln -sf ${bindir}/foomatic-rip ${D}/usr/lib/cups/filter +} -inherit autotools +FILES_${PN}_append_linuxstdbase += "/usr/lib/cups/filter/foomatic-rip"
Signature · 1 line
1.7.3.4
Re: [PATCH 3/6] foomatic-filters: Disable filter checking
Quoted 38 lines · Mark Hatle
Disable a few checks, and hard code the values for a few other items to work around potential host contamination issues. We also default to the cups configuration for items.
Signed-off-by Mark Hatle <[email protected]>--- .../foomatic/foomatic-filters_4.0.7.bb | 21 ++++++++++++++----- 1 files changed, 15 insertions(+), 6 deletions(-)meta/recipes-extended/foomatic/foomatic-filters_4.0.7.bb +10
-4@@ -10,7 +10,7 @@ format using a printer-specific, but spooler-independent PPD file. \ " DEPENDS += "cups perl libxml2" -PR = "r1" +PR = "r2" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://${WORKDIR}/foomatic-filters-${PV}/COPYING;md5=393a5ca445f6965873eca0259a17f833"@@ -20,11 +20,20 @@ SRC_URI = "http://www.openprinting.org/download/foomatic/foomatic-filters-${PV}. SRC_URI[md5sum] = "20abd25c1c98b2dae68709062a132a7d" SRC_URI[sha256sum] = "090313fae40b177f505d9c9b93d7a4d7188b6d5d18b6ae41ab24903ac983478d" -do_install_append_linuxstdbase() { - install -d ${D}${libdir}/cups/filter - ln -sf ${bindir}/foomatic-rip ${D}${libdir}/cups/filter +inherit autotools + +EXTRA_OECONF += "--disable-file-converter-check --with-file-converter=texttops" + +do_configure_prepend() { + export LIB_CUPS=/usr/lib/cups # /usr/lib NOT libdir + export CUPS_BACKENDS=/usr/lib/cups/backend # /usr/lib NOT libdir + export CUPS_FILTERS=/usr/lib/cups/filter # /usr/lib NOT libdir + export CUPS_PPDS=%{_datadir}/cups/model
meta/recipes-extended/foomatic/foomatic-filters_4.0.7.bb SRC_URI = "http://www.openprinting.org/download/foomatic/foomatic-filters-${PV}. · line 39
Quoted 10 lines
meta/recipes-extended/foomatic/foomatic-filters_4.0.7.bb +5
-2} -FILES_${PN}_append_linuxstdbase += "${libdir}/cups/filter/foomatic-rip" +do_install_append_linuxstdbase() { + install -d ${D}/usr/lib/cups/filter + ln -sf ${bindir}/foomatic-rip ${D}/usr/lib/cups/filter +} -inherit autotools +FILES_${PN}_append_linuxstdbase += "/usr/lib/cups/filter/foomatic-rip"
This needs a little more explaintion. What happens for the micro (or minimal, I forget which) distro where they don't have /usr/ ?
I suspect you mean to use ${exec_prefix}/lib above...
Cheers,
Richard
Re: [PATCH 3/6] foomatic-filters: Disable filter checking
Quoted 47 lines · Richard Purdie
Quoted 46 lines · Mark Hatle
Disable a few checks, and hard code the values for a few other items to work around potential host contamination issues. We also default to the cups configuration for items.
Signed-off-by Mark Hatle <[email protected]>--- .../foomatic/foomatic-filters_4.0.7.bb | 21 ++++++++++++++----- 1 files changed, 15 insertions(+), 6 deletions(-)meta/recipes-extended/foomatic/foomatic-filters_4.0.7.bb +14
-5@@ -10,7 +10,7 @@ format using a printer-specific, but spooler-independent PPD file. \ " DEPENDS += "cups perl libxml2" -PR = "r1" +PR = "r2" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://${WORKDIR}/foomatic-filters-${PV}/COPYING;md5=393a5ca445f6965873eca0259a17f833"@@ -20,11 +20,20 @@ SRC_URI = "http://www.openprinting.org/download/foomatic/foomatic-filters-${PV}. SRC_URI[md5sum] = "20abd25c1c98b2dae68709062a132a7d" SRC_URI[sha256sum] = "090313fae40b177f505d9c9b93d7a4d7188b6d5d18b6ae41ab24903ac983478d" -do_install_append_linuxstdbase() { - install -d ${D}${libdir}/cups/filter - ln -sf ${bindir}/foomatic-rip ${D}${libdir}/cups/filter +inherit autotools + +EXTRA_OECONF += "--disable-file-converter-check --with-file-converter=texttops" + +do_configure_prepend() { + export LIB_CUPS=/usr/lib/cups # /usr/lib NOT libdir + export CUPS_BACKENDS=/usr/lib/cups/backend # /usr/lib NOT libdir + export CUPS_FILTERS=/usr/lib/cups/filter # /usr/lib NOT libdir + export CUPS_PPDS=%{_datadir}/cups/model } -FILES_${PN}_append_linuxstdbase += "${libdir}/cups/filter/foomatic-rip" +do_install_append_linuxstdbase() { + install -d ${D}/usr/lib/cups/filter + ln -sf ${bindir}/foomatic-rip ${D}/usr/lib/cups/filter +}
Quoted 7 lines
meta/recipes-extended/foomatic/foomatic-filters_4.0.7.bb SRC_URI = "http://www.openprinting.org/download/foomatic/foomatic-filters-${PV}. · line 39
Quoted 2 lines
meta/recipes-extended/foomatic/foomatic-filters_4.0.7.bb +1
-1-inherit autotools +FILES_${PN}_append_linuxstdbase += "/usr/lib/cups/filter/foomatic-rip"This needs a little more explaintion. What happens for the micro (or minimal, I forget which) distro where they don't have
/usr/?I suspect you mean to use ${exec_prefix}/lib above...
These are items that, as far as I know, are only useful with cups and a "full system" configuration. CUPS is hard coded to use "/usr/lib" for these files. Previously the configure was loading values from the host system which may or may not match our CUPS configuration.
If both cups and foomatic-filters need to work in an environment where /usr may not be present, we'll need to adjust both for that.
--Mark
Quoted 10 lines
Cheers,
Richard
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
PATCH 4/6 perl: Fix a few perl binaries to use target interpreter paths
In reply to Mark HatleA small number of target installed programs, "${bindir}/pod*", were incorrectly using the perl-native paths to access perl. This caused a dependency failure during RPM rootfs install, and also prevented those specific components from functioning.
--- meta/recipes-devtools/perl/perl_5.12.3.bb | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-)
meta/recipes-devtools/perl/perl_5.12.3.bb +9 -1
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \ # We need gnugrep (for -I) DEPENDS = "virtual/db grep-native" DEPENDS += "gdbm zlib" -PR = "r4" +PR = "r5" # 5.10.1 has Module::Build built-in PROVIDES += "libmodule-build-perl"
@@ -216,9 +216,17 @@ perl_package_preprocess () { -e "s,${STAGING_LIBDIR},${libdir},g" \ -e "s,${STAGING_BINDIR},${bindir},g" \ -e "s,${STAGING_INCDIR},${includedir},g" \ + -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \ -e "s,${STAGING_BINDIR_NATIVE}/,,g" \ ${PKGD}${bindir}/h2xs \ ${PKGD}${bindir}/h2ph \ + ${PKGD}${bindir}/pod2html \ + ${PKGD}${bindir}/pod2latex \ + ${PKGD}${bindir}/pod2man \ + ${PKGD}${bindir}/pod2text \ + ${PKGD}${bindir}/pod2usage \ + ${PKGD}${bindir}/podchecker \ + ${PKGD}${bindir}/podselect \ ${PKGD}${libdir}/perl/${PV}/pod/*.pod \ ${PKGD}${libdir}/perl/${PV}/cacheout.pl \ ${PKGD}${libdir}/perl/${PV}/FileCache.pm \
Signature · 1 line
1.7.3.4
PATCH 5/6 sudo: Fix PAM dependencies
In reply to Mark HatleWhen PAM is enabled for the distribution we need to be sure to have a build dependency of libpam, and runtime dependencies on the pam modules used by the sudo package.
--- meta/recipes-extended/sudo/sudo_1.8.1p2.bb | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
meta/recipes-extended/sudo/sudo_1.8.1p2.bb +4 -1
@@ -1,6 +1,6 @@ require sudo.inc -PR = "r1" +PR = "r2" SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \ file://libtool.patch \
@@ -11,6 +11,9 @@ PAM_SRC_URI = "file://sudo.pam" SRC_URI[md5sum] = "e8330f0e63b0ecb2e12b5c76922818cc" SRC_URI[sha256sum] = "281f90c80547cf22132e351e7f61c25ba4ba9cf393438468f318f9a7884026fb" +DEPENDS += " ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" +RDEPENDS_${PN} += " ${@base_contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}" + EXTRA_OECONF += " ${@base_contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)}" do_install_append () {
Signature · 1 line
1.7.3.4
PATCH 6/6 task-core-lsb: Remove perl-dev
In reply to Mark HatleRemove the perl-dev recipe from the required packages. When this recipe is included, libc6-dev is automatically added as are a large number of other -dev packages. Eventually this creates a system where the dependencies may not be able to be satisfied.
The perl-dev package should not be required in order to pass the LSB testing.
--- meta/recipes-extended/tasks/task-core-lsb.bb | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
meta/recipes-extended/tasks/task-core-lsb.bb +1 -2
@@ -3,7 +3,7 @@ # DESCRIPTION = "Create Small Image Tasks" -PR = "r5" +PR = "r6" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
@@ -140,7 +140,6 @@ RDEPENDS_task-core-lsb-command-add = "\ RDEPENDS_task-core-lsb-perl-add = "\ perl-modules \ - perl-dev \ perl-misc \ perl-pod \ "
Signature · 1 line
1.7.3.4
Richard Purdie
AppliedQuoted 12 lines · Mark Hatle
Fix additional dependencies found while building core-image-lsb. Most of the issues are related to simple errors in the recipes or PAM integration problems.
The following changes since commit
40b52d9ed9b7b39bc86b3c87ae60fa6359cac265:distro tracking: Update Distro Aliases (2011-09-22 01:30:00 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contribmhatle/rpm
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=mhatle/rpm
Quoted 7 lines
Mark Hatle (6):
python: Fixcgi.pyruntime issue
usbutils: Move the pkgconfig file(s) to the -dev package
foomatic-filters: Disable filter checking
perl: Fix a few perl binaries to use target interpreter paths
sudo: Fix PAM dependencies
task-core-lsb: Remove perl-dev
Merged to master except for the foomatic one which needs some tweaks.
Cheers,
Richard