X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpdf%2Finject-xpdf.pl;h=e3c2f1b1437daadfc11571db9c90d3cecacc7b5d;hb=bf04757cd94e94c1f67fa3d2a4e3e59fa5bce0c0;hp=b9170238332a81f0b26d4e02680f2ea36cbfcd15;hpb=771343c207bda650c4b479565d4aecb79a67924a;p=swftools.git diff --git a/lib/pdf/inject-xpdf.pl b/lib/pdf/inject-xpdf.pl index b917023..e3c2f1b 100755 --- a/lib/pdf/inject-xpdf.pl +++ b/lib/pdf/inject-xpdf.pl @@ -4,18 +4,35 @@ $filename = $ARGV[0]; $filename or die "no filename"; -$directory = $filename; -$directory =~ s/.tar.gz$//g; +$basename = $filename; +$basename =~ s/.tar.gz$//g; +$directory = $basename; mkdir("$directory"); mkdir("$directory/tmp/"); chdir("$directory/tmp/") or die; -system("tar -zxvf ../../$filename") and die; -system("find -type f -exec mv {} .. \\;") and die; + +print "Extracting $filename\n"; +system("tar -zxf ../../$filename") and die; +system("find . -type f -exec mv {} .. \\;") and die; chdir(".."); -system("find -type d -exec rmdir {} \\; 2> /dev/null"); -system("patch < ../xpdf-changes.patch"); +system("find . -type d -exec rmdir {} \\; 2> /dev/null"); + +print "Applying security patches...\n"; +for($a=1;$a<10;$a++) { + $patchname = "../${basename}pl$a.patch"; + if(-f $patchname) { + print "*pl$a.patch\n"; + system("patch -s < $patchname") and die; + } +} + +$c = 'find . \( -name "*.cc" -or -name "*.h" -or -name "*.c" \) -exec cp {} {}.orig \;'; +print "$c\n"; +system($c); + +system("patch < ../xpdf-changes.patch 2>&1 | grep -i failed"); chdir(".."); system("rm -f xpdf"); system("ln -s $directory xpdf"); @@ -45,7 +62,4 @@ EOF close(fi); system("chmod a+x switch"); -$c = 'find '.$directory.' \( -name "*.cc" -or -name "*.h" -or -name "*.c" \) -exec cp {} {}.orig \;'; -print "$c\n"; -system($c);