diff -Nurd -x'*~' XML-SAX-0.14.orig/Makefile.PL XML-SAX-0.14/Makefile.PL
--- XML-SAX-0.14.orig/Makefile.PL	2006-04-23 19:56:41.000000000 -0400
+++ XML-SAX-0.14/Makefile.PL	2006-11-14 21:56:15.000000000 -0500
@@ -10,9 +10,10 @@
         'File::Temp' => 0,
         'XML::NamespaceSupport' => 0.03,
     },    
+    'EXE_FILES' => [ 'update-perl-sax-parsers' ],
 );
 
-sub MY::install {
+sub MY::install_OMIT_THIS {
     package MY;
     my $script = shift->SUPER::install(@_);
 
diff -Nurd -x'*~' XML-SAX-0.14.orig/SAX.pm XML-SAX-0.14/SAX.pm
--- XML-SAX-0.14.orig/SAX.pm	2006-04-23 19:48:31.000000000 -0400
+++ XML-SAX-0.14/SAX.pm	2006-11-14 22:03:47.000000000 -0500
@@ -180,10 +180,43 @@
     my $class = shift;
     
     # get directory from wherever XML::SAX is installed
-    my $dir = $INC{'XML/SAX.pm'};
-    $dir = dirname($dir);
+    #my $dir = $INC{'XML/SAX.pm'};
+    #$dir = dirname($dir);
     
-    my $file = File::Spec->catfile($dir, "SAX", PARSER_DETAILS);
+    #my $file = File::Spec->catfile($dir, "SAX", PARSER_DETAILS);
+    #chmod 0644, $file;
+    #unlink($file);
+    
+    #my $fh = gensym();
+    #open($fh, ">$file") ||
+    #    die "Cannot write to $file: $!";
+
+    #foreach my $p (@$known_parsers) {
+    #    print $fh "[$p->{Name}]\n";
+    #    foreach my $key (keys %{$p->{Features}}) {
+    #        print $fh "$key = $p->{Features}{$key}\n";
+    #    }
+    #    print $fh "\n";
+    #}
+
+    #print $fh "\n";
+
+    #close $fh;
+
+    return $class;
+}
+
+sub save_parsers_debian {
+    my $class = shift;
+    my ($parser_module) = @_;
+
+    # add parser
+    $known_parsers = [];
+    $class->add_parser($parser_module);
+
+    # get parser's ParserDetails file
+    my $dir = '@PREFIX@/etc/perl5/@PERL_RAW@/XML/SAX/ParserDetails.d';
+    my $file = File::Spec->catfile($dir, $parser_module);
     chmod 0644, $file;
     unlink($file);
     
diff -Nurd -x'*~' XML-SAX-0.14.orig/t/01known.t XML-SAX-0.14/t/01known.t
--- XML-SAX-0.14.orig/t/01known.t	2002-01-28 14:36:04.000000000 -0500
+++ XML-SAX-0.14/t/01known.t	2006-11-14 21:59:42.000000000 -0500
@@ -1,6 +1,6 @@
 use Test;
-BEGIN { plan tests => 3 }
-use XML::SAX;
-ok(XML::SAX->save_parsers);
-ok(XML::SAX->load_parsers);
-ok(@{XML::SAX->parsers}, 0);
+BEGIN { plan tests => 0 }
+#use XML::SAX;
+#ok(XML::SAX->save_parsers);
+#ok(XML::SAX->load_parsers);
+#ok(@{XML::SAX->parsers}, 0);
diff -Nurd -x'*~' XML-SAX-0.14.orig/t/99cleanup.t XML-SAX-0.14/t/99cleanup.t
--- XML-SAX-0.14.orig/t/99cleanup.t	2002-01-28 14:36:04.000000000 -0500
+++ XML-SAX-0.14/t/99cleanup.t	2006-11-14 22:00:00.000000000 -0500
@@ -1,8 +1,8 @@
 use Test;
-BEGIN { plan tests => 1 }
-use File::Spec;
-ok(unlink(
-    File::Spec->catdir(qw(blib lib XML SAX ParserDetails.ini))),
-    1,
-    'delete ParserDetails.ini'
-);
+BEGIN { plan tests => 0 }
+#use File::Spec;
+#ok(unlink(
+#    File::Spec->catdir(qw(blib lib XML SAX ParserDetails.ini))),
+#    1,
+#    'delete ParserDetails.ini'
+#);
diff -Nurd -x'*~' XML-SAX-0.14.orig/update-perl-sax-parsers XML-SAX-0.14/update-perl-sax-parsers
--- XML-SAX-0.14.orig/update-perl-sax-parsers	1969-12-31 19:00:00.000000000 -0500
+++ XML-SAX-0.14/update-perl-sax-parsers	2007-04-09 22:00:26.000000000 -0500
@@ -0,0 +1,156 @@
+#!/usr/bin/env perl@PERL_RAW@
+## ----------------------------------------------------------------------
+## Debian update-perl-sax-parsers version 0.1
+## ----------------------------------------------------------------------
+## Copyright (C) 2001 Ardo van Rangelrooij <ardo@debian.org>.
+##
+## This is free software; see the GNU General Public Licence version 2
+## or later for copying conditions.  There is NO warranty.
+## ----------------------------------------------------------------------
+
+BEGIN { 
+unshift (@INC, "@PREFIX@/lib/perl5", "@PREFIX@/lib/perl5/@PERL_RAW@", "@PREFIX@/lib/perl5/@PERL_RAW@/darwin-thread-multi-2level");
+}
+
+## ----------------------------------------------------------------------
+use File::Spec ();
+use XML::SAX ();
+
+## ----------------------------------------------------------------------
+$0    =~ m|[^/]+$|;
+$name = $&;
+
+## ----------------------------------------------------------------------
+while ( $ARGV[0] =~ m/^--/ )
+{
+    $_ = shift( @ARGV );
+    last if $_ eq '--';
+    if ( $_ eq '--add' )
+    {
+        $add = 1;
+    }
+    elsif ( $_ eq '--remove' )
+    {
+        $remove = 1;
+    }
+    elsif ( $_ eq '--update' )
+    {
+        $update = 1;
+    }
+    elsif ( $_ eq '--quiet' )
+    {
+        $quiet = 1;
+    }
+    elsif ( $_ eq '--test' )
+    {
+        $debug = 1;
+    }
+    elsif ( $_ eq '--help' )
+    {
+        &usage;
+	exit 0;
+    }
+    elsif ( $_ eq '--version' )
+    {
+        &version;
+	exit 0;
+    }
+    else
+    {
+        print STDERR "$name: unknown option \`$_'\n";
+	&usage;
+	exit 1;
+    }
+}
+
+## ----------------------------------------------------------------------
+if ( ( $add || $remove ) && ! @ARGV )
+{
+    print STDERR "$name: too few arguments\n";
+    exit 1;
+}
+
+## ----------------------------------------------------------------------
+$parser_module = shift( @ARGV ) if $add || $remove;
+
+## ----------------------------------------------------------------------
+if ( @ARGV )
+{
+    print STDERR "$name: too many arguments\n";
+    exit 1;
+}
+
+## ----------------------------------------------------------------------
+print STDERR "$name: test mode - Perl SAX parsers file will not be updated\n"
+    if $debug && ! $quiet;
+
+## ----------------------------------------------------------------------
+my $PARSER_DETAILS_DIR  = "@PREFIX@/etc/perl5/@PERL_RAW@/XML/SAX/ParserDetails.d";
+my $PARSER_DETAILS_FILE = "@PREFIX@/etc/perl5/@PERL_RAW@/XML/SAX/ParserDetails.ini";
+
+## ----------------------------------------------------------------------
+if ( $add )
+{
+    print "$name: adding Perl SAX parser module info file of $parser_module...\n"
+        unless $quiet;
+    
+    XML::SAX->save_parsers_debian( $parser_module );
+}
+elsif ( $remove )
+{
+    print "$name: removing Perl SAX parser module info file of $parser_module...\n"
+        unless $quiet;
+    
+    my $parser_file = File::Spec->catfile( $PARSER_DETAILS_DIR, $parser_module);
+    unlink( $parser_file );
+}
+elsif ( $update )
+{
+    print "$name: updating overall Perl SAX parser modules info file...\n"
+        unless $quiet;
+
+    open( PARSER_DETAILS_FILE, ">$PARSER_DETAILS_FILE" )
+	|| die "Cannot write to $PARSER_DETAILS_FILE: $!";
+    opendir( PARSER_DETAILS_DIR, $PARSER_DETAILS_DIR )
+	|| die "Cannot access $PARSER_DETAILS_DIR: $!";
+	opendir(DIR,"$DirFile");
+	my @filearray = reverse readdir PARSER_DETAILS_DIR;
+	closedir( PARSER_DETAILS_DIR );
+	foreach $parser_details (@filearray)
+	{
+	next if $parser_details =~ /^\.\.?$/; # skip . and ..
+	open( PARSER_DETAILS, "$PARSER_DETAILS_DIR/$parser_details" )
+	    || die "Cannot read from $parser_details: $!";
+	while ( <PARSER_DETAILS> ) { print PARSER_DETAILS_FILE; }
+	close( PARSER_DETAILS );
+    }
+    close( PARSER_DETAILS_FILE );
+}
+
+## ----------------------------------------------------------------------
+exit 0;
+
+## ----------------------------------------------------------------------
+sub usage
+{
+    print STDERR <<END;
+Usage:
+    $name <options> --add <parser_module>
+    $name <options> --remove <parser_module>
+    $name <options> --update
+
+Options:
+    --quiet         be quiet
+    --test          do not modify any files, enables debugging mode
+    --version       display version number
+    --help          display this help text (usage)
+END
+}
+
+## ----------------------------------------------------------------------
+sub version
+{
+    print "Debian $name version 0.1\n";
+}
+
+## ----------------------------------------------------------------------
diff -Nurd -x'*~' XML-SAX-0.14.orig/update-perl-sax-parsers.8 XML-SAX-0.14/update-perl-sax-parsers.8
--- XML-SAX-0.14.orig/update-perl-sax-parsers.8	1969-12-31 19:00:00.000000000 -0500
+++ XML-SAX-0.14/update-perl-sax-parsers.8	2006-11-14 22:04:53.000000000 -0500
@@ -0,0 +1,79 @@
+.\" -*- nroff -*-
+.\" ----------------------------------------------------------------------
+.\" Copyright 2001 by Ardo van Rangelrooij.
+.\"
+.\" This is free software; see the GNU General Public Licence version 2
+.\" or later for copying conditions.  There is NO warranty.
+.\" ----------------------------------------------------------------------
+.\"
+.\" ----------------------------------------------------------------------
+.TH UPDATE-PERL-SAX-PARSERS 8 "Dec 2001" "0.1" "Debian"
+.\"
+.\" ----------------------------------------------------------------------
+.SH NAME
+update-perl-sax-parsers \- update Perl SAX parser module info files
+.\"
+.\" ----------------------------------------------------------------------
+.SH SYNOPSIS
+.B update-perl-sax-parsers
+.RI [ options ]
+.B --add
+.I parser_module
+.PP
+.B update-perl-sax-parsers
+.RI [ options ]
+.B --remove
+.I parser_module
+.PP
+.B update-perl-sax-parsers
+.RI [ options ]
+.B --update
+.\"
+.\" ----------------------------------------------------------------------
+.SH DESCRIPTION
+.B update-perl-sax-parsers
+inserts, updates and removes individual Perl SAX parser module info
+files in the directory
+.I @PREFIX@/etc/perl5/@PERL_RAW@/XML/SAX/ParserDetails.d
+and the overall Perl SAX parser modules info file
+.IR @PREFIX@/etc/perl5/@PERL_RAW@/XML/SAX/ParserDetails.ini .
+.\"
+.\" ----------------------------------------------------------------------
+.SH OPTIONS
+.TP
+.B --add
+Adds a Perl SAX parser module info file to the directory
+.IR @PREFIX@/etc/perl5/@PERL_RAW@/XML/SAX/ParserDetails.d .
+.TP
+.B --remove
+Removes a Perl SAX parser module info file
+from the directory
+.IR @PREFIX@/etc/perl5/@PERL_RAW@/XML/SAX/ParserDetails.d .
+.TP
+.B --update
+updates the overall Perl SAX parser modules info file
+.IR @PREFIX@/etc/perl5/@PERL_RAW@/XML/SAX/ParserDetails.ini .
+.TP
+.B --quiet
+Prevents the usual diagnostic output.
+.TP
+.B --test
+Prevents the update of the individual Perl SAX parser module info file and
+the overall Perl SAX parser modules info file.
+.TP
+.B --version
+Displays the version information and exits.
+.TP
+.B --help
+Display the usage information and exits.
+.\"
+.\" ----------------------------------------------------------------------
+.SH COPYRIGHT
+Copyright 2001, Ardo van Rangelrooij.
+.PP
+This is free software; see the GNU General Public Licence version 2 or
+later for copying conditions.  There is
+.I no
+warranty.
+.\"
+.\" ----------------------------------------------------------------------
