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
|
#!/bin/sh
set -e
. /usr/share/debconf/confmodule
ARCHIVE=/root/tmp/cltl_ht.tgz
DOCDIR=/usr/share/doc/cltl
# 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
URL=http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/lang/lisp/doc/cltl/cltl_ht.tgz
FILE_DIR=/root/tmp
FILE=${FILE_DIR}/cltl_ht.tgz
download_file()
{
echo "Downloading CLTL from the Internet" 1>&2
mkdir -p ${FILE_DIR} && \
wget --quiet --directory-prefix=${FILE_DIR} --passive ${URL}
okay_or_delete
}
okay()
{
test -s ${ARCHIVE} && gzip --test --quiet ${ARCHIVE} > /dev/null 2>&1
}
okay_or_delete()
{
if okay; then
true
else
test -e ${ARCHIVE} && rm ${ARCHIVE}
false
fi
}
download()
{
set +e
okay_or_delete
if [ $? != 0 ]; then
db_get cltl/downloading
if [ "${RET}" = "true" ]; then
until download_file
do
db_reset cltl/tryagain
db_input medium cltl/tryagain
db_go
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
if tar xz -f ${ARCHIVE} -C ${DOCDIR} && \
find ${DOCDIR}/cltl -type f -exec chmod 0644 {} \; && \
find ${DOCDIR}/cltl -type d -exec chmod 0755 {} \; && \
chown -R root.root ${DOCDIR}/cltl && \
mv ${DOCDIR}/cltl/* ${DOCDIR} && \
rmdir ${DOCDIR}/cltl; then
true
else
echo "Error unpacking archive" 1>&2
exit 1;
fi
else
echo "Missing or invalid book archive file ${ARCHIVE}" 1>&2
exit 1;
fi
else
echo "HTML files already exist, skipping archive unpacking" 1>&2
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
rm -rf ${DOCDIR}/*
;;
*)
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
|