[buildd-tools-devel] Bug#778571: Bug#778571: [Reproducible-builds] Bug#790868: sbuild: Please allow sbuild to use a deterministic build path to build packages

Benjamin Drung benjamin.drung at profitbricks.com
Tue Jul 14 19:54:33 UTC 2015


Am Dienstag, den 14.07.2015, 21:28 +0200 schrieb Johannes Schauer:
> Hi,
> 
> Quoting Benjamin Drung (2015-07-14 21:19:51)
> > The idea to bind mount the directory is to avoid build conflicts. When you
> > build the same package twice in parallel, one chroot would bind mount
> > /build/$package-XXXXXX/$package-$version to
> > /usr/src/debian/$package/$full-version and the other
> > /build/$package-YYYYYY/$package-$version to
> > /usr/src/debian/$package/$full-version. Does this make sense or do I have a
> > flaw in my logic?
> 
> maybe I have a flaw in mine :) So let me inquire about this last thing you
> wrote.
> 
> Do you mean to bind mount /build/$package-XXXXXX/$package-$version from the
> host running sbuild to /usr/src/debian/$package/$full-version in the schroot
> where the build is done? If yes, then why would I want the /build directory on
> my host system? That would violate the FHS. Secondly, who would be responsible
> to set up /build/$package-XXXXXX and /build/$package-YYYYYY on my host system?
> Which permissions would that require?
> 
> So maybe you mean it the other way round, to bind mount
> /usr/src/debian/$package/$full-version from the host running sbuild to
> /build/$package-XXXXXX/$package-$version in the schroot where the build is
> done? If yes, then what is XXXXXX? If it is random, then how would it make the
> build path reproducible? If it is not random, why does the XXXXXX part exist?
> 
> Thanks for bearing with me :)

Time to check the current behaviour and to rethink. :) Let's take the sl
package as example. When I build sl, /var/lib/sbuild/build/sl-bRYRkz/ is
created and the source package is placed there. bRYRkz is the random
part. /var/lib/sbuild/build is mounted
to /var/lib/schroot/mount/$session/build (done
in /etc/schroot/sbuild/fstab) so that /var/lib/sbuild/build/sl-bRYRkz/
is accessible as /build/sl-bRYRkz/ inside the chroot.

Instead /var/lib/sbuild/build/sl-bRYRkz could be mounted
to /var/lib/schroot/mount/$session/usr/src/debian/sl so
that /var/lib/sbuild/build/sl-bRYRkz/ is accessible
as /usr/src/debian/sl inside the chroot. The alternative would be to
bindmount /build/sl-bRYRkz/ to /usr/src/debian/sl inside the chroot
(which would be an addition bind mount level).

Problem: The path /var/lib/sbuild/build/sl-bRYRkz/ is not static and I
don't know whether schroot could be configured to support that dynamic
mounting.

I hope that now everything will be as clear as mud. ;) (or in German:
Hoffentlich sind nun alle Klarheiten beseitigt)

-- 
Benjamin Drung
System Developer
Debian & Ubuntu Developer

ProfitBricks GmbH
Greifswalder Str. 207
D - 10405 Berlin

Email: benjamin.drung at profitbricks.com
URL:  http://www.profitbricks.com

Sitz der Gesellschaft: Berlin.
Registergericht: Amtsgericht Charlottenburg, HRB 125506B.
Geschäftsführer: Andreas Gauger, Achim Weiss.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/buildd-tools-devel/attachments/20150714/a6f29e36/attachment.sig>


More information about the Buildd-tools-devel mailing list