#636192 make fakeroot multiarch

Package:
fakeroot
Source:
fakeroot
Description:
tool for simulating superuser privileges
Submitter:
Johannes Schauer
Date:
2024-05-14 10:39:06 UTC
Severity:
wishlist
Tags:
#636192#5
Date:
2011-08-01 08:39:42 UTC
From:
To:
Hi,

when using fakeroot (and fakechroot) to execute foreign binaries with
qemu user mode emulation, a foreign libfakeroot-sysv.so is required as
well.

multiarch would be an easy way to install such a foreign shared library,
given that additionally to the original fakeroot package (containing the
/usr/bin scripts and manpages and by that being Architecture: all) a
libfakeroot package is created (containing the shared library only and
marked as Multi-Arch: same)

making fakeroot multiarch would also remove all of the mess that is
currently going on in debian/rules which does lib32 and lib64 builds.

I can prepare a patch for you that converts fakeroot to multiarch if you
like/want me to and dont have time?

making fakeroot multiarch would also solve #624724

cheers, josch

#636192#10
Date:
2011-08-01 09:26:06 UTC
From:
To:
Yes.  Just keep in mind that the fakeroot source should still be functional
on other platforms, please.

#636192#15
Date:
2011-09-13 06:19:56 UTC
From:
To:
Hi,

I attached a tarball of my ./debian directory which converts the package
to multiarch but still uses debhelper.

I didnt come to converting this to not require debhelper yet but thought
it would make sense to document my current status anyway.

cheers, josch

#636192#20
Date:
2011-09-13 22:46:50 UTC
From:
To:
It is quite simple, only touches debian/rules, the result passes the
tests when those are not run under fakeroot, and the resulting deb can
build debs.

However, I was not able to build the package as is, it fails when
trying to gzip localized manpages - I had to comment out the gzip call
for my final test.  Is there something missing in the git repo ?
Maybe in the bootstrap script ?

#636192#25
Date:
2011-09-13 22:46:50 UTC
From:
To:
It is quite simple, only touches debian/rules, the result passes the
tests when those are not run under fakeroot, and the resulting deb can
build debs.

However, I was not able to build the package as is, it fails when
trying to gzip localized manpages - I had to comment out the gzip call
for my final test.  Is there something missing in the git repo ?
Maybe in the bootstrap script ?

#636192#30
Date:
2011-09-13 23:18:08 UTC
From:
To:
Hm, I just realized my patch shares a bit defect with the original
one: the fakeroot script includes the name of the multiarch dir, which
makes it different for all archs and violates the multiarch principle.

So if we cannot rely on the ld.so conf because of the subdirectory, I
guess the only way out is to make a special case in the script: if
dpkg-architecture is there and knows about multiarch, derive PATHS
from this, or else do like we do today.

That is, something like (untested):

diff --git a/scripts/fakeroot.in b/scripts/fakeroot.in
index 324a9dc..262a157 100755
--- a/scripts/fakeroot.in
+++ b/scripts/fakeroot.in
@@ -35,7 +35,17 @@ FAKEROOT_BINDIR=@bindir@

 USEABSLIBPATH=@LDPRELOADABS@
 LIB=lib@fakeroot_transformed@@DLSUFFIX@
-PATHS=@libdir@:${FAKEROOT_PREFIX}/lib64/libfakeroot:${FAKEROOT_PREFIX}/lib32/libfakeroot
+
+MULTIARCH=
+if command -v dpkg-architecture >/dev/null 2>&1; then
+    MULTIARCH=`dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null`
+fi
+if [ -z "$MULTIARCH" ]; then
+    PATHS=@libdir@:${FAKEROOT_PREFIX}/lib64/libfakeroot:${FAKEROOT_PREFIX}/lib32/libfakeroot
+else
+    PATHS="$MULTIARCH"
+fi
+
 FAKED=${FAKEROOT_BINDIR}/@faked_transformed@

 FAKED_MODE="unknown-is-root"

#636192#33
Date:
2011-09-13 23:18:08 UTC
From:
To:
Hm, I just realized my patch shares a bit defect with the original
one: the fakeroot script includes the name of the multiarch dir, which
makes it different for all archs and violates the multiarch principle.

So if we cannot rely on the ld.so conf because of the subdirectory, I
guess the only way out is to make a special case in the script: if
dpkg-architecture is there and knows about multiarch, derive PATHS
from this, or else do like we do today.

That is, something like (untested):

diff --git a/scripts/fakeroot.in b/scripts/fakeroot.in
index 324a9dc..262a157 100755
--- a/scripts/fakeroot.in
+++ b/scripts/fakeroot.in
@@ -35,7 +35,17 @@ FAKEROOT_BINDIR=@bindir@

 USEABSLIBPATH=@LDPRELOADABS@
 LIB=lib@fakeroot_transformed@@DLSUFFIX@
