#!/bin/bash for RELEASE in $RELEASES; do export BRITNEY_TIMESTAMP=$(date +"%Y-%m-%d_%H:%M:%S") echo "Release: $RELEASE"; echo "Timestamp: $BRITNEY_TIMESTAMP" if [ $ARCHIVE_TYPE = "ppa" ]; then export SOURCE_PPA_URL="http://ppa.launchpad.net/$LP_TEAM/$SOURCE_PPA/ubuntu/dists/$RELEASE/main"; export DEST_PPA_URL="http://ppa.launchpad.net/$LP_TEAM/$DEST_PPA/ubuntu/dists/$RELEASE/main"; fi # This is the main script, fetching the archives and running Britney ./fetch-indexes $RELEASE; # Britney outputs the candidates for testing migration, read the delta # Removals from the release pocket start with "-" while additions have no # prefix; this has to be accounted for in the archive commands seen below egrep -v '^#' britney_output/$BRITNEY_TIMESTAMP/HeidiOutputDelta > candidates || echo "No candidates found."; while read -r -a package; do # This only acts on sources; binaries require manual cleanup if [ ${#package[@]} = 2 ]; then if [ $ARCHIVE_TYPE = "ppa" ]; then COPY="./ubuntu-archive-tools/copy-package" REMOVE="./ubuntu-archive-tools/remove-package" if echo ${package[0]} | egrep -q "^-"; then $COPY -y -b -s $RELEASE --from "ppa:$LP_TEAM/ubuntu/$DEST_PPA" --to "ppa:$LP_TEAM/ubuntu/$SOURCE_PPA" --version "${package[1]}" "`echo ${package[0]} | sed 's/-//'`"; $REMOVE -y -s $RELEASE --archive "ppa:$LP_TEAM/ubuntu/$DEST_PPA" --version "${package[1]}" --removal-comment="demoted to proposed" "`echo ${package[0]} | sed 's/-//'`"; else $COPY -y -b -s $RELEASE --from "ppa:$LP_TEAM/ubuntu/$SOURCE_PPA" --to "ppa:$LP_TEAM/ubuntu/$DEST_PPA" --version "${package[1]}" "${package[0]}"; $REMOVE -y -s $RELEASE --archive "ppa:$LP_TEAM/ubuntu/$SOURCE_PPA" --version "${package[1]}" --removal-comment="moved to release" "${package[0]}"; fi fi fi done < candidates; done