+
+ dpkg-checkbuilddeps -d 'libxml2-utils'
+
+ HEADERBLUEPRINT="$(mktemp)"
+ sed -n '1,/^$/p' doc/apt.8.xml > "$HEADERBLUEPRINT"
+ find doc -mindepth 1 -maxdepth 1 -type f -name '*.xml' | while read FILE; do
+ if ! sed -n '1,/^$/p' "$FILE" | cmp "$HEADERBLUEPRINT" - >/dev/null 2>&1; then
+ echo >&2 "WARNING: Manpage $FILE has not the usual header! (see diff below)"
+ sed -n '1,/^$/p' "$FILE" | diff -u "$HEADERBLUEPRINT" - || true
+ fi
+ done
+ sed -n '1,/^$/p' doc/guide.dbk > "$HEADERBLUEPRINT"
+ find doc -mindepth 1 -maxdepth 1 -type f -name '*.dbk' | while read FILE; do
+ if ! sed -n '1,/^$/p' "$FILE" | cmp "$HEADERBLUEPRINT" - >/dev/null 2>&1; then
+ echo >&2 "WARNING: Documentation $FILE has not the usual header (see diff below)!"
+ sed -n '1,/^$/p' "$FILE" | diff -u "$HEADERBLUEPRINT" - || true
+ fi
+ done
+ rm "$HEADERBLUEPRINT"
+
+ # check the manpages with each vendor for vendor-specific errors…
+ find vendor -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f 2 | while read DISTRO; do
+ ln -sf ../vendor/${DISTRO}/apt-vendor.ent doc
+ if ! xmllint --nonet --valid --noout $(find doc/ -maxdepth 1 -name '*.xml'); then
+ echo >&2 "WARNING: original docbook manpages have errors with vendor ${DISTRO}!"
+ fi
+ done
+ # lets assume we will always have a german manpage translation
+ if [ -e 'doc/de/' ]; then
+ # … but check the translations only with one vendor for translation-specific errors
+ if ! xmllint --nonet --valid --noout $(find doc/ -mindepth 2 -maxdepth 2 -name '*.xml'); then
+ echo >&2 "WARNING: translated docbook manpages have errors!"
+ fi
+ else
+ echo >&2 "ERROR: translated manpages need to be build before they can be checked!"
+ fi
+ rm -f doc/apt-vendor.ent
+
+elif [ "$1" = 'library' ]; then
+ librarysymbols() {
+ 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"
+ rm -f $tmpfile
+ }
+ librarysymbols 'libapt-pkg' "${LIBAPTPKGVERSION}"
+ echo
+ librarysymbols 'libapt-inst' "${LIBAPTINSTVERSION}"
+elif [ "$1" = 'buildlog' ]; then
+ while [ -n "$2" ]; do
+ librarysymbolsfromfile "$2"
+ shift
+ done
+elif [ "$1" = 'travis-ci' ]; then
+ apt-get install -q --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 -q --no-install-recommends $(sed -n 's#^Depends: .*@, \(.*\)$#\1#p' debian/tests/control | tr -d ',')