summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/fakeroot/README7
-rw-r--r--system/fakeroot/fakeroot.SlackBuild11
-rw-r--r--system/fakeroot/fakeroot.info6
-rw-r--r--system/fakeroot/hide-dlsym-error.patch34
4 files changed, 49 insertions, 9 deletions
diff --git a/system/fakeroot/README b/system/fakeroot/README
index f0f7c8e1c3..797846e5d9 100644
--- a/system/fakeroot/README
+++ b/system/fakeroot/README
@@ -3,6 +3,9 @@ root privileges. This is done by setting LD_PRELOAD to libfakeroot.so,
which provides wrappers around getuid, chown, chmod, mknod, stat, and
so on, thereby creating a fake root environment.
-po4a is optional, auto-detected dependency, needed for building non-English
-man pages. You can skip building them by passing MANPO=no to the build script.
+po4a is optional, auto-detected dependency, needed for building
+non-English man pages. You can skip building them by means of:
+
+ MANPO=no ./fakeroot.SlackBuild
+
Passing MANPO=yes will make the script fail if po4a is not installed.
diff --git a/system/fakeroot/fakeroot.SlackBuild b/system/fakeroot/fakeroot.SlackBuild
index ed0dbfb4b7..4786badaef 100644
--- a/system/fakeroot/fakeroot.SlackBuild
+++ b/system/fakeroot/fakeroot.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for fakeroot
# Copyright 2007-2008 Ferenc Deak <ferenc.deak@gmail.com>
-# Copyright 2016 Andrzej Telszewski, Banie
+# Copyright 2017 Andrzej Telszewski, Banie
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,8 +24,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=fakeroot
-VERSION=${VERSION:-1.21}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.22}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -61,7 +61,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/${PRGNAM}_$VERSION.orig.tar.gz
+tar xvf $CWD/${PRGNAM}_$VERSION.orig.tar.bz2
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -70,7 +70,10 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+patch -p1 < $CWD/hide-dlsym-error.patch
+
./bootstrap
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/system/fakeroot/fakeroot.info b/system/fakeroot/fakeroot.info
index 577d27e42d..f4178ed2d8 100644
--- a/system/fakeroot/fakeroot.info
+++ b/system/fakeroot/fakeroot.info
@@ -1,8 +1,8 @@
PRGNAM="fakeroot"
-VERSION="1.21"
+VERSION="1.22"
HOMEPAGE="http://packages.debian.org/fakeroot"
-DOWNLOAD="http://ftp.debian.org/debian/pool/main/f/fakeroot/fakeroot_1.21.orig.tar.gz"
-MD5SUM="be5c9a0e516869fca4a6758105968e5a"
+DOWNLOAD="http://ftp.debian.org/debian/pool/main/f/fakeroot/fakeroot_1.22.orig.tar.bz2"
+MD5SUM="fae64c9aeb2c895ead8e1b99bf50c631"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/fakeroot/hide-dlsym-error.patch b/system/fakeroot/hide-dlsym-error.patch
new file mode 100644
index 0000000000..2c61fab248
--- /dev/null
+++ b/system/fakeroot/hide-dlsym-error.patch
@@ -0,0 +1,34 @@
+Description: Hide error from dlsym()
+ dlsym(), starting in glibc 2.24 actually reports errors. In our case,
+ we try to get ACL functions which are not in the glibc. This causes
+ failures in test suites, so hide those messages for non-debugging
+ purposes for now. It also makes the build logs annoying to read.
+Author: Julian Andres Klode <juliank@ubuntu.com>
+Origin: vendor
+Bug-Debian: https://bugs.debian.org/830912
+Forwarded: no
+Last-Update: 2016-08-12
+
+Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
+
+--- a/libfakeroot.c
++++ b/libfakeroot.c
+@@ -256,10 +256,16 @@ void load_library_symbols(void){
+ /* clear dlerror() just in case dlsym() legitimately returns NULL */
+ msg = dlerror();
+ *(next_wrap[i].doit)=dlsym(get_libc(), next_wrap[i].name);
++
+ if ( (msg = dlerror()) != NULL){
+- fprintf (stderr, "dlsym(%s): %s\n", next_wrap[i].name, msg);
+-/* abort ();*/
++#ifdef LIBFAKEROOT_DEBUGGING
++ if (fakeroot_debug) {
++ fprintf (stderr, "dlsym(%s): %s\n", next_wrap[i].name, msg);
++/* abort ();*/
++ }
++#endif
+ }
++
+ }
+ }
+