1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
#!/bin/sh
set -e
. /usr/share/debconf/confmodule
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see /usr/share/doc/packaging-manual/
#
# quoting from the policy:
# Any necessary prompting should almost always be confined to the
# post-installation script, and should be protected with a conditional
# so that unnecessary prompting doesn't happen if a package's
# installation fails and the `postinst' is called with `abort-upgrade',
# `abort-remove' or `abort-deconfigure'.
INDEX=/usr/share/doc/cltl/cltl2.html
EXPHASH=6692b1519abca379b42f62d7db6065dc0103105bb021dfee581469546174324a
URL=https://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/lang/lisp/doc/cltl/cltl_ht.tgz
FILE_DIR=/var/cache/cltl
FILE=${FILE_DIR}/cltl_ht.tgz
DOCDIR=/usr/share/doc/cltl
download_file()
{
echo "Downloading CLTL from the Internet" 1>&2
mkdir -p ${FILE_DIR} && \
wget --compression=none --directory-prefix=${FILE_DIR} --passive ${URL}
okay_or_delete
}
okay()
{
HASH=$(sha256sum ${FILE})
HASH=${HASH%% *}
if [ "x$HASH" != "x$EXPHASH" ]; then
echo >&2 "Received file SHA256sum: $HASH"
echo >&2 "Expected file SHA256sum: $EXPHASH"
return 1
fi
test -s ${FILE} && gzip --test --quiet ${FILE} >/dev/null 2>&1
}
okay_or_delete()
{
if okay; then
true
else
test -e ${FILE} && rm ${FILE}
false
fi
}
download()
{
if ! okay_or_delete ; then
db_get cltl/downloading
if [ "${RET}" = "true" ]; then
until download_file
do
db_reset cltl/tryagain
db_input medium cltl/tryagain || \
if [ "$?" = 30 ]; then
echo "Unable to download and can't ask whether to try again." 1>&2
exit 1
else
true
fi
db_go || true
db_get cltl/tryagain
if [ "${RET}" != "true" ]; then
echo "Unable to download and you don't want to try again." 1>&2
exit 1;
fi
done
else
echo "Downloaded archive not present, but not downloading." 1>&2
exit 0;
fi
fi
}
case "$1" in
configure)
download
if [ ! -d ${DOCDIR}/clm ]; then
if okay; then
tar xz -f ${FILE} -C ${DOCDIR} --no-same-owner --no-same-permissions --strip-components=1 || { echo "Error unpacking archive" 1>&2; exit 1; }
chmod 0644 /usr/share/doc/cltl/clm/index.html
else
echo "Missing or invalid book archive file ${FILE}" 1>&2
exit 1;
fi
else
if dpkg --compare-versions "$2" lt 1.0.31; then
# Fix #947772 on upgrades
chmod 0644 /usr/share/doc/cltl/clm/index.html
fi
echo "HTML files already exist, skipping archive unpacking" 1>&2
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
rm -rf ${DOCDIR}/clm ${DOCDIR}/cltl2.html ${DOCDIR}/digital_press ${DOCDIR}/README
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0
|