aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2017-11-24 20:31:21 +0100
committerMichał Górny <mgorny@gentoo.org>2017-11-24 23:09:47 +0100
commit28a02fefc9fbb2c10608d9b6e12a24672196ebd7 (patch)
treee0599f694f2bc6ed24ad381120817daf0c51c48c
parentrsync-gen: Stop preserving mtimes from the git repository (diff)
downloadmastermirror-scripts-28a02fefc9fbb2c10608d9b6e12a24672196ebd7.tar.gz
mastermirror-scripts-28a02fefc9fbb2c10608d9b6e12a24672196ebd7.tar.bz2
mastermirror-scripts-28a02fefc9fbb2c10608d9b6e12a24672196ebd7.zip
rsync-gen.sh: Generate MetaManifests using gemato utility script
-rwxr-xr-xrsync-gen.sh60
1 files changed, 21 insertions, 39 deletions
diff --git a/rsync-gen.sh b/rsync-gen.sh
index e774c83..caae11c 100755
--- a/rsync-gen.sh
+++ b/rsync-gen.sh
@@ -105,7 +105,6 @@ timelog_start "STAGEDIR_repo_gentoo RSYNC" | timelogger
rsync -Wqau --checksum --no-times \
$RSYNC_GIT_EXCLUDE \
--filter 'P /metadata/***' \
- --filter 'Pp Manifest' \
--delete --delete-excluded \
${EXPORTS}/gentoo-x86/ ${STAGEDIR_repo_gentoo}/ || exit
timelog___end "STAGEDIR_repo_gentoo RSYNC" | timelogger
@@ -127,27 +126,6 @@ REGEN_LOG_FILE=regen-run-${LOG_TIMESTAMP}.log
REGEN_LOG_DIR=${LOGDIR}/regen
[[ -d ${REGEN_LOG_DIR} ]] || mkdir ${REGEN_LOG_DIR}
-function parallel_repoman_manifest_THICKEN() {
- /usr/local/bin/mastermirror/thicken-manifests.py \
- ${PARALLEL_PARAMS_noloadavg} \
- "${STAGEDIR_repo_gentoo}"
-}
-
-function parallel_repoman_manifest_REPOMAN() {
- find ${STAGEDIR_repo_gentoo} \
- -maxdepth 1 -mindepth 1 \
- -type d \
- ! -name eclass \
- ! -name scripts \
- ! -name licenses \
- ! -name metadata \
- ! -name profiles \
- | parallel --no-notice \
- ${PARALLEL_PARAMS/--load-average/--load} \
- 'cd {} && repoman manifest' \
- >>${REGEN_LOG_DIR}/${REGEN_LOG_FILE}
-}
-
# TODO: Implement a monitoring system that guarantees low-latency human
# intervention when necessary, and stop using --tolerant (bug #239266).
@@ -198,25 +176,8 @@ sed -i \
-e '/^sign-commits/s,true,false,g' \
${STAGEDIR_repo_gentoo}/metadata/layout.conf
-# Thicken manifests
-timelog_start "THICKEN" | timelogger
-parallel_repoman_manifest_THICKEN
-timelog___end "THICKEN" | timelogger
-
# Mark that metadata is done
date -u > ${STAGEDIR_repo_gentoo}/metadata/timestamp
-
-timelog_start "MANIFEST-VALIDATE" | timelogger
-cd ${STAGEDIR_repo_gentoo}
-#DISABLED-SLOW#PORTDIR=${STAGEDIR_repo_gentoo} repoman manifest-check 2>&1 >${REGEN_LOG_DIR}/${REGEN_LOG_FILE}.validate
-rval=$?
-if [[ ${rval} != 0 ]]; then
- echo "$0: A Manifest has a failure!"
- echo "${REGEN_LOG_DIR}/${REGEN_LOG_FILE}.validate:"
- cat "${REGEN_LOG_DIR}/${REGEN_LOG_FILE}.validate"
- exit 5
-fi
-timelog___end "MANIFEST-VALIDATE" | timelogger
# end 2)
# 3) place dtd info in STAGEDIR_repo_gentoo
@@ -253,6 +214,27 @@ rsync -Wqa --no-times --checksum ${EXPORTS}/projects/projects.xml ${STAGEDIR_rep
timelog___end "HERDS-AND-PROJ" | timelogger
# end 6)
+# 6a) thicken and generate MetaManifests
+timelog_start "THICKEN-META" | timelogger
+/usr/local/bin/gemato/utils/gen_fast_metamanifest.py \
+ "${STAGEDIR_repo_gentoo}"
+timelog___end "THICKEN-META" | timelogger
+
+# TODO: sign the MetaManifests
+
+timelog_start "MANIFEST-VALIDATE" | timelogger
+cd ${STAGEDIR_repo_gentoo}
+#DISABLED-SLOW#PORTDIR=${STAGEDIR_repo_gentoo} repoman manifest-check 2>&1 >${REGEN_LOG_DIR}/${REGEN_LOG_FILE}.validate
+rval=$?
+if [[ ${rval} != 0 ]]; then
+ echo "$0: A Manifest has a failure!"
+ echo "${REGEN_LOG_DIR}/${REGEN_LOG_FILE}.validate:"
+ cat "${REGEN_LOG_DIR}/${REGEN_LOG_FILE}.validate"
+ exit 5
+fi
+timelog___end "MANIFEST-VALIDATE" | timelogger
+# end 6a)
+
# 7) rsync from STAGEDIR_repo_gentoo to FINALDIR_repo_gentoo
# note, call exit above if it is not desired to update the FINALDIR_repo_gentoo. This is
# where all the rsync nodes pull from.