diff options
author | Sam Bingner <sam@bingner.com> | 2019-02-04 16:04:30 -1000 |
---|---|---|
committer | Sam Bingner <sam@bingner.com> | 2019-02-04 16:04:30 -1000 |
commit | d3af1cb437a93456d4c7e158f7e846d52bcf6803 (patch) | |
tree | a0fb7ca63fd32e111046bad636be96c742b77976 /data/fakeroot | |
parent | 0a387aa4d77da847fb244f2b591cae0edfc978be (diff) |
Add fakeroot
Diffstat (limited to 'data/fakeroot')
-rw-r--r-- | data/fakeroot/_metadata/description | 1 | ||||
-rw-r--r-- | data/fakeroot/_metadata/in.1443.00 | 0 | ||||
-rw-r--r-- | data/fakeroot/_metadata/in.550.58 | 0 | ||||
l--------- | data/fakeroot/_metadata/license | 1 | ||||
l--------- | data/fakeroot/_metadata/maintainer | 1 | ||||
-rw-r--r-- | data/fakeroot/_metadata/priority | 1 | ||||
-rw-r--r-- | data/fakeroot/_metadata/role | 1 | ||||
-rw-r--r-- | data/fakeroot/_metadata/section | 1 | ||||
l--------- | data/fakeroot/_metadata/shell-cmds.dep | 1 | ||||
-rw-r--r-- | data/fakeroot/_metadata/shell-cmds.ver.iphoneos-arm | 1 | ||||
-rw-r--r-- | data/fakeroot/_metadata/tags | 1 | ||||
-rw-r--r-- | data/fakeroot/_metadata/version | 1 | ||||
-rw-r--r-- | data/fakeroot/fakeroot_1.20.2.tar.bz2 | bin | 0 -> 326910 bytes | |||
-rw-r--r-- | data/fakeroot/iphone.diff | 371 | ||||
-rw-r--r-- | data/fakeroot/make.sh | 5 | ||||
-rw-r--r-- | data/fakeroot/openat.diff | 52 |
16 files changed, 438 insertions, 0 deletions
diff --git a/data/fakeroot/_metadata/description b/data/fakeroot/_metadata/description new file mode 100644 index 000000000..707a64cf7 --- /dev/null +++ b/data/fakeroot/_metadata/description @@ -0,0 +1 @@ +tool for simulating superuser privileges diff --git a/data/fakeroot/_metadata/in.1443.00 b/data/fakeroot/_metadata/in.1443.00 new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/data/fakeroot/_metadata/in.1443.00 diff --git a/data/fakeroot/_metadata/in.550.58 b/data/fakeroot/_metadata/in.550.58 new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/data/fakeroot/_metadata/in.550.58 diff --git a/data/fakeroot/_metadata/license b/data/fakeroot/_metadata/license new file mode 120000 index 000000000..af4224931 --- /dev/null +++ b/data/fakeroot/_metadata/license @@ -0,0 +1 @@ +../../../licenses/gpl-3
\ No newline at end of file diff --git a/data/fakeroot/_metadata/maintainer b/data/fakeroot/_metadata/maintainer new file mode 120000 index 000000000..573d7ebef --- /dev/null +++ b/data/fakeroot/_metadata/maintainer @@ -0,0 +1 @@ +../../../people/sbingner
\ No newline at end of file diff --git a/data/fakeroot/_metadata/priority b/data/fakeroot/_metadata/priority new file mode 100644 index 000000000..ea5b3d7ee --- /dev/null +++ b/data/fakeroot/_metadata/priority @@ -0,0 +1 @@ +important diff --git a/data/fakeroot/_metadata/role b/data/fakeroot/_metadata/role new file mode 100644 index 000000000..8d0320866 --- /dev/null +++ b/data/fakeroot/_metadata/role @@ -0,0 +1 @@ +developer diff --git a/data/fakeroot/_metadata/section b/data/fakeroot/_metadata/section new file mode 100644 index 000000000..e0eb96881 --- /dev/null +++ b/data/fakeroot/_metadata/section @@ -0,0 +1 @@ +Development diff --git a/data/fakeroot/_metadata/shell-cmds.dep b/data/fakeroot/_metadata/shell-cmds.dep new file mode 120000 index 000000000..27cb9a30a --- /dev/null +++ b/data/fakeroot/_metadata/shell-cmds.dep @@ -0,0 +1 @@ +../../shell-cmds
\ No newline at end of file diff --git a/data/fakeroot/_metadata/shell-cmds.ver.iphoneos-arm b/data/fakeroot/_metadata/shell-cmds.ver.iphoneos-arm new file mode 100644 index 000000000..cbda91a61 --- /dev/null +++ b/data/fakeroot/_metadata/shell-cmds.ver.iphoneos-arm @@ -0,0 +1 @@ +118-8 diff --git a/data/fakeroot/_metadata/tags b/data/fakeroot/_metadata/tags new file mode 100644 index 000000000..ad5d50831 --- /dev/null +++ b/data/fakeroot/_metadata/tags @@ -0,0 +1 @@ +purpose::console diff --git a/data/fakeroot/_metadata/version b/data/fakeroot/_metadata/version new file mode 100644 index 000000000..769e37e15 --- /dev/null +++ b/data/fakeroot/_metadata/version @@ -0,0 +1 @@ +1.20.2 diff --git a/data/fakeroot/fakeroot_1.20.2.tar.bz2 b/data/fakeroot/fakeroot_1.20.2.tar.bz2 Binary files differnew file mode 100644 index 000000000..c648fac8a --- /dev/null +++ b/data/fakeroot/fakeroot_1.20.2.tar.bz2 diff --git a/data/fakeroot/iphone.diff b/data/fakeroot/iphone.diff new file mode 100644 index 000000000..040046021 --- /dev/null +++ b/data/fakeroot/iphone.diff @@ -0,0 +1,371 @@ +diff -ur fakeroot-1.20.2/Makefile.am fakeroot-1.20.2+iPhone/Makefile.am +--- fakeroot-1.20.2/Makefile.am 2014-10-05 05:16:00.000000000 -1000 ++++ fakeroot-1.20.2+iPhone/Makefile.am 2019-01-28 21:53:27.000000000 -1000 +@@ -10,13 +10,8 @@ + lib_LTLIBRARIES=libfakeroot.la + libfakeroot_la_SOURCES=libfakeroot.c statconv/glibc/linux/alpha/stats.h wrapdef.h wrapstruct.h communicate.h + libfakeroot_la_LDFLAGS=-release 0 +-if MACOSX +-libfakeroot_la_DEPENDENCIES=wrapdef.h wrapstruct.h libcommunicate.la libmacosx.la $(LTLIBOBJS) +-libfakeroot_la_LIBADD = libcommunicate.la libmacosx.la $(LTLIBOBJS) +-else !MACOSX + libfakeroot_la_DEPENDENCIES=wrapdef.h wrapstruct.h libcommunicate.la $(LTLIBOBJS) + libfakeroot_la_LIBADD = libcommunicate.la $(LTLIBOBJS) +-endif !MACOSX + + bin_PROGRAMS=faked + faked_SOURCES = faked.c +diff -ur fakeroot-1.20.2/Makefile.in fakeroot-1.20.2+iPhone/Makefile.in +--- fakeroot-1.20.2/Makefile.in 2014-10-05 05:16:28.000000000 -1000 ++++ fakeroot-1.20.2+iPhone/Makefile.in 2019-01-28 21:53:27.000000000 -1000 +@@ -413,10 +413,8 @@ + lib_LTLIBRARIES = libfakeroot.la + libfakeroot_la_SOURCES = libfakeroot.c statconv/glibc/linux/alpha/stats.h wrapdef.h wrapstruct.h communicate.h + libfakeroot_la_LDFLAGS = -release 0 +-@MACOSX_FALSE@libfakeroot_la_DEPENDENCIES = wrapdef.h wrapstruct.h libcommunicate.la $(LTLIBOBJS) +-@MACOSX_TRUE@libfakeroot_la_DEPENDENCIES = wrapdef.h wrapstruct.h libcommunicate.la libmacosx.la $(LTLIBOBJS) +-@MACOSX_FALSE@libfakeroot_la_LIBADD = libcommunicate.la $(LTLIBOBJS) +-@MACOSX_TRUE@libfakeroot_la_LIBADD = libcommunicate.la libmacosx.la $(LTLIBOBJS) ++libfakeroot_la_DEPENDENCIES = wrapdef.h wrapstruct.h libcommunicate.la $(LTLIBOBJS) ++libfakeroot_la_LIBADD = libcommunicate.la $(LTLIBOBJS) + faked_SOURCES = faked.c + faked_LDADD = libcommunicate.la + simple_SOURCES = simple.c +diff -ur fakeroot-1.20.2/communicate.c fakeroot-1.20.2+iPhone/communicate.c +--- fakeroot-1.20.2/communicate.c 2014-10-05 05:16:00.000000000 -1000 ++++ fakeroot-1.20.2+iPhone/communicate.c 2019-01-28 21:53:27.000000000 -1000 +@@ -24,8 +24,14 @@ + In this file, we want 'struct stat' to have a 32-bit 'ino_t'. + We use 'struct stat64' when we need a 64-bit 'ino_t'. + */ ++# include <sys/cdefs.h> ++#if _DARWIN_FEATURE_ONLY_64_BIT_INODE ++#define STRUCT_STAT64 struct stat ++#else ++#define STRUCT_STAT64 struct stat64 + #define _DARWIN_NO_64_BIT_INODE + #endif ++#endif + + #include "communicate.h" + #include <dlfcn.h> +@@ -218,7 +224,7 @@ + #ifdef STAT64_SUPPORT + + void cpyfakemstat64(struct fake_msg *f, +- const struct stat64 *st ++ const STRUCT_STAT64 *st + #ifdef STUPID_ALPHA_HACK + , int ver + #endif +@@ -281,7 +287,7 @@ + } + #endif + } +-void cpystat64fakem(struct stat64 *st, ++void cpystat64fakem(STRUCT_STAT64 *st, + const struct fake_msg *f + #ifdef STUPID_ALPHA_HACK + , int ver +@@ -353,7 +359,7 @@ + + #ifdef _LARGEFILE_SOURCE + +-void stat64from32(struct stat64 *s64, const struct stat *s32) ++void stat64from32(STRUCT_STAT64 *s64, const struct stat *s32) + { + /* I've added st_size and st_blocks here. + Don't know why they were missing -- joost*/ +@@ -374,7 +380,7 @@ + + /* This assumes that the 64 bit structure is actually filled in and does not + down case the sizes from the 32 bit one.. */ +-void stat32from64(struct stat *s32, const struct stat64 *s64) ++void stat32from64(struct stat *s32, const STRUCT_STAT64 *s64) + { + s32->st_dev = s64->st_dev; + s32->st_ino = s64->st_ino; +@@ -711,7 +717,7 @@ + } + + #ifdef STAT64_SUPPORT +-void send_stat64(const struct stat64 *st, ++void send_stat64(const STRUCT_STAT64 *st, + func_id_t f + #ifdef STUPID_ALPHA_HACK + , int ver +@@ -819,7 +825,7 @@ + } + + #ifdef STAT64_SUPPORT +-void send_get_stat64(struct stat64 *st ++void send_get_stat64(STRUCT_STAT64 *st + #ifdef STUPID_ALPHA_HACK + , int ver + #endif +@@ -847,7 +853,7 @@ + } + } + +-void send_get_xattr64(struct stat64 *st ++void send_get_xattr64(STRUCT_STAT64 *st + , xattr_args *xattr + #ifdef STUPID_ALPHA_HACK + , int ver +diff -ur fakeroot-1.20.2/communicate.h fakeroot-1.20.2+iPhone/communicate.h +--- fakeroot-1.20.2/communicate.h 2014-10-05 05:16:00.000000000 -1000 ++++ fakeroot-1.20.2+iPhone/communicate.h 2019-01-28 21:53:27.000000000 -1000 +@@ -51,15 +51,13 @@ + + #ifdef __APPLE__ + # include <AvailabilityMacros.h> +-# ifndef MAC_OS_X_VERSION_10_5 1050 +-# define MAC_OS_X_VERSION_10_5 1050 +-# endif +-# ifndef MAC_OS_X_VERSION_10_6 1060 +-# define MAC_OS_X_VERSION_10_6 1060 +-# endif +-# if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 +-# define HAVE_APPLE_STAT64 1 +-# endif ++# include <sys/cdefs.h> ++#if _DARWIN_FEATURE_ONLY_64_BIT_INODE ++#define STRUCT_STAT64 struct stat ++#else ++#define STRUCT_STAT64 struct stat64 ++#endif ++# define HAVE_APPLE_STAT64 1 + #endif + + /* Then decide whether we do or do not use the stat64 support */ +@@ -205,16 +203,16 @@ + + #ifdef STAT64_SUPPORT + #ifndef STUPID_ALPHA_HACK +-extern void send_stat64(const struct stat64 *st, func_id_t f); +-extern void send_get_stat64(struct stat64 *buf); +-extern void send_get_xattr64(struct stat64 *st, xattr_args *xattr); +-#else +-extern void send_stat64(const struct stat64 *st, func_id_t f, int ver); +-extern void send_get_stat64(struct stat64 *buf, int ver); +-extern void send_get_xattr64(struct stat64 *st, xattr_args *xattr, int ver); ++extern void send_stat64(const STRUCT_STAT64 *st, func_id_t f); ++extern void send_get_stat64(STRUCT_STAT64 *buf); ++extern void send_get_xattr64(STRUCT_STAT64 *st, xattr_args *xattr); ++#else ++extern void send_stat64(const STRUCT_STAT64 *st, func_id_t f, int ver); ++extern void send_get_stat64(STRUCT_STAT64 *buf, int ver); ++extern void send_get_xattr64(STRUCT_STAT64 *st, xattr_args *xattr, int ver); + #endif +-extern void stat64from32(struct stat64 *s64, const struct stat *s32); +-extern void stat32from64(struct stat *s32, const struct stat64 *s64); ++extern void stat64from32(STRUCT_STAT64 *s64, const struct stat *s32); ++extern void stat32from64(struct stat *s32, const STRUCT_STAT64 *s64); + #endif + + #ifndef FAKEROOT_FAKENET +diff -ur fakeroot-1.20.2/faked.c fakeroot-1.20.2+iPhone/faked.c +--- fakeroot-1.20.2/faked.c 2014-10-05 05:16:00.000000000 -1000 ++++ fakeroot-1.20.2+iPhone/faked.c 2019-01-28 21:53:27.000000000 -1000 +@@ -84,7 +84,10 @@ + In this file, we want 'struct stat' to have a 32-bit 'ino_t'. + We use 'struct stat64' when we need a 64-bit 'ino_t'. + */ +-#define _DARWIN_NO_64_BIT_INODE ++# include <sys/cdefs.h> ++# if !__DARWIN_ONLY_64_BIT_INO_T ++# define _DARWIN_NO_64_BIT_INODE ++# endif + #endif + + #include "config.h" +diff -ur fakeroot-1.20.2/libfakeroot.c fakeroot-1.20.2+iPhone/libfakeroot.c +--- fakeroot-1.20.2/libfakeroot.c 2014-10-05 05:16:00.000000000 -1000 ++++ fakeroot-1.20.2+iPhone/libfakeroot.c 2019-01-28 21:59:28.000000000 -1000 +@@ -29,6 +29,7 @@ + fakeroot + always bombs. Simple fix: + */ ++#import <sys/stat.h> + #define _GNU_SOURCE + + #define FAKEROOT_LIBFAKEROOT +@@ -38,7 +39,14 @@ + In this file, we want 'struct stat' to have a 32-bit 'ino_t'. + We use 'struct stat64' when we need a 64-bit 'ino_t'. + */ ++#include <sys/cdefs.h> ++ ++#if _DARWIN_FEATURE_ONLY_64_BIT_INODE ++#define STRUCT_STAT64 struct stat ++#else ++#define STRUCT_STAT64 struct stat64 + #define _DARWIN_NO_64_BIT_INODE ++#endif + + /* The helper _unix2003 version of this file calls a few functions in this file + that are marked with static_nonapple so that needs to become private instead +@@ -95,7 +103,7 @@ + the fakeroot library owns the storage of the stat variable. + */ + #ifdef STAT64_SUPPORT +-#define INT_STRUCT_STAT struct stat64 ++#define INT_STRUCT_STAT STRUCT_STAT64 + #define INT_NEXT_STAT(a,b) NEXT_STAT64(_STAT_VER,a,b) + #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT64(_STAT_VER,a,b) + #define INT_NEXT_FSTAT(a,b) NEXT_FSTAT64(_STAT_VER,a,b) +@@ -686,7 +694,7 @@ + + int WRAP_LSTAT64 LSTAT64_ARG (int ver, + const char *file_name, +- struct stat64 *st){ ++ STRUCT_STAT64 *st){ + + int r; + +@@ -707,7 +715,7 @@ + + int WRAP_STAT64 STAT64_ARG(int ver, + const char *file_name, +- struct stat64 *st){ ++ STRUCT_STAT64 *st){ + int r; + + #ifdef LIBFAKEROOT_DEBUGGING +@@ -725,7 +733,7 @@ + + int WRAP_FSTAT64 FSTAT64_ARG(int ver, + int fd, +- struct stat64 *st){ ++ STRUCT_STAT64 *st){ + int r; + + #ifdef LIBFAKEROOT_DEBUGGING +@@ -745,7 +753,7 @@ + int WRAP_FSTATAT64 FSTATAT64_ARG(int ver, + int dir_fd, + const char *path, +- struct stat64 *st, ++ STRUCT_STAT64 *st, + int flags){ + + +@@ -1894,7 +1902,7 @@ + } + #endif /* HAVE_FREMOVEXATTR */ + +-int setpriority(int which, int who, int prio){ ++int setpriority(int which, id_t who, int prio){ + if (fakeroot_disabled) + return next_setpriority(which, who, prio); + next_setpriority(which, who, prio); +Only in fakeroot-1.20.2+iPhone/: libfakeroot.c.orig +diff -ur fakeroot-1.20.2/libfakeroot_unix2003.c fakeroot-1.20.2+iPhone/libfakeroot_unix2003.c +--- fakeroot-1.20.2/libfakeroot_unix2003.c 2014-10-05 05:16:00.000000000 -1000 ++++ fakeroot-1.20.2+iPhone/libfakeroot_unix2003.c 2019-01-28 21:53:27.000000000 -1000 +@@ -18,7 +18,13 @@ + In this file, we want 'struct stat' to have a 32-bit 'ino_t'. + We use 'struct stat64' when we need a 64-bit 'ino_t'. + */ ++#include <sys/cdefs.h> ++#if _DARWIN_FEATURE_ONLY_64_BIT_INODE ++#define INT_STRUCT_STAT struct stat ++#else ++#define INT_STRUCT_STAT struct stat64 + #define _DARWIN_NO_64_BIT_INODE ++#endif + + /* + This file is for 32-bit symbols which have the "$UNIX2003" version, i.e. +@@ -48,14 +54,12 @@ + the fakeroot library owns the storage of the stat variable. + */ + #ifdef STAT64_SUPPORT +-#define INT_STRUCT_STAT struct stat64 + #define INT_NEXT_STAT(a,b) NEXT_STAT64(_STAT_VER,a,b) + #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT64(_STAT_VER,a,b) + #define INT_NEXT_FSTAT(a,b) NEXT_FSTAT64(_STAT_VER,a,b) + #define INT_NEXT_FSTATAT(a,b,c,d) NEXT_FSTATAT64(_STAT_VER,a,b,c,d) + #define INT_SEND_STAT(a,b) SEND_STAT64(a,b,_STAT_VER) + #else +-#define INT_STRUCT_STAT struct stat + #define INT_NEXT_STAT(a,b) NEXT_STAT(_STAT_VER,a,b) + #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT(_STAT_VER,a,b) + #define INT_NEXT_FSTAT(a,b) NEXT_FSTAT(_STAT_VER,a,b) +diff -ur fakeroot-1.20.2/wrapfunc.inp fakeroot-1.20.2+iPhone/wrapfunc.inp +--- fakeroot-1.20.2/wrapfunc.inp 2014-10-05 05:16:00.000000000 -1000 ++++ fakeroot-1.20.2+iPhone/wrapfunc.inp 2019-01-28 21:59:28.000000000 -1000 +@@ -16,6 +16,14 @@ + /* __*xstat are used on glibc systems instead of just *xstat. */ + /**/ + ++#include <sys/cdefs.h> ++ ++#if _DARWIN_FEATURE_ONLY_64_BIT_INODE ++#define STRUCT_STAT64 struct stat ++#else ++#define STRUCT_STAT64 struct stat64 ++#endif ++ + WRAP_LSTAT;int;LSTAT_ARG(int ver, const char *file_name, struct stat *buf);LSTAT_ARG(ver, file_name, buf);LSTAT + WRAP_STAT;int;STAT_ARG(int ver, const char *file_name, struct stat *buf);STAT_ARG(ver, file_name, buf);STAT + WRAP_FSTAT;int;FSTAT_ARG(int ver, int fd, struct stat *buf);FSTAT_ARG(ver, fd, buf);FSTAT +@@ -24,11 +32,11 @@ + #endif /* HAVE_FSTATAT */ + + #ifdef STAT64_SUPPORT +-WRAP_LSTAT64;int;LSTAT64_ARG(int ver, const char *file_name, struct stat64 *buf);LSTAT64_ARG(ver, file_name, buf);LSTAT64 +-WRAP_STAT64;int;STAT64_ARG(int ver, const char *file_name, struct stat64 *buf);STAT64_ARG(ver, file_name, buf);STAT64 +-WRAP_FSTAT64;int;FSTAT64_ARG(int ver, int fd, struct stat64 *buf);FSTAT64_ARG(ver, fd, buf);FSTAT64 ++WRAP_LSTAT64;int;LSTAT64_ARG(int ver, const char *file_name, STRUCT_STAT64 *buf);LSTAT64_ARG(ver, file_name, buf);LSTAT64 ++WRAP_STAT64;int;STAT64_ARG(int ver, const char *file_name, STRUCT_STAT64 *buf);STAT64_ARG(ver, file_name, buf);STAT64 ++WRAP_FSTAT64;int;FSTAT64_ARG(int ver, int fd, STRUCT_STAT64 *buf);FSTAT64_ARG(ver, fd, buf);FSTAT64 + #ifdef HAVE_FSTATAT +-WRAP_FSTATAT64;int;FSTATAT64_ARG(int ver, int dir_fd, const char *path, struct stat64 *buf, int flags);FSTATAT64_ARG(ver, dir_fd, path, buf, flags);FSTATAT64 ++WRAP_FSTATAT64;int;FSTATAT64_ARG(int ver, int dir_fd, const char *path, STRUCT_STAT64 *buf, int flags);FSTATAT64_ARG(ver, dir_fd, path, buf, flags);FSTATAT64 + #endif /* HAVE_FSTATAT */ + #endif /* STAT64_SUPPORT */ + +@@ -48,9 +56,11 @@ + #endif + #endif + #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 ++#if !_DARWIN_FEATURE_ONLY_64_BIT_INODE + lstat$INODE64;int;(const char *file_name, struct stat *buf);(file_name, buf) + stat$INODE64;int;(const char *file_name, struct stat *buf);(file_name, buf) + fstat$INODE64;int;(int fd, struct stat *buf);(fd, buf) ++#endif + posix_spawn;int;(pid_t * __restrict pid, const char * __restrict path, const posix_spawn_file_actions_t *file_actions, const posix_spawnattr_t * __restrict attrp, char *const argv[ __restrict], char *const envp[ __restrict]);(pid, path, file_actions, attrp, argv, envp) + posix_spawnp;int;(pid_t * __restrict pid, const char * __restrict path, const posix_spawn_file_actions_t *file_actions, const posix_spawnattr_t * __restrict attrp, char *const argv[ __restrict], char *const envp[ __restrict]);(pid, path, file_actions, attrp, argv, envp) + #endif +@@ -145,7 +155,7 @@ + #endif /* HAVE_SETFSGID */ + initgroups;int;(const char *user, INITGROUPS_SECOND_ARG group);(user, group) + setgroups;int;(SETGROUPS_SIZE_TYPE size, const gid_t *list);(size, list) +-setpriority;int;(int which, int who, int prio);(which, who, prio) ++setpriority;int;(int which, id_t who, int prio);(which, who, prio) + #ifdef HAVE_CAPSET + capset;int;(cap_user_header_t hdrp, const cap_user_data_t datap);(hdrp, datap) + #endif /* HAVE_CAPSET */ +@@ -218,16 +228,20 @@ + fts_read;FTSENT *;(FTS *ftsp);(ftsp) + #ifdef __APPLE__ + #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 ++#if !_DARWIN_FEATURE_ONLY_64_BIT_INODE + fts_read$INODE64;FTSENT *;(FTS *ftsp);(ftsp) + #endif ++#endif + #endif /* ifdef __APPLE__ */ + #endif /* HAVE_FTS_READ */ + #ifdef HAVE_FTS_CHILDREN + fts_children;FTSENT *;(FTS *ftsp, int options);(ftsp, options) + #ifdef __APPLE__ + #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 ++#if !_DARWIN_FEATURE_ONLY_64_BIT_INODE + fts_children$INODE64;FTSENT *;(FTS *ftsp, int options);(ftsp, options) + #endif ++#endif + #endif /* ifdef __APPLE__ */ + #endif /* HAVE_FTS_CHILDREN */ + +Only in fakeroot-1.20.2+iPhone/: wrapfunc.inp.orig diff --git a/data/fakeroot/make.sh b/data/fakeroot/make.sh new file mode 100644 index 000000000..4524d2558 --- /dev/null +++ b/data/fakeroot/make.sh @@ -0,0 +1,5 @@ +pkg:setup +#pkg:configure ac_cv_func_stat64=no ac_cv_func_fstat64=no ac_cv_func_fstatat64=no CFLAGS=-g --with-ipc=tcp +pkg:configure --with-ipc=tcp +pkg:make +pkg:install diff --git a/data/fakeroot/openat.diff b/data/fakeroot/openat.diff new file mode 100644 index 000000000..3287bb4f3 --- /dev/null +++ b/data/fakeroot/openat.diff @@ -0,0 +1,52 @@ +>From d67f168080229bdfda9e07fc473fd699ed76a001 Mon Sep 17 00:00:00 2001 +From: Mikhail Gusarov <dottedmag@dottedmag.net> +Date: Fri, 24 Oct 2014 17:36:15 +0200 +Subject: [PATCH 1/2] Implement openat(2) wrapper which handles optional + argument + +Unbreaks build on OS X 10.10 +--- + libfakeroot.c | 16 ++++++++++++++++ + wrapfunc.inp | 2 +- + 2 files changed, 17 insertions(+), 1 deletion(-) + +diff --git a/libfakeroot.c b/libfakeroot.c +index f867758..cd0be84 100644 +--- a/libfakeroot.c ++++ b/libfakeroot.c +@@ -2426,3 +2426,19 @@ int sysinfo(int command, char *buf, long count) + } + } + #endif ++ ++#ifdef HAVE_OPENAT ++int openat(int dir_fd, const char *pathname, int flags, ...) ++{ ++ if (flags & O_CREAT) ++ { ++ va_list args; ++ mode_t mode; ++ va_start(args, flags); ++ mode = va_arg(args, int); ++ va_end(args); ++ return next_openat(dir_fd, pathname, flags, mode); ++ } ++ return next_openat(dir_fd, pathname, flags); ++} ++#endif +diff --git a/wrapfunc.inp b/wrapfunc.inp +index 5eff0cc..88bcc11 100644 +--- a/wrapfunc.inp ++++ b/wrapfunc.inp +@@ -197,7 +197,7 @@ fchownat;int;(int dir_fd, const char *path, uid_t owner, gid_t group, int flags) + mkdirat;int;(int dir_fd, const char *pathname, mode_t mode);(dir_fd, pathname, mode) + #endif /* HAVE_MKDIRAT */ + #ifdef HAVE_OPENAT +-openat;int;(int dir_fd, const char *pathname, int flags);(dir_fd, pathname, flags) ++openat;int;(int dir_fd, const char *pathname, int flags, ...) + #endif /* HAVE_OPENAT */ + #ifdef HAVE_RENAMEAT + renameat;int;(int olddir_fd, const char *oldpath, int newdir_fd, const char *newpath);(olddir_fd, oldpath, newdir_fd, newpath) +-- +2.1.2 + |