From: Elan Ruusamäe Date: Mon, 10 Oct 2016 13:56:46 +0000 (+0300) Subject: hide debug errors with glibc 2.24 X-Git-Tag: auto/th/fakeroot-1.21-2 X-Git-Url: http://git.pld-linux.org/?p=packages%2Ffakeroot.git;a=commitdiff_plain;h=6bc5834 hide debug errors with glibc 2.24 dlsym(acl_get_fd): /usr/lib64/libfakeroot/libfakeroot.so: undefined symbol: acl_get_fd dlsym(acl_get_file): /usr/lib64/libfakeroot/libfakeroot.so: undefined symbol: acl_get_file dlsym(acl_set_fd): /usr/lib64/libfakeroot/libfakeroot.so: undefined symbol: acl_set_fd https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=830912 https://bugs.archlinux.org/task/49278 --- diff --git a/fakeroot.spec b/fakeroot.spec index 00bb56e..bfbbb53 100644 --- a/fakeroot.spec +++ b/fakeroot.spec @@ -6,11 +6,12 @@ Summary(pl.UTF-8): "Podrobione" środowiska roota Summary(pt_BR.UTF-8): Cria um falso ambiente de root Name: fakeroot Version: 1.21 -Release: 1 +Release: 2 License: GPL v3+ Group: Development/Tools Source0: ftp://ftp.debian.org/debian/pool/main/f/fakeroot/%{name}_%{version}.orig.tar.gz # Source0-md5: be5c9a0e516869fca4a6758105968e5a +Patch0: hide-dlsym-error.patch URL: http://fakeroot.alioth.debian.org/ BuildRequires: acl-devel BuildRequires: autoconf >= 2.61 @@ -60,6 +61,7 @@ stat e outros, criando um falso ambiente de root. %prep %setup -q +%patch0 -p1 %build %{__libtoolize} diff --git a/hide-dlsym-error.patch b/hide-dlsym-error.patch new file mode 100644 index 0000000..6668159 --- /dev/null +++ b/hide-dlsym-error.patch @@ -0,0 +1,53 @@ +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=830912 + +Package: fakeroot +Version: 1.21-1 +Followup-For: Bug #830912 +User: ubuntu-devel@lists.ubuntu.com +Usertags: origin-ubuntu yakkety ubuntu-patch + +In Ubuntu, the attached patch was applied to achieve the following: + +Hide the warnings, at least for now. This should bring us back to glibc 2.23 +state, AFAICT. + + * Add hide-dlsym-error.patch to hide the errors from dlsym() unless + debugging was enabled. This makes builds less noisy and fixes failures + in APT test suite with glibc 2.24, which started reporting errors for + dlsym() + + +Thanks for considering the patch. + +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 + } ++ + } + } +