From cb9723f09c798b287705bb3a77b0ac0f16a4462b Mon Sep 17 00:00:00 2001
From: Jo-Philipp Wich <jow@openwrt.org>
Date: Tue, 29 Sep 2015 11:37:27 +0000
Subject: [PATCH] quilt: add further relocatability fixes

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                      |  3 --
 tools/quilt/patches/000-relocatable.patch | 59 ++++++++++++++++++++++-
 2 files changed, 58 insertions(+), 4 deletions(-)

diff --git a/tools/quilt/Makefile b/tools/quilt/Makefile
index 01b0bd298f..c2dbc07c79 100644
--- a/tools/quilt/Makefile
+++ b/tools/quilt/Makefile
@@ -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)
diff --git a/tools/quilt/patches/000-relocatable.patch b/tools/quilt/patches/000-relocatable.patch
index 99d7af5771..9309fc426a 100644
--- a/tools/quilt/patches/000-relocatable.patch
+++ b/tools/quilt/patches/000-relocatable.patch
@@ -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
@@ -10,14 +10,22 @@
 +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 {
@@ -70,3 +78,52 @@
  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()
-- 
2.30.2