From 28440aa9ac223b8c38974a5ccd52ae5566913923 Mon Sep 17 00:00:00 2001 From: Reinhard Kotucha Date: Sun, 31 Dec 2006 01:09:36 +0000 Subject: update getnonfreefonts git-svn-id: svn://tug.org/texlive/trunk@3050 c570f23f-e606-0410-a88d-b1316a301751 --- Master/bin/win32/getnonfreefonts.bat | 93 +++++++++++++++++++----------------- 1 file changed, 49 insertions(+), 44 deletions(-) (limited to 'Master/bin/win32') diff --git a/Master/bin/win32/getnonfreefonts.bat b/Master/bin/win32/getnonfreefonts.bat index 351934c96f3..91551f38d28 100644 --- a/Master/bin/win32/getnonfreefonts.bat +++ b/Master/bin/win32/getnonfreefonts.bat @@ -5,7 +5,7 @@ goto endofperl @rem '; #!/usr/bin/env perl #line 8 -$^W=1; +#!/usr/bin/env perl ## getnonfreefonts ## Copyright 2006 Reinhard Kotucha @@ -57,10 +57,7 @@ EOF ; } -unless (@ARGV) { - usage; - exit 1; -} +@ARGS=@ARGV; GetOptions "all|a", @@ -79,12 +76,22 @@ $sys=1 if $opt_sys; @allpackages=@ARGV; +print "$TL_version\n" and exit 0 if $opt_version; + +if ($opt_help or !@ARGS) { + print "\nThis is getnonfreefonts"; + print '-sys' if ($sys); + print ", version $TL_version.\n\n"; + usage; +} + + sub message { my $message=shift; if ($message=~/^\[/) { - print "$message\n"; + print "$message\n"; } else { - printf "%-60s", $message; + printf "%-60s", $message; } } @@ -92,7 +99,7 @@ sub message { sub debug_msg { my $message=shift; if ($opt_debug) { - print STDERR "DEBUG: $message.\n"; + print STDERR "DEBUG: $message.\n"; } } @@ -101,33 +108,30 @@ sub expand_var { my $var=shift; if (-d "/usr/bin") { - open KPSEWHICH, 'kpsewhich --expand-var=\$' . "$var |"; + open KPSEWHICH, 'kpsewhich --expand-var=\$' . "$var |"; } else { - open KPSEWHICH, 'kpsewhich --expand-var=$' . "$var |"; + open KPSEWHICH, 'kpsewhich --expand-var=$' . "$var |"; } while () { - chop; - return $_; + chop; + return $_; } close KPSEWHICH; } - # get TMP|TEMP|TMPDIR environment variable if ($opt_debug) { for my $var ("TMP","TEMP","TMPDIR") { - if (defined $ENV{$var}) { - debug_msg "Environment variable $var='$ENV{$var}'"; - } else { - debug_msg "Environment variable $var not set"; - } + if (defined $ENV{$var}) { + debug_msg "Environment variable $var='$ENV{$var}'"; + } else { + debug_msg "Environment variable $var not set"; + } } } -print "$TL_version\n" and exit 0 if $opt_version; - if (defined $ENV{'TMP'}) { $SYSTMP="$ENV{'TMP'}"; @@ -151,25 +155,26 @@ $SYSTMP=~s/\\/\//g if ($SYSTMP=~/^\\\\/); # \\abc\def debug_msg "Internal variable SYSTMP converted to '$SYSTMP'"; +sub check_tmpdir{ die "! ERROR: The temporary directory '$SYSTMP' doesn't exist.\n" unless (-d "$SYSTMP"); die "! ERROR: The temporary directory '$SYSTMP' is not writable.\n" unless (-w "$SYSTMP"); - +} # Determine INSTALLROOT. if ($opt_debug) { my @path=split ':', $ENV{PATH}; for my $dir (@path) { - debug_msg "Search for kpsewhich in '$dir'"; - opendir DIR, "$dir"; - my @kpsewichs=grep /^kpsewhich/, readdir DIR; - closedir DIR; - for (@kpsewichs) { - debug_msg "Found $dir/$_" if /^kpsewhich/; - } + debug_msg "Search for kpsewhich in '$dir'"; + opendir DIR, "$dir"; + my @kpsewichs=grep /^kpsewhich/, readdir DIR; + closedir DIR; + for (@kpsewichs) { + debug_msg "Found $dir/$_" if /^kpsewhich/; + } } } @@ -189,28 +194,28 @@ $INSTALLROOT=~s/\\/\//g if ($INSTALLROOT=~/^\\\\/); # \\abc\def debug_msg "Internal variable INSTALLROOT converted to '$INSTALLROOT'"; -die "! ERROR: The install directory '$INSTALLROOT' doesn't exist.\n" - unless (-d "$INSTALLROOT"); - -die "! ERROR: The install directory '$INSTALLROOT' is not writable.\n" - unless (-w "$INSTALLROOT"); - - -if ($opt_help) { - print "\nThis is getnonfreefonts"; - print '-sys' if ($sys); - print ", version $TL_version.\n\n"; +sub check_installroot { + die "! ERROR: The install directory '$INSTALLROOT' doesn't exist.\n" + unless (-d "$INSTALLROOT"); - usage; + die "! ERROR: The install directory '$INSTALLROOT' is not writable.\n" + unless (-w "$INSTALLROOT"); +} + +if ($opt_help or !@ARGS) { print <<"ENDUSAGE"; Directories: temporary: '$SYSTMP/getfont-' install: '$INSTALLROOT' ENDUSAGE +check_tmpdir; +check_installroot; exit 0; } +check_tmpdir; +check_installroot; my $tmpdir="$SYSTMP/getfont-$$"; debug_msg "Internal variable tmpdir set to '$tmpdir'"; @@ -221,14 +226,14 @@ chdir "$tmpdir" or die "! ERROR: Can't cd '$tmpdir'."; sub remove_tmpdir { chdir "$SYSTMP" or die "! ERROR: Can't cd '$SYSTMP'.\n"; opendir TMPDIR, "$tmpdir" - or print "! ERROR: Can't read directory '$tmpdir'.\n"; + or print "! ERROR: Can't read directory '$tmpdir'.\n"; @alltmps=readdir TMPDIR; closedir TMPDIR; foreach $file (@alltmps) { - next if $file=~/^\./; - unlink "$tmpdir/$file"; + next if $file=~/^\./; + unlink "$tmpdir/$file"; } rmdir "$tmpdir" or die "! ERROR: Can't remove directory '$tmpdir'.\n"; } @@ -271,7 +276,7 @@ system @getfont; my $exit_code=$?; my $exit_status=int($exit_code/256); -if ($sys) { +if ($sys) { debug_msg "Info: Execute updmap-sys if exit status is 2"; } else { debug_msg "Info: Execute updmap if exit status is 2"; -- cgit v1.2.3