commit:     93bc214182bfd5ca49494c83e068f53a5b22f276
Author:     Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto <AT> gentoo 
<DOT> org>
AuthorDate: Wed Dec 27 02:54:39 2017 +0000
Commit:     Jorge Manuel B. S. Vicetto <jmbsvicetto <AT> gentoo <DOT> org>
CommitDate: Wed Dec 27 02:54:39 2017 +0000
URL:        https://gitweb.gentoo.org/proj/releng.git/commit/?id=93bc2141

Sync amd64 and x86 base and experimental scripts. Add a few missing popd calls 
to base scripts.

Signed-off-by: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto <AT> 
gentoo.org>

 tools/catalyst-auto-amd64-experimental.conf | 85 ++++++++++++++++++++---------
 tools/catalyst-auto-amd64.conf              |  1 +
 tools/catalyst-auto-x86-experimental.conf   | 43 +++++++++++----
 tools/catalyst-auto-x86.conf                |  1 +
 4 files changed, 92 insertions(+), 38 deletions(-)

diff --git a/tools/catalyst-auto-amd64-experimental.conf 
b/tools/catalyst-auto-amd64-experimental.conf
index a3b9f023..535f4fb5 100644
--- a/tools/catalyst-auto-amd64-experimental.conf
+++ b/tools/catalyst-auto-amd64-experimental.conf
@@ -10,23 +10,27 @@ source /etc/catalyst/release/build.env
 SPECS_DIR=${REPO_DIR}/releases/weekly/specs/${ARCH}
 
 SETS="
-       multilib
-       nomultilib
+       multilib minimal_multilib
+       nomultilib minimal_nomultilib
        x32
-       hardened_multilib
-       hardened_nomultilib
+       hardened_multilib minimal_hardened_multilib
+       hardened_nomultilib minimal_hardened_nomultilib
        hardened_multilib_selinux hardened_nomultilib_selinux
 "
 
 SET_multilib_SPECS="stage1.spec stage2.spec stage3.spec"
 SET_multilib_OPTIONAL_SPECS="installcd-stage1.spec 
installcd-stage2-minimal.spec"
+SET_minimal_multilib_OPTIONAL_SPECS="stage4-minimal.spec"
 SET_nomultilib_SPECS="stage1-nomultilib.spec stage2-nomultilib.spec 
stage3-nomultilib.spec"
+SET_minimal_nomultilib_OPTIONAL_SPECS="stage4-nomultilib-minimal.spec"
 
 SET_x32_SPECS="stage1-x32.spec stage2-x32.spec stage3-x32.spec"
 
 SET_hardened_multilib_SPECS="hardened/stage1.spec hardened/stage2.spec 
hardened/stage3.spec"
 SET_hardened_multilib_OPTIONAL_SPECS="hardened/admincd-stage1.spec 
hardened/admincd-stage2.spec"
+SET_minimal_hardened_multilib_OPTIONAL_SPECS="hardened/stage4-minimal.spec"
 SET_hardened_nomultilib_SPECS="hardened/stage1-nomultilib.spec 
hardened/stage2-nomultilib.spec hardened/stage3-nomultilib.spec"
+SET_minimal_hardened_nomultilib_OPTIONAL_SPECS="hardened/stage4-nomultilib-minimal.spec"
 
 SET_hardened_multilib_selinux_SPECS="hardened/stage1-selinux.spec 
hardened/stage2-selinux.spec hardened/stage3-selinux.spec"
 
SET_hardened_multilib_selinux_OPTIONAL_SPECS="hardened/admincd-stage1-selinux.spec
 hardened/admincd-stage2-selinux.spec"
