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
This commit is contained in:
Jo-Philipp Wich 2015-09-29 11:37:27 +00:00
parent 9e5db437f2
commit cb9723f09c
2 changed files with 58 additions and 4 deletions

View File

@ -15,9 +15,6 @@ PKG_MD5SUM:=c0ef4beb58a6fa72563b955e70624b6e
include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/host-build.mk
HOST_CONFIGURE_ARGS += \
--with-find=$(FIND)
define Host/Configure define Host/Configure
cd $(HOST_BUILD_DIR) && autoconf cd $(HOST_BUILD_DIR) && autoconf
$(call Host/Configure/Default) $(call Host/Configure/Default)

View File

@ -1,6 +1,6 @@
--- a/bin/quilt.in --- a/bin/quilt.in
+++ b/bin/quilt.in +++ b/bin/quilt.in
@@ -15,9 +15,15 @@ @@ -15,14 +15,22 @@ unset POSIXLY_CORRECT
unset GREP_OPTIONS unset GREP_OPTIONS
export TEXTDOMAIN=quilt export TEXTDOMAIN=quilt
@ -10,14 +10,22 @@
+if test -n "$STAGING_DIR"; then +if test -n "$STAGING_DIR"; then
+ export TEXTDOMAINDIR="$STAGING_DIR/../host/share/locale" + export TEXTDOMAINDIR="$STAGING_DIR/../host/share/locale"
+ : ${QUILT_DIR=$STAGING_DIR/../host/share/quilt} ${QUILT_LIB=$STAGING_DIR/../host/lib/quilt} + : ${QUILT_DIR=$STAGING_DIR/../host/share/quilt} ${QUILT_LIB=$STAGING_DIR/../host/lib/quilt}
+ : ${QUILT_ETC=$STAGING_DIR/../host/etc}
+else +else
+ export TEXTDOMAINDIR=@LOCALEDIR@ + export TEXTDOMAINDIR=@LOCALEDIR@
+ : ${QUILT_DIR=@QUILT_DIR@} + : ${QUILT_DIR=@QUILT_DIR@}
+ : ${QUILT_ETC=@ETCDIR@}
+fi +fi
+ +
export QUILT_DIR export QUILT_DIR
if [ -z "$QUILTRC" ] 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 --- a/quilt/scripts/edmail.in
+++ b/quilt/scripts/edmail.in +++ b/quilt/scripts/edmail.in
@@ -29,7 +29,7 @@ BEGIN { @@ -29,7 +29,7 @@ BEGIN {
@ -70,3 +78,52 @@
textdomain("quilt"); textdomain("quilt");
sub _($) { 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()