Gentoo Archives: gentoo-commits

From: Justin Lecher <jlec@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/fakeroot/files/, sys-apps/fakeroot/
Date: Sun, 12 Feb 2017 19:08:58
Message-Id: 1486926522.9d8fe0cbb0d96023f7ebd281fd71aacae74fbc69.jlec@gentoo
1 commit: 9d8fe0cbb0d96023f7ebd281fd71aacae74fbc69
2 Author: Justin Lecher <jlec <AT> gentoo <DOT> org>
3 AuthorDate: Sun Feb 12 18:52:07 2017 +0000
4 Commit: Justin Lecher <jlec <AT> gentoo <DOT> org>
5 CommitDate: Sun Feb 12 19:08:42 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d8fe0cb
7
8 sys-apps/fakeroot: Backport patch for glibc-2.24
9
10 Package-Manager: Portage-2.3.3, Repoman-2.3.1
11 Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>
12
13 sys-apps/fakeroot/fakeroot-1.20.2-r1.ebuild | 46 ++++++++++++++++++++++
14 .../files/fakeroot-1.20.2-glibc-2.24.patch | 32 +++++++++++++++
15 sys-apps/fakeroot/metadata.xml | 8 ++--
16 3 files changed, 82 insertions(+), 4 deletions(-)
17
18 diff --git a/sys-apps/fakeroot/fakeroot-1.20.2-r1.ebuild b/sys-apps/fakeroot/fakeroot-1.20.2-r1.ebuild
19 new file mode 100644
20 index 0000000000..a2ccf4890a
21 --- /dev/null
22 +++ b/sys-apps/fakeroot/fakeroot-1.20.2-r1.ebuild
23 @@ -0,0 +1,46 @@
24 +# Copyright 1999-2017 Gentoo Foundation
25 +# Distributed under the terms of the GNU General Public License v2
26 +# $Id$
27 +
28 +EAPI=6
29 +
30 +inherit autotools eutils flag-o-matic
31 +
32 +DESCRIPTION="A fake root environment by means of LD_PRELOAD and SysV IPC (or TCP) trickery"
33 +HOMEPAGE="http://packages.qa.debian.org/f/fakeroot.html"
34 +SRC_URI="mirror://debian/pool/main/${PN:0:1}/${PN}/${P/-/_}.orig.tar.bz2"
35 +
36 +LICENSE="GPL-3"
37 +SLOT="0"
38 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
39 +IUSE="acl debug static-libs test"
40 +
41 +DEPEND="
42 + sys-libs/libcap
43 + acl? ( sys-apps/acl )
44 + test? ( app-arch/sharutils )"
45 +
46 +DOCS="AUTHORS BUGS DEBUG README doc/README.saving"
47 +
48 +PATCHES=(
49 + "${FILESDIR}"/${PN}-1.19-no-acl_h.patch
50 + "${FILESDIR}"/${P}-glibc-2.24.patch
51 +)
52 +
53 +src_prepare() {
54 + default
55 + eautoreconf
56 +}
57 +
58 +src_configure() {
59 + export ac_cv_header_sys_acl_h=$(usex acl)
60 +
61 + use debug && append-cppflags "-DLIBFAKEROOT_DEBUGGING"
62 + econf \
63 + $(use_enable static-libs static)
64 +}
65 +
66 +src_install() {
67 + default
68 + prune_libtool_files
69 +}
70
71 diff --git a/sys-apps/fakeroot/files/fakeroot-1.20.2-glibc-2.24.patch b/sys-apps/fakeroot/files/fakeroot-1.20.2-glibc-2.24.patch
72 new file mode 100644
73 index 0000000000..3fd34c8778
74 --- /dev/null
75 +++ b/sys-apps/fakeroot/files/fakeroot-1.20.2-glibc-2.24.patch
76 @@ -0,0 +1,32 @@
77 +Description: Hide error from dlsym()
78 + dlsym(), starting in glibc 2.24 actually reports errors. In our case,
79 + we try to get ACL functions which are not in the glibc. This causes
80 + failures in test suites, so hide those messages for non-debugging
81 + purposes for now. It also makes the build logs annoying to read.
82 +Author: Julian Andres Klode <juliank@××××××.com>
83 +Origin: vendor
84 +Bug-Debian: https://bugs.debian.org/830912
85 +Forwarded: no
86 +Last-Update: 2016-08-12
87 +
88 +--- a/libfakeroot.c
89 ++++ b/libfakeroot.c
90 +@@ -256,10 +256,16 @@ void load_library_symbols(void){
91 + /* clear dlerror() just in case dlsym() legitimately returns NULL */
92 + msg = dlerror();
93 + *(next_wrap[i].doit)=dlsym(get_libc(), next_wrap[i].name);
94 ++
95 + if ( (msg = dlerror()) != NULL){
96 +- fprintf (stderr, "dlsym(%s): %s\n", next_wrap[i].name, msg);
97 +-/* abort ();*/
98 ++#ifdef LIBFAKEROOT_DEBUGGING
99 ++ if (fakeroot_debug) {
100 ++ fprintf (stderr, "dlsym(%s): %s\n", next_wrap[i].name, msg);
101 ++/* abort ();*/
102 ++ }
103 ++#endif
104 + }
105 ++
106 + }
107 + }
108 +
109
110 diff --git a/sys-apps/fakeroot/metadata.xml b/sys-apps/fakeroot/metadata.xml
111 index 56c1244130..4eb20a048d 100644
112 --- a/sys-apps/fakeroot/metadata.xml
113 +++ b/sys-apps/fakeroot/metadata.xml
114 @@ -1,8 +1,8 @@
115 <?xml version="1.0" encoding="UTF-8"?>
116 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
117 <pkgmetadata>
118 -<maintainer type="project">
119 - <email>base-system@g.o</email>
120 - <name>Gentoo Base System</name>
121 -</maintainer>
122 + <maintainer type="project">
123 + <email>base-system@g.o</email>
124 + <name>Gentoo Base System</name>
125 + </maintainer>
126 </pkgmetadata>