quilt: add further relocatability fixes
authorJo-Philipp Wich <jow@openwrt.org>
Tue, 29 Sep 2015 11:37:27 +0000 (11:37 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Tue, 29 Sep 2015 11:37:27 +0000 (11:37 +0000)
Prevent quilt's build system from generating useless compat wrappers and
hardcoded absolute utility paths to binaries in staging_dir/host/.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 47070

tools/quilt/Makefile
tools/quilt/patches/000-relocatable.patch

index 01b0bd2..c2dbc07 100644 (file)
@@ -15,9 +15,6 @@ PKG_MD5SUM:=c0ef4beb58a6fa72563b955e70624b6e
 
 include $(INCLUDE_DIR)/host-build.mk
 
-HOST_CONFIGURE_ARGS += \
-       --with-find=$(FIND)
-
 define Host/Configure
        cd $(HOST_BUILD_DIR) && autoconf
        $(call Host/Configure/Default)
index 99d7af5..9309fc4 100644 (file)
@@ -1,6 +1,6 @@
 --- a/bin/quilt.in
 +++ b/bin/quilt.in
-@@ -15,9 +15,15 @@
+@@ -15,14 +15,22 @@ unset POSIXLY_CORRECT
  unset GREP_OPTIONS
  
  export TEXTDOMAIN=quilt
 +if test -n "$STAGING_DIR"; then
 +      export TEXTDOMAINDIR="$STAGING_DIR/../host/share/locale"
 +      : ${QUILT_DIR=$STAGING_DIR/../host/share/quilt} ${QUILT_LIB=$STAGING_DIR/../host/lib/quilt}
++      : ${QUILT_ETC=$STAGING_DIR/../host/etc}
 +else
 +      export TEXTDOMAINDIR=@LOCALEDIR@
 +      : ${QUILT_DIR=@QUILT_DIR@}
++      : ${QUILT_ETC=@ETCDIR@}
 +fi
 +
  export QUILT_DIR
  
  if [ -z "$QUILTRC" ]
+ then
+-      for QUILTRC in $HOME/.quiltrc @ETCDIR@/quilt.quiltrc; do
++      for QUILTRC in $HOME/.quiltrc $QUILT_ETC/quilt.quiltrc; do
+               [ -e $QUILTRC ] && break
+       done
+       export QUILTRC
 --- a/quilt/scripts/edmail.in
 +++ b/quilt/scripts/edmail.in
 @@ -29,7 +29,7 @@ BEGIN {
  textdomain("quilt");
  
  sub _($) {
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -21,8 +21,8 @@ COLUMN :=    @COLUMN@
+ GETOPT :=     @GETOPT@
+ CP :=         @CP@
+ DATE :=               @DATE@
+-PERL :=               @PERL@
+-BASH :=               @BASH@
++PERL :=               /usr/bin/env perl
++BASH :=               /usr/bin/env bash
+ SHELL:=               @BASH@ # It does not work if dash is used as a shell, for example
+ GREP :=               @GREP@
+ TAIL :=               @TAIL@
+@@ -32,7 +32,7 @@ AWK :=               @AWK@
+ FIND :=               @FIND@
+ XARGS :=      @XARGS@
+ DIFF :=               @DIFF@
+-PATCH :=      @PATCH@
++PATCH :=      /usr/bin/env patch
+ MKTEMP :=     @MKTEMP@
+ MSGMERGE :=   @MSGMERGE@
+ MSGFMT :=     @MSGFMT@
+@@ -49,8 +49,8 @@ USE_NLS :=   @USE_NLS@
+ STAT_HARDLINK := @STAT_HARDLINK@
+ PATCH_WRAPPER := @PATCH_WRAPPER@
+-COMPAT_SYMLINKS       := @COMPAT_SYMLINKS@
+-COMPAT_PROGRAMS       := @COMPAT_PROGRAMS@
++COMPAT_SYMLINKS       :=
++COMPAT_PROGRAMS       :=
+ default: all
+--- a/quilt/scripts/backup-files.in
++++ b/quilt/scripts/backup-files.in
+@@ -53,7 +53,12 @@ usage ()
+ "
+ }
+-: ${QUILT_DIR=@QUILT_DIR@}
++if test -n "$STAGING_DIR"; then
++      : ${QUILT_DIR="$STAGING_DIR/../host/share/quilt"}
++else
++      : ${QUILT_DIR=@QUILT_DIR@}
++fi
++
+ . $QUILT_DIR/scripts/utilfns
+ ensure_nolinks()