PREIN
/bin/sh
get_proxy_from_urpmi() {
if [ -e /etc/urpmi/proxy.cfg ]; then
proxy="$(grep ^http_proxy= /etc/urpmi/proxy.cfg 2>/dev/null)"
proxy_user="$(grep ^proxy_user= /etc/urpmi/proxy.cfg 2>/dev/null)"
proxy="${proxy#http_proxy=}"
proxy_user="${proxy_user#proxy_user=}"
[ -n "$proxy" ] && echo "--proxy $proxy"
[ -n "$proxy_user" ] && echo "--proxy-user $proxy_user"
fi
}
echo "Note that by downloading p4v you indicate your acceptance of the EULA,"
echo "available at http://www.perforce.com/perforce/contracts/subscriptionEULA.pdf"
echo "Downloading from http://www.perforce.com/downloads/perforce/r12.3/bin.linux26x86/p4v.tgz"
install -d -m755 $(dirname /var/lib/p4v/p4v.tgz)
curl --connect-timeout 20 -m 10800 -L $(get_proxy_from_urpmi) "http://www.perforce.com/downloads/perforce/r12.3/bin.linux26x86/p4v.tgz" > "/var/lib/p4v/p4v.tgz"
if ! [ -f /var/lib/p4v/p4v.tgz ]; then
echo "Download failed"
exit 1
fi
md5chk=$(md5sum /var/lib/p4v/p4v.tgz | cut -d' ' -f1)
if ! [ "f9d76ae94b8a6b1deff78241b8bb643c" = "$md5chk" ]; then
echo "Download checksum failed"
rm -f /var/lib/p4v/p4v.tgz
exit 1
fi
POSTIN
/bin/sh
set -e
tmp_extract_dir=$(mktemp -d)
if ! [ -d ${tmp_extract_dir} ]; then
echo "Failed to create temporary directory for p4v"
rm -f /var/lib/p4v/p4v.tgz
exit 1
fi
tar xa -C ${tmp_extract_dir} -f /var/lib/p4v/p4v.tgz
if ! [ -d ${tmp_extract_dir}/p4v-2012.3.578478 ]; then
echo "Extracted folder p4v-2012.3.578478 missing"
rm -rf ${tmp_extract_dir} /var/lib/p4v/p4v.tgz
exit 1
fi
while read mode file; do
install -d -m755 /usr/lib/p4v/$(dirname ${file})
mv ${tmp_extract_dir}/p4v-2012.3.578478/${file} /usr/lib/p4v/${file}
chmod ${mode} /usr/lib/p4v/${file}
done < /usr/share/p4v/manifest.txt
unpackaged_files=$(find ${tmp_extract_dir} -type f)
if [ -n "${unpackaged_files}" ]; then
echo "p4v install: WARNING, some files have not been installed: ${unpackaged_files}"
fi
rm -rf ${tmp_extract_dir} /var/lib/p4v/p4v.tgz
echo "p4v installation successful."