hide debug errors with glibc 2.24 auto/th/fakeroot-1.21-2
authorElan Ruusamäe <glen@delfi.ee>
Mon, 10 Oct 2016 13:56:46 +0000 (16:56 +0300)
committerElan Ruusamäe <glen@delfi.ee>
Mon, 10 Oct 2016 13:56:46 +0000 (16:56 +0300)
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

fakeroot.spec
hide-dlsym-error.patch [new file with mode: 0644]

index 00bb56e4ac8ef409f23108e634baef9187676314..bfbbb5371ebe6593178959a122e55dceacb77874 100644 (file)
@@ -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 (file)
index 0000000..6668159
--- /dev/null
@@ -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 &lt;juliank@ubuntu.com&gt;
+Origin: vendor
+Bug-Debian: <a href="https://bugs.debian.org/830912">https://bugs.debian.org/830912</a>
+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
+     }
++
+   }
+ }
This page took 0.421847 seconds and 4 git commands to generate.