aboutsummaryrefslogtreecommitdiff
path: root/system/fakeroot
diff options
context:
space:
mode:
authorMatteo Bernardini <ponce@slackbuilds.org>2021-05-07 15:18:37 +0200
committerMatteo Bernardini <ponce@slackbuilds.org>2021-05-07 15:18:37 +0200
commit6aab6d4f9b75c14d53150bc152f6db0b1dfd7e46 (patch)
tree9fd615685fb8ee9bfa0b8720970d01091b5fa8af /system/fakeroot
parent3a3a588bbd96023bb5bc937b3cdd8a8c0edb3cf0 (diff)
system/fakeroot: Updated for version 1.25.3.
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
Diffstat (limited to 'system/fakeroot')
-rw-r--r--system/fakeroot/fakeroot.SlackBuild6
-rw-r--r--system/fakeroot/fakeroot.info6
-rw-r--r--system/fakeroot/hide-dlsym-error.patch34
-rw-r--r--system/fakeroot/patches/0001-Revert-Use-fixed-width-members-in-fake_msg.patch71
-rw-r--r--system/fakeroot/patches/eglibc-fts-without-LFS.patch26
-rw-r--r--system/fakeroot/patches/fakeroot-1.25.3-glibc-2.33-fix-1.patch37
-rw-r--r--system/fakeroot/patches/fakeroot-1.25.3-glibc-2.33-fix-2.patch72
-rw-r--r--system/fakeroot/patches/fakeroot-1.25.3-glibc-2.33-fix-3.patch60
-rw-r--r--system/fakeroot/patches/fix-shell-in-fakeroot.patch13
9 files changed, 285 insertions, 40 deletions
diff --git a/system/fakeroot/fakeroot.SlackBuild b/system/fakeroot/fakeroot.SlackBuild
index 4f2458b20dd81..f447b400a34fd 100644
--- a/system/fakeroot/fakeroot.SlackBuild
+++ b/system/fakeroot/fakeroot.SlackBuild
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=fakeroot
-VERSION=${VERSION:-1.23}
+VERSION=${VERSION:-1.25.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -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.xz
+tar xvf $CWD/${PRGNAM}_$VERSION.orig.tar.?z
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -70,7 +70,7 @@ 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
+for i in $CWD/patches/* ; do patch -p1 < $i ; done
./bootstrap
diff --git a/system/fakeroot/fakeroot.info b/system/fakeroot/fakeroot.info
index f135f82b8b37c..4463bbacbb7a2 100644
--- a/system/fakeroot/fakeroot.info
+++ b/system/fakeroot/fakeroot.info
@@ -1,8 +1,8 @@
PRGNAM="fakeroot"
-VERSION="1.23"
+VERSION="1.25.3"
HOMEPAGE="http://packages.debian.org/fakeroot"
-DOWNLOAD="http://ftp.debian.org/debian/pool/main/f/fakeroot/fakeroot_1.23.orig.tar.xz"
-MD5SUM="b82c5e99b6365a838e73d05718083f6a"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/fakeroot_1.25.3.orig.tar.gz"
+MD5SUM="f6104ef6960c962377ef062bf222a1d2"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/fakeroot/hide-dlsym-error.patch b/system/fakeroot/hide-dlsym-error.patch
deleted file mode 100644
index 2c61fab248433..0000000000000
--- a/system/fakeroot/hide-dlsym-error.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-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
- }
-+
- }
- }
-
diff --git a/system/fakeroot/patches/0001-Revert-Use-fixed-width-members-in-fake_msg.patch b/system/fakeroot/patches/0001-Revert-Use-fixed-width-members-in-fake_msg.patch
new file mode 100644
index 0000000000000..f300b6f707683
--- /dev/null
+++ b/system/fakeroot/patches/0001-Revert-Use-fixed-width-members-in-fake_msg.patch
@@ -0,0 +1,71 @@
+From ffba4a8941a5f11748a9d305bf76691e7a2aa296 Mon Sep 17 00:00:00 2001
+From: Johannes 'josch' Schauer <josch@mister-muffin.de>
+Date: Tue, 3 Nov 2020 00:55:40 +0100
+Subject: [PATCH] Revert "Use fixed-width members in fake_msg"
+
+This reverts commit 2a53909e732b19ccbaf6d1534e932dff74fa757e.
+---
+ message.h | 16 ++++++++++++++--
+ 1 file changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/message.h b/message.h
+index 6fad1fb..9dfce94 100644
+--- a/message.h
++++ b/message.h
+@@ -48,7 +48,9 @@ typedef uint32_t fake_gid_t;
+ typedef uint32_t fake_mode_t;
+ typedef uint32_t fake_nlink_t;
+
++#if __SUNPRO_C
+ #pragma pack(4)
++#endif
+ struct fakestat {
+ fake_uid_t uid;
+ fake_gid_t gid;
+@@ -58,32 +60,42 @@ struct fakestat {
+ fake_mode_t mode;
+ fake_nlink_t nlink;
+ } FAKEROOT_ATTR(packed);
++#if __SUNPRO_C
+ #pragma pack()
++#endif
+
+ #define MAX_IPC_BUFFER_SIZE 1024
+
++#if __SUNPRO_C
+ #pragma pack(4)
++#endif
+ struct fakexattr {
+ uint32_t buffersize;
+ char buf[MAX_IPC_BUFFER_SIZE];
+ int32_t flags_rc; /* flags from setxattr. Return code on round trip */
+ } FAKEROOT_ATTR(packed);
++#if __SUNPRO_C
+ #pragma pack()
++#endif
+
++#if __SUNPRO_C
+ #pragma pack(4)
++#endif
+ struct fake_msg {
+ #ifndef FAKEROOT_FAKENET
+- int64_t mtype; /* message type in SYSV message sending */
++ long mtype; /* message type in SYSV message sending */
+ #endif
+ func_id_t id; /* the requested function */
+ #ifndef FAKEROOT_FAKENET
+ pid_t pid;
+- int32_t serial;
++ int serial;
+ #endif
+ struct fakestat st;
+ struct fakexattr xattr;
+ uint32_t remote;
+ } FAKEROOT_ATTR(packed);
++#if __SUNPRO_C
+ #pragma pack()
++#endif
+
+ #endif
+--
+2.27.0
diff --git a/system/fakeroot/patches/eglibc-fts-without-LFS.patch b/system/fakeroot/patches/eglibc-fts-without-LFS.patch
new file mode 100644
index 0000000000000..5ba45fde3dc50
--- /dev/null
+++ b/system/fakeroot/patches/eglibc-fts-without-LFS.patch
@@ -0,0 +1,26 @@
+--- a/libfakeroot.c
++++ b/libfakeroot.c
+@@ -1949,11 +1949,7 @@
+ || r->fts_info == FTS_NS || r->fts_info == FTS_NSOK))
+ r->fts_statp = NULL; /* Otherwise fts_statp may be a random pointer */
+ if(r && r->fts_statp) { /* Should we bother checking fts_info here? */
+-# if defined(STAT64_SUPPORT) && !defined(__APPLE__)
+- SEND_GET_STAT64(r->fts_statp, _STAT_VER);
+-# else
+ SEND_GET_STAT(r->fts_statp, _STAT_VER);
+-# endif
+ }
+
+ return r;
+@@ -1972,11 +1968,7 @@
+ first=next_fts_children(ftsp, options);
+ for(r = first; r; r = r->fts_link) {
+ if(r && r->fts_statp) { /* Should we bother checking fts_info here? */
+-# if defined(STAT64_SUPPORT) && !defined(__APPLE__)
+- SEND_GET_STAT64(r->fts_statp, _STAT_VER);
+-# else
+ SEND_GET_STAT(r->fts_statp, _STAT_VER);
+-# endif
+ }
+ }
+
diff --git a/system/fakeroot/patches/fakeroot-1.25.3-glibc-2.33-fix-1.patch b/system/fakeroot/patches/fakeroot-1.25.3-glibc-2.33-fix-1.patch
new file mode 100644
index 0000000000000..8b7867bce1cf0
--- /dev/null
+++ b/system/fakeroot/patches/fakeroot-1.25.3-glibc-2.33-fix-1.patch
@@ -0,0 +1,37 @@
+From 03bc0ee07fb6e293d081ffd8af1654788b434f6a Mon Sep 17 00:00:00 2001
+From: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
+Date: Thu, 11 Feb 2021 20:59:25 -0800
+Subject: [PATCH] libfakeroot.c: define _STAT_VER if not already defined
+
+Based on patch from Jan Pazdziora:
+https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/SMQ3RYXEYTVZH6PLQMKNB3NM4XLPMNZO/
+
+Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
+---
+ libfakeroot.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/libfakeroot.c b/libfakeroot.c
+index 3e80e38..14cdbc4 100644
+--- a/libfakeroot.c
++++ b/libfakeroot.c
+@@ -90,6 +90,16 @@
+ #define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b)
+ #endif
+
++#ifndef _STAT_VER
++ #if defined (__aarch64__)
++ #define _STAT_VER 0
++ #elif defined (__x86_64__)
++ #define _STAT_VER 1
++ #else
++ #define _STAT_VER 3
++ #endif
++#endif
++
+ /*
+ These INT_* (which stands for internal) macros should always be used when
+ the fakeroot library owns the storage of the stat variable.
+--
+GitLab
+
diff --git a/system/fakeroot/patches/fakeroot-1.25.3-glibc-2.33-fix-2.patch b/system/fakeroot/patches/fakeroot-1.25.3-glibc-2.33-fix-2.patch
new file mode 100644
index 0000000000000..e0bd2e533da61
--- /dev/null
+++ b/system/fakeroot/patches/fakeroot-1.25.3-glibc-2.33-fix-2.patch
@@ -0,0 +1,72 @@
+From feda578ca3608b7fc9a28a3a91293611c0ef47b7 Mon Sep 17 00:00:00 2001
+From: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
+Date: Thu, 11 Feb 2021 21:00:04 -0800
+Subject: [PATCH] libfakeroot.c: add wrappers for new glibc 2.33+ symbols
+
+Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
+---
+ libfakeroot.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 48 insertions(+)
+
+diff --git a/libfakeroot.c b/libfakeroot.c
+index 14cdbc4..d75c51f 100644
+--- a/libfakeroot.c
++++ b/libfakeroot.c
+@@ -1352,6 +1352,54 @@ int renameat(int olddir_fd, const char *oldpath,
+ #endif /* HAVE_FSTATAT */
+
+
++#if defined(__GLIBC__) && __GLIBC_PREREQ(2,33)
++/* Glibc 2.33 exports symbols for these functions in the shared lib */
++ int lstat(const char *file_name, struct stat *statbuf) {
++ return WRAP_LSTAT LSTAT_ARG(_STAT_VER, file_name, statbuf);
++ }
++ int stat(const char *file_name, struct stat *st) {
++ return WRAP_STAT STAT_ARG(_STAT_VER, file_name, st);
++ }
++ int fstat(int fd, struct stat *st) {
++ return WRAP_FSTAT FSTAT_ARG(_STAT_VER, fd, st);
++ }
++
++ #ifdef HAVE_FSTATAT
++ int fstatat(int dir_fd, const char *path, struct stat *st, int flags) {
++ return WRAP_FSTATAT FSTATAT_ARG(_STAT_VER, dir_fd, path, st, flags);
++ }
++ #endif
++
++ #ifdef STAT64_SUPPORT
++ int lstat64(const char *file_name, struct stat64 *st) {
++ return WRAP_LSTAT64 LSTAT64_ARG(_STAT_VER, file_name, st);
++ }
++ int stat64(const char *file_name, struct stat64 *st) {
++ return WRAP_STAT64 STAT64_ARG(_STAT_VER, file_name, st);
++ }
++ int fstat64(int fd, struct stat64 *st) {
++ return WRAP_FSTAT64 FSTAT64_ARG(_STAT_VER, fd, st);
++ }
++
++ #ifdef HAVE_FSTATAT
++ int fstatat64(int dir_fd, const char *path, struct stat64 *st, int flags) {
++ return WRAP_FSTATAT64 FSTATAT64_ARG(_STAT_VER, dir_fd, path, st, flags);
++ }
++ #endif
++ #endif
++
++ int mknod(const char *pathname, mode_t mode, dev_t dev) {
++ return WRAP_MKNOD MKNOD_ARG(_STAT_VER, pathname, mode, &dev);
++ }
++
++ #if defined(HAVE_FSTATAT) && defined(HAVE_MKNODAT)
++ int mknodat(int dir_fd, const char *pathname, mode_t mode, dev_t dev) {
++ return WRAP_MKNODAT MKNODAT_ARG(_STAT_VER, dir_fd, pathname, mode, &dev);
++ }
++ #endif
++#endif /* GLIBC_PREREQ */
++
++
+ #ifdef FAKEROOT_FAKENET
+ pid_t fork(void)
+ {
+--
+GitLab
+
diff --git a/system/fakeroot/patches/fakeroot-1.25.3-glibc-2.33-fix-3.patch b/system/fakeroot/patches/fakeroot-1.25.3-glibc-2.33-fix-3.patch
new file mode 100644
index 0000000000000..1c4297094c38a
--- /dev/null
+++ b/system/fakeroot/patches/fakeroot-1.25.3-glibc-2.33-fix-3.patch
@@ -0,0 +1,60 @@
+From c3eebec293e35b997bb46c22fb5a4e114afb5e7f Mon Sep 17 00:00:00 2001
+From: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
+Date: Sat, 13 Feb 2021 19:32:08 -0800
+Subject: [PATCH] configure.ac: fix __xmknod{,at} pointer argument
+
+Switch default to assume * and not the absence of *.
+
+On glibc 2.33+, there is no definition for these functions in header
+files, so the compile test doesn't work. But, we can default to using
+the pointer (as is the case with newer glibc), and use the header file
+on older platforms to fail the test and use no pointer.
+
+Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
+---
+ configure.ac | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 73415d2..d85566f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -183,13 +183,13 @@ AC_MSG_CHECKING([for type of arg of __xmknod])
+ ]], [[
+ int __xmknod ( int ver,
+ const char *pathname ,
+- mode_t mode , dev_t dev);
++ mode_t mode , dev_t *dev);
+ ]])],[
+- AC_DEFINE(XMKNOD_FRTH_ARG,)
+- AC_MSG_RESULT([no extra *])
+- ],[
+ AC_DEFINE(XMKNOD_FRTH_ARG,[*])
+ AC_MSG_RESULT([needs *])
++ ],[
++ AC_DEFINE(XMKNOD_FRTH_ARG,)
++ AC_MSG_RESULT([no extra *])
+
+ ])
+
+@@ -210,13 +210,13 @@ AC_MSG_CHECKING([for type of arg of __xmknodat])
+ int __xmknodat ( int ver,
+ int dirfd,
+ const char *pathname ,
+- mode_t mode , dev_t dev);
++ mode_t mode , dev_t *dev);
+ ]])],[
+- AC_DEFINE(XMKNODAT_FIFTH_ARG,)
+- AC_MSG_RESULT([no extra *])
+- ],[
+ AC_DEFINE(XMKNODAT_FIFTH_ARG,[*])
+ AC_MSG_RESULT([needs *])
++ ],[
++ AC_DEFINE(XMKNODAT_FIFTH_ARG,)
++ AC_MSG_RESULT([no extra *])
+
+ ])
+
+--
+GitLab
+
diff --git a/system/fakeroot/patches/fix-shell-in-fakeroot.patch b/system/fakeroot/patches/fix-shell-in-fakeroot.patch
new file mode 100644
index 0000000000000..ce5d23f0c85ea
--- /dev/null
+++ b/system/fakeroot/patches/fix-shell-in-fakeroot.patch
@@ -0,0 +1,13 @@
+Description: Fix shell in fakeroot.in
+ Use /bin/sh instead of @SHELL@ in fakeroot.in
+Author: Juan Picca <jumapico@gmail.com>
+Last-Update: 2016-06-27
+---
+--- a/scripts/fakeroot.in
++++ b/scripts/fakeroot.in
+@@ -1,4 +1,4 @@
+-#!@SHELL@
++#!/bin/sh
+
+ # This script first starts faked (the daemon), and then it will run
+ # the requested program with fake root privileges.