#!/bin/sh
set -Ceu
cp -a $0-pkg "$AUTOPKGTEST_TMP/pkg"
cd "$AUTOPKGTEST_TMP/pkg"

DEB_RULES_REQUIRES_ROOT=no \
DEB_BUILD_OPTIONS=noopt debian/rules binary

cd debian

DEB_ADA_SOURCE_DIR=usr/share/ada/adainclude
DEB_GNAT_PROJECT_DIR=usr/share/gpr

DEB_HOST_MULTIARCH=`dpkg-architecture -qDEB_HOST_MULTIARCH`
DEB_LIB_DIR=usr/lib/$DEB_HOST_MULTIARCH
DEB_ADA_LIB_INFO_DIR=$DEB_LIB_DIR/ada/adalib

DEB_GNAT_VERSION=`gnatmake --version | sed 's/.* \([0-9]\+\)\.[0-9.]\+$/\1/;q'`

echo 'Manifest of foo-dev'
sort > expected1 <<EOF
libfoo3-dev/$DEB_ADA_LIB_INFO_DIR/foo/sep.ali
libfoo3-dev/$DEB_ADA_LIB_INFO_DIR/foo/proc.ali
libfoo3-dev/$DEB_ADA_LIB_INFO_DIR/foo/specnobody.ali
libfoo3-dev/$DEB_ADA_LIB_INFO_DIR/foo/renamed.ali
libfoo3-dev/$DEB_ADA_LIB_INFO_DIR/foo/replacement.ali
libfoo3-dev/$DEB_LIB_DIR/libfoo.a
libfoo3-dev/usr/share/doc/libfoo3-dev/changelog.gz
libfoo3-dev/$DEB_ADA_SOURCE_DIR/foo/specnobody.ads
libfoo3-dev/$DEB_ADA_SOURCE_DIR/foo/sep.adb
libfoo3-dev/$DEB_ADA_SOURCE_DIR/foo/proc.adb
libfoo3-dev/$DEB_ADA_SOURCE_DIR/foo/c_hello.c
libfoo3-dev/$DEB_ADA_SOURCE_DIR/foo/renamed.ads
libfoo3-dev/$DEB_ADA_SOURCE_DIR/foo/sep.ads
libfoo3-dev/$DEB_ADA_SOURCE_DIR/foo/proc.ads
libfoo3-dev/$DEB_ADA_SOURCE_DIR/foo/sep-p.adb
libfoo3-dev/$DEB_ADA_SOURCE_DIR/foo/renamed.ada
libfoo3-dev/$DEB_ADA_SOURCE_DIR/foo/replacement.ads
libfoo3-dev/$DEB_ADA_SOURCE_DIR/foo/c_hello.h
libfoo3-dev/$DEB_GNAT_PROJECT_DIR/foo.gpr
libfoo3-dev/DEBIAN/control
libfoo3-dev/DEBIAN/md5sums
EOF
find libfoo3-dev -type f | sort | diff expected1 -

echo 'f_l ALI'
test -e libf-l4-dev/$DEB_ADA_LIB_INFO_DIR/f_l/f_l.ali

echo 'f_l static'
test -e libf-l4-dev/$DEB_LIB_DIR/libf_l.a

echo 'f_l sources'
test -e libf-l4-dev/$DEB_ADA_SOURCE_DIR/f_l/f_l.adb
test -e libf-l4-dev/$DEB_ADA_SOURCE_DIR/f_l/f_l.ads

echo 'f_l project'
test -e libf-l4-dev/$DEB_GNAT_PROJECT_DIR/f_l.gpr

echo 'debug-prefix-map'
status=0
grep fdebug-prefix-map= lib*-dev/$DEB_ADA_LIB_INFO_DIR/*/*.ali  || status=$?
test $status = 1

echo 'shared libraries'
test -e libf-l6/$DEB_LIB_DIR/libf_l.so.6
test -e libfoo5/$DEB_LIB_DIR/libfoo.so.5

echo 'devel symlinks'
test -h libf-l4-dev/$DEB_LIB_DIR/libf_l.so
test $(readlink -v libf-l4-dev/$DEB_LIB_DIR/libf_l.so) = libf_l.so.6
test -h libfoo3-dev/$DEB_LIB_DIR/libfoo.so
test $(readlink -v libfoo3-dev/$DEB_LIB_DIR/libfoo.so) = libfoo.so.5

echo 'ada:Depends:'
grep "^Depends: gnat (<< [0-9]\+), gnat (>= $DEB_GNAT_VERSION), libf-l6 (= 1), libxmlada-unicode[0-9]\+-dev\$" \
     libf-l4-dev/DEBIAN/control
grep "^Depends: gnat (<< [0-9]\+), gnat (>= $DEB_GNAT_VERSION), libf-l4-dev (= 1), libfoo5 (= 1), libxmlada-unicode[0-9]\+-dev\$" \
     libfoo3-dev/DEBIAN/control

echo 'OK'
