Hi,

Attached is a partial summery trying to debug the problems with
fakeroot-hurd when building glibc.

Print statements to file are added to:
trans/fakeroot.c
libnetfs/file-set-translator.c
libdiskfs/file-set-trans.c

(and other files in libnetfs/, libdiskfs/, but no hits whatsoever for
them).

Some questions:
Method 1:
installing the built hurd and hurd-libs0.3, no reboot
printouts to
/tmp/trans_fakeroot.c.log
/tmp/libnetfs_file-set-translator.c.log
Which translators are restarted when installing, and which are when
rebooting?

Method 2:
since fakeroot, settrans and fakeauth are dynamically linked the newly
built libraries are copied to ./libs.
since ext2 is also dynamically built, the remaining libraries are in
stalled in ./libs too.

Two tests:
start test.fs with ext2fs.static:
printouts to:
/tmp/trans_fakeroot.c.log
/tmp/libdiskfs_file-set-trans.c.log

start test.fs with ext2fs:
printouts to:
/tmp/trans_fakeroot.c.log


Method 1:
cd ~/.../test_fakeroot-hurd (not /my_chroot partition)

Add print statements to
trans/fakeroot.c
libnetfs/file-set-translator.c
libdiskfs/file-set-trans.c
printing to files:
/tmp/trans_fakeroot.c.log
/tmp/libnetfs_file_set_translator.c.log
/tmp/libdiskfs_file_set_trans.c.log

Build and install hurd and hurd-libs0.3 (don't reboot)
/usr/bin/fakeroot-hurd dh_install -plocales-all
gives printouts to
/tmp/trans_fakeroot.c.log
/tmp/libnetfs_file_set_translator.c.log

Method 2:
cd /my_chroot/DEBs/test_fakeroot-hurd

Create a test partition
dd if=/dev/zero of=test.fs count=1000000 /* 512 MB */
echo y|mkfs.ext2 -o hurd test.fs

copy from the build to .:
ext2fs.static
ext2fs
fakeroot

cp -p /usr/bin/fakeroot-hurd .
edit paths:
exec /my_chroot/DEBs/test_fakeroot-hurd/settrans --chroot \
  /my_chroot/DEBs/test_fakeroot-hurd/fakeauth \
   ...
  -- / /my_chroot/DEBs/test_fakeroot-hurd/fakeroot

copy from the build to ./libs:
libnetfs.so.0.3
libshouldbeinlibc.so.0.3
libfshelp.so.0.3
libports.so.0.3
libiohelp.so.0.3
libihash.so.0.3
libhurdbugaddr.so.0.3
libdiskfs.so.0.3
libpager.so.0.3
libstore.so.0.3
 
Check:
LD_LIBRARY_PATH=./libs ldd ./fakeroot

Fix paths in script fakeroot-hurd:
cp -p /usr/bin/fakeroot-hurd .
exec /my_chroot/DEBs/test_fakeroot-hurd/settrans --chroot \
     /my_chroot/DEBs/test_fakeroot-hurd/fakeauth \
      ...
     -- / /my_chroot/DEBs/test_fakeroot-hurd/fakeroot
             
export LD_LIBRARY_PATH=/my_chroot/DEBs/test_fakeroot-hurd/libs

Results:
/my_chroot/DEBs/test_fakeroot-hurd/fakeroot-hurd dh_install -plocales-all
cp: cannot create symbolic link 
‘debian/locales-all//usr/lib/locale/af_ZA.utf8/LC_PAPER’: Device or 
resource busy
dh_install: cp -a ./build-tree/locales-all/usr/lib/locale/af_ZA.utf8 
debian/locales-all//usr/lib/locale/ returned exit code 1
/my_chroot/DEBs/test_fakeroot-hurd/fakeauth: Error 1 for child 3917
/my_chroot/DEBs/test_fakeroot-hurd/settrans: Error 1 for child 3916

ext2fs.static:
/tmp/trans_fakeroot.c.log
/tmp/libdiskfs_file-set-trans.c.log
<no printout to /tmp/libnetfs_file_set_translator.c.log>
<nothing interesting: /hurd/symlink??>

ext2fs:
/tmp/trans_fakeroot.c.log
<no printout to /tmp/libdiskfs_file-set-trans.c.log>
<no printout to /tmp/libnetfs_file_set_translator.c.log>

Reply via email to