2 # $Cambridge: exim/doc/doc-docbook/OS-Fixups,v 1.1 2009/10/16 10:36:52 nm4 Exp $
5 # Script to hack around using absolute paths in xsl:import with fixups.
6 # Let every OS define its own manipulations.
7 # Uses the Perl $^O values to identify the current OS.
9 # Define filter_$^O to do substitutions, will be called for every line of
14 s{"/usr/share/sgml/docbook/xsl-stylesheets-1.70.1/}
15 {"/usr/local/share/xsl/docbook/};
16 s{"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"}
17 {"/usr/local/share/xml/docbook/4.2/docbookx.dtd"};
20 # Define OS filters above.
23 $os_filter = $main::{"filter_$^O"} if exists $main::{"filter_$^O"};
25 unless (defined $os_filter)
27 print "No changes defined for your OS ($^O).\n";
31 for my $fn (<*.xsl>, <*.xml>)
33 my $orig = "$fn.orig";
34 rename($fn, $orig) or die "Failed to rename($fn, $orig): $!\n";
35 # Most portable is two-argument form, and none of our filenames are
36 # untrusted or contain whitespace.
37 open(OLD, "< $orig") or die "Failed to read-open($orig): $!\n";
38 open(NEW, "> $fn") or die "Failed to write-open($fn): $!\n";
42 print NEW $_ or die "Write to \"$fn\" failed: $!\n";
44 close(NEW) or die "Failed to close($fn) after writing: $!\n";