summaryrefslogtreecommitdiff
path: root/prepare-release
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2015-08-10 11:08:35 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2015-08-10 17:27:59 +0200
commitae97af1fdf726a0e7e553b2fb5734b6e09a088d0 (patch)
tree82eb2c8a5ed74335119c13d4844e1d2ee9f7145c /prepare-release
parent628e7405052dd5b758ad1480a103971b3ea34c4b (diff)
downloadapt-ae97af1fdf726a0e7e553b2fb5734b6e09a088d0.tar.gz
change to libapt-pkg abi 5.0 with versioned symbols
We changed an aweful lot of stuff, so 5.0 is properly better than 4.X as a semantic version and as we are at it lets add some trivial symbol versioning as well: We just mark all exported symbols with the same version for now. This isn't really the proper thing to do as if we add symbols in later versions (with the same abi) they will get the same symbols version, but our .symbols file will protect us from the problems arising from this as it will ensure that a package acutally depends on a version of the abi high enough to include the symbol.
Diffstat (limited to 'prepare-release')
-rwxr-xr-xprepare-release7
1 files changed, 4 insertions, 3 deletions
diff --git a/prepare-release b/prepare-release
index 8a3743ad7..734dc5f32 100755
--- a/prepare-release
+++ b/prepare-release
@@ -15,13 +15,14 @@ LIBAPTINSTVERSION="$(egrep '^MAJOR=' apt-inst/makefile |cut -d '=' -f 2)"
librarysymbolsfromfile() {
local MISSING="$(grep '^+#MISSING' "$1")"
+ local SYMVER="$2"
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"
+ echo " (c++)\"${line}@${SYMVER}\" $VERSION"
done | sort -u
}
@@ -109,7 +110,7 @@ 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
- librarysymbolsfromfile "$tmpfile"
+ librarysymbolsfromfile "$tmpfile" "$(echo "${1}" | cut -c 4- | tr -d '-' | tr 'a-z' 'A-Z')_${2}"
rm -f $tmpfile
}
librarysymbols 'libapt-pkg' "${LIBAPTPKGVERSION}"
@@ -117,7 +118,7 @@ elif [ "$1" = 'library' ]; then
librarysymbols 'libapt-inst' "${LIBAPTINSTVERSION}"
elif [ "$1" = 'buildlog' ]; then
while [ -n "$2" ]; do
- librarysymbolsfromfile "$2"
+ librarysymbolsfromfile "$2" 'UNKNOWN'
shift
done
elif [ "$1" = 'travis-ci' ]; then