Current File : /var/lib/dpkg/info/webmin.preinst |
#!/bin/sh
perl <<EOD;
# maketemp.pl
# Create the /tmp/.webmin directory if needed
\$tmp_dir = \$ENV{'tempdir'} || "/tmp/.webmin";
while(\$tries++ < 10) {
local @st = lstat(\$tmp_dir);
exit(0) if (\$st[4] == \$< && (-d _) && (\$st[2] & 0777) == 0755);
if (@st) {
unlink(\$tmp_dir) || rmdir(\$tmp_dir) ||
system("/bin/rm -rf ".quotemeta(\$tmp_dir));
}
mkdir(\$tmp_dir, 0755) || next;
chown(\$<, \$(, \$tmp_dir);
chmod(0755, \$tmp_dir);
}
exit(1);
EOD
if [ "$1" != "upgrade" -a "$1" != "abort-upgrade" ]; then
if [ "$WEBMIN_PORT" != "" ]; then
port=$WEBMIN_PORT
else
port=10000
fi
perl -e 'use Socket; socket(FOO, PF_INET, SOCK_STREAM, getprotobyname("tcp")); setsockopt(FOO, SOL_SOCKET, SO_REUSEADDR, pack("l", 1)); bind(FOO, pack_sockaddr_in($ARGV[0], INADDR_ANY)) || exit(1); exit(0);' $port
if [ "$?" != "0" ]; then
echo Port $port is already in use
exit 2
fi
fi