Initial working prototype.

master
Simon Quigley 5 years ago
parent 9222b02894
commit b806c88704

3
.gitignore vendored

@ -1,4 +1,5 @@
britney_data/
britney-output/
britney_output/
britney_hints/
britney_cache/
britney.conf

3
.gitmodules vendored

@ -0,0 +1,3 @@
[submodule "britney2-ubuntu"]
path = britney2-ubuntu
url = https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu

@ -0,0 +1,75 @@
# Configuration file for britney
# Paths for control files
TESTING = britney_data/$RELEASE
UNSTABLE = britney_data/$SOURCE_PPA-$RELEASE
PARTIAL_UNSTABLE = yes
# Output
NONINST_STATUS = britney_output/$BRITNEY_TIMESTAMP/$SOURCE_PPA-$RELEASE-non-installable-status
EXCUSES_OUTPUT = britney_output/$BRITNEY_TIMESTAMP/$SOURCE_PPA-$RELEASE-excuses.html
EXCUSES_YAML_OUTPUT = britney_output/$BRITNEY_TIMESTAMP/$SOURCE_PPA-$RELEASE-excuses.yaml
UPGRADE_OUTPUT =
HEIDI_OUTPUT =
# Appease piuparts
STATE_DIR = /tmp/piuparts-is-not-used
# List of release architectures
ARCHITECTURES = $ARCHES $PORTS_ARCHES
# if you're not in this list, arch: all packages are allowed to break on you
NOBREAKALL_ARCHES = amd64
# if you're in this list, your packages may not stay in sync with the source
OUTOFSYNC_ARCHES =
# if you're in this list, your uninstallability count may increase
BREAK_ARCHES =
# if you're in this list, you are a new architecture
NEW_ARCHES =
# priorities and delays
MINDAYS_LOW = 0
MINDAYS_MEDIUM = 0
MINDAYS_HIGH = 0
MINDAYS_CRITICAL = 0
MINDAYS_EMERGENCY = 0
DEFAULT_URGENCY = medium
# hint permissions
HINTS_CJWATSON = ALL
HINTS_ADCONRAD = ALL
HINTS_KITTERMAN = ALL
HINTS_LANEY = ALL
HINTS_JRIDDELL = ALL
HINTS_STEFANOR = ALL
HINTS_STGRABER = ALL
HINTS_VORLON = ALL
HINTS_PITTI = ALL
# support for old libraries in testing (smooth update)
# use ALL to enable smooth updates for all the sections
#
# naming a non-existent section will effectively disable new smooth
# updates but still allow removals to occur
SMOOTH_UPDATES = badgers
REMOVE_OBSOLETE = no
ADT_ENABLE = no
ADT_DEBUG = no
ADT_ARCHES = amd64 i386 armhf ppc64el s390x
ADT_PPAS =
ADT_SHARED_RESULTS_CACHE = britney_data/$RELEASE/results.cache
ADT_AMQP =
# Swift base URL with the results (must be publicly readable and browsable)
ADT_SWIFT_URL =
BOOTTEST_ENABLE = no
BOOTTEST_DEBUG = yes
BOOTTEST_ARCHES = armhf amd64
BOOTTEST_FETCH = yes
EMAIL_ENABLE = no

@ -0,0 +1 @@
Subproject commit daaadf5bbdc7400e10636570b1e43995ef814076

@ -1,4 +1,4 @@
export RELEASE="disco"
export RELEASE="cosmic"
export LP_TEAM="lubuntu-ci"
export SOURCE_PPA="unstable-ci-proposed"
@ -11,7 +11,7 @@ export PORTS_ARCHIVE="http://ports.ubuntu.com/dists"
export ARCHES="i386 amd64"
export PORTS_ARCHES="armhf arm64 ppc64el s390x"
export BRITNEY_LOC="britney"
export BRITNEY_LOC="britney2-ubuntu/britney.py"
export BRITNEY_DATADIR="britney_data"
export BRITNEY_OUTDIR="britney_output"
export BRITNEY_HINTDIR="britney_hints"