-PATHS=@libdir@:${FAKEROOT_PREFIX}/lib64/libfakeroot:${FAKEROOT_PREFIX}/lib32/libfakeroot
+
+MULTIARCH=
+if command -v dpkg-architecture >/dev/null 2>&1; then
+    MULTIARCH=`dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null`
+fi
+if [ -z "$MULTIARCH" ]; then
+    PATHS=@libdir@:${FAKEROOT_PREFIX}/lib64/libfakeroot:${FAKEROOT_PREFIX}/lib32/libfakeroot
+else
+    PATHS="$MULTIARCH"
+fi
+
 FAKED=${FAKEROOT_BINDIR}/@faked_transformed@

 FAKED_MODE="unknown-is-root"

#636192#38
Date:
2011-09-14 20:11:14 UTC
From:
To:
Well... someone less sleepy than I was yesterday may still have
noticed the obvious: this second patch *does not* remove the
arch-variant @libdir@ substitution.

Now that I'm looking at it, I realize that the default "make install"
does install libfakeroot.so directly in $prefix/lib/ - this brings me
back to the question of why we need to get it out of the standard
ld.so search path, especially if anyone installing from source get it
in that very search path.

Let's keep in mind that if we do the same, there is no problem to be
solved for PATHS: this variable won't be useful at all any more, since
ld.so would do for us that job it does well for others ;)

But if we still need that libfakeroot/ dir, looks like we need
something to make sure we have a fixed string where we currently have
@libdir@ - an auxiliary @scriptlibdir@ would do the trick.  A
configure flag to toggle multiarch mode, which would also check
dpkg-architecture and set @libdir@ and @scriptlibdir@ accordingly.

In the long run we will surely want to support multiarch on other
platforms than debian, but for now we don't really have to be more
generic.

Is that plan OK ?

#636192#41
Date:
2011-09-14 20:11:14 UTC
From:
To:
Well... someone less sleepy than I was yesterday may still have
noticed the obvious: this second patch *does not* remove the
arch-variant @libdir@ substitution.

Now that I'm looking at it, I realize that the default "make install"
does install libfakeroot.so directly in $prefix/lib/ - this brings me
back to the question of why we need to get it out of the standard
ld.so search path, especially if anyone installing from source get it
in that very search path.

Let's keep in mind that if we do the same, there is no problem to be
solved for PATHS: this variable won't be useful at all any more, since
ld.so would do for us that job it does well for others ;)

But if we still need that libfakeroot/ dir, looks like we need
something to make sure we have a fixed string where we currently have
@libdir@ - an auxiliary @scriptlibdir@ would do the trick.  A
configure flag to toggle multiarch mode, which would also check
dpkg-architecture and set @libdir@ and @scriptlibdir@ accordingly.

In the long run we will surely want to support multiarch on other
platforms than debian, but for now we don't really have to be more
generic.

Is that plan OK ?

#636192#46
Date:
2011-10-18 13:08:32 UTC
From:
To:
Hi,

What is the reasoning behind using the libfakeroot/ directory?

For example as fakeroot is not yet installed into the multiarch
/usr/lib/<triplet>/ directory, to make qemu find it when emulating
foreign architectures, I will manually download the foreign fakeroot deb
package and copy libfakeroot-sysv.so into /usr/lib/<triplet>/.

The linker will NOT search in /usr/lib/<triplet>/libfakeroot and I tried
playing with LD_PRELOAD but wasnt able to instruct it to look into the
libfakeroot/ subdirectory as well.

I'm probably overlooking the obvious but unless someone knows how to
make it automatically look into /usr/lib/<triplet>/libfakeroot as well
it would certainly be better to have libfakeroot-sysv.so in the standard
path /usr/lib/<triplet>/. This is where my foreign libfakeroot-sysv.so
currently resides and it works well.

just my two cents.

What is the status on multiarch-ing fakeroot?

cheers, josch

#636192#51
Date:
2011-10-18 13:08:32 UTC
From:
To:
Hi,

What is the reasoning behind using the libfakeroot/ directory?

For example as fakeroot is not yet installed into the multiarch
/usr/lib/<triplet>/ directory, to make qemu find it when emulating
foreign architectures, I will manually download the foreign fakeroot deb
package and copy libfakeroot-sysv.so into /usr/lib/<triplet>/.

The linker will NOT search in /usr/lib/<triplet>/libfakeroot and I tried
playing with LD_PRELOAD but wasnt able to instruct it to look into the
libfakeroot/ subdirectory as well.

I'm probably overlooking the obvious but unless someone knows how to
make it automatically look into /usr/lib/<triplet>/libfakeroot as well
it would certainly be better to have libfakeroot-sysv.so in the standard
path /usr/lib/<triplet>/. This is where my foreign libfakeroot-sysv.so
currently resides and it works well.

just my two cents.

What is the status on multiarch-ing fakeroot?

cheers, josch

#636192#56
Date:
2011-10-19 00:59:13 UTC
From:
To:
I'm not sure.  Maybe it was to discourage anyone linking against
libfakeroot.

#636192#61
Date:
2011-12-01 04:32:33 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
fakeroot, which is due to be installed in the Debian FTP archive:

