From 4c90bc28889b9570096148e18e4433d18ab51a12 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Fri, 14 Feb 2014 22:20:17 +0100 Subject: update symbols file with hints from the buildlogs --- prepare-release | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'prepare-release') diff --git a/prepare-release b/prepare-release index dfa37631b..6141ce6e4 100755 --- a/prepare-release +++ b/prepare-release @@ -13,6 +13,18 @@ DISTRIBUTION=$(dpkg-parsechangelog | sed -n -e '/^Distribution:/s/^Distribution: LIBAPTPKGVERSION="$(awk -v ORS='.' '/^\#define APT_PKG_M/ {print $3}' apt-pkg/init.h | sed 's/\.$//')" LIBAPTINSTVERSION="$(egrep '^MAJOR=' apt-inst/makefile |cut -d '=' -f 2)" +librarysymbolsfromfile() { + local MISSING="$(grep '^+#MISSING' "$1")" + echo '=== Missing optional symbols:' + echo -n "$MISSING" | grep '|optional=' || true + echo '=== Missing required symbols:' + echo -n "$MISSING" | grep -v '|optional=' || true + echo '=== New symbols:' + grep '^+ ' "$1" | cut -d' ' -f 2 | cut -d'@' -f 1 | c++filt | while read line; do + echo " (c++)\"${line}@Base\" $VERSION" + done | sort -u +} + if [ "$1" = 'pre-export' ]; then libraryversioncheck() { local LIBRARY="$1" @@ -78,17 +90,17 @@ elif [ "$1" = 'library' ]; then echo "Checking $1 in version $2" local tmpfile=$(mktemp) dpkg-gensymbols -p${1}${2} -ebuild/bin/${1}.so.${2} -Idebian/${1}${2}.symbols -O/dev/null 2> /dev/null > $tmpfile || true - echo '=== Missing symbols:' - grep '^+#MISSING' $tmpfile || true - echo '=== New symbols:' - grep '^+ ' $tmpfile | cut -d' ' -f 2 | cut -d'@' -f 1 | c++filt | while read line; do - echo " (c++)\"${line}@Base\" $VERSION" - done | sort -u + librarysymbolsfromfile "$tmpfile" rm -f $tmpfile } librarysymbols 'libapt-pkg' "${LIBAPTPKGVERSION}" echo librarysymbols 'libapt-inst' "${LIBAPTINSTVERSION}" +elif [ "$1" = 'buildlog' ]; then + while [ -n "$2" ]; do + librarysymbolsfromfile "$2" + shift + done else echo >&1 "Usage:\t$0 pre-export \t$0 post-build -- cgit v1.2.3