X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpdf%2Finject-xpdf.pl;h=e3c2f1b1437daadfc11571db9c90d3cecacc7b5d;hb=bf04757cd94e94c1f67fa3d2a4e3e59fa5bce0c0;hp=7a0ea13e1e46136a559ba2ea32114d46e26de2c7;hpb=af7ff6878e4edaf05e2f1b8a36d6577b3c341419;p=swftools.git diff --git a/lib/pdf/inject-xpdf.pl b/lib/pdf/inject-xpdf.pl index 7a0ea13..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 --verbose < ../xpdf-changes.patch") and die; +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"); @@ -25,11 +42,17 @@ open(fi, ">switch"); print fi <