Update of /cvsroot/fink/experimental/todai/ecc/main/finkinfo/libs/perlmods
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9744

Added Files:
        xml-sax-pm581.info xml-sax-pm581.patch 
Log Message:
Fix the PostRmScript until the maintainer does.

--- NEW FILE: xml-sax-pm581.patch ---
diff -Nur XML-SAX-0.12.orig/Makefile.PL XML-SAX-0.12/Makefile.PL
--- XML-SAX-0.12.orig/Makefile.PL       Mon Jan 21 23:32:59 2002
+++ XML-SAX-0.12/Makefile.PL    Mon Dec  2 01:24:58 2002
@@ -7,22 +7,23 @@
         'File::Temp' => 0,
         'XML::NamespaceSupport' => 0.03,
     },    
+    'EXE_FILES' => [ 'update-perl-sax-parsers' ],
 );
 
-sub MY::install {
-    package MY;
-    my $script = shift->SUPER::install(@_);
-    if (ExtUtils::MakeMaker::prompt("Do you want XML::SAX to alter 
ParserDetails.ini?", "Y") =~ /^y/i) {
-        $script =~ s/install :: (.*)$/install :: $1 install_sax_pureperl/m;
-        $script .= <<"INSTALL";
-
-install_sax_pureperl :
[EMAIL PROTECTED](PERL) -MXML::SAX -e 
"XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"
-
-INSTALL
-
-    }
-
-    return $script;
-}
+#sub MY::install {
+#    package MY;
+#    my $script = shift->SUPER::install(@_);
+#    if (ExtUtils::MakeMaker::prompt("Do you want XML::SAX to alter 
ParserDetails.ini?", "Y") =~ /^y/i) {
+#        $script =~ s/install :: (.*)$/install :: $1 install_sax_pureperl/m;
+#        $script .= <<"INSTALL";
+#
+#install_sax_pureperl :
[EMAIL PROTECTED](PERL) -MXML::SAX -e 
"XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"
+#
+#INSTALL
+#
+#    }
+#
+#    return $script;
+#}
 
diff -Nur XML-SAX-0.12.orig/SAX.pm XML-SAX-0.12/SAX.pm
--- XML-SAX-0.12.orig/SAX.pm    Tue Nov 19 20:25:45 2002
+++ XML-SAX-0.12/SAX.pm Mon Dec  2 01:56:35 2002
@@ -180,13 +180,46 @@
     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/perl/XML/SAX/ParserDetails.d';
+    my $file = File::Spec->catfile($dir, $parser_module);
     chmod 0644, $file;
     unlink($file);
-    
+
     my $fh = gensym();
     open($fh, ">$file") ||
         die "Cannot write to $file: $!";
diff -Nur XML-SAX-0.12.orig/t/01known.t XML-SAX-0.12/t/01known.t
--- XML-SAX-0.12.orig/t/01known.t       Mon Jan 28 21:35:46 2002
+++ XML-SAX-0.12/t/01known.t    Mon Dec  2 01:54:06 2002
@@ -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 -Nur XML-SAX-0.12.orig/t/99cleanup.t XML-SAX-0.12/t/99cleanup.t
--- XML-SAX-0.12.orig/t/99cleanup.t     Mon Jan 28 21:28:01 2002
+++ XML-SAX-0.12/t/99cleanup.t  Mon Dec  2 01:54:21 2002
@@ -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 -Nur XML-SAX-0.12.orig/update-perl-sax-parsers 
XML-SAX-0.12/update-perl-sax-parsers
--- XML-SAX-0.12.orig/update-perl-sax-parsers   Thu Jan  1 02:00:00 1970
+++ XML-SAX-0.12/update-perl-sax-parsers        Mon Dec  2 01:30:53 2002
@@ -0,0 +1,150 @@
+#!/usr/bin/perl
+## ----------------------------------------------------------------------
+## Debian update-perl-sax-parsers version 0.1
+## ----------------------------------------------------------------------
+## Copyright (C) 2001 Ardo van Rangelrooij <[EMAIL PROTECTED]>.
+##
+## This is free software; see the GNU General Public Licence version 2
+## or later for copying conditions.  There is NO warranty.
+## ----------------------------------------------------------------------
+
+## ----------------------------------------------------------------------
+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/perl/XML/SAX/ParserDetails.d";
+my $PARSER_DETAILS_FILE = "@PREFIX@/etc/perl/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: $!";
+    while ( defined( $parser_details = readdir( PARSER_DETAILS_DIR ) ) )
+    {
+       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 );
+    }
+    closedir( PARSER_DETAILS_DIR );
+    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 -Nur XML-SAX-0.12.orig/update-perl-sax-parsers.8 
XML-SAX-0.12/update-perl-sax-parsers.8
--- XML-SAX-0.12.orig/update-perl-sax-parsers.8 Thu Jan  1 02:00:00 1970
+++ XML-SAX-0.12/update-perl-sax-parsers.8      Mon Dec  2 01:46:11 2002
@@ -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 /etc/perl/XML/SAX/ParserDetails.d
+and the overall Perl SAX parser modules info file
+.IR /etc/perl/XML/SAX/ParserDetails.ini .
+.\"
+.\" ----------------------------------------------------------------------
+.SH OPTIONS
+.TP
+.B --add
+Adds a Perl SAX parser module info file to the directory
+.IR /etc/perl/XML/SAX/ParserDetails.d .
+.TP
+.B --remove
+Removes a Perl SAX parser module info file
+from the directory
+.IR /etc/perl/XML/SAX/ParserDetails.d .
+.TP
+.B --update
+updates the overall Perl SAX parser modules info file
+.IR /etc/perl/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.
+.\"
+.\" ----------------------------------------------------------------------

