[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#951398: Rebuild pax



control: tags -1 + patch
control: severity -1 serious

Hi,

For rebuilding pax you need to apply this patch then from
source/pax/latex/pax run ant

It will create the whole stuff under script directory.

You will need to add depends to pdfbox and common-logging java package
but it work

When I will upload the TDS package you will need to remove the
latex/pax/ .jar files and remove the ant file.

Could you apply the patch, rebuild and test ?

Thanks

Bastien
diff --git a/scripts/pax/pax.jar b/scripts/pax/pax.jar
deleted file mode 100644
index 36371e2..0000000
Binary files a/scripts/pax/pax.jar and /dev/null differ
diff --git a/scripts/pax/pdfannotextractor.pl b/scripts/pax/pdfannotextractor.pl
index 085dc43..fd5dc30 100755
--- a/scripts/pax/pdfannotextractor.pl
+++ b/scripts/pax/pdfannotextractor.pl
@@ -39,18 +39,15 @@ ${title}Syntax:   $program [options] <PDF files[.pdf]>
 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;
 
@@ -193,16 +179,11 @@ sub find_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, @ARGV;
     debug 'System', "@cmd";
     system @cmd;
@@ -222,200 +203,6 @@ 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;
diff --git a/source/latex/pax/build.xml b/source/latex/pax/build.xml
index 230cd3e..16fbfd5 100644
--- a/source/latex/pax/build.xml
+++ b/source/latex/pax/build.xml
@@ -6,44 +6,68 @@
 
   <property name="src"   location="src"/>
   <property name="build" location="build"/>
-  <property name="dist"  location="."/>
+  <property name="dist"  location="../../../tex/latex/pax/"/>
   <property name="pdfbox.home" location="${basedir}"/> <!-- or somewhere else -->
-  <property name="pdfbox.name" value="PDFBox-0.7.2.jar"/>
 
   <target name="init">
     <mkdir dir="${build}"/>
   </target>
 
   <target name="compile"
-          depends="init"
-          description="compile the source"
-  >
-    <javac srcdir="${src}" destdir="${build}" target="1.4" source="1.4">
+	  depends="init"
+	  description="compile the source"
+	  >
+    <javac srcdir="${src}" destdir="${build}">
       <classpath>
-        <!-- try with and without subdirectory `lib' -->
-        <pathelement location="${pdfbox.home}/lib/${pdfbox.name}"/>
-        <pathelement location="${pdfbox.home}/${pdfbox.name}"/>
+	<pathelement location="${basedir}/lib/pdfbox.jar"/>
+	<pathelement location="${basedir}/lib/commons-logging.jar"/>
       </classpath>
     </javac>
   </target>
 
+  <path id="build.classpath">
+    <fileset dir="${basedir}">
+      <include name="lib/*.jar"/>
+    </fileset>
+  </path>
+
+  <pathconvert property="manifest.classpath" pathsep=" ">
+    <path refid="build.classpath"/>
+    <mapper>
+      <chainedmapper>
+	<flattenmapper/>
+	<globmapper from="*.jar" to="lib/*.jar"/>
+      </chainedmapper>
+    </mapper>
+  </pathconvert>
+
   <target name="dist"
-          depends="compile"
-          description="generate the distribution"
-  >
+	  depends="compile"
+	  description="generate the distribution"
+	  >
     <mkdir dir="${dist}"/>
+    <mkdir dir="${dist}/lib"/>
+    <copy todir="${dist}/lib" flatten="true">
+      <fileset dir="lib">
+	<include name="*.jar" />
+      </fileset>
+    </copy>
     <jar jarfile="${dist}/${ant.project.name}.jar"
-         manifest="${src}/MANIFEST.MF"
-         basedir="${build}"
-         includes="pax/**"
-    />
+	 manifest="${src}/MANIFEST.MF"
+	 basedir="${build}"
+	 includes="pax/**" >
+      <manifest>
+	<attribute name="Class-Path" value="${manifest.classpath}" />
+      </manifest>
+    </jar>
   </target>
 
   <target name="clean"
-          description="clean up"
-  >
+	  description="clean up"
+	  >
     <delete dir="${build}"/>
-    <delete file="${dist}/${ant.project.name}.jar"/>
+    <delete dir="${dist}/lib"/>
+    <delete file="${dist}/pax.jar" />
   </target>
 
 </project>
diff --git a/source/latex/pax/lib/commons-logging.jar b/source/latex/pax/lib/commons-logging.jar
new file mode 120000
index 0000000..3f5cb56
--- /dev/null
+++ b/source/latex/pax/lib/commons-logging.jar
@@ -0,0 +1 @@
+/usr/share/java/commons-logging.jar
\ No newline at end of file
diff --git a/source/latex/pax/lib/pdfbox.jar b/source/latex/pax/lib/pdfbox.jar
new file mode 120000
index 0000000..9927915
--- /dev/null
+++ b/source/latex/pax/lib/pdfbox.jar
@@ -0,0 +1 @@
+/usr/share/java/pdfbox.jar
\ No newline at end of file
diff --git a/source/latex/pax/src/PDFAnnotExtractor.java b/source/latex/pax/src/PDFAnnotExtractor.java
index 868dada..d135057 100644
--- a/source/latex/pax/src/PDFAnnotExtractor.java
+++ b/source/latex/pax/src/PDFAnnotExtractor.java
@@ -24,14 +24,14 @@ import java.io.*;
 import java.text.*;
 import java.util.*;
 
-import org.pdfbox.cos.*;
-import org.pdfbox.pdfparser.*;
-import org.pdfbox.pdmodel.*;
-import org.pdfbox.pdmodel.common.*;
-import org.pdfbox.pdmodel.interactive.action.*;
-import org.pdfbox.pdmodel.interactive.action.type.*;
-import org.pdfbox.pdmodel.interactive.annotation.*;
-import org.pdfbox.pdmodel.interactive.documentnavigation.destination.*;
+import org.apache.pdfbox.cos.*;
+import org.apache.pdfbox.pdfparser.*;
+import org.apache.pdfbox.pdmodel.*;
+import org.apache.pdfbox.pdmodel.common.*;
+import org.apache.pdfbox.pdmodel.interactive.action.*;
+import org.apache.pdfbox.pdmodel.interactive.action.type.*;
+import org.apache.pdfbox.pdmodel.interactive.annotation.*;
+import org.apache.pdfbox.pdmodel.interactive.documentnavigation.destination.*;
 
 public class PDFAnnotExtractor implements Constants {
 
diff --git a/source/latex/pax/src/StringVisitor.java b/source/latex/pax/src/StringVisitor.java
index 485757e..1460ade 100644
--- a/source/latex/pax/src/StringVisitor.java
+++ b/source/latex/pax/src/StringVisitor.java
@@ -22,8 +22,8 @@ package pax;
 
 import java.io.*;
 import java.util.*;
-import org.pdfbox.cos.*;
-import org.pdfbox.exceptions.*;
+import org.apache.pdfbox.cos.*;
+import org.apache.pdfbox.exceptions.*;
 
 public class StringVisitor implements ICOSVisitor {
 

Reply to: