From fad496c759066d53bebf9b8cebc63e6478c91d19 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 14 Nov 2011 17:43:45 +0000 Subject: dpkg/update-alternatives: Fix dpkg version of update-alternatives to be usable The version of dpkg the updates-alternatives-dpkg recipe pointed at no longer used a perl script but a compiled binary. This meant the "all" architecture field was invalid, as as the sed operation during do_patch. All things considered the separate recipe was pretty pointless. This patch moves update-alternatives back to being built as part of the dpkg recipe. It also moves various functionalty to the .inc file which it belongs and fixes building and packaging of the dpkg perl modules. Signed-off-by: Richard Purdie --- meta/recipes-devtools/dpkg/dpkg.inc | 38 ++++++++++++++++++++---- meta/recipes-devtools/dpkg/dpkg/perllibdir.patch | 22 ++++++++++++++ meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb | 16 ++-------- 3 files changed, 57 insertions(+), 19 deletions(-) create mode 100644 meta/recipes-devtools/dpkg/dpkg/perllibdir.patch (limited to 'meta/recipes-devtools/dpkg') diff --git a/meta/recipes-devtools/dpkg/dpkg.inc b/meta/recipes-devtools/dpkg/dpkg.inc index 8c2511dc4..a8486d935 100644 --- a/meta/recipes-devtools/dpkg/dpkg.inc +++ b/meta/recipes-devtools/dpkg/dpkg.inc @@ -2,7 +2,7 @@ DESCRIPTION = "Package maintenance system for Debian." LICENSE = "GPL" SECTION = "base" -INC_PR = "r5" +INC_PR = "r10" SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.bz2 \ file://ignore_extra_fields.patch" @@ -18,8 +18,24 @@ PARALLEL_MAKE = "" inherit autotools gettext perlnative -DPKG_INIT_POSITION = "98" +export PERL_LIBDIR = "${libdir}/perl" +EXTRA_OECONF = "--without-static-progs \ + --without-dselect \ + --with-start-stop-daemon \ + --with-zlib \ + --with-bz2lib \ + --without-selinux \ + --without-sgml-doc" + +do_configure () { + echo >> m4/compiler.m4 + sed -i -e 's#PERL_LIBDIR=.*$#PERL_LIBDIR="${libdir}/perl"#' ${S}/configure + autotools_do_configure +} + + +DPKG_INIT_POSITION ?= "98" do_install_prepend () { install -d ${D}/${sysconfdir}/rcS.d # this happens at S98 where our good 'ole packages script used to run @@ -30,7 +46,19 @@ rm -f ${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure chmod 0755 ${D}/${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure } -do_configure () { - echo >> m4/compiler.m4 - autotools_do_configure +do_install_append () { + mv ${D}${bindir}/update-alternatives ${D}${sbindir} } + +PROVIDES += "virtual/update-alternatives" + +PACKAGES =+ "update-alternatives-dpkg" +FILES_update-alternatives-dpkg = "${sbindir}/update-alternatives ${localstatedir}/lib/dpkg/alternatives ${sysconfdir}/alternatives" +RPROVIDES_update-alternatives-dpkg += "update-alternatives" + +PACKAGES += "${PN}-perl" +FILES_${PN}-perl = "${libdir}/perl" + +BBCLASSEXTEND = "native" + + diff --git a/meta/recipes-devtools/dpkg/dpkg/perllibdir.patch b/meta/recipes-devtools/dpkg/dpkg/perllibdir.patch new file mode 100644 index 000000000..45973f012 --- /dev/null +++ b/meta/recipes-devtools/dpkg/dpkg/perllibdir.patch @@ -0,0 +1,22 @@ +We want to be able to set PERL_LIBDIR from the environment. This +hardcoded assignment prevents us from doing so and obtains an +incorrect value. + +Upstream-Status: Inappropriate [in this form at least] + +RP 14/11/2011 + +Index: dpkg-1.15.8.7/m4/dpkg-progs.m4 +=================================================================== +--- dpkg-1.15.8.7.orig/m4/dpkg-progs.m4 2011-11-14 17:32:21.252053239 +0000 ++++ dpkg-1.15.8.7/m4/dpkg-progs.m4 2011-11-14 17:32:55.180052455 +0000 +@@ -9,9 +9,6 @@ + [AC_ARG_VAR([PERL], [Perl interpreter])dnl + AC_PATH_PROG([PERL], [perl], [/usr/bin/perl])dnl + AC_ARG_VAR([PERL_LIBDIR], [Perl library directory])dnl +-PERL_LIBDIR=$($PERL -MConfig -e 'my $r = $Config{vendorlibexp}; +- $r =~ s/$Config{vendorprefixexp}/\$(prefix)/; +- print $r')dnl + ])# DPKG_PROG_PERL + + # DPKG_PROG_PO4A diff --git a/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb b/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb index 99197c0b7..8b45a00a6 100644 --- a/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb +++ b/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb @@ -3,23 +3,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" SRC_URI += "file://noman.patch \ file://check_snprintf.patch \ - file://check_version.patch" + file://check_version.patch \ + file://perllibdir.patch" SRC_URI[md5sum] = "d1731d4147c1ea3b537a4d094519a6dc" SRC_URI[sha256sum] = "1ec1376471b04717a4497e5d7a27cd545248c92116898ce0c53ced8ea94267b5" PR = "${INC_PR}.0" -EXTRA_OECONF = "--without-static-progs \ - --without-dselect \ - --with-start-stop-daemon \ - --with-zlib \ - --with-bz2lib \ - --without-selinux \ - --without-sgml-doc" - -BBCLASSEXTEND = "native" - -do_install_append () { - rm ${D}${bindir}/update-alternatives -} -- cgit v1.2.3