#!/bin/sh
set -e

# autopkgtest check: Build and run the example minitar program against
# libarchive, to verify that the headers and pkg-config file are installed
# correctly and minitar works as expected.
# Author: Benjamin Drung <bdrung@ubuntu.com>

gcc -O2 -g -Wno-unused-result -o minitar examples/minitar/minitar.c $(pkg-config --cflags --libs libarchive)

# Create different tarballs
echo "Deadbeaf" > foo
echo "Compressing foo.tar..."
./minitar -cf foo.tar foo
echo "Compressing foo.tar.gz..."
./minitar -czf foo.tar.gz foo
echo "Compressing foo.tar.bz2..."
./minitar -cyf foo.tar.bz2 foo

# Test tarballs for correct mime type
echo "Testing mime type of foo.tar..."
test "$(file -b --mime-type foo.tar)" = "application/x-tar"
echo "Testing mime type of foo.tar.gz..."
test "$(file -b --mime-type foo.tar.gz)" = "application/gzip"
echo "Testing mime type of foo.tar.bz2..."
test "$(file -b --mime-type foo.tar.bz2)" = "application/x-bzip2"

# FIXME: Extracting with minitar crashes; using untar instead.
gcc -O2 -g -Wno-unused-result -o untar examples/untar.c $(pkg-config --cflags --libs libarchive)

# Extract tarballs and compare content
mv foo foo.orig
echo "Extracting foo.tar..."
# FIXME ./minitar -xf foo.tar
./untar -xf foo.tar
cmp foo foo.orig
rm foo foo.tar
echo "Extracting foo.tar.gz..."
# FIXME ./minitar -xf foo.tar.gz
tar -xf foo.tar.gz
cmp foo foo.orig
rm foo foo.tar.gz
echo "Extracting foo.tar.bz2..."
# FIXME ./minitar -xf foo.tar.bz2
tar -xf foo.tar.bz2
cmp foo foo.orig
rm foo foo.tar.bz2

# Clean-up
rm foo.orig minitar untar
