system/fakeroot: Update for version 1.36

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Andrzej Telszewski 2024-09-03 22:43:16 +02:00 committed by Willy Sudiarto Raharjo
parent 3e4cf418a5
commit 1a59e91abf
No known key found for this signature in database
GPG Key ID: 3F617144D7238786
9 changed files with 19 additions and 304 deletions

View File

@ -2,8 +2,8 @@
# Slackware build script for fakeroot
# Copyright 2024 Andrzej Telszewski, Koszalin
# Copyright 2007-2008 Ferenc Deak <ferenc.deak@gmail.com>
# Copyright 2018 Andrzej Telszewski, Szczecin
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@ -26,8 +26,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=fakeroot
VERSION=${VERSION:-1.25.3}
BUILD=${BUILD:-2}
VERSION=${VERSION:-1.36}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@ -39,9 +39,6 @@ if [ -z "$ARCH" ]; then
esac
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
@ -60,29 +57,26 @@ elif [ "$ARCH" = "i686" ]; then
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "aarch64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
set -eu
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/${PRGNAM}_$VERSION.orig.tar.?z
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
for i in $CWD/patches/* ; do patch -p1 < $i ; done
./bootstrap
chmod -R a-st,u+rwX,go-w+rX .
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@ -100,7 +94,7 @@ CXXFLAGS="$SLKCFLAGS" \
make
make DESTDIR=$PKG install-exec
if [ -z "$MANPO" -a -x /usr/bin/po4a ] || [ "$MANPO" = yes ]; then
if [ -z "${MANPO:-}" -a -x /usr/bin/po4a ] || [ "${MANPO:-}" = yes ]; then
cd doc
po4a -k 0 --rm-backups --variable "srcdir=../doc/" po4a/po4a.cfg
cd ..

View File

@ -1,10 +1,10 @@
PRGNAM="fakeroot"
VERSION="1.25.3"
HOMEPAGE="http://packages.debian.org/fakeroot"
DOWNLOAD="http://ponce.cc/slackware/sources/repo/fakeroot_1.25.3.orig.tar.gz"
MD5SUM="f6104ef6960c962377ef062bf222a1d2"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
VERSION="1.36"
HOMEPAGE="https://tracker.debian.org/pkg/fakeroot"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
DOWNLOAD_x86_64="http://deb.debian.org/debian/pool/main/f/fakeroot/fakeroot_1.36.orig.tar.gz"
MD5SUM_x86_64="557d78e61051de852c49822d4ccc61bc"
REQUIRES=""
MAINTAINER="Andrzej Telszewski"
EMAIL="atelszewski@gmail.com"
EMAIL="andrzej@telszewski.com"

View File

@ -1,71 +0,0 @@
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

View File

@ -1,26 +0,0 @@
--- 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
}
}

View File

@ -1,37 +0,0 @@
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

View File

@ -1,72 +0,0 @@
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

View File

@ -1,60 +0,0 @@
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

View File

@ -1,13 +0,0 @@
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.

View File

@ -14,6 +14,6 @@ fakeroot: to libfakeroot.so, which provides wrappers around getuid,
fakeroot: chown, chmod, mknod, stat, and so on, thereby creating a fake
fakeroot: root environment.
fakeroot:
fakeroot:
fakeroot: Homepage: https://tracker.debian.org/pkg/fakeroot
fakeroot:
fakeroot: