Modify debian/control.

This commit is contained in:
su-fang 2022-09-16 11:15:11 +08:00 committed by cckylin-cibot
parent a137226996
commit 3a30b979a6
5 changed files with 156 additions and 4 deletions

12
debian/changelog vendored
View File

@ -1,3 +1,15 @@
libxml-sax-perl (1.02-ok3) yangtze; urgency=medium
* Modify debian/control.
-- sufang <sufang@kylinos.cn> Fri, 16 Sep 2022 11:13:35 +0800
libxml-sax-perl (1.02-ok2) yangtze; urgency=medium
* Add parserdetails-debian.
-- sufang <sufang@kylinos.cn> Wed, 14 Sep 2022 14:48:33 +0800
libxml-sax-perl (1.02-ok1) yangtze; urgency=medium
* Build for openkylin.

1
debian/compat vendored
View File

@ -1 +0,0 @@
11

6
debian/control vendored
View File

@ -3,13 +3,13 @@ Section: perl
Testsuite: autopkgtest-pkg-perl
Priority: optional
Maintainer: OpenKylin Developers <packaging@lists.openkylin.top>
Build-Depends: debhelper (>=11~)
Build-Depends: debhelper-compat (= 13)
Build-Depends-Indep: libxml-namespacesupport-perl <!nocheck>,
libxml-sax-base-perl <!nocheck>,
perl
Standards-Version: 4.6.0
Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/libxml-sax-perl
Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/libxml-sax-perl.git
Vcs-Browser: https://gitee.com/openkylin/libxml-sax-perl
Vcs-Git: https://gitee.com/openkylin/libxml-sax-perl.git
Homepage: https://metacpan.org/release/XML-SAX/
Rules-Requires-Root: no

View File

@ -0,0 +1,140 @@
From: su-fang <sufang@kylinos.cn>
Date: Fri, 16 Sep 2022 11:15:11 +0800
Subject: Modify debian/control.
---
Makefile.PL | 4 ++++
lib/XML/SAX.pm | 13 +++++++++++++
lib/XML/SAX/Debian.pm | 47 +++++++++++++++++++++++++++++++++++++++++++++++
t/01known.t | 5 ++++-
t/99cleanup.t | 2 +-
5 files changed, 69 insertions(+), 2 deletions(-)
create mode 100644 lib/XML/SAX/Debian.pm
diff --git a/Makefile.PL b/Makefile.PL
index e3ff75d..dc59cfc 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -27,6 +27,10 @@ sub MY::install {
package MY;
my $script = shift->SUPER::install(@_);
+ print STDERR "Debian build: won't modify ParserDetails.ini when installing.\n";
+ print STDERR " (use update-perl-sax-parsers(8) instead.)\n";
+ return $script;
+
# Only modify existing ParserDetails.ini if user agrees
my $write_ini_ok = 0;
diff --git a/lib/XML/SAX.pm b/lib/XML/SAX.pm
index 7cd93d2..5297a2b 100644
--- a/lib/XML/SAX.pm
+++ b/lib/XML/SAX.pm
@@ -179,6 +179,15 @@ sub add_parser {
sub save_parsers {
my $class = shift;
+ ### DEBIAN MODIFICATION
+ print "\n";
+ print "Please use 'update-perl-sax-parsers(8) to register this parser.'\n";
+ print "See /usr/share/doc/libxml-sax-perl/README.Debian.gz for more info.\n";
+ print "\n";
+
+ return $class; # rest of the function is disabled on Debian.
+ ### END DEBIAN MODIFICATION
+
# get directory from wherever XML::SAX is installed
my $dir = $INC{'XML/SAX.pm'};
$dir = dirname($dir);
@@ -212,6 +221,10 @@ sub do_warn {
warn(@_) unless $ENV{HARNESS_ACTIVE};
}
+sub _is_vendor_supplied {
+ 1;
+}
+
1;
__END__
diff --git a/lib/XML/SAX/Debian.pm b/lib/XML/SAX/Debian.pm
new file mode 100644
index 0000000..e767c73
--- /dev/null
+++ b/lib/XML/SAX/Debian.pm
@@ -0,0 +1,47 @@
+package XML::SAX::Debian;
+
+use strict;
+use warnings;
+
+use base "XML::SAX";
+
+use File::Spec ();
+
+sub save_parsers_debian {
+ my $class = shift;
+ my ($parser_module,$directory, $priority) = @_;
+
+ # add parser
+ {
+ # We do not want load_parsers to complain.
+ local $ENV{HARNESS_ACTIVE} = 1;
+ $class->load_parsers("/nonexistent");
+ }
+ $class->add_parser($parser_module);
+
+ # get parser's ParserDetails file
+ my $file = $parser_module;
+ $file = "${priority}-$file" if $priority != 0;
+ $file = File::Spec->catfile($directory, $file);
+ chmod 0644, $file;
+ unlink($file);
+
+ open(my $fh, ">$file") ||
+ die "Cannot write to $file: $!";
+
+ foreach my $p (@{ $class->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;
+}
+
+1;
diff --git a/t/01known.t b/t/01known.t
index a2db4f1..a9e2536 100644
--- a/t/01known.t
+++ b/t/01known.t
@@ -1,6 +1,9 @@
-use Test;
+use Test::More;
BEGIN { plan tests => 3 }
+SKIP: {
+skip 'Tests skipped due to Debian modifications', 3;
use XML::SAX;
ok(XML::SAX->save_parsers);
ok(XML::SAX->load_parsers);
ok(@{XML::SAX->parsers}, 0);
+}
diff --git a/t/99cleanup.t b/t/99cleanup.t
index 32e196c..72f8438 100644
--- a/t/99cleanup.t
+++ b/t/99cleanup.t
@@ -1,7 +1,7 @@
use Test;
BEGIN { plan tests => 1 }
use File::Spec;
-ok(unlink(
+skip('Test skipped due to Debian modifications', unlink(
File::Spec->catdir(qw(blib lib XML SAX ParserDetails.ini))),
1,
'delete ParserDetails.ini'

1
debian/patches/series vendored Normal file
View File

@ -0,0 +1 @@
0001-Modify-debian-control.patch