diff options
author | Rodrigo Vivi <rodrigo.vivi@gmail.com> | 2008-03-24 18:23:47 +0000 |
---|---|---|
committer | Rodrigo Vivi <rodrigo.vivi@gmail.com> | 2008-03-24 18:23:47 +0000 |
commit | 2acdb855669a9af7f819cfc0ec71254bce04cb52 (patch) | |
tree | df836096e04b109bc17e15d98f3476d985e36d87 /packages/update-alternatives | |
parent | 22e0cee8679cc8ae75a6b5f99891a5b410e5c346 (diff) |
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.
Diffstat (limited to 'packages/update-alternatives')
3 files changed, 34 insertions, 13 deletions
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 --- /dev/null +++ b/packages/update-alternatives/update-alternatives-dpkg-1.13.22/.mtn2git_empty 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 <link> <name> <path> <priority>")); + ($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,)) } |