From 2acdb855669a9af7f819cfc0ec71254bce04cb52 Mon Sep 17 00:00:00 2001 From: Rodrigo Vivi Date: Mon, 24 Mar 2008 18:23:47 +0000 Subject: [PATCH] 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. --- .../.mtn2git_empty | 0 .../paths.patch | 26 +++++++++++++++++++ .../update-alternatives-dpkg.inc | 21 ++++++--------- 3 files changed, 34 insertions(+), 13 deletions(-) create mode 100644 packages/update-alternatives/update-alternatives-dpkg-1.13.22/.mtn2git_empty create mode 100644 packages/update-alternatives/update-alternatives-dpkg-1.13.22/paths.patch 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,)) } -- 2.39.5