Package: sbuild
Version: 0.60.0-1
Severity: minor
Tags: patch

This is an obscure one, I know.

The default "Chroot Build Dir" includes the full version number in the
path. However, for really old versions of libtool (from the era of
Debian Etch/Ubuntu Hardy or so) can't deal with tildes in their path,
truncating the path when they reach one:

  mkdir 
/build/builder-debathena-lprng_3.8.28dfsg.1-1.1ubuntu2debathena7~ubuntu8.04-amd64-v26GWv/debathena-lprng-3.8.28dfsg.1/debian/debathena-lprng/usr/lib
  mkdir 
/build/builder-debathena-lprng_3.8.28dfsg.1-1.1ubuntu2debathena7~ubuntu8.04-amd64-v26GWv/debathena-lprng-3.8.28dfsg.1/debian/debathena-lprng/usr/lib/lprng
  mkdir 
/build/builder-debathena-lprng_3.8.28dfsg.1-1.1ubuntu2debathena7~ubuntu8.04-amd64-v26GWv/debathena-lprng-3.8.28dfsg.1/debian/debathena-lprng/usr/lib/lprng/filters
  /bin/sh ../libtool --mode=install /usr/bin/install -c liblpr.la 
/build/builder-debathena-lprng_3.8.28dfsg.1-1.1ubuntu2debathena7~ubuntu8.04-amd64-v26GWv/debathena-lprng-3.8.28dfsg.1/debian/debathena-lprng/usr/lib/liblpr.la
  /usr/bin/install -c .libs/liblpr.lai 
/build/builder-debathena-lprng_3.8.28dfsg.1-1.1ubuntu2debathena7~ubuntu8.04-amd64-v26GWv/debathena-lprng-3.8.28dfsg.1/debian/debathena-lprng/usr/lib/liblpr.la
  /usr/bin/install -c .libs/liblpr.a 
/build/builder-debathena-lprng_3.8.28dfsg.1-1.1ubuntu2debathena7~ubuntu8.04-amd64-v26GWv/debathena-lprng-3.8.28dfsg.1/debian/debathena-lprng/usr/lib/liblpr.a
  ranlib /build/builder-debathena-lprng_3.8.28dfsg.1-1.1ubuntu2debathena7
  ranlib: '/build/builder-debathena-lprng_3.8.28dfsg.1-1.1ubuntu2debathena7': 
No such file
  make[3]: *** [install] Error 1
  make[2]: *** [src] Error 2
  make[1]: *** [install] Error 2
  make: *** [install] Error 2
  dpkg-buildpackage: failure: /usr/bin/fakeroot debian/rules binary gave error 
exit status 2
  make[3]: Leaving directory 
`/build/builder-debathena-lprng_3.8.28dfsg.1-1.1ubuntu2debathena7~ubuntu8.04-amd64-v26GWv/debathena-lprng-3.8.28dfsg.1/src'
  make[2]: Leaving directory 
`/build/builder-debathena-lprng_3.8.28dfsg.1-1.1ubuntu2debathena7~ubuntu8.04-amd64-v26GWv/debathena-lprng-3.8.28dfsg.1'
  make[1]: Leaving directory 
`/build/builder-debathena-lprng_3.8.28dfsg.1-1.1ubuntu2debathena7~ubuntu8.04-amd64-v26GWv/debathena-lprng-3.8.28dfsg.1'

This has come up for us a couple of times because we use
--append-to-version to add a backports-style modifier to packages we
build. For our purposes, we just modified the Chroot Build Dir to use
Package_OSVersion instead of Package_SVersion, but a better solution
might be to filter out all tildes in the build dir path.
--- /usr/share/perl5/Sbuild/Build.pm~   2010-02-23 17:38:47.000000000 -0500
+++ /usr/share/perl5/Sbuild/Build.pm    2010-04-08 12:54:17.000000000 -0400
@@ -246,7 +246,7 @@
     $self->set('Chroot Dir', $session->get('Location'));
     $self->set('Chroot Build Dir',
               tempdir($self->get_conf('USERNAME') . '-' .
-                      $self->get('Package_SVersion') . '-' .
+                      $self->get('Package_OSVersion') . '-' .
                       $self->get('Arch') . '-XXXXXX',
                       DIR => $session->get('Build Location')));
     # TODO: Don't hack the build location in; add a means to customise

Reply via email to