From d7224298843441c3e08e6c84a5eb3cd8e93e7c62 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 7 Jun 2022 20:32:22 +0000 Subject: pax (7jun22) git-svn-id: svn://tug.org/texlive/trunk@63508 c570f23f-e606-0410-a88d-b1316a301751 --- .../linked_scripts/pax/pdfannotextractor.pl | 243 +-------------------- 1 file changed, 3 insertions(+), 240 deletions(-) (limited to 'Build') diff --git a/Build/source/texk/texlive/linked_scripts/pax/pdfannotextractor.pl b/Build/source/texk/texlive/linked_scripts/pax/pdfannotextractor.pl index 085dc43c5d3..c5d5cf2a380 100755 --- a/Build/source/texk/texlive/linked_scripts/pax/pdfannotextractor.pl +++ b/Build/source/texk/texlive/linked_scripts/pax/pdfannotextractor.pl @@ -39,18 +39,15 @@ ${title}Syntax: $program [options] Options: --help print usage --version print version number - --install try installing PDFBox library --debug debug informations END_OF_USAGE my $help = 0; my $debug = 0; -my $install = 0; my $opt_version = 0; use Getopt::Long; GetOptions( 'debug!' => \$debug, - 'install!' => \$install, 'help!' => \$help, 'version!' => \$opt_version, ) or die $usage; @@ -59,24 +56,13 @@ if ($opt_version) { print "$name $date v$version\n"; exit(0); } -!$install and (@ARGV >= 1 or die $usage); +(@ARGV >= 1 or die $usage); print $title; my $error = '!!! Error:'; -my $url_pdfbox = 'http://prdownloads.sourceforge.net/pdfbox/PDFBox-0.7.3.zip?download'; -my $size_pdfbox_zip = 22769102; -my $size_pdfbox_jar = 3321771; -my $name_pdfbox_jar = 'PDFBox-0.7.3.jar'; -my $entry_pdfbox = "PDFBox-0.7.3/lib/$name_pdfbox_jar"; my $pdfbox = 'PDFBox'; - my $prg_kpsewhich = 'kpsewhich'; -my $prg_wget = 'wget'; -my $prg_curl = 'curl'; -my $prg_unzip = 'unzip'; -my $prg_texhash = 'texhash'; -my $prg_mktexlsr = 'mktexlsr'; my $prg_java = 'java'; my %prg; @@ -175,34 +161,13 @@ sub find_jar_pax () { } } -sub find_jar_pdfbox () { - return if $path_jar_pdfbox; - foreach my $dir (@dir_jar) { - foreach my $jar (@jar_pdfbox) { - my $path = "$dir/$jar"; - if (-f $path) { - $path_jar_pdfbox = $path; - debug $jar_pdfbox, $path_jar_pdfbox; - return; - } - } - } - foreach my $jar_pdfbox (@jar_pdfbox) { - $path_jar_pdfbox = find_jar $jar_pdfbox; - last if $path_jar_pdfbox; - } -} sub launch_pax () { check_prg $prg_java, 1; my @cmd = ($prg_java); - my $sep = $is_win ? ';' : ':'; - my $cp = "$path_jar_pax"; - $cp .= "$sep$path_jar_pdfbox" if $path_jar_pdfbox; - $cp .= "$sep$classpath" if $classpath; push @cmd, '-cp'; - push @cmd, $cp; - push @cmd, $main_class; + push @cmd, $path_jar_pax; + push @cmd, 'pax.PDFAnnotExtractor'; push @cmd, @ARGV; debug 'System', "@cmd"; system @cmd; @@ -222,212 +187,10 @@ sub launch_pax () { return $exit_code; } -# install part - -sub expand_var ($) { - my $var = shift; - check_prg $prg_kpsewhich, 1; - my $cmd = $prg_kpsewhich - . " --progname $program" - . ' --expand-var'; - $cmd .= $is_win ? " \$$var" : " \\\$$var"; - debug 'Backticks', $cmd; - my $path = `$cmd`; - if ($? == 0) { - chomp $path; - debug 'Exit code', '0/success'; - debug "\$$var", $path; - return $path; - } - if ($? == -1) { - die "!!! Error: Cannot execute `$prg_kpsewhich' ($!)!\n"; - } - if ($? & 127) { - die "!!! Error: `$prg_kpsewhich' died with signal " . ($? & 127) - . (($? & 128) ? ' with coredump' : '') . "!\n"; - } - debug 'Exit code', ($? >> 8); - return ''; -} - -sub ensure_dir ($) { - my $dir = shift; - return if -d $dir; - mkdir $dir or die "$error Cannot create directory `$dir'!\n"; - debug 'mkdir', $dir; -} - -sub file_size ($) { - my $file = shift; - return -1 unless -f $file; - return (stat $file)[7]; -} - -if ($install) { - # Can PDFBox already be found? - find_jar_pdfbox; - if ($path_jar_pdfbox) { - print "* Nothing to do, because $pdfbox is already found:\n" - . " $path_jar_pdfbox\n"; - exit(0); - } - - # Find TEXMFVAR - my $tds_root; - foreach my $var ('TEXMFVAR', 'VARTEXMF') { - $tds_root = expand_var $var; - last if $tds_root; - } - $tds_root or die "$error Cannot find settings for `TEXMFVAR' or `VARTEXMF'!\n"; - - # Create directories - ensure_dir $tds_root; - my $tds_pax = $tds_root; - $tds_pax =~ s/(\/*)$/\/scripts/; - ensure_dir $tds_pax; - $tds_pax .= '/pax'; - ensure_dir $tds_pax; - my $tds_pax_lib = "$tds_pax/lib"; - ensure_dir $tds_pax_lib; - - # Download - my $dest_file = "$tds_pax/PDFBox-0.7.3.zip"; - if (file_size $dest_file == $size_pdfbox_zip) { - debug "$pdfbox archive found", $dest_file; - } - else { - my @cmd; - my $prg_download; - check_prg $prg_wget, 0; - if ($prg{$prg_wget}) { - $prg_download = $prg_wget; - push @cmd, $prg_wget; - push @cmd, '-O'; - } - else { - check_prg $prg_curl, 0; - $prg{$prg_curl} or die "$error Cannot find programs `wget' or `curl'" - . " for downloading!\n"; - $prg_download = $prg_curl; - push @cmd, $prg_curl; - push @cmd, '-L'; - push @cmd, '-o'; - } - push @cmd, $dest_file; - push @cmd, $url_pdfbox; - debug 'System', "@cmd"; - system @cmd; - if ($? == 0) { - debug 'Result', 'ok'; - } - elsif ($? == -1) { - die "$error Cannot execute `$prg_download' ($!)!\n"; - } - elsif ($? & 127) { - die "$error `$prg_download' died with signal " . ($? & 127) - . (($? & 128) ? ' with coredump' : '') . "!\n"; - } - else { - my $exit_code = $? >> 8; - die "$error `$prg_download' returns error code `$exit_code'!\n"; - } - -f $dest_file or die "$error Download failed!\n"; - my $size = file_size $dest_file; - $size == $size_pdfbox_zip - or die "$error File size of $dest_file is $size,\n" - . "but expected size is $size_pdfbox_zip!\n"; - } - print "* Downloaded: $dest_file\n"; - - # Unpack jar file - check_prg $prg_unzip, 0; - if ($prg{$prg_unzip}) { - my @cmd = ( - $prg_unzip, - '-j', - '-d', - $tds_pax_lib, - $dest_file, - $entry_pdfbox - ); - debug 'System', "@cmd"; - system @cmd; - if ($? == 0) { - debug 'Result', 'ok'; - } - elsif ($? == -1) { - die "$error Cannot execute `$prg_unzip' ($!)!\n"; - } - elsif ($? & 127) { - die "$error `$prg_unzip' died with signal " . ($? & 127) - . (($? & 128) ? ' with coredump' : '') . "!\n"; - } - else { - my $exit_code = $? >> 8; - die "$error `$prg_unzip' returns error code `$exit_code'!\n"; - } - } - else { - die "$error `$prg_unzip' not found!\n"; - } - my $dest_jar = "$tds_pax_lib/$name_pdfbox_jar"; - -f $dest_jar or die "$error Unpacking failed!\n"; - my $size = file_size $dest_jar; - $size == $size_pdfbox_jar - or die "$error File size of $dest_jar is $size,\n" - . "but expected size is $size_pdfbox_jar!\n"; - - print "* Unpacked: $dest_jar\n"; - - # Update TDS data base - my $prg_tds_update; - check_prg $prg_texhash, 0; - if ($prg{$prg_texhash}) { - $prg_tds_update = $prg_texhash; - } - else { - check_prg $prg_mktexlsr, 0; - $prg{$prg_mktexlsr} or die "$error Neither `$prg_texhash' nor `$prg_mktexlsr' found!\n"; - $prg_tds_update = $prg_mktexlsr; - } - my @cmd = ($prg_tds_update, $tds_root); - debug 'System', "@cmd"; - system @cmd; - if ($? == 0) { - debug 'Result', 'ok'; - } - elsif ($? == -1) { - die "$error Cannot execute `$prg_tds_update' ($!)!\n"; - } - elsif ($? & 127) { - die "$error `$prg_tds_update' died with signal " . ($? & 127) - . (($? & 128) ? ' with coredump' : '') . "!\n"; - } - else { - my $exit_code = $? >> 8; - die "$error `$prg_tds_update' returns error code `$exit_code'!\n"; - } - - # Check installation result - find_jar_pdfbox; - if ($path_jar_pdfbox) { - exit(0); - } - die "$error Installation failed, because $pdfbox library cannot be found!\n"; -} - # main program my $ret = 0; find_jar_pax; -if ($pdfbox_in_classpath) { - debug 'PDFBox in CLASSPATH', 'yes'; -} -else { - find_jar_pdfbox; - $path_jar_pdfbox or die "$error Cannot find $pdfbox library!\n" - . "See README and option `--install'.\n"; -} exit launch_pax; __END__ -- cgit v1.2.3