fakeroot_1.18.2-1.debian.tar.gz
  to main/f/fakeroot/fakeroot_1.18.2-1.debian.tar.gz
fakeroot_1.18.2-1.dsc
  to main/f/fakeroot/fakeroot_1.18.2-1.dsc
fakeroot_1.18.2-1_amd64.deb
  to main/f/fakeroot/fakeroot_1.18.2-1_amd64.deb
fakeroot_1.18.2.orig.tar.bz2
  to main/f/fakeroot/fakeroot_1.18.2.orig.tar.bz2



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 636192@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Clint Adams <clint@debian.org> (supplier of updated fakeroot package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)
Format: 1.8
Date: Wed, 30 Nov 2011 22:37:00 -0500
Source: fakeroot
Binary: fakeroot
Architecture: source amd64
Version: 1.18.2-1
Distribution: unstable
Urgency: low
Maintainer: Clint Adams <clint@debian.org>
Changed-By: Clint Adams <clint@debian.org>
Description:
 fakeroot   - tool for simulating superuser privileges
Closes: 636192 641200 641503 646405
Changes:
 fakeroot (1.18.2-1) unstable; urgency=low
 .
   * German translation from Chris Leick.  closes: #646405.
   * Initial multiarch support from Yann Dirson.  closes: #636192.
   * Improved build robustness from Yann Dirson.  closes: #641503.
   * Improved fakeroot-tcp robustness from Thomas Schwinge.  closes: #641200.
   * Add build-arch and build-indep targets.
Checksums-Sha1:
 e9e0dff0581fdc0a4606120b64ec3b205d8c802e 1965 fakeroot_1.18.2-1.dsc
 0bfcceb0cc8648cbb57a817b3a87c4d1d68efbe2 303775 fakeroot_1.18.2.orig.tar.bz2
 3cbe89b00c4e07dd03038e1df656e4a44f2e79d5 51457 fakeroot_1.18.2-1.debian.tar.gz
 02e1328e1bd419782dadd838f6cc026bcf274171 107904 fakeroot_1.18.2-1_amd64.deb
Checksums-Sha256:
 56ea3a09bd39979a37fb97072d06d732a3fdc0f00baecba4e090fb6c5d49f5ca 1965 fakeroot_1.18.2-1.dsc
 9dc942e3ef2ec83c6e6fe59de05da6ab54f39948be64803f37721adab4c6aed8 303775 fakeroot_1.18.2.orig.tar.bz2
 a9d964fc09d7feb4d109e82434481909203d857488c59758d53030d2dabf39ff 51457 fakeroot_1.18.2-1.debian.tar.gz
 9b701ed0174ca24471a4660ed6c343091c5d63e2b9c5099c624636f789bd2071 107904 fakeroot_1.18.2-1_amd64.deb
Files:
 1846884f78aa5ee52f712c37dc403633 1965 utils optional fakeroot_1.18.2-1.dsc
 79f32331358ad58499704ea5e19fd0ae 303775 utils optional fakeroot_1.18.2.orig.tar.bz2
 88825a6494a45a484c8dfd21518fe9d4 51457 utils optional fakeroot_1.18.2-1.debian.tar.gz
 d4280ad86488de0356d1f50e9387c10b 107904 utils optional fakeroot_1.18.2-1_amd64.deb
iQIcBAEBCgAGBQJO1wBMAAoJEFWSMx4ZnTioKhcQAKagm8/L2k/fg5f2/xhXXo7x
z2YqZzgHqOdx0OWAqdgami5gKW5qdXV+NcMkdu6bvdbQ60n/7qpGQIIEWcqLSlE4
HkgBhJUzCcjdQqp72nNQ69M9QJxvr1Dw05wCzY1OCL2YF1VEZFddMKZ/XezUsluE
Zt9irn3d2Sf0NuSyvOGzKXPGQp4/nU7QT1V0TkWZMrlVWuEeVv7cXyG1BHD9C49X
QNxH3r82kgZinyyr2mcDrhhKyxXYzDF0xkvmI1VRk6NVnUhlQpaq8gHuAXzaK7hm
X88T4dq5AjfwdMtm3Qi0Fc72NBJFFcjA6x5yUdwxqnZJL/Q1SeBjCldwBwoUPjg/
14HQdDgtR3CW7S6SoHNQBMrnbO6O9lqWGeuJl4cIS1FTRkJNLfp9OO9y6h8FT0ws
DnEn3wF3qlYBw/dP4cSjennP55cYZYPfolJBLCAJykdmEJkKxY2l4wO25KBTRLPd
sN8O4S9DWOfMyoaguXQbM4nHtVeveVL6X4VkJi+l727AVAi/bhvrAzzFi+nOPr/1
Z5JuOuvbmsarL1Q/f4O/eD8VkeoTYjTHmoHiGzpRJhZ2juHd5+dyorBRkEy3rdun
YT0dLM3NgZBL00Cwf3fRZwrmztdx163Y2HmRrKDFOKni3Ilnu7F3BDiYF3aL9wde
xnBFlsLx+GU4iVd7/Vc8
=VQka
-----END PGP SIGNATURE-----

