Changes of Revision 7
[-] [+] | Changed | msttcorefonts.spec |
[-] [+] | Changed | fetchmsttfonts.sh ^ |
@@ -2,6 +2,8 @@ EULA="http://corefonts.sourceforge.net/eula.htm" +POST_MESSAGE="/var/adm/update-messages/fetchmsttfonts-j0ke-net" + FONTS=" \ dl.sourceforge.net/sourceforge/corefonts/andale32.exe \ dl.sourceforge.net/sourceforge/corefonts/arial32.exe \ @@ -17,18 +19,24 @@ " SERVER=" \ -switch \ -mesh \ jaist \ +voxel \ +heanet \ kent \ nchc \ -heanet \ easynews \ -optusnet \ +waix \ +internode \ +internap \ " CURL_OPTIONS="-s --speed-limit 3500 --speed-time 15" +if [ ! -f /usr/bin/id -o ! -f /usr/bin/cabextract -o ! -f /usr/sbin/fonts-config ]; then + echo "Running in non-chrooted (install into directory) mode... Exit safely." + exit 0 +fi + if [ "`id -u`" != "0" ]; then echo "error: You must be root to use this program!" exit 1 @@ -48,7 +56,7 @@ fi if [ -z $http_proxy ]; then - echo + echo echo "note: No proxy is used. Please set the environment variable \"http_proxy\"" echo "note: to your favorite proxy, if you want to use a proxy for the download." echo "note:" @@ -89,7 +97,7 @@ stop=$SECONDS time=$((stop - start)) echo "$time sec" - if [ $time -lt $besttime ]; then + if [ $time -lt $besttime ]; then besttime=$time useserver=$server fi @@ -133,7 +141,7 @@ done done -if [ "x$success" != "x" ]; then +if [ "x$success" != "x" ]; then for i in *.[Tt][Tt][CFcf]; do lower=`echo $i|tr [:upper:] [:lower:]` test "$i" != "$lower" && mv $i $lower @@ -143,10 +151,9 @@ test -s /usr/share/fonts/truetype/impact.ttf && rm impact.ttf mv -f *.tt[cf] /usr/share/fonts/truetype /usr/sbin/fonts-config - echo "*** Fonts installed. ***" + echo "*** Fonts installed. ***" | tee $POST_MESSAGE else - echo "*** No Fonts installed. ***" + echo "*** No Fonts installed. ***" | tee $POST_MESSAGE fi popd &> /dev/null - | ||
[-] [+] | Added | fetchmsttfonts.sh.old ^ |
@@ -0,0 +1,152 @@ +#!/bin/sh + +EULA="http://corefonts.sourceforge.net/eula.htm" + +FONTS=" \ +dl.sourceforge.net/sourceforge/corefonts/andale32.exe \ +dl.sourceforge.net/sourceforge/corefonts/arial32.exe \ +dl.sourceforge.net/sourceforge/corefonts/arialb32.exe \ +dl.sourceforge.net/sourceforge/corefonts/comic32.exe \ +dl.sourceforge.net/sourceforge/corefonts/courie32.exe \ +dl.sourceforge.net/sourceforge/corefonts/georgi32.exe \ +dl.sourceforge.net/sourceforge/corefonts/impact32.exe \ +dl.sourceforge.net/sourceforge/corefonts/times32.exe \ +dl.sourceforge.net/sourceforge/corefonts/trebuc32.exe \ +dl.sourceforge.net/sourceforge/corefonts/verdan32.exe \ +dl.sourceforge.net/sourceforge/corefonts/webdin32.exe \ +" + +SERVER=" \ +switch \ +mesh \ +jaist \ +kent \ +nchc \ +heanet \ +easynews \ +optusnet \ +" + +CURL_OPTIONS="-s --speed-limit 3500 --speed-time 15" + +if [ "`id -u`" != "0" ]; then + echo "error: You must be root to use this program!" + exit 1 +fi + +if [ ! -x /usr/bin/cabextract ]; then + echo "error: cabextract missing! Please install package cabextract first." + exit 2 +fi + +. /etc/sysconfig/proxy + +if test "$PROXY_ENABLED" != "no"; then + if test -n "$HTTP_PROXY" ; then + export http_proxy="$HTTP_PROXY" + fi +fi + +if [ -z $http_proxy ]; then + echo + echo "note: No proxy is used. Please set the environment variable \"http_proxy\"" + echo "note: to your favorite proxy, if you want to use a proxy for the download." + echo "note:" + echo "note: bash: export http_proxy=\"http://proxy.example.com:3128/\"" + echo "note: tcsh: setenv http_proxy \"http://proxy.example.com:3128/\"" +fi + +echo "EULA:" +mkdir -p /usr/share/doc/corefonts +echo -n " Fetching ... " +curl $CURL_OPTIONS -o /usr/share/doc/corefonts/EULA.html $EULA || \ + rm -f /usr/share/doc/corefonts/EULA.html +echo "done" + +tmpname=`basename $0` +tmpdir=`mktemp -d /tmp/$tmpname.XXXXXX` +trap "rm -rf $tmpdir" EXIT +if [ $? -ne 0 ]; then + echo "$0: Can't create temp dir, exiting..." + exit 4 +fi + +pushd $tmpdir &> /dev/null + +echo +echo "Trying to find the fastest server:" +besttime=1000 + +for server in $SERVER; do + echo -n " $server ... " + start=$SECONDS + curl $CURL_OPTIONS --connect-timeout 10 -o cabextract.rpm \ + http://$server.dl.sourceforge.net/sourceforge/corefonts/cabextract-0.5-1.i386.rpm + if [ $? -ne 0 ]; then + echo "too slow (aborted)" + continue + fi + stop=$SECONDS + time=$((stop - start)) + echo "$time sec" + if [ $time -lt $besttime ]; then + besttime=$time + useserver=$server + fi +done + +rm -f cabextract.rpm +if [ -n "$useserver" ]; then + echo "The winner is: >> $useserver <<" + echo +else + echo "Connection too slow or no server available. Aborting ... " + exit 5 +fi + +for font in $FONTS; do + for i in $useserver $SERVER; do + archive=http://$i.$font + file=`echo $archive|awk -F "/" '{print $NF}'` + rm -f $file + echo "$file ($archive):" + echo -n " Fetching ... " + curl $CURL_OPTIONS -o $file $archive + if [ $? -ne 0 ]; then + rm -f $file + echo "failed ... deleted!" + continue + fi + echo done + echo -n " Extracting ... " + cabextract -l $file &> /dev/null + if [ $? -ne 0 ]; then + rm -f $file + echo "failed ... deleted!" + else + cabextract $file &> /dev/null + echo "done" + success=true + break + fi + rm -f $file + done +done + +if [ "x$success" != "x" ]; then + for i in *.[Tt][Tt][CFcf]; do + lower=`echo $i|tr [:upper:] [:lower:]` + test "$i" != "$lower" && mv $i $lower + done + chmod 644 *.tt[cf] + # impact.ttf already in agfa-fonts package + test -s /usr/share/fonts/truetype/impact.ttf && rm impact.ttf + mv -f *.tt[cf] /usr/share/fonts/truetype + /usr/sbin/fonts-config + echo "*** Fonts installed. ***" +else + echo "*** No Fonts installed. ***" +fi + +popd &> /dev/null + |