Package: fakechroot
Version: 2.17.2-1
Tags: patch

Dear maintainer,

It seems that ldd.fakechroot outputs a wrong path of the elf
loader on alpha, i.e. /lib64/ld-linux.so.2 instead of the correct 
path /lib/ld-linux.so.2 :

$ ldd minimal/root/bin/ls
        libselinux.so.1 => /lib/alpha-linux-gnu/libselinux.so.1 
(0x000002000000c000)
        libacl.so.1 => /lib/alpha-linux-gnu/libacl.so.1 (0x0000020000046000)
        libc.so.6.1 => /lib/alpha-linux-gnu/libc.so.6.1 (0x0000020000064000)
        libpcre.so.3 => /lib/alpha-linux-gnu/libpcre.so.3 (0x000002000022a000)
        libdl.so.2.1 => /lib/alpha-linux-gnu/libdl.so.2.1 (0x0000020000286000)
        /lib/ld-linux.so.2 (0x0000020001000000)
        libattr.so.1 => /lib/alpha-linux-gnu/libattr.so.1 (0x000002000029c000)
$ debirf enter minimal/
debirf> loading profile 'minimal'...
0 alpha3:/# ldd bin/ls
        linux-vdso.so.1 =>  (0x0000000000000000)
        libfakechroot.so => 
/usr/lib/alpha-linux-gnu/fakechroot/libfakechroot.so (0x0000000000000000)
        libfakeroot-sysv.so => 
/usr/lib/alpha-linux-gnu/libfakeroot/libfakeroot-sysv.so (0x0000000000000000)
        libselinux.so.1 => /lib/alpha-linux-gnu/libselinux.so.1 
(0x0000000000000000)
        libpcre.so.3 => /lib/alpha-linux-gnu/libpcre.so.3 (0x0000000000000000)
        libc.so.6.1 => /lib/alpha-linux-gnu/libc.so.6.1 (0x0000000000000000)
        /lib64/ld-linux.so.2 (0x0000000000000000)
        libdl.so.2.1 => /lib/alpha-linux-gnu/libdl.so.2.1 (0x0000000000000000)
        libacl.so.1 => /lib/alpha-linux-gnu/libacl.so.1 (0x0000000000000000)
        libattr.so.1 => /lib/alpha-linux-gnu/libattr.so.1 (0x0000000000000000)

With the following patch (untested on sparc64 and x32), we get the correct 
result :

0 alpha3:/# ldd /bin/ls
        linux-vdso.so.1 =>  (0x0000000000000000)
        libfakechroot.so => 
/usr/lib/alpha-linux-gnu/fakechroot/libfakechroot.so (0x0000000000000000)
        libfakeroot-sysv.so => 
/usr/lib/alpha-linux-gnu/libfakeroot/libfakeroot-sysv.so (0x0000000000000000)
        libselinux.so.1 => /lib/alpha-linux-gnu/libselinux.so.1 
(0x0000000000000000)
        libpcre.so.3 => /lib/alpha-linux-gnu/libpcre.so.3 (0x0000000000000000)
        libc.so.6.1 => /lib/alpha-linux-gnu/libc.so.6.1 (0x0000000000000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x0000000000000000)
        libdl.so.2.1 => /lib/alpha-linux-gnu/libdl.so.2.1 (0x0000000000000000)
        libacl.so.1 => /lib/alpha-linux-gnu/libacl.so.1 (0x0000000000000000)
        libattr.so.1 => /lib/alpha-linux-gnu/libattr.so.1 (0x0000000000000000)

Regards,
JH Chatenet

diff -Naur a/usr/bin/ldd.fakechroot b/usr/bin/ldd.fakechroot
--- a/usr/bin/ldd.fakechroot    2015-02-20 15:57:17.000000000 +0100
+++ b/usr/bin/ldd.fakechroot    2015-03-03 23:26:41.000000000 +0100
@@ -81,10 +81,15 @@
                     $Format = $1;
 
                     if ($^O eq 'linux') {
+                        if ($Format =~ /^elf64-(x86-64|sparc)$/) {
+                            $Ldsodir = "/lib64";
+                        } elsif ($Format =~ /^elf32-x86-64$/) {
+                            $Ldsodir = "/libx32";
+                        }
+
                         if ($Format =~ /^elf64-/) {
                             push @Libs, 'linux-vdso.so.1';
                             $Libs{'linux-vdso.so.1'} = '';
-                            $Ldsodir = "/lib64";
                         }
                         else {
                             push @Libs, 'linux-gate.so.1';


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to