@@ -38,7 +42,7 @@ EXTENSIONS="[.tar.xz,.tar.bz2,.tar.gz,.tar,.sfs]"
 
 give_latest_from_dates() {
        sed 's,-20,~20,g' | \
-       sort -k +1 -n -t '~' |\
+       sort -k +1 -n -t '~' | \
        awk -F\~ \
        'BEGIN{i=$1; o=$0};
        { if($1 != i && i != "") { print o; }; i=$1; o=$0;  }
@@ -46,51 +50,80 @@ give_latest_from_dates() {
        tr '~' '-'
 }
 
-pre_build() {
-       pushd ${REPO_DIR} >/dev/null
-       git pull
-       popd >/dev/null
-
+update_symlinks() {
        # Symlink the latest stages3 to build from
        for d in ${BUILD_SRCDIR_BASE}/{default,hardened} ; do
                pushd $d >/dev/null
                for f in $(ls stage3*${EXTENSIONS} | grep -v latest | 
give_latest_from_dates ) ; do
-                       of=${f/20[0-9][0-9].[0-9]/latest} # for 20XX.Y stuff
-                       of=${of/20[0-9][0-9][0-1][0-9][0-9][0-9]/latest} # for 
20YYMMDD stuff
-                       ln -sf $f $of
+                       # 20yymmddThhmmssZ
+                       # 20yymmddhhmmss
+                       # 20yymmdd
+                       # 20yy.n
+                       of=$(perl -p \
+                               -e 's/20\d{6}T\d{6}Z/latest/g;' \
+                               -e 's/20\d{6}\d{6}/latest/g;' \
+                               -e 's/20\d{6}/latest/g;' \
+                               -e 's/20\d{2}\.\d{2}/latest/g;' \
+                               <<<"$f")
+                       ln -svf "$f" "$of"
                done
                popd >/dev/null
        done
 }
 
+pre_build() {
+       pushd ${REPO_DIR} >/dev/null
+       git pull
+       popd >/dev/null
+       update_symlinks
+}
+
 post_build() {
+       cmd=(
+               rsync
+               -e 'ssh -i /root/.ssh/id_rsa'
+               -a
+               --omit-dir-times
+               --delay-updates
+       )
+       case $HOSTNAME in
+               nightheron)
+                       DEST_DEFAULT=${BUILD_DESTDIR_BASE}
+                       DEST_HARDENED=${BUILD_DESTDIR_BASE}/hardened
+                       ;;
+               *)
+                       
DEST_DEFAULT=${ARCH}@nightheron.gentoo.org:${BUILD_DESTDIR_BASE}
+                       
DEST_HARDENED=${ARCH}@nightheron.gentoo.org:${BUILD_DESTDIR_BASE}/hardened
+                       ;;
+       esac
        pushd ${BUILD_SRCDIR_BASE}/default >/dev/null
-
-       mkdir -p ${BUILD_DESTDIR_BASE}/default/${DATESTAMP}
-       for file in $(ls stage{3,4}*${DATESTAMP}*${EXTENSIONS} ); do
+       mkdir -p ${TMPDIR}/empty
+       "${cmd[@]}" ${TMPDIR}/empty ${DEST_DEFAULT}
+       for file in $(ls stage{3,4}*${DATESTAMP}*${EXTENSIONS} 
stage{3,4}*${TIMESTAMP}*${EXTENSIONS} ); do
                if [ -f $file ]; then
-                       cp $file* ${BUILD_DESTDIR_BASE}/default/${DATESTAMP}
+                       "${cmd[@]}" ${file}* ${DEST_DEFAULT}
                fi
        done
        if [ -f *${DATESTAMP}*.iso ]; then
-               cp *${DATESTAMP}*.iso* 
${BUILD_DESTDIR_BASE}/${TYPE}/${ARCH}/default/${DATESTAMP}
+               "${cmd[@]}" *${DATESTAMP}*.iso* ${DEST_DEFAULT}
+       elif [ -f *${TIMESTAMP}*.iso ]; then
+               "${cmd[@]}" *${TIMESTAMP}*.iso* ${DEST_DEFAULT}
        fi
        popd >/dev/null
 
        pushd ${BUILD_SRCDIR_BASE}/hardened >/dev/null
-
-       mkdir -p ${BUILD_DESTDIR_BASE}/hardened/${DATESTAMP}
-       for file in $(ls stage{3,4}*${DATESTAMP}*${EXTENSIONS} ); do
+       "${cmd[@]}" ${TMPDIR}/empty ${DEST_HARDENED}
+       for file in $(ls stage{3,4}*${DATESTAMP}*${EXTENSIONS} 
stage{3,4}*${TIMESTAMP}*${EXTENSIONS} ); do
                if [ -f $file ]; then
-                       cp $file* ${BUILD_DESTDIR_BASE}/hardened/${DATESTAMP}
+                       "${cmd[@]}" $file* ${DEST_HARDENED}
                fi
        done
-
        if [ -f *${DATESTAMP}*.iso ]; then
-               cp *${DATESTAMP}*.iso* 
${BUILD_DESTDIR_BASE}/hardened/${DATESTAMP}
+               "${cmd[@]}" *${DATESTAMP}*.iso* ${DEST_HARDENED}
+       elif [ -f *${TIMESTAMP}*.iso ]; then
+               "${cmd[@]}" *${TIMESTAMP}*.iso* ${DEST_HARDENED}
        fi
-
-
+       popd >/dev/null
 }
 
 # vim:ft=sh:

