X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/ab5b1d0d31b2fbdc4896f8a107611ff056d6a668..eb1000f6e5fa7035c764d0e7aa9ca71c7aa8d52d:/prepare-release diff --git a/prepare-release b/prepare-release index 8605719b1..731eb1096 100755 --- a/prepare-release +++ b/prepare-release @@ -60,6 +60,7 @@ if [ "$1" = 'pre-export' ]; then grep --files-with-matches '' doc/*.xml | while read file; do \ LASTMOD="$(date -d "@$(git log --format='%at' --max-count=1 --invert-grep --fixed-strings --grep 'review typo +release Git-Dch: Ignore' "$file")" '+%Y-%m-%dT00:00:00Z')" sed -i -e "s#^\([ ]\+\).*\$#\1$LASTMOD#" "$file" done @@ -69,6 +70,17 @@ Git-Dch: Ignore' "$file")" '+%Y-%m-%dT00:00:00Z')" echo >&2 'POT files are not up-to-date. Execute »make update-po« for you…' make update-po fi +elif [ "$1" = 'pre-build' ]; then + if [ "$DISTRIBUTION" = "UNRELEASED" ]; then + echo 'BUILDING AN UNRELEASED VERSION' + else + CONFVERSION="$(sed -ne "s/^PACKAGE_VERSION=\"\(.*\)\"$/\1/p" configure.ac)" + if [ "$VERSION" != "$CONFVERSION" ]; then + echo "changelog (${VERSION}) and configure (${CONFVERSION}) talk about different versions!" + echo "You probably want to run »./prepare-release pre-export« to fix this." + exit 1 + fi + fi elif [ "$1" = 'post-build' ]; then if [ "$DISTRIBUTION" != "UNRELEASED" ]; then echo >&2 "REMEMBER: Tag this release with »git tag -s ${VERSION}« if you are satisfied" @@ -115,9 +127,14 @@ elif [ "$1" = 'post-build' ]; then elif [ "$1" = 'library' ]; then librarysymbols() { - echo "Checking $1 in version $2" + local buildlib="build/bin/${1}.so.${2}" + 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 } @@ -130,7 +147,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}" @@ -166,12 +183,14 @@ elif [ "$1" = 'coverage' ]; then genhtml --output-directory "${DIR}" "${DIR}/apt.coverage.fixed" ${LCOVRC} else echo >&1 "Usage:\t$0 pre-export +\t$0 pre-build \t$0 post-build -If you use »gbp buildpackage« you can leave these alone as they will -be run at the right places auto-magically. Otherwise you should use -»pre-export« to update po and pot files as well as version numbering. -»post-build« can be used to run some more or less useful checks later on. +Updating po-files and versions as well as some basic checks are done +by »pre-export« which needs to be run before package building. +If you use »gbp buildpackage« you will be notified if you forget. +»pre-build« and »post-build« can be used to run some more or less +useful checks automatically run by »gbp« otherwise. \t$0 library \t$0 buildlog filename…