]> git.proxmox.com Git - debcargo-conf.git/blobdiff - build.sh
package tinyvec_macros
[debcargo-conf.git] / build.sh
index 22b47bfe8288507cf358846e0c2b699b09870618..53e2ccb089030b41907fd621b76556619e838722 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -14,6 +14,8 @@
 #     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"))"
@@ -93,23 +95,28 @@ if shouldbuild "$SRCNAME.dsc" "$PKGNAME/debian/changelog" ]; then
        ( 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 && \
+               ( 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
-               if ! test -s dpkg-dummy/status; then
+               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 )
 }
@@ -154,6 +161,7 @@ SBUILD_CONFIG="$SCRIPTDIR/dev/sbuildrc" sbuild --no-source --arch-any --arch-all
   "${EXTRA_DEBS_AUTOPKGTEST_OPTS[@]}" \
   "${AUTOPKGTEST_OPTS[@]}" \
   "${LINTIAN_OPTS[@]}" \
+   ${SBUILD_OPTS} \
   "$SRCNAME.dsc"
 if [ "$SKIP_AUTOPKGTEST" != 1 ]; then
        report "analyzing autopkgtest log: $BUILDNAME.test.log"
@@ -165,7 +173,11 @@ fi
 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