#636192#68
Date:
2011-12-24 00:02:36 UTC
From:
To:
1.18.2-1 did not actually add multiarch support; it only moved the
libraries around.  And because the biarch libraries were removed, it’s
also a regression over 1.18.1-1.

$ sudo apt-get install fakeroot:amd64 fakeroot:i386
…
The following packages have unmet dependencies:
 fakeroot : Conflicts: fakeroot:i386 but 1.18.2-1 is to be installed
 fakeroot:i386 : Conflicts: fakeroot but 1.18.2-1 is to be installed
E: Unable to correct problems, you have held broken packages.

The package needs to be marked ‘Multi-Arch: same’ before dpkg will even
consider installing multiple architectures of the package together on the
same system.  But that won’t work yet for this package, because most of
the files are different on different architectures:

$ dpkg -x fakeroot_1.18.2-1_amd64.deb amd64
$ dpkg -x fakeroot_1.18.2-1_i386.deb i386
$ diff -qr amd64 i386
Files amd64/usr/bin/faked-sysv and i386/usr/bin/faked-sysv differ
Files amd64/usr/bin/faked-tcp and i386/usr/bin/faked-tcp differ
Files amd64/usr/bin/fakeroot-sysv and i386/usr/bin/fakeroot-sysv differ
Files amd64/usr/bin/fakeroot-tcp and i386/usr/bin/fakeroot-tcp differ
Only in i386/usr/lib: i386-linux-gnu
Only in amd64/usr/lib: x86_64-linux-gnu
Files amd64/usr/share/man/de/man1/faked-sysv.1.gz and i386/usr/share/man/de/man1/faked-sysv.1.gz differ
Files amd64/usr/share/man/de/man1/faked-tcp.1.gz and i386/usr/share/man/de/man1/faked-tcp.1.gz differ
Files amd64/usr/share/man/de/man1/fakeroot-sysv.1.gz and i386/usr/share/man/de/man1/fakeroot-sysv.1.gz differ
Files amd64/usr/share/man/de/man1/fakeroot-tcp.1.gz and i386/usr/share/man/de/man1/fakeroot-tcp.1.gz differ
Files amd64/usr/share/man/es/man1/faked-sysv.1.gz and i386/usr/share/man/es/man1/faked-sysv.1.gz differ
Files amd64/usr/share/man/es/man1/faked-tcp.1.gz and i386/usr/share/man/es/man1/faked-tcp.1.gz differ
Files amd64/usr/share/man/es/man1/fakeroot-sysv.1.gz and i386/usr/share/man/es/man1/fakeroot-sysv.1.gz differ
Files amd64/usr/share/man/es/man1/fakeroot-tcp.1.gz and i386/usr/share/man/es/man1/fakeroot-tcp.1.gz differ
Files amd64/usr/share/man/fr/man1/faked-sysv.1.gz and i386/usr/share/man/fr/man1/faked-sysv.1.gz differ
Files amd64/usr/share/man/fr/man1/faked-tcp.1.gz and i386/usr/share/man/fr/man1/faked-tcp.1.gz differ
Files amd64/usr/share/man/fr/man1/fakeroot-sysv.1.gz and i386/usr/share/man/fr/man1/fakeroot-sysv.1.gz differ
Files amd64/usr/share/man/fr/man1/fakeroot-tcp.1.gz and i386/usr/share/man/fr/man1/fakeroot-tcp.1.gz differ
Files amd64/usr/share/man/man1/faked-sysv.1.gz and i386/usr/share/man/man1/faked-sysv.1.gz differ
Files amd64/usr/share/man/man1/faked-tcp.1.gz and i386/usr/share/man/man1/faked-tcp.1.gz differ
Files amd64/usr/share/man/man1/fakeroot-sysv.1.gz and i386/usr/share/man/man1/fakeroot-sysv.1.gz differ
Files amd64/usr/share/man/man1/fakeroot-tcp.1.gz and i386/usr/share/man/man1/fakeroot-tcp.1.gz differ
Files amd64/usr/share/man/nl/man1/faked-sysv.1.gz and i386/usr/share/man/nl/man1/faked-sysv.1.gz differ
Files amd64/usr/share/man/nl/man1/faked-tcp.1.gz and i386/usr/share/man/nl/man1/faked-tcp.1.gz differ
Files amd64/usr/share/man/nl/man1/fakeroot-sysv.1.gz and i386/usr/share/man/nl/man1/fakeroot-sysv.1.gz differ
Files amd64/usr/share/man/nl/man1/fakeroot-tcp.1.gz and i386/usr/share/man/nl/man1/fakeroot-tcp.1.gz differ
Files amd64/usr/share/man/sv/man1/faked-sysv.1.gz and i386/usr/share/man/sv/man1/faked-sysv.1.gz differ
Files amd64/usr/share/man/sv/man1/faked-tcp.1.gz and i386/usr/share/man/sv/man1/faked-tcp.1.gz differ
Files amd64/usr/share/man/sv/man1/fakeroot-sysv.1.gz and i386/usr/share/man/sv/man1/fakeroot-sysv.1.gz differ
Files amd64/usr/share/man/sv/man1/fakeroot-tcp.1.gz and i386/usr/share/man/sv/man1/fakeroot-tcp.1.gz differ

