X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/a95619d0ee778632cdad5bcf698a4bb88fab5676..4b94063cc2df28baf2a60970e230b780f9951d8e:/prepare-release diff --git a/prepare-release b/prepare-release index 89d5feae9..77d8580d9 100755 --- a/prepare-release +++ b/prepare-release @@ -21,7 +21,7 @@ librarysymbolsfromfile() { 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 + grep '^+ ' "$1" | grep -v '^+ (c++' | cut -d' ' -f 2 | cut -d'@' -f 1 | c++filt | while read line; do echo " (c++)\"${line}@${SYMVER}\" $VERSION" done | sort -u } @@ -127,9 +127,21 @@ elif [ "$1" = 'post-build' ]; then elif [ "$1" = 'library' ]; then librarysymbols() { - echo "Checking $1 in version $2" + local libname=$(echo "${1}" | cut -c 4-) + local buildlib="build/bin/${1}.so.${2}" + for dir in $libname */$libname; do + local new_buildlib="$dir/${1}.so.${2}" + if [ -r "${new_buildlib}" ] && [ ! -e "$buildlib" -o "$new_buildlib" -nt "$buildlib" ]; then + local buildlib="${new_buildlib}" + fi + done + if [ ! -r "$buildlib" ]; then + echo "ERROR: The library ${1} has to be built before symbols can be checked!" + return + fi + echo "Checking $1 in version $2 build at $(stat -L -c '%y' "$buildlib")" 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 + dpkg-gensymbols -p${1}${2} -e${buildlib} -Idebian/${1}${2}.symbols -O/dev/null 2> /dev/null > $tmpfile || true librarysymbolsfromfile "$tmpfile" "$(echo "${1}" | cut -c 4- | tr -d '-' | tr 'a-z' 'A-Z')_${2}" rm -f $tmpfile } @@ -142,7 +154,7 @@ elif [ "$1" = 'buildlog' ]; then shift done elif [ "$1" = 'travis-ci' ]; then - apt-get install -qy --no-install-recommends $(sed -n -e '/^Build-Depends: /,/^Build-Depends-Indep: / {p}' debian/control | sed -e 's#([^)]*)##g' -e 's#^Build-Depends\(-Indep\)\?: ##' | tr -d ',') + apt-get install -qy --no-install-recommends $(sed -n -e '/^Build-Depends: /,/^Build-Depends-Indep: / {p}' debian/control | sed -e 's#([^)]*)##g' -e 's#^Build-Depends\(-Indep\)\?: ##' -e 's#<.*>##g' | tr -d ',') apt-get install -qy --no-install-recommends $(sed -n 's#^Depends: .*@, \(.*\)$#\1#p' debian/tests/control | tr -d ',') elif [ "$1" = 'coverage' ]; then DIR="${2:-./coverage}"