[Qa-jenkins-scm] [Git][qa/jenkins.debian.net][master] 2 commits: reproducible Archlinux: introduce user/group variation
Holger Levsen
gitlab at salsa.debian.org
Fri Sep 28 23:29:41 BST 2018
Holger Levsen pushed to branch master at Debian QA / jenkins.debian.net
Commits:
3977ee6a by Holger Levsen at 2018-09-28T22:21:49Z
reproducible Archlinux: introduce user/group variation
Signed-off-by: Holger Levsen <holger at layer-acht.org>
- - - - -
30d9ce83 by Holger Levsen at 2018-09-28T22:27:08Z
reproducible Arch: chown $BUILDDIR to build2 user so that it becomes writeable
Signed-off-by: Holger Levsen <holger at layer-acht.org>
- - - - -
3 changed files:
- TODO
- bin/reproducible_build_archlinux_pkg.sh
- bin/reproducible_common.sh
Changes:
=====================================
TODO
=====================================
@@ -319,20 +319,19 @@ See link:https://jenkins.debian.net/userContent/about.html["about jenkins.debian
* use db - see https://tests.reproducible-builds.org/reproducibledb.html
** scheduler.sh:
-*** comparing versions is probably needed: if its not empty it must be higher (due to repo constraints), but it can be even higher than in the repo, because we build trunk
*** dont delete packages which are building?
-*** check/make sure that packages which are newer in trunk than repo are only scheduled once (they are not scheduled when trunk is updated at all... we need to use asp to find that out)
+*** use asp to update trunk packages?
** html:
*** leave all pkg.html files, delete them (much) later, then check all pkg.* files are gone
*** recreate them newly as index.html
*** create new job to recreate all pkg pages
*** create json
** misc:
-*** nothing to do here: we share /var/log/jenkins/reproducible-race-conditions.log and reproducible-remote-error.log with debian, is ok? should be. (else fix maintenance job and handle_race_condition() and handle_remote_error())
*** make build.sh respect pacman exit code, see FIXME in _html_.sh
+*** comparing versions (in scheduler) is probably needed: if its not empty it must be higher (due to repo constraints), but it can be even higher than in the repo, because we build trunk
*** debian uses a table removed_packages, should this be used here too?
*** debian uses a table manual_scheduler to limit the amount of packages someone can schedule per day...
-*** should breakages job look for archlinux breakages?
+*** should breakages job look for archlinux breakages? for which case
** using notes.git could be next
* rebuilding against the archlinux repos
=====================================
bin/reproducible_build_archlinux_pkg.sh
=====================================
@@ -405,6 +405,10 @@ second_build() {
export LC_ALL="fr_CH.UTF-8"
umask 0002
__END__
+ # create group and user
+ schroot --run-session -c $SESSION --directory "$BUILDDIR" -u root -- groupadd build2
+ schroot --run-session -c $SESSION --directory "$BUILDDIR" -u root -- useradd -g build2 build2
+ schroot --run-session -c $SESSION --directory "$BUILDDIR" -u root -- chown -R build2:build2 "$BUILDDIR"
# some more output for debugging
set -x
# remove possible lock in our local session (happens when root maintenance update running while session starts)
@@ -420,7 +424,7 @@ second_build() {
echo $VERSION > $TMPDIR/b2/$SRCPACKAGE/build2.version
# nicely run makepkg with a timeout of $TIMEOUT hours
timeout -k $TIMEOUT.1h ${TIMEOUT}h /usr/bin/ionice -c 3 /usr/bin/nice \
- schroot --run-session -c $SESSION --directory "$BUILDDIR/$ACTUAL_SRCPACKAGE/trunk" -- bash -l -c "$MAKEPKG_ENV_VARS makepkg $MAKEPKG_OPTIONS 2>&1" | tee -a $LOG
+ schroot --run-session -c $SESSION --directory "$BUILDDIR/$ACTUAL_SRCPACKAGE/trunk" -u root -- su -c "bash -l -c '$MAKEPKG_ENV_VARS makepkg $MAKEPKG_OPTIONS 2>&1'" build2 | tee -a $LOG
PRESULT=${PIPESTATUS[0]}
if [ $PRESULT -eq 124 ] ; then
echo "$(date -u) - makepkg was killed by timeout after ${TIMEOUT}h." | tee -a $LOG
=====================================
bin/reproducible_common.sh
=====================================
@@ -486,6 +486,10 @@ write_variation_table() {
write_page "<tr><td>user's <a href="https://en.wikipedia.org/wiki/Gecos_field">GECOS</a></td><td>first user,first room,first work-phone,first home-phone,first other</td><td>second user,second room,second work-phone,second home-phone,second other</td></tr>"
write_page "<tr><td>env DEB_BUILD_OPTIONS</td><td>DEB_BUILD_OPTIONS=\"parallel=XXX\"<br /> XXX on amd64: 16 or 15<br /> XXX on i386: 10 or 9<br /> XXX on armhf: 8, 4 or 2</td><td>DEB_BUILD_OPTIONS=\"parallel=YYY\"<br /> YYY on amd64: 16 or 15 (!= the first build)<br /> YYY on i386: 10 or 9 (!= the first build)<br /> YYY is the same as XXX on arm64<br /> YYY on armhf: 8, 4, or 2 (not varied systematically)</td></tr>"
write_page "<tr><td>UTS namespace</td><td><em>shared with the host</em></td><td><em>modified using</em> /usr/bin/unshare --uts</td></tr>"
+ elif [ "$1" = "Arch Linux" ] ; then
+ write_page "<tr><td>env USER</td><td>jenkins</td><td>build 2</td></tr>"
+ write_page "<tr><td>user/uid</td><td>jenkins/103</td><td>build2/1235</td></tr>"
+ write_page "<tr><td>group/gid</td><td>jenkins/105</td><td>build2/1235</td></tr>"
else
write_page "<tr><td>env USER</td><td colspan=\"2\"> is not yet varied between rebuilds of $1.</td></tr>"
write_page "<tr><td>uid</td><td colspan=\"2\"> is not yet varied between rebuilds of $1.</td></tr>"
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/compare/b592e2342cdd48d55e45b78d2d09e3b08519719b...30d9ce83708ed4f68f327586b7c5a4ddfc21d315
--
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/compare/b592e2342cdd48d55e45b78d2d09e3b08519719b...30d9ce83708ed4f68f327586b7c5a4ddfc21d315
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/qa-jenkins-scm/attachments/20180928/9f8ed124/attachment-0001.html>
More information about the Qa-jenkins-scm
mailing list