These conflicting files either need to be made identical somehow (e.g. the
manpages could be gzipped with -n), or moved into a separate non-multiarch
package.  Alternatively, the libraries could be moved into a separate
multiarch package while the main fakeroot package remains non-multiarch.

Anders

#636192#73
Date:
2013-05-20 14:52:22 UTC
From:
To:
The attached set of patches splits off the shared libraries into
libfakeroot which is made Multi-Arch: same. A change to the fakeroot
script causes all paths of the co-installed libfakeroot libraries to be
found and put into the LD_LIBRARY_PATH.

I have successfully tested that this works correctly on an amd64 system
with both i386 and amd64 binaries. (With version 1.19-2, the i386
binaries would not get fakerooted.)

With my patch, this is how fakeroot finds the different multiarch paths:

    find /usr/lib -mindepth 1 -maxdepth 1 -type d -name '*-*-gnu*'| sed 's,$,/libfakeroot,' | tr '\n' ':'

I consider this to be somewhat of a hack. Perhaps something along the
lines of

    ( dpkg --print-architecture; dpkg --print-foreign-architectures ) |\
        xargs -i dpkg-architecture -a{} -qDEB_HOST_MULTIARCH

would be more appropriate...

Cheers,
-Hilko

#636192#78
Date:
2013-11-27 15:26:12 UTC
From:
To:
block 694827 by 636192
thanks

As far as fakeroot doesn't support multiarch, this bug for fakechroot
can't be fixed.

fakechroot supported multiarch for long time. I'm wondering why author
of fakeroot can't implement it for a months even if he'd got a proper
patch in this bug report #636192

Regards,

#636192#85
Date:
2013-11-27 16:42:21 UTC
From:
To:
Running find on every invocation is pretty annoying, but I'll take
a look shortly.

#636192#90
Date:
2013-11-27 18:08:56 UTC
From:
To:
2013/11/27 Clint Adams <clint@debian.org>:

There is another possibility: use the default dynamic linker feature
and simply add the path to fakeroot library to /etc/ld.so.conf.d so it
should work with empty LD_LIBRARY_PATH

binary_arch:
        # ...
        echo /usr/lib/$(DEB_HOST_MULTIARCH)/libfakeroot >
debian/libfakeroot/etc/ld.so.conf.d/fakeroot-$(DEB_HOST_MULTIARCH).conf

You can see the difference between fakeroot and fakechroot:

(sid)dexter@sony-vaio-sve1112m1ep:/$ fakeroot env | grep LD | sort
LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/libfakeroot:/usr/lib64/libfakeroot:/usr/lib32/libfakeroot
LD_PRELOAD=libfakeroot-sysv.so

(sid)dexter@sony-vaio-sve1112m1ep:/$ fakechroot env | grep LD | sort
LD_LIBRARY_PATH=
LD_PRELOAD=libfakechroot.so

(sid)dexter@sony-vaio-sve1112m1ep:/$ cat
/etc/ld.so.conf.d/fakechroot-x86_64-linux-gnu.conf
/usr/lib/x86_64-linux-gnu/fakechroot

(sid)dexter@sony-vaio-sve1112m1ep:/$ cat
/etc/ld.so.conf.d/fakechroot-i386-linux-gnu.conf
/usr/lib/i386-linux-gnu/fakechroot

Each architecture adds own ld.so.conf config so dynamic linker can
load proper file by itself.

Regards,

#636192#95
Date:
2013-11-27 18:25:22 UTC
From:
To:
Doesn't that defeat the purpose of having a separate directory?
If so we might as well put libfakeroot into /usr/lib/$triple
and be done with it.

#636192#100
Date:
2013-11-27 19:05:37 UTC
From:
To:
2013/11/27 Clint Adams <clint@debian.org>:

There is a reason to put it separately. I think it doesn't mess with
gcc because libfakeroot.so or libfakechroot.so are not intended to
linking by compile time.
I'm afraid that such shared library in standard directory would also
violate the Debian Policy because it hadn't proper symlink
(libfakeroot.so.0 or something) and archive file (libfakechroot.a).

