[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