diff --git a/srcpkgs/fakechroot/patches/0001-scripts-fakechroot.sh-fix-h-and-others-die-fakechroo.patch b/srcpkgs/fakechroot/patches/0001-scripts-fakechroot.sh-fix-h-and-others-die-fakechroo.patch new file mode 100644 index 0000000000..bd9fa28492 --- /dev/null +++ b/srcpkgs/fakechroot/patches/0001-scripts-fakechroot.sh-fix-h-and-others-die-fakechroo.patch @@ -0,0 +1,35 @@ +From 0290fd97a964214289303a8b9d7e184ef9fc818b Mon Sep 17 00:00:00 2001 +From: Juan RP +Date: Sat, 14 Dec 2013 07:00:00 +0100 +Subject: [PATCH] scripts/fakechroot.sh: fix -h and others (die -> + fakechroot_die). + +--- + scripts/fakechroot.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/scripts/fakechroot.sh b/scripts/fakechroot.sh +index 1f11720..7738153 100644 +--- scripts/fakechroot.sh ++++ scripts/fakechroot.sh +@@ -17,7 +17,7 @@ fakechroot_die () { + + + fakechroot_usage () { +- die "Usage: ++ fakechroot_die "Usage: + fakechroot [-l|--lib fakechrootlib] [-d|--elfloader ldso] + [-s|--use-system-libs] + [-e|--environment type] [-c|--config-dir directory] +@@ -60,7 +60,7 @@ fakechroot_next_cmd () { + + + if [ "$FAKECHROOT" = "true" ]; then +- die "fakechroot: nested operation is not supported" ++ fakechroot_die "fakechroot: nested operation is not supported" + fi + + +-- +1.8.5.1 + diff --git a/srcpkgs/fakechroot/patches/fakechroot-2.17.1-sanitize-chroot-path.patch b/srcpkgs/fakechroot/patches/fakechroot-2.17.1-sanitize-chroot-path.patch new file mode 100644 index 0000000000..5f9f8c8fd3 --- /dev/null +++ b/srcpkgs/fakechroot/patches/fakechroot-2.17.1-sanitize-chroot-path.patch @@ -0,0 +1,44 @@ +From 922b9be90ccce8f5b01339864f499f6d77505c5f Mon Sep 17 00:00:00 2001 +From: Andrew Gregory +Date: Fri, 13 Dec 2013 12:31:00 -0500 +Subject: [PATCH] chroot: sanitize path + +path was not being sanitized if it started with '/' causing chroot calls +to fail when path ended with '/'. + +Signed-off-by: Andrew Gregory +--- + src/chroot.c | 3 +++ + test/t/chroot.t | 2 +- + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/chroot.c b/src/chroot.c +index 9e15ff5..7917a9a 100644 +--- src/chroot.c ++++ src/chroot.c +@@ -76,6 +76,9 @@ + else { + if (*path == '/') { + expand_chroot_rel_path(path); ++ strlcpy(tmp, path, FAKECHROOT_PATH_MAX); ++ dedotdot(tmpptr); ++ path = tmpptr; + } + else { + snprintf(tmp, FAKECHROOT_PATH_MAX, "%s/%s", cwd, path); +diff --git a/test/t/chroot.t b/test/t/chroot.t +index e532a6f..286b863 100755 +--- test/t/chroot.t ++++ test/t/chroot.t +@@ -14,7 +14,7 @@ for chroot in chroot fakechroot; do + skip $(( $tap_plan / 2 )) "not root" + else + +- for testtree in testtree2 /testtree2 ./testtree2 /./testtree2 testtree2/. testtree2/./.; do ++ for testtree in testtree2 /testtree2 ./testtree2 /./testtree2 testtree2/. testtree2/./. testtree2/; do + t=`$srcdir/$chroot.sh testtree /usr/sbin/chroot $testtree /bin/cat /CHROOT 2>&1` + test "$t" = "testtree/testtree2" || not + ok "$chroot chroot $testtree:" $t +-- +1.8.5.1 + diff --git a/srcpkgs/fakechroot/template b/srcpkgs/fakechroot/template index a7a7e4149f..db6979220b 100644 --- a/srcpkgs/fakechroot/template +++ b/srcpkgs/fakechroot/template @@ -1,7 +1,7 @@ # Template file for 'fakechroot' pkgname=fakechroot version=2.17.1 -revision=1 +revision=2 build_style=gnu-configure configure_args="--disable-static --sbindir=/usr/bin" short_desc="Gives a fake chroot environment"