[oe-commits] org.oe.dev update-alternatives-dpkg: Adding support to relative paths.

rodrigo.vivi commit oe at amethyst.openembedded.net
Mon Mar 24 18:27:46 UTC 2008


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.

Author: rodrigo.vivi at openembedded.org
Branch: org.openembedded.dev
Revision: f7f15489efbfb6b3c25a219c0a8803930179c346
ViewMTN: http://monotone.openembedded.org/revision/info/f7f15489efbfb6b3c25a219c0a8803930179c346
Files:
1
packages/update-alternatives/update-alternatives-dpkg-1.13.22
packages/update-alternatives/update-alternatives-dpkg-1.13.22/paths.patch
packages/update-alternatives/update-alternatives-dpkg.inc
Diffs:

#
# mt diff -r18a835c49f98aebf12d1299f14d6e62e8358e6a4 -rf7f15489efbfb6b3c25a219c0a8803930179c346
#
#
#
# add_dir "packages/update-alternatives/update-alternatives-dpkg-1.13.22"
# 
# add_file "packages/update-alternatives/update-alternatives-dpkg-1.13.22/paths.patch"
#  content [2bb6ec2888beec1f67a4d263182f51544c9546dc]
# 
# patch "packages/update-alternatives/update-alternatives-dpkg.inc"
#  from [fd5891d1c2427cb7812d3e42cec9fda9928223b7]
#    to [55dbce12aebf658e14d8e13197f8a7ee8740ac1f]
#
============================================================
--- packages/update-alternatives/update-alternatives-dpkg-1.13.22/paths.patch	2bb6ec2888beec1f67a4d263182f51544c9546dc
+++ packages/update-alternatives/update-alternatives-dpkg-1.13.22/paths.patch	2bb6ec2888beec1f67a4d263182f51544c9546dc
@@ -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, at 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)$/) {
+
============================================================
--- packages/update-alternatives/update-alternatives-dpkg.inc	fd5891d1c2427cb7812d3e42cec9fda9928223b7
+++ packages/update-alternatives/update-alternatives-dpkg.inc	55dbce12aebf658e14d8e13197f8a7ee8740ac1f
@@ -1,19 +1,14 @@ SECTION = "base"
 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,))
 }






More information about the Openembedded-commits mailing list