-FAKEROOT_BINDIR=@bindir@
+if [ -n "$STAGING_DIR_HOST" ]; then
+ USEABSLIBPATH=1
-+ LIB=${STAGING_DIR_HOST}/lib/lib@fakeroot_transformed@@DLSUFFIX@
++ FAKEROOT_LIB=${STAGING_DIR_HOST}/lib/lib@fakeroot_transformed@@DLSUFFIX@
+ FAKED=${STAGING_DIR_HOST}/bin/faked
+ PATHS=
+else
+ FAKEROOT_BINDIR=@bindir@
-USEABSLIBPATH=@LDPRELOADABS@
--LIB=lib@fakeroot_transformed@@DLSUFFIX@
+-FAKEROOT_LIB=lib@fakeroot_transformed@@DLSUFFIX@
-PATHS=@libdir@:${FAKEROOT_PREFIX}/lib64/libfakeroot:${FAKEROOT_PREFIX}/lib32/libfakeroot
-FAKED=${FAKEROOT_BINDIR}/@faked_transformed@
+ USEABSLIBPATH=@LDPRELOADABS@
-+ LIB=lib@fakeroot_transformed@@DLSUFFIX@
++ FAKEROOT_LIB=lib@fakeroot_transformed@@DLSUFFIX@
+ PATHS=@libdir@:${FAKEROOT_PREFIX}/lib64/libfakeroot:${FAKEROOT_PREFIX}/lib32/libfakeroot
+ FAKED=${FAKEROOT_BINDIR}/@faked_transformed@
+fi
--- a/libfakeroot.c
+++ b/libfakeroot.c
-@@ -110,8 +110,16 @@
- #define INT_NEXT_FSTATAT(a,b,c,d) NEXT_FSTATAT(_STAT_VER,a,b,c,d)
+@@ -112,8 +112,16 @@
#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 */
#include <stdlib.h>
#include <sys/ipc.h>
#include <sys/msg.h>
-@@ -123,7 +131,6 @@
+@@ -125,7 +133,6 @@
#include <unistd.h>
#include <dirent.h>
#include <errno.h>
#ifdef HAVE_SYS_ACL_H
#include <sys/acl.h>
#endif /* HAVE_SYS_ACL_H */
-@@ -1894,7 +1901,7 @@ ssize_t fremovexattr(int fd, const char
+@@ -1911,7 +1918,7 @@ ssize_t fremovexattr(int fd, const char
}
#endif /* HAVE_FREMOVEXATTR */
if (fakeroot_disabled)
return next_setpriority(which, who, prio);
next_setpriority(which, who, prio);
-@@ -2426,3 +2433,19 @@ int sysinfo(int command, char *buf, long
+@@ -2520,3 +2527,19 @@ int sysinfo(int command, char *buf, long
}
}
#endif
+#endif
--- a/wrapfunc.inp
+++ b/wrapfunc.inp
-@@ -145,7 +145,7 @@ setfsgid;gid_t;(gid_t fsgid);(fsgid)
- #endif /* HAVE_SETFSGID */
+@@ -146,7 +146,7 @@ setfsgid;gid_t;(gid_t fsgid);(fsgid)
initgroups;int;(const char *user, INITGROUPS_SECOND_ARG group);(user, group)
+ getgroups;int;(int size, gid_t list[]);(size, list)
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 */
-@@ -197,7 +197,7 @@ fchownat;int;(int dir_fd, const char *pa
+@@ -198,7 +198,7 @@ fchownat;int;(int dir_fd, const char *pa
mkdirat;int;(int dir_fd, const char *pathname, mode_t mode);(dir_fd, pathname, mode)
#endif /* HAVE_MKDIRAT */
#ifdef HAVE_OPENAT
print "static __inline__ " ret " next_" name, argtype " {" > tmpffile;
--- a/configure.ac
+++ b/configure.ac
-@@ -110,6 +110,7 @@ for first in size_t int; do
- #include <sys/types.h>
- #endif
- #include <unistd.h>
-+#include <stdio.h>
- #ifdef HAVE_GRP_H
- #include <grp.h>
- #endif
---- a/configure
-+++ b/configure
-@@ -12847,6 +12847,7 @@ for first in size_t int; do
+@@ -146,6 +146,7 @@ for first in size_t int; do
#include <sys/types.h>
#endif
#include <unistd.h>
+++ /dev/null
-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
-
---- 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
- }
-+
- }
- }
-