diff options
Diffstat (limited to 'system')
9 files changed, 285 insertions, 40 deletions
diff --git a/system/fakeroot/fakeroot.SlackBuild b/system/fakeroot/fakeroot.SlackBuild index 4f2458b20dd8..f447b400a34f 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 f135f82b8b37..4463bbacbb7a 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 2c61fab24843..000000000000 --- 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 000000000000..f300b6f70768 --- /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 000000000000..5ba45fde3dc5 --- /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 000000000000..8b7867bce1cf --- /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 000000000000..e0bd2e533da6 --- /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 000000000000..1c4297094c38 --- /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 000000000000..ce5d23f0c85e --- /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. |