[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [PATCH] exec: fix exec_file_name in conjunction with fakeroot or chroot



Quoting Samuel Thibault (2013-11-19 09:30:22)
> Justus Winter, le Mon 18 Nov 2013 18:54:45 +0100, a écrit :
> > Quoting Samuel Thibault (2013-11-18 17:15:05)
> > > So with this patch, does building packages inside the hurdish fakeroot
> > > now works?
> > 
> > No :/ something funny happens with some path during make
> > install. Looks like the first and third components are stripped off:
> > 
> > % pwd
> > /home/teythoon/scratch/packages/hurd-pkg
> > % fakeroot debian/rules binary
> > dh binary -Bbuild-deb --with autotools_dev,autoreconf
> >    debian/rules override_dh_auto_install
> > make[1]: Entering directory `/teythoon/packages/hurd-pkg'
> 
> I don't get this issue.

Hm, so this is probably related to my setup. Let's see:

% fsysopts /home/teythoon
ext2fs --writable --no-atime --no-inherit-dir-group --sync=30 --store-type=typed device:hd0s1
% ls -l /home/teythoon/scratch
lrwxr-xr-x 1 teythoon teythoon 23 Jun  8 18:08 /home/teythoon/scratch -> /media/scratch/teythoon/
% fsysopts /media/scratch
/hurd/ext2fs --writable --no-atime --no-inherit-dir-group --sync=30 /dev/hd1s1

With your recent patch, the hello package builds fine in /usr/src
(which lives on the root filesystem) which is a good sign, as hello
uses quite a lot of features of the build system. If I try this in
/home/teythoon/scratch/packages, this fails:

% pwd
/home/teythoon/scratch/packages/hello-2.8
% dpkg-buildpackage -rfakeroot-hurd -b
[...]
make[3]: Entering directory `/teythoon/packages/hello-2.8/src'
test -z "/home/teythoon/scratch/packages/hello-2.8/debian/tmp/usr/bin" || /bin/mkdir -p "/home/teythoon/scratch/packages/hello-2.8/debian/tmp/usr/bin"
  /usr/bin/install -c hello '/home/teythoon/scratch/packages/hello-2.8/debian/tmp/usr/bin'
/usr/bin/install: cannot create regular file `/home/teythoon/scratch/packages/hello-2.8/debian/tmp/usr/bin/hello': Is a directory
make[3]: *** [install-binPROGRAMS] Error 1
make[3]: Leaving directory `/teythoon/packages/hello-2.8/src'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/teythoon/packages/hello-2.8/src'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/teythoon/packages/hello-2.8'
make: *** [binary-arch] Error 2
/bin/fakeauth: Error 2 for child 2711

> It however seems to get stuck at dh_gencontrol -a -O-Bbuild-deb

I now also see this issue you encountered, e.g. when building gnumach:

% ps Ax
[...]
teythoon 27897 p1  0 Sw    0:00.07 /usr/bin/perl -w /usr/bin/dh_gencontrol -a
teythoon 27905  ?  1 H     0:00.12 /usr/bin/perl /usr/bin/dpkg-gencontrol -pgnu
% gdb --pid 27905 /usr/bin/perl
[...]
(gdb) bt full
#0  0x010ffb09 in _hurd_intr_rpc_msg_in_trap () at intr-msg.c:133
        err = <optimized out>
        err = <optimized out>
        user_option = 3
        user_timeout = 5395
        m = 0x15ff800
        msgh_bits = 19378176
        remote_port = 136064840
        msgid = 48
        save_data = {type = {msgt_name = 36, msgt_size = 198, 
            msgt_number = 297, msgt_inline = 0, msgt_longform = 0, 
            msgt_deallocate = 0, msgt_unused = 0}, err = 136064952}
        __PRETTY_FUNCTION__ = "_hurd_intr_rpc_mach_msg"
#1  0x0127b000 in ?? () from /lib/i386-gnu/libc.so.0.3
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

The remote port looks fishy...

Justus


Reply to: