X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpdf%2Finject-xpdf.pl;h=e3c2f1b1437daadfc11571db9c90d3cecacc7b5d;hb=bf04757cd94e94c1f67fa3d2a4e3e59fa5bce0c0;hp=ba6cea6671ee49e83120f7e59a060aa49d54c9f6;hpb=cb72b4b0e365963ad7c24bbbb309442095e1dc1d;p=swftools.git diff --git a/lib/pdf/inject-xpdf.pl b/lib/pdf/inject-xpdf.pl index ba6cea6..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") 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"); @@ -29,9 +46,8 @@ VERSION=\$1 PS3="choose> " if test "x\$VERSION" = "x";then - select V in stable latest;do VERSION="$V";break;done + select V in stable latest;do VERSION="\$V";break;done fi - if test "x\$VERSION" = "xstable";then echo "Switching to stable version" rm -f xpdf @@ -46,3 +62,4 @@ EOF close(fi); system("chmod a+x switch"); +