debian/libopenconnect5.symbols: gensyms.sh openconnect/openconnect.h openconnect/libopenconnect.map.in
./gensyms.sh > $@ || rm $@
-cleandir:
+cleandir: debian/libopenconnect5.symbols
cd openconnect; \
git reset --hard HEAD; \
git clean -fdx; \
cd openconnect && DEBUILD_TGZ_CHECK=no debuild -S
dput openconnect openconnect_$(PKGVERSION)-$@$(DISTREV)_source.changes
+bionic-binary xenial-binary: cleandir
+ sed -e "s/PKGVER/$(PKGVERSION)/" -e "s/GITVER/$(OCVERSION)/" \
+ -e "s/COMMITDATE/$(OCDATE)/" -e "s/DISTRO/$@/g" \
+ -e "s/DISTREV/$(DISTREV)/" debian/changelog.in > openconnect/debian/changelog
+ cd openconnect && DEBUILD_TGZ_CHECK=no debuild -b
+
--- /dev/null
+#!/bin/bash
+
+set -e
+THISVER=$(cd openconnect && git describe --tags | sed "s/v\([0-9.]\+\(-[0-9]\+\)\?\).*/\1/")
+
+function extractsyms() {
+ SYMVER="$1"
+ PKGVER="$2"
+
+ echo " $SYMVER@$SYMVER $PKGVER"
+ sed -n -e "/^$SYMVER/,/^}/{/openconnect_/s/^\t\(openconnect_.*\);/ \1@$SYMVER $PKGVER/p}" openconnect/libopenconnect.map.in
+}
+
+echo "libopenconnect.so.5 libopenconnect5 #MINVER#"
+( extractsyms OPENCONNECT_PRIVATE $THISVER;
+ sed -n openconnect/openconnect.h -e "/^ \* API version/{\
+ s/.* API version \([0-9.]\+\) (v\([0-9.]\+\);.*/\1 \2/;\
+ s/.* API version \([0-9.]\+\):.*/\1 $THISVER/;p}" |
+ while read APIVER PKGVER; do
+ SYMVER=${APIVER/./_}
+ case $APIVER in
+ 5.0)
+ # Yes, "5.0" not "5_0". And I've really only just noticed but
+ # now it's ABI, and has been for years.
+ SYMVER="OPENCONNECT_5.0"
+ ;;
+
+ 5.*)
+ SYMVER=OPENCONNECT_${APIVER/./_}
+ ;;
+
+ *)
+ continue
+ ;;
+ esac
+ extractsyms "$SYMVER" "$PKGVER"
+ done ) | LANG=C sort
+