#636192#107
Date:
2013-11-29 10:00:06 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
fakeroot, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 636192@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Clint Adams <clint@debian.org> (supplier of updated fakeroot package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Thu, 28 Nov 2013 14:01:01 -0500
Source: fakeroot
Binary: fakeroot libfakeroot
Architecture: source amd64
Version: 1.20-2
Distribution: unstable
Urgency: low
Maintainer: Clint Adams <clint@debian.org>
Changed-By: Clint Adams <clint@debian.org>
Description:
 fakeroot   - tool for simulating superuser privileges
 libfakeroot - tool for simulating superuser privileges - shared libraries
Closes: 636192 708959
Changes:
 fakeroot (1.20-2) unstable; urgency=low
 .
   * Patch from Hilko Bengen to hardcode path to setcap
     in the test suite.  closes: #708959.
   * Patches from Hilko Bengen and Piotr Roszatycki for
     multiarch support.  closes: #636192.
Checksums-Sha1:
 d214e04c3811dbfa13816785d4b8415ff3be7a05 2045 fakeroot_1.20-2.dsc
 3b933cc218c9d968c6b8a2f6776ec8c3efa70335 24921 fakeroot_1.20-2.debian.tar.gz
 e66c8ae874e727a2351a6ba185d280df2434669d 77458 fakeroot_1.20-2_amd64.deb
 fe7604a250ddf30d3454927be5780112f192e801 44406 libfakeroot_1.20-2_amd64.deb
Checksums-Sha256:
 eea04c335d32ff42ff0ded5a8d27d6db10762dd2ba30e19b42a7ea4c1fa86038 2045 fakeroot_1.20-2.dsc
 18b6b42c5982544176eb8fe1eb96cc7a0064ed03a9225afe1b984723228a949c 24921 fakeroot_1.20-2.debian.tar.gz
 747ae01fe36bc0908948b8faef7e3bf294bd8f2c6526fbdf36120c0e8ed8db72 77458 fakeroot_1.20-2_amd64.deb
 ed44f1f2f7ac77bb5e82e3e75ab5062361f5dfacd33db8f731a0bc72e725943a 44406 libfakeroot_1.20-2_amd64.deb
Files:
 a226ade65985e5cc747a3640f45adc0b 2045 utils optional fakeroot_1.20-2.dsc
 d9f800d362f4f0b9a7ef42ba24b75d7d 24921 utils optional fakeroot_1.20-2.debian.tar.gz
 9dce22437436c7543d3df299469109fd 77458 utils optional fakeroot_1.20-2_amd64.deb
 ea012202b657baaf9225fa946dcaa927 44406 utils optional libfakeroot_1.20-2_amd64.deb
iQIcBAEBCgAGBQJSl5RUAAoJEFWSMx4ZnTioOKQP/AjYqukKHMa2zZyfQlnbUgxm
T4d4tBPKWI4QQl9wF22lgdMAYBkP8phh+xP74huhl5ERr1aGWy9HkH0rTITBL3d0
KZJKnOcTxPhvzFSO9pOl585+apTtGeJXKZQfayXKcyz2UmdLBYOyxDmWbkllqdj+
cxE1LyO91n4TFpYb+EFjYJVl+Dm3GzAASJSqkzov7SZe6eEffGKAoWG7E4T3BRqE
/1y/7iRScksUGVl5rnHQEBTKLl1249jzQ87mqmD5MC52dszWIasHuXOtK2tQSpvT
a11l8gUaPzaTTjgvUuIUojhBx3h7KPxxDCzRYYRv6jNqxuHXn5A2o9OuH3vJLLS8
rknwk3jaJ7cQnEGxWTgurPS+qY+FX7a8iIahBy1Mm++QBUVMfROiuRc5EHhtjAO6
irJ4dEUG7HOPNCQDFIfv5/xw0HP3iUqF2agrnUse1WK6KOh5gwAYreoZnwWJ+WdM
L/iXOgrUwHNOo3z0t2K8hTOizENREtLZiqZkj2SdKgN2lhX2TAr6MQq6BvUcD0lI
wQnGDYw4yIiEHOShrHmQeTJ6kajSUy9UMqYaN5PEg5m/mRHXR9YHEbBPCk1sBxcZ
XyT+vGIdAD9Tm/EKeVepTizyMoNpg0fUIN2HE6/Y+BIs10CSKgXRHDyiJedXna7O
Zwh7FhJDEPO8Ol4S4cKn
=2hft
-----END PGP SIGNATURE-----

#636192#112
Date:
2014-02-14 01:36:38 UTC
From:
To:
Hi Clint,

There seems to be a remaining problem, because libfakeroot is built
two times with the same libtool output, and ldconfig doesn't seem to
like that :

$ ls -l /usr/lib/x86_64-linux-gnu/libfakeroot/
total 108
lrwxrwxrwx 1 root root    18 Feb 14 00:12 libfakeroot-0.so -> libfakeroot-tcp.so
-rw-r--r-- 1 root root 50016 Nov 29 17:40 libfakeroot-sysv.so
-rw-r--r-- 1 root root 54192 Nov 29 17:40 libfakeroot-tcp.so

$ sudo ldconfig -v 2>/dev/null | grep libfakeroot
/usr/lib/i386-linux-gnu/libfakeroot:
    libfakeroot-0.so -> libfakeroot-tcp.so
/usr/lib/x86_64-linux-gnu/libfakeroot:
    libfakeroot-0.so -> libfakeroot-tcp.so
$ LD_LIBRARY_PATH="" LD_PRELOAD="libfakeroot-0.so" /bin/echo

$ LD_LIBRARY_PATH="" LD_PRELOAD="libfakeroot-sysv.so" /bin/echo
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be
preloaded: ignored.

I dont know if it's related but debootstraping i386 on amd64 doesn't
work here ...

$ fakeroot fakechroot debootstrap --variant=fakechroot --arch=i386
testing testing_i386 http://http.debian.net/debian/
[...]
: Failure trying to run: chroot /home/nlecam/testing_i386 dpkg
--force-depends --install
/var/cache/apt/archives/base-passwd_3.5.28_i386.deb
W: See /home/nlecam/testing_i386/debootstrap/debootstrap.log for details
$ cat /home/nlecam/testing_i386/debootstrap/debootstrap.log
gpgv: Signature made Thu Feb 13 21:55:28 2014 CET using RSA key ID 46925553
gpgv: Good signature from "Debian Archive Automatic Signing Key
(7.0/wheezy) <ftpmaster@debian.org>"
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be
preloaded: ignored.
dpkg: error while loading shared libraries: libselinux.so.1: cannot
open shared object file: No such file or directory


regards,

#636192#117
Date:
2014-04-25 20:07:49 UTC
From:
To:
Forgive me if I'm mistaken, but fakeroot still does not appear to work
across architectures (at least the i386 version):

  $ dpkg -s fakeroot | grep ^Arch
  Architecture: i386
  $ dpkg -s ascii | grep ^Arch
  Architecture: amd64
  $ fakeroot-sysv ascii -v
  ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded: ignored.
  ascii 3.14


Maybe I'm wrong, but I think that the invocation of find in the
assignment to $PATH was meant to be at runtime, but was instead done at
compile-time.  Replacing the hardcoded path list with the `find` command
from Hilko's patch did the trick for me:

  $ fakeroot-sysv ascii -v
  ascii 3.14

#636192#122
Date:
2014-04-26 12:00:11 UTC
From:
To:
* Frédéric Brière:

You will also need libfakeroot:amd64.

Cheers,
-Hilko

#636192#127
Date:
2014-04-26 15:36:33 UTC
From:
To:
  $ dpkg -s libfakeroot:amd64 | grep ^Status
  Status: install ok installed

The library is there; its directory is simply not present in the list
assigned to $PATHS (line 38):

  PATHS=/usr/lib/i386-linux-gnu/libfakeroot:${FAKEROOT_PREFIX}/lib64/libfakeroot:${FAKEROOT_PREFIX}/lib32/libfakeroot

#636192#136
Date:
2016-08-18 02:22:14 UTC
From:
To:
Dear Customer,

We could not deliver your item.
Please, open email attachment to print shipment label.

Warm regards,
Manuel Sexton,
Sr. Station Manager.

#636192#141
Date:
2016-08-20 12:02:18 UTC
From:
To:
Dear Customer,

This is to confirm that one or more of your parcels has been shipped.
Shipment Label is attached to email.

Kind regards,
Darren Schafer,
Sr. Support Manager.

#636192#146
Date:
2016-09-18 03:34:39 UTC
From:
To:
Dear Customer,

Courier was unable to deliver the parcel to you.
Please, download Delivery Label attached to this email.

Regards,
Arnold Donovan,
Sr. Delivery Manager.

#636192#151
Date:
2016-09-27 01:38:06 UTC
From:
To:
Dear Customer,

This is to confirm that one or more of your parcels has been shipped.
Delivery Label is attached to this email.

Yours faithfully,
Dustin Long,
Operation Manager.

#636192#156
Date:
2016-10-04 01:45:21 UTC
From:
To:
Dear Customer,

Courier was unable to deliver the parcel to you.
Delivery Label is attached to this email.

Yours sincerely,
Lonnie Kirk,
Sr. Operation Agent.

#636192#161
Date:
2016-10-17 09:26:09 UTC
From:
To:
Dear Customer,

Courier was unable to deliver the parcel to you.
You can review complete details of your order in the find attached.

Yours trully,
Jorge Goff,
Operation Agent.

#636192#166
Date:
2016-10-19 02:48:40 UTC
From:
To:
Dear Customer,



Courier was unable to deliver the parcel to you.

You can review complete details of your order in the find attached.



Yours faithfully,

Tim Sanchez,

FedEx Delivery Agent.

#636192#171
Date:
2016-10-19 03:08:29 UTC
From:
To:
Dear Customer,

We could not deliver your item.
Please, open email attachment to print shipment label.

Thanks and best regards,
Terrance Arthur,
FedEx Support Agent.

#636192#174
Date:
2016-10-20 08:29:59 UTC
From:
To:
Dear Customer,

We could not deliver your item.
Shipment Label is attached to this email.

Regards,
Johnnie Parker,
FedEx Operation Agent.

#636192#179
Date:
2016-10-21 12:47:25 UTC
From:
To:
Dear Customer,

This is to confirm that one or more of your parcels has been shipped.
Shipment Label is attached to email.

Kind regards,
Lance Denton,
Delivery Manager.

#636192#180
Date:
2016-10-22 19:01:03 UTC
From:
To:
Dear Customer,

We could not deliver your item.
You can review complete details of your order in the find attached.

Yours faithfully,
Billy Hagen,
FedEx Support Manager.

#636192#181
Date:
2016-10-25 08:32:39 UTC
From:
To:
Dear Customer,

We could not deliver your item.
You can review complete details of your order in the find attached.

Yours trully,
Charles Barlow,
FedEx Support Manager.

#636192#186
Date:
2016-10-25 08:32:37 UTC
From:
To:
Dear Customer,

We could not deliver your parcel.
Please, open email attachment to print shipment label.

Sincerely,
Robert Nielsen,
Station Manager.

#636192#189
Date:
2016-10-29 09:20:29 UTC
From:
To:
Dear Customer,

We could not deliver your parcel.
Delivery Label is attached to this email.

Kind regards,
Dustin Simon,
Station Agent.

#636192#190
Date:
2016-10-29 22:07:36 UTC
From:
To:
Dear Customer,

Your parcel has arrived at October 29. Courier was unable to deliver the parcel to you.
Please, download Delivery Label attached to this email.

Kind regards,
Ricky Waters,
Sr. Operation Manager.

#636192#193
Date:
2016-10-29 22:07:34 UTC
From:
To:
Dear Customer,

Your parcel has arrived at October 29. Courier was unable to deliver the parcel to you.
You can review complete details of your order in the find attached.

Sincerely,
Jared Neal,
Operation Manager.

#636192#198
Date:
2016-10-30 13:00:10 UTC
From:
To:
Dear Customer,

We could not deliver your item.
Please, download Delivery Label attached to this email.

Regards,
George Summers,
Sr. Delivery Manager.

#636192#199
Date:
2016-11-01 07:34:09 UTC
From:
To:
Dear Customer,

Courier was unable to deliver the parcel to you.
Shipment Label is attached to email.

Sincerely,
Rafael Kelly,
Station Manager.

#636192#204
Date:
2016-11-01 07:34:07 UTC
From:
To:
Dear Customer,

We could not deliver your item.
Shipment Label is attached to this email.

Yours trully,
Jeffery Gregory,
Operation Manager.

#636192#205
Date:
2016-11-05 08:38:13 UTC
From:
To:
Dear Customer,

This is to confirm that one or more of your parcels has been shipped.
Shipment Label is attached to email.

Thank you for choosing FedEx,
Aaron Hubbard,
Sr. Delivery Manager.

#636192#206
Date:
2016-11-05 23:38:21 UTC
From:
To:
Dear Customer,

We could not deliver your item.
Shipment Label is attached to email.

Yours sincerely,
Bernard Cantrell,
FedEx Support Manager.

#636192#211
Date:
2016-11-05 23:38:20 UTC
From:
To:
Dear Customer,

We could not deliver your parcel.
Shipment Label is attached to this email.

Yours sincerely,
Mario Riggs,
Sr. Station Agent.

#636192#212
Date:
2016-11-11 08:46:04 UTC
From:
To:
Dear Customer,



Courier was unable to deliver the parcel to you.

Shipment Label is attached to email.



Kind regards,

Jim Hampton,

FedEx Support Manager.

#636192#223
Date:
2018-08-15 09:16:12 UTC
From:
To:
Indeed, that is the problem.

To recap on that patch:

Clint's objection was that running find could be rather expensive.

Well, it would make fakeroot depend on dpkg-dev which is rather
undesirable.

I think the solution is for each libfakeroot:$ARCH to add its directory
to fakeroot's search path via a configuration file.  Actually, those
already exist, namely the /etc/ld.so.conf.d/fakeroot-*.conf files.  So
how about the patch below?

#636192#228
Date:
2022-08-09 12:47:55 UTC
From:
To:
Hi. We published A Global Market Outlook Report on Automatic Wafer Production Lines and Machines 2022 for You and Competitors. If you have further interest in this report or related reports, we would be happy to share the sample report for your reference.


The following manufacturers are covered:
Bühler
Hebenstreit
NEFAMAK
Kehua Foodstuff
Forma Makina SAN
SAMCI
Coral FoodStuff
Gocmen
MYBAKE
Apex Machinery & Equipment
Tanis Food
Lafer Packaging
Shanghai Waifan
Gemni International
Ambaji Automations
......
Automatic Wafer Production Lines and Machines Breakdown Data by Type
Wafer Production Line
Packaging Machine
Feeding System
Automatic Wafer Production Lines and Machines Breakdown Data by End Users
SMEs
Large Enterprises


Maybe it will be helpful to the marketing department or the person in charge of your company. We would be grateful if you could forward it.



Best Regards
Fendi Zhang | Sales Manager
QYResearch INC.
Phone:  +86 137 6333 8542(7*24H), +1-626 2952 442(US)
E-mail:  fendi@qyresearch.com

#636192#233
Date:
2024-05-14 10:35:04 UTC
From:
To:
This ignored MR fixes this issue completely, despite the irrelevant
waffle about some other package.
https://salsa.debian.org/clint/fakeroot/-/merge_requests/28