vinaigrette/scripts/rebuildd/upload-binaries
2018-04-27 03:48:43 +02:00

68 lines
1.6 KiB
Bash
Executable file

#!/bin/bash -p
codename=$1
CODENAME=$1
package=$2
version=$3
arch=$4
job=$5
source /home/vinaigrette/config/config
source /home/vinaigrette/scripts/package_helpers.sh
# Architecture independent packages are built on default arch
ARCH=$arch
[[ $arch == all ]] && ARCH=$DEFAULT_ARCH
# Resulting changes file
CHANGES_FILE=$PBUILDER_RESULTS/${package}_${version}_${ARCH}.changes
# Retrieve distribution/component
DISTRIBUTION=$(get_distribution $CHANGES_FILE)
# Attempt to extract Debian codename from Distribution
extract_codename_distribution $DISTRIBUTION || exit 1
# Retrieving component from source package
get_source_component() {
reprepro -b $REPO_DIR -T dsc --list-max 1 --list-format '${$component}' \
listfilter $CODENAME "\$Source (==${package}), \$SourceVersion (==${version})"
}
COMPONENT=$(get_source_component)
if [ -z "$COMPONENT" ]; then
echo "Unable to retrieve source package component"
exit 1
fi
echo "#########################"
echo " Adding binary package..."
echo "#########################"
include_to() {
# Include changes to the given repo (waiting 1m max)
echo "Adding to ${1}/$COMPONENT..."
reprepro --waitforlock 6 -b $REPO_DIR -C $COMPONENT include $1 \
$CHANGES_FILE > /dev/null 1>&1 || return 1
}
if include_to $CODENAME ; then
status=0
else
status=1
fi
if [ $status -eq 0 ]; then
# Clean pbuilder results
for f in $(get_files $CHANGES_FILE); do
rm -f /var/cache/pbuilder/result/$f
done
fi
# Send notification on xmpp dev room
export HOME=$HOME_PBUILDER
sendxmpppy "Completed build of ${package}/${version} for ${CODENAME}/${COMPONENT}/${arch}."
exit $status