This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository buildscripts. from 2a7fe4c bin/slave-start-chroot.sh: input argument to pty.spawn as a list. new 5e98afe bin/slave-start-{prepare,chroot}.sh: disable su hack and actually do the work manually via newgrp. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: bin/slave-start-chroot.sh | 2 +- bin/slave-start-prepare.sh | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/buildscripts.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository buildscripts. commit 5e98afecf51b88f66b340c27c3f01a350f8303e4 Author: Mihai Moldovan <ionic@ionic.de> Date: Sat Nov 25 08:34:46 2017 +0100 bin/slave-start-{prepare,chroot}.sh: disable su hack and actually do the work manually via newgrp. Using su doesn't really work, since it needs a TTY. Spawning a TTY will make Jenkins print out data directly, but we *need* to wait until the jenkins slave command is launched for this to happen. --- bin/slave-start-chroot.sh | 2 +- bin/slave-start-prepare.sh | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/bin/slave-start-chroot.sh b/bin/slave-start-chroot.sh index 3c1209f..ebf2c59 100755 --- a/bin/slave-start-chroot.sh +++ b/bin/slave-start-chroot.sh @@ -22,4 +22,4 @@ fi "${HOME}/bin/slave-sync.sh" -schroot -c "${chroot}" -- python -c "import pty; pty.spawn(['/bin/su', '-', '${USER}', '-c', 'bin/${prefix}-slave-start-prepare.sh'])" +schroot -c "${chroot}" -- "bin/${prefix}-slave-start-prepare.sh" diff --git a/bin/slave-start-prepare.sh b/bin/slave-start-prepare.sh index 94d1ef0..8e6fae8 100755 --- a/bin/slave-start-prepare.sh +++ b/bin/slave-start-prepare.sh @@ -4,6 +4,25 @@ set -e typeset prefix="$(cut -d"-" -f1 <<< "$(basename "${0}")")" +# Apply groups defined for the user within the chroot system. +# We cannot use su, because that requires a TTY and spawning such +# a TTY (even if it's just a PTY) will make Jenkins output stuff +# directly - that data will never make it to the jenkins slave command. +# sudo doesn't do what is said on the box. +# For now, do this stuff manually. + +typeset -a set_groups +typeset -i i="0" +set_groups=( "mock" "obs" "sbuild" ) + +typeset cur_group="" +for cur_group in "${set_groups[@]}"; do + exec newgrp "${cur_group}" +done + +# Make the primary group actually primary. +exec newgrp - + # Generate this stuff via: # - openssl s_client -showcerts -servername hostname -connect host:port # - copy the first PEM-encoded certificate to ${cert} including headers (if printed) -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/buildscripts.git