r9803 - in /trunk/libxml-sax-perl: debian/changelog debian/libxml-sax-perl.postinst debian/libxml-sax-perl.preinst update-perl-sax-parsers
ntyni-guest at users.alioth.debian.org
ntyni-guest at users.alioth.debian.org
Tue Nov 27 18:56:24 UTC 2007
Author: ntyni-guest
Date: Tue Nov 27 18:56:24 2007
New Revision: 9803
URL: http://svn.debian.org/wsvn/?sc=1&rev=9803
Log:
* Use ucf to manage ParserDetails.ini
Modified:
trunk/libxml-sax-perl/debian/changelog
trunk/libxml-sax-perl/debian/libxml-sax-perl.postinst
trunk/libxml-sax-perl/debian/libxml-sax-perl.preinst
trunk/libxml-sax-perl/update-perl-sax-parsers
Modified: trunk/libxml-sax-perl/debian/changelog
URL: http://svn.debian.org/wsvn/trunk/libxml-sax-perl/debian/changelog?rev=9803&op=diff
==============================================================================
--- trunk/libxml-sax-perl/debian/changelog (original)
+++ trunk/libxml-sax-perl/debian/changelog Tue Nov 27 18:56:24 2007
@@ -1,8 +1,9 @@
libxml-sax-perl (0.16-0.2) unstable; urgency=low
* Move the ParserDetails.d under /var
+ * Use ucf to manage ParserDetails.ini
- -- Niko Tyni <ntyni at iki.fi> Tue, 06 Nov 2007 13:32:53 +0200
+ -- Niko Tyni <ntyni at iki.fi> Wed, 07 Nov 2007 22:02:23 +0200
libxml-sax-perl (0.16-0.1) unstable; urgency=low
Modified: trunk/libxml-sax-perl/debian/libxml-sax-perl.postinst
URL: http://svn.debian.org/wsvn/trunk/libxml-sax-perl/debian/libxml-sax-perl.postinst?rev=9803&op=diff
==============================================================================
--- trunk/libxml-sax-perl/debian/libxml-sax-perl.postinst (original)
+++ trunk/libxml-sax-perl/debian/libxml-sax-perl.postinst Tue Nov 27 18:56:24 2007
@@ -11,8 +11,7 @@
then
if [ -n "$2" ] && dpkg --compare-versions "$2" lt 0.16-0.2
then
- update-perl-sax-parsers --quiet --remove XML::SAX::PurePerl
-
+ rm /etc/perl/XML/SAX/ParserDetails.d/XML::SAX::PurePerl
for i in /etc/perl/XML/SAX/ParserDetails.d/*
do
mv "$i" "/var/lib/libxml-sax-perl/ParserDetails.d/50-$(basename $i)"
Modified: trunk/libxml-sax-perl/debian/libxml-sax-perl.preinst
URL: http://svn.debian.org/wsvn/trunk/libxml-sax-perl/debian/libxml-sax-perl.preinst?rev=9803&op=diff
==============================================================================
--- trunk/libxml-sax-perl/debian/libxml-sax-perl.preinst (original)
+++ trunk/libxml-sax-perl/debian/libxml-sax-perl.preinst Tue Nov 27 18:56:24 2007
@@ -66,6 +66,15 @@
fi
+if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" le 0.16.0.1
+then
+ # find out the md5sum of an unmodified ParserDetails.ini
+
+ [ -d /var/lib/libxml-sax-perl ] || mkdir /var/lib/libxml-sax-perl
+ update-perl-sax-parsers --quiet --update --file - | md5sum - \
+ > /var/lib/libxml-sax-perl/ParserDetails.ini.md5sum
+fi
+
## ----------------------------------------------------------------------
## automatically generated debhelper commands
#DEBHELPER#
Modified: trunk/libxml-sax-perl/update-perl-sax-parsers
URL: http://svn.debian.org/wsvn/trunk/libxml-sax-perl/update-perl-sax-parsers?rev=9803&op=diff
==============================================================================
--- trunk/libxml-sax-perl/update-perl-sax-parsers (original)
+++ trunk/libxml-sax-perl/update-perl-sax-parsers Tue Nov 27 18:56:24 2007
@@ -15,6 +15,7 @@
use File::Spec;
use Getopt::Long;
use XML::SAX;
+use File::Temp qw(tempfile);
## ----------------------------------------------------------------------
$0 =~ m|[^/]+$|;
@@ -32,6 +33,7 @@
my $test = '';
my $update = '';
my $version = '';
+my $ucf;
my $priority = 50; # default priority
## ----------------------------------------------------------------------
@@ -46,6 +48,7 @@
'update' => \$update,
'version' => \$version,
'priority=i' => \$priority,
+ 'ucf=i' => \$ucf,
)
)
{
@@ -77,6 +80,10 @@
push( @directory, $PARSER_DETAILS_DIR) if ! @directory;
## ----------------------------------------------------------------------
+# use ucf by default if --file is not specified
+$ucf = ($file ? 0 : 1) if not defined $ucf;
+
+## ----------------------------------------------------------------------
my $PARSER_DETAILS_FILE = "/etc/perl/XML/SAX/ParserDetails.ini";
$file = $PARSER_DETAILS_FILE if ! $file;
@@ -101,8 +108,15 @@
print "$name: Updating overall Perl SAX parser modules info file...\n"
unless $quiet;
- open( PARSER_DETAILS_FILE, ">$file" )
- || die "Cannot write to $file: $!";
+ my ($handle, $tmpfile);
+
+ if ($ucf) {
+ ($handle, $tmpfile) = tempfile();
+ chmod 0644, $tmpfile or die("chmod $tmpfile: $!");
+ } else {
+ open( $handle, ">$file" )
+ || die "Cannot write to $file: $!";
+ }
foreach my $directory ( @directory)
{
opendir( PARSER_DETAILS_DIR, $directory )
@@ -113,12 +127,18 @@
next if $parser_details =~ /^\.\.?$/; # skip . and ..
open( PARSER_DETAILS, "$directory/$parser_details" )
|| die "Cannot read from $parser_details: $!";
- while ( <PARSER_DETAILS> ) { print PARSER_DETAILS_FILE; }
+ while ( <PARSER_DETAILS> ) { print $handle $_; }
close( PARSER_DETAILS );
}
closedir( PARSER_DETAILS_DIR );
}
- close( PARSER_DETAILS_FILE );
+ close( $handle );
+ if ($ucf) {
+ print "$name: Running ucf on $file...\n"
+ unless $quiet;
+ system("ucf --debconf-ok --sum-file /var/lib/libxml-sax-perl/ParserDetails.ini.md5sum $tmpfile $file");
+ unlink $tmpfile or die("unlink $tmpfile: $!");
+ }
}
## ----------------------------------------------------------------------
More information about the Pkg-perl-cvs-commits
mailing list