--- NEW FILE: xml-sax-pm581.info ---
Package: xml-sax-pm581
Version: 0.12
Revision: 16ecc1
Replaces: xml-sax-pm (<= 0.12-16), xml-sax-pm560, xml-sax-pm580
Source: mirror:cpan:authors/id/M/MS/MSERGEANT/XML-SAX-%v.tar.gz
Source-MD5: bff58bd077a9693fc8cf32e2b95f571f
Type: perl 5.8.1
Depends: xml-namespacesupport-pm, file-temp-pm581 | perl581-core
BuildDepends: fink (>= 0.20.1-1), perl581-core
UpdatePOD: true
PatchScript: sed 's|@PREFIX@|%p|g' < %a/%n.patch | patch -p1
DocFiles: Changes MANIFEST README LICENSE
CompileScript: <<
    perl5.8.1 Makefile.PL PREFIX=%p INSTALLPRIVLIB=%p/lib/perl5 
INSTALLARCHLIB=%p/lib/perl5/darwin INSTALLSITELIB=%p/lib/perl5 
INSTALLSITEARCH=%p/lib/perl5/darwin INSTALLMAN1DIR=%p/share/man/man1 
INSTALLMAN3DIR=%p/share/man/man3 INSTALLSITEMAN1DIR=%p/share/man/man1 
INSTALLSITEMAN3DIR=%p/share/man/man3 INSTALLSCRIPT=%p/sbin
    make
    make test
<<
InstallScript: <<
        make install INSTALLPRIVLIB=%i/lib/perl5 
INSTALLARCHLIB=%i/lib/perl5/darwin INSTALLSITELIB=%i/lib/perl5 
INSTALLSITEARCH=%i/lib/perl5/darwin INSTALLMAN1DIR=%i/share/man/man1 
INSTALLMAN3DIR=%i/share/man/man3 INSTALLSITEMAN1DIR=%i/share/man/man1 
INSTALLSITEMAN3DIR=%i/share/man/man3 INSTALLSCRIPT=%i/sbin
        ln -s %p/etc/perl/XML/SAX/ParserDetails.ini 
%i/lib/perl5/XML/SAX/ParserDetails.ini
<<
PreInstScript: <<
if [ "$1" = install ]
then
        install -d -m 755 %p/etc/perl/XML/SAX
        install -d -m 755 %p/etc/perl/XML/SAX/ParserDetails.d
        touch %p/etc/perl/XML/SAX/ParserDetails.ini
elif [ "$1" = upgrade ]
then
        install -d -m 755 %p/etc/perl/XML
        if [ -d %p/etc/xml/SAX ]
        then
                mv %p/etc/xml/SAX %p/etc/perl/XML
        else
                install -d -m 755 %p/etc/perl/XML/SAX
                install -d -m 755 %p/etc/perl/XML/SAX/ParserDetails.d
                touch %p/etc/perl/XML/SAX/ParserDetails.ini
        fi
fi
<<
PostInstScript: <<
if [ "$1" = configure ]
then
        update-perl-sax-parsers --add XML::SAX::PurePerl
        update-perl-sax-parsers --update
fi
<<
PreRmScript: <<
if [ "$1" = remove ]
then
        update-perl-sax-parsers --remove XML::SAX::PurePerl
        update-perl-sax-parsers --update
fi
<<
PostRmScript: <<
if [ "$1" = purge ]
then
        rm -f %p/etc/perl/XML/SAX/ParserDetails.ini
        cd %p/etc/perl
        rmdir XML/SAX/ParserDetails.d XML/SAX XML 2>/dev/null || :
fi
<<
Description: Perl Simple API for XML
DescDetail: <<
XML::SAX is a SAX parser access API for Perl. It includes classes and APIs
required for implementing SAX drivers, along with a factory class for
returning any SAX parser installed on the user's system.
<<
DescPackaging: <<
XML::SAX uses catalogs stored in %p/etc/perl/XML/SAX/ParserDetails.d to
managed the details of parsers installed on the local system.  They are
managed via the update-perl-sax-parsers script.  Each package that provides a
SAX parser should also call this script within Pre/PostInstScript.

This implementation was taken from the debian package of XML::SAX.

This revision is made by Todai Fink Team to fix a gnuism at PostRmScript:
rmdir --parents --ignore-fail-on-non-empty XML/SAX/ParserDetails.d
<<
License: Artistic
#Maintainer: Chris Leishman <[EMAIL PROTECTED]>
Maintainer: Todai Fink Team <[EMAIL PROTECTED]>
Homepage: http://search.cpan.org/dist/XML-SAX



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Fink-commits mailing list
Fink-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-commits

Reply via email to