From: Rodrigo Vivi Date: Mon, 24 Mar 2008 18:23:47 +0000 (+0000) Subject: update-alternatives-dpkg: Adding support to relative paths. X-Git-Tag: Release-2010-05/1~7289 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2acdb855669a9af7f819cfc0ec71254bce04cb52;p=openembedded.git update-alternatives-dpkg: Adding support to relative paths. update-alternatives-cworth accept both: full and relative paths, but update-alternatives-dpkg accept only full paths. The best solution for that would be using only full paths but it would require change lots of bb files. By now consider to use only full paths on your bb files. --- diff --git a/packages/update-alternatives/update-alternatives-dpkg-1.13.22/.mtn2git_empty b/packages/update-alternatives/update-alternatives-dpkg-1.13.22/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/update-alternatives/update-alternatives-dpkg-1.13.22/paths.patch b/packages/update-alternatives/update-alternatives-dpkg-1.13.22/paths.patch new file mode 100644 index 0000000000..a23bf9a99d --- /dev/null +++ b/packages/update-alternatives/update-alternatives-dpkg-1.13.22/paths.patch @@ -0,0 +1,26 @@ +diff -ruN dpkg-1.13.22.orig/scripts/update-alternatives.pl dpkg-1.13.22/scripts/update-alternatives.pl +--- dpkg-1.13.22.orig/scripts/update-alternatives.pl 2006-06-21 01:46:12.000000000 -0300 ++++ dpkg-1.13.22/scripts/update-alternatives.pl 2007-08-02 19:36:47.000000000 -0300 +@@ -1,7 +1,7 @@ + #!/usr/bin/perl -- + + $admindir= "/var/lib/dpkg"; # This line modified by Makefile +-$dpkglibdir= "../utils"; # This line modified by Makefile ++$dpkglibdir= "/usr/lib/dpkg"; # This line modified by Makefile + $version= '0.93.80'; # This line modified by Makefile + push (@INC, $dpkglibdir); + require 'dpkg-gettext.pl'; +@@ -129,6 +129,12 @@ + &checkmanymodes; + @ARGV >= 4 || &badusage(_g("--install needs ")); + ($alink,$name,$apath,$apriority,@ARGV) = @ARGV; ++ if (! -e $apath) { ++ $apath = substr($alink,0,rindex($alink,"/")+1).$apath; ++ } ++ if (! -e $apath) { ++ &quit(sprintf(_g("Error: file not found: %s"), $apath)); ++ } + $apriority =~ m/^[-+]?\d+/ || &badusage(_g("priority must be an integer")); + $mode= 'install'; + } elsif (m/^--(remove|set)$/) { + diff --git a/packages/update-alternatives/update-alternatives-dpkg.inc b/packages/update-alternatives/update-alternatives-dpkg.inc index cffcf836bf..e3cdb53257 100644 --- a/packages/update-alternatives/update-alternatives-dpkg.inc +++ b/packages/update-alternatives/update-alternatives-dpkg.inc @@ -1,19 +1,14 @@ LICENSE = "GPL" SECTION = "base" -SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.gz" +SRC_URI += "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.gz" S = "${WORKDIR}/dpkg-${PV}" PACKAGE_ARCH = "all" -do_patch () { - cat ${S}/scripts/update-alternatives.pl | \ - sed -n -e ' - /^\$admindir=.*staging/{ - x - s/^.*$/$D=$ENV{"D"} || ""\;/; - p; - x; - s,^\$admindir=.*staging.*$,$admindir="$D${localstatedir}/dpkg"\;,; - }; - s,^\$altdir=.*$,$altdir="$D${sysconfdir}/alternatives"\;,; - p;' > ${S}/scripts/update-alternatives +SRC_URI += "file://paths.patch;patch=1" + +do_patch_append () { + import shutil + update_alternatives_src = bb.data.getVar('S', d, 1) + shutil.move("%s/scripts/update-alternatives.pl" % (update_alternatives_src,), + "%s/scripts/update-alternatives" % (update_alternatives_src,)) }