You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
2.0 KiB

#!/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