diff --git a/tools/catalyst-auto-amd64.conf b/tools/catalyst-auto-amd64.conf
index c9bbdc1a..b92f8314 100644
--- a/tools/catalyst-auto-amd64.conf
+++ b/tools/catalyst-auto-amd64.conf
@@ -127,6 +127,7 @@ post_build() {
        elif [ -f *${TIMESTAMP}*.iso ]; then
                "${cmd[@]}" *${TIMESTAMP}*.iso* ${DEST_HARDENED}
        fi
+       popd >/dev/null
 }
 
 # vim:ft=sh:

diff --git a/tools/catalyst-auto-x86-experimental.conf 
b/tools/catalyst-auto-x86-experimental.conf
index 79f310dd..4d6ccd30 100644
--- a/tools/catalyst-auto-x86-experimental.conf
+++ b/tools/catalyst-auto-x86-experimental.conf
@@ -55,32 +55,51 @@ pre_build() {
 }
 
 post_build() {
+       cmd=(
+               rsync
+               -e 'ssh -i /root/.ssh/id_rsa'
+               -a
+               --omit-dir-times
+               --delay-updates
+       )
+       case $HOSTNAME in
+               nightheron)
+                       DEST_DEFAULT=${BUILD_DESTDIR_BASE}
+                       DEST_HARDENED=${BUILD_DESTDIR_BASE}/hardened
+                       ;;
+               *)
+                       
DEST_DEFAULT=${ARCH}@nightheron.gentoo.org:${BUILD_DESTDIR_BASE}
+                       
DEST_HARDENED=${ARCH}@nightheron.gentoo.org:${BUILD_DESTDIR_BASE}/hardened
+                       ;;
+       esac
        pushd ${BUILD_SRCDIR_BASE}/default >/dev/null
-
-       mkdir -p ${BUILD_DESTDIR_BASE}/default/${DATESTAMP}
-       for file in $(ls stage{3,4}*${DATESTAMP}*${EXTENSIONS} ); do
+       mkdir -p ${TMPDIR}/empty
+       "${cmd[@]}" ${TMPDIR}/empty ${DEST_DEFAULT}
+       for file in $(ls stage{3,4}*{${DATESTAMP},${TIMESTAMP}}*${EXTENSIONS} 
); do
                if [ -f $file ]; then
-                       cp $file* ${BUILD_DESTDIR_BASE}/default/${DATESTAMP}
+                       "${cmd[@]}" ${file}* ${DEST_DEFAULT}
                fi
        done
-
        if [ -f *${DATESTAMP}*.iso ]; then
-               cp *${DATESTAMP}*.iso* 
${BUILD_DESTDIR_BASE}/default/${DATESTAMP}
+               "${cmd[@]}" *${DATESTAMP}*.iso* ${DEST_DEFAULT}
+       elif [ -f *${TIMESTAMP}*.iso ]; then
+               "${cmd[@]}" *${TIMESTAMP}*.iso* ${DEST_DEFAULT}
        fi
        popd >/dev/null
 
        pushd ${BUILD_SRCDIR_BASE}/hardened >/dev/null
-
-       mkdir -p ${BUILD_DESTDIR_BASE}/hardened/${DATESTAMP}
-       for file in $(ls stage{3,4}*${DATESTAMP}*${EXTENSIONS} ); do
+       "${cmd[@]}" ${TMPDIR}/empty ${DEST_HARDENED}
+       for file in $(ls stage{3,4}*{${DATESTAMP},${TIMESTAMP}}*${EXTENSIONS} 
); do
                if [ -f $file ]; then
-                       cp $file* ${BUILD_DESTDIR_BASE}/hardened/${DATESTAMP}
+                       "${cmd[@]}" $file* ${DEST_HARDENED}
                fi
        done
-
        if [ -f *${DATESTAMP}*.iso ]; then
-               cp *${DATESTAMP}*.iso* 
${BUILD_DESTDIR_BASE}/hardened/${DATESTAMP}
+               "${cmd[@]}" *${DATESTAMP}*.iso* ${DEST_HARDEND}
+       elif [ -f *${TIMESTAMP}*.iso ]; then
+               "${cmd[@]}" *${TIMESTAMP}*.iso* ${DEST_HARDENED}
        fi
+       popd >/dev/null
 }
 
 # vim:ft=sh:

diff --git a/tools/catalyst-auto-x86.conf b/tools/catalyst-auto-x86.conf
index 5398ba10..03d51642 100644
--- a/tools/catalyst-auto-x86.conf
+++ b/tools/catalyst-auto-x86.conf
@@ -99,6 +99,7 @@ post_build() {
        elif [ -f *${TIMESTAMP}*.iso ]; then
                "${cmd[@]}" *${TIMESTAMP}*.iso* ${DEST_HARDENED}
        fi
+       popd >/dev/null
 }
 
 # vim:ft=sh:

Reply via email to