diff options
-rwxr-xr-x | rsync-gen.sh | 60 |
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. |