[Reproducible-commits] [blog] 01/01: First draft of reprotest week 9 report

Ceridwen ceridwen-guest at moszumanska.debian.org
Mon Jul 25 13:58:10 UTC 2016


This is an automated email from the git hooks/post-receive script.

ceridwen-guest pushed a commit to branch master
in repository blog.

commit d7aadec56f552e67e8cc306d2586df3e3ce98249
Author: Ceridwen <ceridwenv at gmail.com>
Date:   Mon Jul 25 09:57:51 2016 -0400

    First draft of reprotest week 9 report
---
 drafts/people/ceridwen/reprotest_week9.mdwn | 44 +++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/drafts/people/ceridwen/reprotest_week9.mdwn b/drafts/people/ceridwen/reprotest_week9.mdwn
new file mode 100644
index 0000000..aae5aeb
--- /dev/null
+++ b/drafts/people/ceridwen/reprotest_week9.mdwn
@@ -0,0 +1,44 @@
+[[!meta title=""]]
+[[!meta date="Mon, 18 Jul 2016 11:51:31 -0400"]]
+[[!tag reproducible_builds Debian reprotest Outreachy]]
+Author: ceridwen
+
+reprotest 0.2, with virtualization support, should be out soon!  I
+have tested null (no container, build on the host system),
+[schroot](https://wiki.debian.org/Schroot), and
+[qemu](https://wiki.debian.org/QEMU), but it's likely that chroot,
+Linux containers (lxc/lxd), and quite possibly ssh are also working.
+I haven't tested the autopkgtest code on a non-Debian system, but
+again, it probably works.  At this point, reprotest is not quite a
+replacement for the
+[prebuilder](https://anonscm.debian.org/cgit/reproducible/misc.git/tree/prebuilder)
+script because I haven't implemented all the variations yet, but it
+offers better virtualization because it supports qemu, and it can
+build non-Debian software because it doesn't rely on pbuilder.
+
+With HW42's help, I fixed the schroot/disorderfs/autopkgtest
+permission error and got pip/setuptools to install the autopkgtest
+code from `virt/`.  The permission error came from autopkgtest
+automatically running all commands on a testbed as root, if it can run
+commands as root, which caused schroot to mount disorderfs as root.
+This caused the build artifact to be owned by root, but unlike qemu, a
+chroot shares the same file system, so it would then try to copy this
+root-owned file with a process running with ordinary user permissions.
+The fix was to mount disorderfs with `--multi-user=yes` when the
+container has root permissions, allowing a user process to access it
+even when it's mounted by root.  The fix for setuptools is an ugly
+hack: including the `virt/` scripts as non-code data with `include
+reprotest/virt/*` in `MANIFEST.in` works.  (According to the
+documentation, `graft reprotest/virt/`, which I also tried, *ought* to
+work, but in my testing it doesn't.)  This still uses sys.path hacking
+as a consequence of autopkgtest's design choices.
+
+For the next release, I want to finish all the remaining variations,
+which at this point are build path, domain, host, group, shell, and
+user.  I also want to ensure that reprotest runs on non-Debian and
+possibly non-Linux systems.
+
+For now, what I need most is more real-world testing.  If you have any
+interest in reproducible builds, please try reprotest out!  There's a
+README included which describes how to set up appropriate containers
+and run the tests.

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/blog.git



More information about the Reproducible-commits mailing list