parent
f95bb4b448
commit
b9a52e9548
@ -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
|
||||
}
|
||||
}
|
||||
|
@ -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.
|
@ -0,0 +1,108 @@
|
||||
Fix the type of xattr functions to match the glibc headers.
|
||||
|
||||
--- a/libfakeroot.c
|
||||
+++ b/libfakeroot.c
|
||||
@@ -1570,7 +1570,7 @@
|
||||
#endif /* HAVE_CAPSET */
|
||||
|
||||
#if defined(HAVE_SETXATTR) || defined(HAVE_LSETXATTR) || defined(HAVE_FSETXATTR)
|
||||
-static size_t common_setxattr(INT_STRUCT_STAT *st, const char *name, void * value, size_t size, int flags)
|
||||
+static int common_setxattr(INT_STRUCT_STAT *st, const char *name, const void * value, size_t size, int flags)
|
||||
{
|
||||
xattr_args xattr;
|
||||
xattr.name = name;
|
||||
@@ -1625,7 +1625,7 @@
|
||||
#endif /* defined(HAVE_LISTXATTR) || defined(HAVE_LLISTXATTR) || defined(HAVE_FLISTXATTR) */
|
||||
|
||||
#if defined(HAVE_REMOVEXATTR) || defined(HAVE_LREMOVEXATTR) || defined(HAVE_FREMOVEXATTR)
|
||||
-static size_t common_removexattr(INT_STRUCT_STAT *st, const char *name)
|
||||
+static int common_removexattr(INT_STRUCT_STAT *st, const char *name)
|
||||
{
|
||||
xattr_args xattr;
|
||||
xattr.name = name;
|
||||
@@ -1643,7 +1643,7 @@
|
||||
#endif /* defined(HAVE_REMOVEXATTR) || defined(HAVE_LREMOVEXATTR) || defined(HAVE_FREMOVEXATTR) */
|
||||
|
||||
#ifdef HAVE_SETXATTR
|
||||
-ssize_t setxattr(const char *path, const char *name, void *value, size_t size, int flags)
|
||||
+int setxattr(const char *path, const char *name, const void *value, size_t size, int flags)
|
||||
{
|
||||
INT_STRUCT_STAT st;
|
||||
int r;
|
||||
@@ -1664,7 +1664,7 @@
|
||||
#endif /* HAVE_SETXATTR */
|
||||
|
||||
#ifdef HAVE_LSETXATTR
|
||||
-ssize_t lsetxattr(const char *path, const char *name, void *value, size_t size, int flags)
|
||||
+int lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags)
|
||||
{
|
||||
INT_STRUCT_STAT st;
|
||||
int r;
|
||||
@@ -1685,7 +1685,7 @@
|
||||
#endif /* HAVE_LSETXATTR */
|
||||
|
||||
#ifdef HAVE_FSETXATTR
|
||||
-ssize_t fsetxattr(int fd, const char *name, void *value, size_t size, int flags)
|
||||
+int fsetxattr(int fd, const char *name, const void *value, size_t size, int flags)
|
||||
{
|
||||
INT_STRUCT_STAT st;
|
||||
int r;
|
||||
@@ -1832,7 +1832,7 @@
|
||||
#endif /* HAVE_FLISTXATTR */
|
||||
|
||||
#ifdef HAVE_REMOVEXATTR
|
||||
-ssize_t removexattr(const char *path, const char *name)
|
||||
+int removexattr(const char *path, const char *name)
|
||||
{
|
||||
INT_STRUCT_STAT st;
|
||||
int r;
|
||||
@@ -1853,7 +1853,7 @@
|
||||
#endif /* HAVE_REMOVEXATTR */
|
||||
|
||||
#ifdef HAVE_LREMOVEXATTR
|
||||
-ssize_t lremovexattr(const char *path, const char *name)
|
||||
+int lremovexattr(const char *path, const char *name)
|
||||
{
|
||||
INT_STRUCT_STAT st;
|
||||
int r;
|
||||
@@ -1874,7 +1874,7 @@
|
||||
#endif /* HAVE_LREMOVEXATTR */
|
||||
|
||||
#ifdef HAVE_FREMOVEXATTR
|
||||
-ssize_t fremovexattr(int fd, const char *name)
|
||||
+int fremovexattr(int fd, const char *name)
|
||||
{
|
||||
INT_STRUCT_STAT st;
|
||||
int r;
|
||||
--- a/wrapfunc.inp
|
||||
+++ b/wrapfunc.inp
|
||||
@@ -168,22 +168,22 @@
|
||||
fgetxattr;ssize_t;(int fd, const char *name, void *value, size_t size);(fd, name, value, size)
|
||||
#endif /* HAVE_FGETXATTR */
|
||||
#ifdef HAVE_SETXATTR
|
||||
-setxattr;ssize_t;(const char *path, const char *name, void *value, size_t size, int flags);(path, name, value, size, flags)
|
||||
+setxattr;int;(const char *path, const char *name, const void *value, size_t size, int flags);(path, name, value, size, flags)
|
||||
#endif /* HAVE_SETXATTR */
|
||||
#ifdef HAVE_LSETXATTR
|
||||
-lsetxattr;ssize_t;(const char *path, const char *name, void *value, size_t size, int flags);(path, name, value, size, flags)
|
||||
+lsetxattr;int;(const char *path, const char *name, const void *value, size_t size, int flags);(path, name, value, size, flags)
|
||||
#endif /* HAVE_LSETXATTR */
|
||||
#ifdef HAVE_FSETXATTR
|
||||
-fsetxattr;ssize_t;(int fd, const char *name, void *value, size_t size, int flags);(fd, name, value, size, flags)
|
||||
+fsetxattr;int;(int fd, const char *name, const void *value, size_t size, int flags);(fd, name, value, size, flags)
|
||||
#endif /* HAVE_FSETXATTR */
|
||||
#ifdef HAVE_REMOVEXATTR
|
||||
-removexattr;ssize_t;(const char *path, const char *name);(path, name)
|
||||
+removexattr;int;(const char *path, const char *name);(path, name)
|
||||
#endif /* HAVE_REMOVEXATTR */
|
||||
#ifdef HAVE_LREMOVEXATTR
|
||||
-lremovexattr;ssize_t;(const char *path, const char *name);(path, name)
|
||||
+lremovexattr;int;(const char *path, const char *name);(path, name)
|
||||
#endif /* HAVE_LREMOVEXATTR */
|
||||
#ifdef HAVE_FREMOVEXATTR
|
||||
-fremovexattr;ssize_t;(int fd, const char *name);(fd, name)
|
||||
+fremovexattr;int;(int fd, const char *name);(fd, name)
|
||||
#endif /* HAVE_FREMOVEXATTR */
|
||||
|
||||
#ifdef HAVE_FSTATAT
|
||||
|
@ -0,0 +1,32 @@
|
||||
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
|
||||
}
|
||||
+
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in new issue