@ -47,20 +47,20 @@ for pocket in $RELEASE $RELEASE-updates $RELEASE-proposed; do
done
done
# Treat the source PPA as just another pocket
# Treat the destination PPA as just another pocket
for pocket in $RELEASE-ppa-proposed; do
for arch in $ARCHES $PORTS_ARCHES; do
refresh $SOURCE_PPA_URL/source/Sources.gz
refresh $SOURCE_PPA_URL/binary-$arch/Packages.gz
refresh $DEST_PPA_URL/source/Sources.gz
refresh $DEST_PPA_URL/binary-$arch/Packages.gz
done
done
# Get the destination PPA
pocket=$DEST_PPA-$RELEASE
# Get the source PPA
pocket=$SOURCE_PPA-$RELEASE
for arch in $ARCHES $PORTS_ARCHES; do
refresh $DEST_PPA_URL/binary-$arch/Packages.gz
refresh $SOURCE_PPA_URL/binary-$arch/Packages.gz
done
refresh $DEST_PPA_URL/source/Sources.gz
refresh $SOURCE_PPA_URL/source/Sources.gz
wait # for wgets to finish
@ -68,26 +68,40 @@ find $BRITNEY_DATADIR -name "$$-wget-log*" -exec cat '{}' \; -delete 1>&2
echo 'Building britney indexes...'
# "Unstable" is just silo PPA
DEST=$BRITNEY_DATADIR/$DEST_PPA-$RELEASE
mkdir --parents $DEST "$BRITNEY_OUTDIR/$BRITNEY_TIMESTAMP/"
mkdir --parents "$BRITNEY_OUTDIR/$BRITNEY_TIMESTAMP/"
# "Unstable" is SOURCE_PPA
DEST=$BRITNEY_DATADIR/$SOURCE_PPA-$RELEASE
mkdir --parents $DEST
touch --no-create $DEST
ln --verbose --symbolic --force --no-dereference $BRITNEY_HINTDIR $DEST/Hints
zcat $BRITNEY_CACHE/$SOURCE_PPA-$RELEASE/*/source/Sources.gz > $DEST/Sources
for arch in $ARCHES $PORTS_ARCHES; do
zcat $BRITNEY_CACHE/$SOURCE_PPA-$RELEASE/*/binary-$arch/Packages.gz > $DEST/Packages_${arch}
done
touch $DEST/Blocks
touch "$BRITNEY_DATADIR/$SOURCE_PPA-$RELEASE/Dates"
# "Testing" is a combination of the archive and DEST_PPA
DEST=$BRITNEY_DATADIR/$RELEASE
mkdir --parents $DEST
touch --no-create $DEST
loudly ln --verbose --symbolic --force --no-dereference $BRITNEY_HINTDIR $DEST/Hints
zcat $BRITNEY_CACHE/$DEST_PPA-$RELEASE/*/source/Sources.gz > $DEST/Sources
ln --verbose --symbolic --force --no-dereference $BRITNEY_HINTDIR $DEST/Hints
zcat $BRITNEY_CACHE/$RELEASE*/*/source/Sources.gz > $DEST/Sources
for arch in $ARCHES $PORTS_ARCHES; do
zcat $BRITNEY_CACHE/$DEST_PPA-$RELEASE/*/binary-$arch/Packages.gz > $DEST/Packages_${arch}
zcat $BRITNEY_CACHE/$RELEASE*/*/binary-$arch/Packages.gz > $DEST/Packages_${arch}
done
touch $DEST/Blocks
touch "$DATADIR/$RELEASE/Dates"
touch "$BRITNEY_DATADIR/$SOURCE_PPA-$RELEASE/Dates"
# Create config file atomically.
#CONFIG="$DEST.conf"
#envsubst "$CONFIG" < "$CODEDIR/britney.conf.in"
CONFIG="britney.conf"
envsubst < "$CONFIG.in" > "$CONFIG"
#log 'Running britney...'
#loudly $BRITNEY -v --config "$CONFIG" --series $SERIES | sed "s#$AMQP_URI#AMQP_URI#"
echo 'Running britney...'
$BRITNEY_LOC -v --config "$CONFIG" --series $RELEASE
# shellcheck disable=SC2059
#printf "$files\n" >> $OUTDIR/$BRITNEY_TIMESTAMP/$TICKETID.manifest
log "$0 done."
echo "$0 done."

Loading…
Cancel
Save