[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fedora-extras-commits
Subject:    adamwill pushed to fakeroot (master). "Apply all patches from Debian package"
From:       notifications () fedoraproject ! org
Date:       2016-12-31 18:50:50
Message-ID: 20161231185050.910666077DFC () bastion01 ! phx2 ! fedoraproject ! org
[Download RAW message or body]

From b9a52e9548e4b15bab53ec54295093c28a2843fe Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Sat, 31 Dec 2016 10:50:38 -0800
Subject: Apply all patches from Debian package

---
 debian_eglibc-fts-without-LFS.patch |  26 +++++++++
 debian_fix-shell-in-fakeroot.patch  |  13 +++++
 debian_glibc-xattr-types.patch      | 108 ++++++++++++++++++++++++++++++++++++
 debian_hide-dlsym-error.patch       |  32 +++++++++++
 fakeroot.spec                       |  18 ++++--
 5 files changed, 191 insertions(+), 6 deletions(-)
 create mode 100644 debian_eglibc-fts-without-LFS.patch
 create mode 100644 debian_fix-shell-in-fakeroot.patch
 create mode 100644 debian_glibc-xattr-types.patch
 create mode 100644 debian_hide-dlsym-error.patch

diff --git a/debian_eglibc-fts-without-LFS.patch \
b/debian_eglibc-fts-without-LFS.patch new file mode 100644
index 0000000..5ba45fd
--- /dev/null
+++ b/debian_eglibc-fts-without-LFS.patch
@@ -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
+     }
+   }
+ 
diff --git a/debian_fix-shell-in-fakeroot.patch b/debian_fix-shell-in-fakeroot.patch
new file mode 100644
index 0000000..ce5d23f
--- /dev/null
+++ b/debian_fix-shell-in-fakeroot.patch
@@ -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.
diff --git a/debian_glibc-xattr-types.patch b/debian_glibc-xattr-types.patch
new file mode 100644
index 0000000..01962e2
--- /dev/null
+++ b/debian_glibc-xattr-types.patch
@@ -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
+
diff --git a/debian_hide-dlsym-error.patch b/debian_hide-dlsym-error.patch
new file mode 100644
index 0000000..3fd34c8
--- /dev/null
+++ b/debian_hide-dlsym-error.patch
@@ -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
+     }
++
+   }
+ }
+ 
diff --git a/fakeroot.spec b/fakeroot.spec
index 76cfc40..4f7ae88 100644
--- a/fakeroot.spec
+++ b/fakeroot.spec
@@ -1,7 +1,7 @@
 Summary: Gives a fake root environment
 Name: fakeroot
 Version: 1.21
-Release: 1%{?dist}
+Release: 2%{?dist}
 # setenv.c: LGPLv2+
 # contrib/Fakeroot-Stat-1.8.8: Perl (GPL+ or Artistic)
 # the rest: GPLv3+
@@ -10,10 +10,15 @@ Group: Development/Tools
 URL: http://fakeroot.alioth.debian.org/
 Source0: http://ftp.debian.org/debian/pool/main/f/fakeroot/%{name}_%{version}.orig.tar.gz
  
+# Debian package patches, from debian.tar.xz
+Patch0: debian_eglibc-fts-without-LFS.patch
+Patch1: debian_glibc-xattr-types.patch
+Patch2: debian_fix-shell-in-fakeroot.patch
+Patch3: debian_hide-dlsym-error.patch
 # Address some POSIX-types related problems.
-Patch0: fakeroot-inttypes.patch
+Patch4: fakeroot-inttypes.patch
 # Fix LD_LIBRARY_PATH for multilib: \
                https://bugzilla.redhat.com/show_bug.cgi?id=1241527
-Patch1: fakeroot-multilib.patch
+Patch5: fakeroot-multilib.patch
 
 BuildRequires:  autoconf
 BuildRequires:  automake
@@ -47,9 +52,7 @@ Group: Development/Tools
 This package contains the libraries required by %{name}.
 
 %prep
-%setup -q
-%patch0 -p1 -b .inttypes
-%patch1 -p1 -b .multilib
+%autosetup -p1
 
 %build
 autoreconf -i
@@ -189,6 +192,9 @@ fi
 %ghost %{_libdir}/libfakeroot/libfakeroot-0.so
 
 %changelog
+* Sat Dec 31 2016 Adam Williamson <awilliam@redhat.com> - 1.21-2
+- Apply all patches from Debian package (should fix libuser build)
+
 * Sat Dec 31 2016 Adam Williamson <awilliam@redhat.com> - 1.21-1
 - New release 1.21
 
-- 
cgit v0.12


	http://pkgs.fedoraproject.org/cgit/fakeroot.git/commit/?h=master&id=b9a52e9548e4b15bab53ec54295093c28a2843fe
 _______________________________________________
scm-commits mailing list -- scm-commits@lists.fedoraproject.org
To unsubscribe send an email to scm-commits-leave@lists.fedoraproject.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic