#!/bin/bash # # test/sdist: tests the package generated by "cabal sdist". # # Copyright (c) 2015-2020 Rudy Matela. # Distributed under the 3-Clause BSD licence. export LC_ALL=C # consistent sort pkgver=` cat *.cabal | grep "^version:" | sed -e "s/version: *//"` pkgname=`cat *.cabal | grep "^name:" | sed -e "s/name: *//"` pkgbase=$pkgname-$pkgver set -xe cabal sdist && pkg=`find dist* -name $pkgbase.tar.gz` tmp=`mktemp -d /tmp/test-sdist-XXXXXXXXXX` tar -tf $pkg | sort --ignore-case > $tmp/ls-cabal-i && tar -tf $pkg | sort --ignore-case --unique > $tmp/ls-cabal-iu && diff -rud $tmp/ls-cabal-i $tmp/ls-cabal-iu && if [ -d .git ] then # on git repo, test if files are the same git ls-files | sort > $tmp/ls-git && tar -tf $pkg | grep -v "/$" | sed -e "s,$pkgbase/,," | sort > $tmp/ls-cabal && diff -rud $tmp/ls-git $tmp/ls-cabal fi rm -r $tmp