fakechroot: add 2 patches for 2 bugfixes.

This commit is contained in:
Juan RP 2013-12-14 07:12:58 +01:00
parent 5ec7ce2772
commit 521e490d51
3 changed files with 80 additions and 1 deletions

View file

@ -0,0 +1,35 @@
From 0290fd97a964214289303a8b9d7e184ef9fc818b Mon Sep 17 00:00:00 2001
From: Juan RP <xtraeme@gmail.com>
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

View file

@ -0,0 +1,44 @@
From 922b9be90ccce8f5b01339864f499f6d77505c5f Mon Sep 17 00:00:00 2001
From: Andrew Gregory <andrew.gregory.8@gmail.com>
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 <andrew.gregory.8@gmail.com>
---
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

View file

@ -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"