# Release to something other than unstable, e.g. experimental
# CHROOT=$chroot
# Build using another schroot than debcargo-unstable-amd64-sbuild
+# SBUILD_OPTS=
+# will pass to sbuild; for example SBUILD_OPTS=--arch=i386
set -e
SCRIPTDIR="$(dirname $(readlink -f "$0"))"
if [ -n "$DEBCARGO" ]; then
true
-elif which debcargo >/dev/null; then
- DEBCARGO=$(which debcargo)
+elif type -p debcargo >/dev/null 2>&1; then
+ DEBCARGO=$(type -p debcargo)
elif [ -f "$HOME/.cargo/bin/debcargo" ]; then
DEBCARGO="$HOME/.cargo/bin/debcargo"
else
( cd "$PKGNAME" && dpkg-buildpackage -d -S --no-sign )
# sign if not UNRELEASED
if echo "$DEBDIST" | grep -qv UNRELEASED-FIXME-AUTOGENERATED-DEBCARGO; then
- debsign "${SRCNAME}_source.changes"
+ debsign ${DEBSIGN_KEYID:+-k $DEBSIGN_KEYID} "${SRCNAME}_source.changes"
fi
fi
+EXTRA_DEBS=( "$@" )
+if [ -n "$*" -a -z "$IGNORE_MISSING_BUILD_DEPS" ]; then
+ IGNORE_MISSING_BUILD_DEPS=1
+ echo >&2 "Given non-empty extra debs; defaulting IGNORE_MISSING_BUILD_DEPS=1"
+fi
+
check_build_deps() {
mkdir -p dpkg-dummy
if shouldbuild dpkg-dummy/status /var/cache/apt/pkgcache.bin; then
# pretend dpkg status file that marks all packages as installed
# this is because dpkg-checkbuilddeps only works on installed pkgs
- apt-cache dumpavail -o APT::Default-Release=unstable | \
- sed -e 's/Package: .*/\0\nStatus: install ok installed/g' > dpkg-dummy/status
- if ! test -s dpkg-dummy/status; then
+ ( apt-cache dumpavail -o APT::Default-Release=$DISTRIBUTION && \
+ for i in ${EXTRA_DEBS[*]}; do apt-cache show $(echo $i | cut -d_ -f1); done ) | \
+ sed -e 's/Package: .*/\0\nStatus: install ok installed/g' > dpkg-dummy/status.tmp
+ if ! test -s dpkg-dummy/status.tmp; then
abort 1 "couldn't generate dpkg-dummy/status, is Debian unstable in your APT sources?"
fi
+ mv dpkg-dummy/status{.tmp,}
fi
( cd "$PKGNAME" && dpkg-checkbuilddeps --admindir=../dpkg-dummy )
}
exit
fi
-EXTRA_DEBS=( "$@" )
if [ -n "${EXTRA_DEBS[*]}" ]; then
EXTRA_DEBS_SBUILD=("${EXTRA_DEBS[@]/#/--extra-package=}")
EXTRA_DEBS_REPO_TMP=$(mktemp -d "${SRCNAME}_REPO_XXXXXXXX")
"${EXTRA_DEBS_AUTOPKGTEST_OPTS[@]}" \
"${AUTOPKGTEST_OPTS[@]}" \
"${LINTIAN_OPTS[@]}" \
+ ${SBUILD_OPTS} \
"$SRCNAME.dsc"
if [ "$SKIP_AUTOPKGTEST" != 1 ]; then
report "analyzing autopkgtest log: $BUILDNAME.test.log"
changestool "$BUILDNAME.changes" adddsc "$SRCNAME.dsc"
report "build complete: $BUILDNAME.changes"
+if grep -q "unknown-section FIXME" "$BUILDNAME.build"; then
+ abort 1 "Please fix the SECTION, found FIXME"
+fi
+
# sign if not UNRELEASED
if echo "$DEBDIST" | grep -qv UNRELEASED-FIXME-AUTOGENERATED-DEBCARGO; then
- debsign ${DEBSIGN_KEYID:+-k $DEBSIGN_KEYID }--no-re-sign "$BUILDNAME.changes"
+ debsign ${DEBSIGN_KEYID:+-k $DEBSIGN_KEYID} --no-re-sign "$BUILDNAME.changes"
fi