Skip to contentSkip to conversation

Fix core-image-lsb dependencies

PATCH Applied Mark Hatle 2 participants 10 messages Sep 22, 2011

v1 of 2 Applied Latest is v2 →

lore
Share & tools
lore

Mark Hatle

author
#0 lore raw

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
author
#1 lore raw

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
new file mode 100644
index 0000000..0f10efc
@@ -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
index c9c1a13..aa7ec3c 100644
@@ -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
author
#2 lore raw

PATCH 2/6 usbutils: Move the pkgconfig file(s) to the -dev package

In reply to Mark Hatle

pkgconfig 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
index c5420d0..490b05a 100644
@@ -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
author
#3 lore raw

PATCH 3/6 foomatic-filters: Disable filter checking

In reply to 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.

---
 .../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
index 9627187..856f5ac 100644
@@ -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
#4 lore raw

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.

---
 .../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
index 9627187..856f5ac 100644
@@ -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

author
#5 lore raw

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.

---
 .../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
index 9627187..856f5ac 100644
@@ -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

author
#6 lore raw

PATCH 4/6 perl: Fix a few perl binaries to use target interpreter paths

In reply to Mark Hatle

A 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
index d286564..e4769a4 100644
@@ -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
author
#7 lore raw

PATCH 5/6 sudo: Fix PAM dependencies

In reply to Mark Hatle

When 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
index 9cf9ecc..b568291 100644
@@ -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
author
#8 lore raw

PATCH 6/6 task-core-lsb: Remove perl-dev

In reply to Mark Hatle

Remove 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
index 672b487..c48ccf0 100644
@@ -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
#9 lore raw
In reply to Mark Hatle
Quoted 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-contrib mhatle/rpm
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=mhatle/rpm

Quoted 7 lines

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

Merged to master except for the foomatic one which needs some tweaks.

Cheers,

Richard