summaryrefslogtreecommitdiff
path: root/packages/update-alternatives
diff options
context:
space:
mode:
authorRodrigo Vivi <rodrigo.vivi@gmail.com>2008-03-24 18:23:47 +0000
committerRodrigo Vivi <rodrigo.vivi@gmail.com>2008-03-24 18:23:47 +0000
commit2acdb855669a9af7f819cfc0ec71254bce04cb52 (patch)
treedf836096e04b109bc17e15d98f3476d985e36d87 /packages/update-alternatives
parent22e0cee8679cc8ae75a6b5f99891a5b410e5c346 (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')
-rw-r--r--packages/update-alternatives/update-alternatives-dpkg-1.13.22/.mtn2git_empty0
-rw-r--r--packages/update-alternatives/update-alternatives-dpkg-1.13.22/paths.patch26
-rw-r--r--packages/update-alternatives/update-alternatives-dpkg.inc21
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,))
}