From ae97af1fdf726a0e7e553b2fb5734b6e09a088d0 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Mon, 10 Aug 2015 11:08:35 +0200 Subject: 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. --- prepare-release | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'prepare-release') 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 -- cgit v1.2.3 From ad42ed4698c88e04bc242fb579f5b3e6fd9a0ee4 Mon Sep 17 00:00:00 2001 From: Daniel Hartwig Date: Tue, 11 Aug 2015 19:56:31 +0200 Subject: replace direct calls to egrep with grep -E MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The rest of the initial patch is not needed or incorrect in our usage. Big changes for the dselect scripts seem unneeded as well as those are hardly used by anyone anymore… [commit message written by commiter] Closes: 255577 Thanks: David Weinehall for initial patch --- prepare-release | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'prepare-release') diff --git a/prepare-release b/prepare-release index 734dc5f32..91f65028d 100755 --- a/prepare-release +++ b/prepare-release @@ -11,7 +11,7 @@ VERSION=$(dpkg-parsechangelog | sed -n -e '/^Version:/s/^Version: //p') DISTRIBUTION=$(dpkg-parsechangelog | sed -n -e '/^Distribution:/s/^Distribution: //p') LIBAPTPKGVERSION="$(awk -v ORS='.' '/^\#define APT_PKG_M/ {print $3}' apt-pkg/contrib/macros.h | sed 's/\.$//')" -LIBAPTINSTVERSION="$(egrep '^MAJOR=' apt-inst/makefile |cut -d '=' -f 2)" +LIBAPTINSTVERSION="$(grep '^MAJOR=' apt-inst/makefile |cut -d '=' -f 2)" librarysymbolsfromfile() { local MISSING="$(grep '^+#MISSING' "$1")" -- cgit v1.2.3