mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-05 14:07:27 -08:00
sys-apps/fakeroot: fix building on musl
Closes: https://bugs.gentoo.org/894510 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
This commit is contained in:
parent
b915ed1e5f
commit
cbe66de5b8
@ -25,6 +25,11 @@ BDEPEND="nls? ( app-text/po4a )"
|
||||
|
||||
DOCS=( AUTHORS BUGS DEBUG README doc/README.saving )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-1.32.2-musl.patch"
|
||||
"${FILESDIR}/${PN}-1.32.2-configure-id_t.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
|
||||
@ -25,6 +25,11 @@ BDEPEND="nls? ( app-text/po4a )"
|
||||
|
||||
DOCS=( AUTHORS BUGS DEBUG README doc/README.saving )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-1.32.2-musl.patch"
|
||||
"${FILESDIR}/${PN}-1.32.2-configure-id_t.patch" # merged upstream 1.35.1
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
|
||||
35
sys-apps/fakeroot/files/fakeroot-1.32.2-configure-id_t.patch
Normal file
35
sys-apps/fakeroot/files/fakeroot-1.32.2-configure-id_t.patch
Normal file
@ -0,0 +1,35 @@
|
||||
https://salsa.debian.org/clint/fakeroot/-/commit/819063eb4d2781ddea0647117ad6ab4d502dd39d
|
||||
From: Clint Adams <clint@debian.org>
|
||||
Date: Thu, 6 Jun 2024 09:16:52 -0400
|
||||
Subject: [PATCH] test for id_t with autoconf instead of blind typedef, fixes
|
||||
FTBFS on FreeBSD
|
||||
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -111,6 +111,7 @@ AC_C_CONST
|
||||
AC_CHECK_TYPE(mode_t, int)
|
||||
AC_CHECK_TYPE(off_t, long)
|
||||
AC_CHECK_TYPE(size_t, unsigned)
|
||||
+AC_CHECK_TYPE(id_t, int)
|
||||
|
||||
AH_TEMPLATE([FAKEROOT_ATTR], [for packed])
|
||||
if test -n "$GCC";
|
||||
--- a/libfakeroot.c
|
||||
+++ b/libfakeroot.c
|
||||
@@ -139,13 +139,6 @@
|
||||
#define INT_SEND_STAT(a,b) SEND_STAT(a,b,_STAT_VER)
|
||||
#define INT_SEND_GET_XATTR(a,b) SEND_GET_XATTR(a,b,_STAT_VER)
|
||||
#define INT_SEND_GET_STAT(a,b) SEND_GET_STAT(a,b)
|
||||
-
|
||||
-/* 10.10 uses id_t in getpriority/setpriority calls, so pretend
|
||||
- id_t is used everywhere, just happens to be int on some OSes */
|
||||
-#ifndef _ID_T
|
||||
-#define _ID_T
|
||||
-typedef int id_t;
|
||||
-#endif
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
--
|
||||
GitLab
|
||||
|
||||
68
sys-apps/fakeroot/files/fakeroot-1.32.2-musl.patch
Normal file
68
sys-apps/fakeroot/files/fakeroot-1.32.2-musl.patch
Normal file
@ -0,0 +1,68 @@
|
||||
https://github.com/void-linux/void-packages/tree/master/srcpkgs/fakeroot/patches
|
||||
--- a/faked.c
|
||||
+++ b/faked.c
|
||||
@@ -121,6 +121,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <signal.h>
|
||||
+#include <inttypes.h>
|
||||
#ifdef HAVE_STDINT_H
|
||||
# include <stdint.h>
|
||||
#endif
|
||||
@@ -514,11 +514,11 @@
|
||||
|
||||
#ifdef FAKEROOT_DB_PATH
|
||||
if (find_path(i->buf.dev, i->buf.ino, roots, path))
|
||||
- fprintf(f,"mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu %s\n",
|
||||
+ fprintf(f,"mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64" %s\n",
|
||||
(uint64_t) i->buf.mode,(uint64_t) i->buf.uid,(uint64_t) i->buf.gid,
|
||||
(uint64_t) i->buf.nlink,(uint64_t) i->buf.rdev,path);
|
||||
#else
|
||||
- fprintf(f,"dev=%llx,ino=%llu,mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu\n",
|
||||
+ fprintf(f,"dev=%"PRIx64",ino=%"PRIu64",mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64"\n",
|
||||
(uint64_t) i->buf.dev,(uint64_t) i->buf.ino,(uint64_t) i->buf.mode,
|
||||
(uint64_t) i->buf.uid,(uint64_t) i->buf.gid,(uint64_t) i->buf.nlink,
|
||||
(uint64_t) i->buf.rdev);
|
||||
@@ -544,7 +544,7 @@
|
||||
|
||||
while(1){
|
||||
#ifdef FAKEROOT_DB_PATH
|
||||
- r=scanf("mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu "DB_PATH_SCAN"\n",
|
||||
+ r=scanf("mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64" "DB_PATH_SCAN"\n",
|
||||
&stmode, &stuid, &stgid, &stnlink, &strdev, &path);
|
||||
if (r != 6)
|
||||
break;
|
||||
@@ -559,7 +559,7 @@
|
||||
stdev = path_st.st_dev;
|
||||
stino = path_st.st_ino;
|
||||
#else
|
||||
- r=scanf("dev=%llx,ino=%llu,mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu\n",
|
||||
+ r=scanf("dev=%"PRIx64",ino=%"PRIu64",mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64"\n",
|
||||
&stdev, &stino, &stmode, &stuid, &stgid, &stnlink, &strdev);
|
||||
if (r != 7)
|
||||
break;
|
||||
@@ -687,7 +688,7 @@ int load_database(const uint32_t remote)
|
||||
/* */
|
||||
/*********************************/
|
||||
void debug_stat(const struct fakestat *st){
|
||||
- fprintf(stderr,"dev:ino=(%llx:%lli), mode=0%lo, own=(%li,%li), nlink=%li, rdev=%lli\n",
|
||||
+ fprintf(stderr,"dev:ino=(%"PRIx64":%"PRIu64"), mode=0%lo, own=(%li,%li), nlink=%li, rdev=%"PRIu64"\n",
|
||||
st->dev,
|
||||
st->ino,
|
||||
(long)st->mode,
|
||||
--- a/libfakeroot.c
|
||||
+++ b/libfakeroot.c
|
||||
@@ -81,12 +81,14 @@
|
||||
#define SEND_STAT64(a,b,c) send_stat64(a,b,c)
|
||||
#define SEND_GET_STAT(a,b) send_get_stat(a,b)
|
||||
#define SEND_GET_STAT64(a,b) send_get_stat64(a,b)
|
||||
+#define SEND_GET_XATTR(a,b,c) send_get_xattr(a,b,c)
|
||||
#define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b,c)
|
||||
#else
|
||||
#define SEND_STAT(a,b,c) send_stat(a,b)
|
||||
#define SEND_STAT64(a,b,c) send_stat64(a,b)
|
||||
#define SEND_GET_STAT(a,b) send_get_stat(a)
|
||||
#define SEND_GET_STAT64(a,b) send_get_stat64(a)
|
||||
+#define SEND_GET_XATTR(a,b,c) send_get_xattr(a,b)
|
||||
#define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b)
|
||||
#endif
|
||||
Loading…
x
Reference in New Issue
Block a user