[buildd-tools-devel] Question about sbuild failing to build libtool (using schroot).

Lennart Sorensen lsorense at csclub.uwaterloo.ca
Fri Jul 9 14:41:21 UTC 2010


On Thu, Jul 08, 2010 at 11:16:54PM +0100, Roger Leigh wrote:
> Well, there's definitely a bug in libtool here.  '~' is a valid
> character to use in pathnames (every character except '/' is valid
> according to POSIX).
> 
> I would definitely recommend getting libtool fixed.  However, we
> can also get sbuild to use the upstream version in its build
> directory name.  I should note here that while this fixes the
> problem of Debian versions containing a '~', nothing prevents
> upstream versions from containing the same character, and so this
> is really just papering over the problem.  In consequence, this
> really does need fixing properly in libtool whether or not it
> can be "mostly" fixed in sbuild.

Yeah I papered over it in sbuild on my machine and it builds now, but
it does seem like this will just come up again.

I just changed Sbuild/Build.pm to:

    $self->set('Chroot Dir', $session->get('Location'));
    $self->set('Chroot Build Dir',
               tempdir($self->get_conf('USERNAME') . '-' .
                       $self->get('Package') . '-' .
                       $self->get('VersionUpstream') . '-' .
                       $self->get('Arch') . '-XXXXXX',
                       DIR => $session->get('Build Location')));
    # TODO: Don't hack the build location in; add a means to customise
    # the chroot directly.
    $session->set('Build Location', $self->get('Chroot Build Dir'));

The libtool code is much uglier, so I haven't tried to fix it yet.

Now if I could figure out where to stop sbuild from changing $HOME to
/nonexistent, I might actually be able to build perl one of these days.

-- 
Len Sorensen



More information about the Buildd-tools-devel mailing list