Compare commits
No commits in common. "c10" and "c8s" have entirely different histories.
1
.fmf/version
Normal file
1
.fmf/version
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
||||||
52
.gitignore
vendored
52
.gitignore
vendored
@ -1 +1,51 @@
|
|||||||
XML-LibXML-2.0210.tar.gz
|
XML-LibXML-1.70.tar.gz
|
||||||
|
/XML-LibXML-1.74.tar.gz
|
||||||
|
/XML-LibXML-1.88.tar.gz
|
||||||
|
/XML-LibXML-1.90.tar.gz
|
||||||
|
/XML-LibXML-1.92.tar.gz
|
||||||
|
/XML-LibXML-1.93.tar.gz
|
||||||
|
/XML-LibXML-1.95.tar.gz
|
||||||
|
/XML-LibXML-1.96.tar.gz
|
||||||
|
/XML-LibXML-1.97.tar.gz
|
||||||
|
/XML-LibXML-1.98.tar.gz
|
||||||
|
/XML-LibXML-1.99.tar.gz
|
||||||
|
/XML-LibXML-2.0001.tar.gz
|
||||||
|
/XML-LibXML-2.0002.tar.gz
|
||||||
|
/XML-LibXML-2.0003.tar.gz
|
||||||
|
/XML-LibXML-2.0004.tar.gz
|
||||||
|
/XML-LibXML-2.0006.tar.gz
|
||||||
|
/XML-LibXML-2.0007.tar.gz
|
||||||
|
/XML-LibXML-2.0008.tar.gz
|
||||||
|
/XML-LibXML-2.0010.tar.gz
|
||||||
|
/XML-LibXML-2.0012.tar.gz
|
||||||
|
/XML-LibXML-2.0014.tar.gz
|
||||||
|
/XML-LibXML-2.0016.tar.gz
|
||||||
|
/XML-LibXML-2.0017.tar.gz
|
||||||
|
/XML-LibXML-2.0018.tar.gz
|
||||||
|
/XML-LibXML-2.0019.tar.gz
|
||||||
|
/XML-LibXML-2.0101.tar.gz
|
||||||
|
/XML-LibXML-2.0103.tar.gz
|
||||||
|
/XML-LibXML-2.0104.tar.gz
|
||||||
|
/XML-LibXML-2.0105.tar.gz
|
||||||
|
/XML-LibXML-2.0106.tar.gz
|
||||||
|
/XML-LibXML-2.0107.tar.gz
|
||||||
|
/XML-LibXML-2.0108.tar.gz
|
||||||
|
/XML-LibXML-2.0110.tar.gz
|
||||||
|
/XML-LibXML-2.0111.tar.gz
|
||||||
|
/XML-LibXML-2.0113.tar.gz
|
||||||
|
/XML-LibXML-2.0115.tar.gz
|
||||||
|
/XML-LibXML-2.0116.tar.gz
|
||||||
|
/XML-LibXML-2.0117.tar.gz
|
||||||
|
/XML-LibXML-2.0118.tar.gz
|
||||||
|
/XML-LibXML-2.0119.tar.gz
|
||||||
|
/XML-LibXML-2.0121.tar.gz
|
||||||
|
/XML-LibXML-2.0122.tar.gz
|
||||||
|
/XML-LibXML-2.0123.tar.gz
|
||||||
|
/XML-LibXML-2.0124.tar.gz
|
||||||
|
/XML-LibXML-2.0125.tar.gz
|
||||||
|
/XML-LibXML-2.0126.tar.gz
|
||||||
|
/XML-LibXML-2.0128.tar.gz
|
||||||
|
/XML-LibXML-2.0129.tar.gz
|
||||||
|
/XML-LibXML-2.0130.tar.gz
|
||||||
|
/XML-LibXML-2.0131.tar.gz
|
||||||
|
/XML-LibXML-2.0132.tar.gz
|
||||||
|
|||||||
@ -1,180 +0,0 @@
|
|||||||
From 3d0adda7560137309be8b10c63ff41e41dfb1516 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
|
||||||
Date: Tue, 28 Jan 2020 17:05:32 +0100
|
|
||||||
Subject: [PATCH] Parse an ampersand entity in SAX interface
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
After disabling parsing external entities in XML-LibXML-2.0202,
|
|
||||||
XML::LibXML::SAX interface stopped expanding & and & entities
|
|
||||||
in attribute values (often found in href XHTML attributes) and
|
|
||||||
returned "&" instead. This was discovered by a RDF-Trine test
|
|
||||||
suite failure <https://github.com/kasei/perlrdf/issues/167>.
|
|
||||||
|
|
||||||
First, I suspected XML-LibXML
|
|
||||||
<https://rt.cpan.org/Ticket/Display.html?id=131498>, but it turned out
|
|
||||||
that the unexpanded entity comes from libxml2 C library itself. And
|
|
||||||
that it's not just an ommitted expansion, but that it's actually an
|
|
||||||
escape sequence for "&" characters. Other XML metacharacters (like
|
|
||||||
"<") are not affeced. Also text nodes are also not affected. My
|
|
||||||
finding was confirmed by an old libxml2 bug report
|
|
||||||
<https://bugzilla.gnome.org/show_bug.cgi?id=316487>.
|
|
||||||
|
|
||||||
This patch "fixes" this discepancy by replacing all "&"
|
|
||||||
subtstrings with a literal "&" in SAX interface of start_element()
|
|
||||||
callbacks.
|
|
||||||
|
|
||||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
|
||||||
---
|
|
||||||
MANIFEST | 1 +
|
|
||||||
perl-libxml-sax.c | 44 ++++++++++++++++++++++++++++++++++++++++++--
|
|
||||||
t/52_sax_intent.t | 40 ++++++++++++++++++++++++++++++++++++++++
|
|
||||||
3 files changed, 83 insertions(+), 2 deletions(-)
|
|
||||||
create mode 100755 t/52_sax_intent.t
|
|
||||||
|
|
||||||
diff --git a/MANIFEST b/MANIFEST
|
|
||||||
index 5248ea5..ccc3410 100644
|
|
||||||
--- a/MANIFEST
|
|
||||||
+++ b/MANIFEST
|
|
||||||
@@ -174,6 +174,7 @@ t/49callbacks_returning_undef.t
|
|
||||||
t/49global_extent.t
|
|
||||||
t/50devel.t
|
|
||||||
t/51_parse_html_string_rt87089.t
|
|
||||||
+t/52_sax_intent.t
|
|
||||||
t/60error_prev_chain.t
|
|
||||||
t/60struct_error.t
|
|
||||||
t/61error.t
|
|
||||||
diff --git a/perl-libxml-sax.c b/perl-libxml-sax.c
|
|
||||||
index b949d3c..232a879 100644
|
|
||||||
--- a/perl-libxml-sax.c
|
|
||||||
+++ b/perl-libxml-sax.c
|
|
||||||
@@ -20,6 +20,7 @@ extern "C" {
|
|
||||||
#include "ppport.h"
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
+#include <string.h>
|
|
||||||
#include <libxml/xmlmemory.h>
|
|
||||||
#include <libxml/parser.h>
|
|
||||||
#include <libxml/parserInternals.h>
|
|
||||||
@@ -639,6 +640,34 @@ PmmGenNsName( const xmlChar * name, const xmlChar * nsURI )
|
|
||||||
return retval;
|
|
||||||
}
|
|
||||||
|
|
||||||
+/* If a value argument does not contain "&", the value pointer is returned.
|
|
||||||
+ * Otherwise a new xmlChar * string is allocated, the value copied there and
|
|
||||||
+ * "&" occurences replaced with "&". Then the caller must free it. */
|
|
||||||
+static
|
|
||||||
+xmlChar *
|
|
||||||
+_expandAmp( const xmlChar *value )
|
|
||||||
+{
|
|
||||||
+ xmlChar *expanded = NULL;
|
|
||||||
+ const xmlChar *entity;
|
|
||||||
+ int length;
|
|
||||||
+
|
|
||||||
+ if (value == NULL ||
|
|
||||||
+ (NULL == (entity = (const xmlChar *)strstr((const char *)value, "&")))) {
|
|
||||||
+ return (xmlChar *)value;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ do {
|
|
||||||
+ length = entity - value;
|
|
||||||
+ expanded = xmlStrncat(expanded, value, length);
|
|
||||||
+ expanded = xmlStrncat(expanded, (const xmlChar *)"&", 1);
|
|
||||||
+ value += length + 5; /* "&" */
|
|
||||||
+ } while (NULL != (entity = (const xmlChar*)strstr((const char *)value, "&")));
|
|
||||||
+
|
|
||||||
+ expanded = xmlStrcat(expanded, value);
|
|
||||||
+
|
|
||||||
+ return expanded;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
HV *
|
|
||||||
PmmGenAttributeHashSV( pTHX_ PmmSAXVectorPtr sax,
|
|
||||||
const xmlChar **attr, SV * handler )
|
|
||||||
@@ -653,8 +682,8 @@ PmmGenAttributeHashSV( pTHX_ PmmSAXVectorPtr sax,
|
|
||||||
const xmlChar * nsURI = NULL;
|
|
||||||
const xmlChar **ta = attr;
|
|
||||||
const xmlChar * name = NULL;
|
|
||||||
- const xmlChar * value = NULL;
|
|
||||||
|
|
||||||
+ xmlChar * value = NULL;
|
|
||||||
xmlChar * keyname = NULL;
|
|
||||||
xmlChar * localname = NULL;
|
|
||||||
xmlChar * prefix = NULL;
|
|
||||||
@@ -665,7 +694,13 @@ PmmGenAttributeHashSV( pTHX_ PmmSAXVectorPtr sax,
|
|
||||||
while ( *ta != NULL ) {
|
|
||||||
atV = newHV();
|
|
||||||
name = *ta; ta++;
|
|
||||||
- value = *ta; ta++;
|
|
||||||
+ /* XXX: libxml2 SAX2 interface does not expand &
|
|
||||||
+ * entity in the attribute values
|
|
||||||
+ * <https://bugzilla.gnome.org/show_bug.cgi?id=316487>
|
|
||||||
+ * resulting in stray "&" sequences after disabling
|
|
||||||
+ * external entity expansion
|
|
||||||
+ * <https://rt.cpan.org/Ticket/Display.html?id=131498>. */
|
|
||||||
+ value = _expandAmp(*ta);
|
|
||||||
|
|
||||||
if ( name != NULL && XML_STR_NOT_EMPTY( name ) ) {
|
|
||||||
localname = xmlSplitQName(NULL, name, &prefix);
|
|
||||||
@@ -754,6 +789,11 @@ PmmGenAttributeHashSV( pTHX_ PmmSAXVectorPtr sax,
|
|
||||||
prefix = NULL;
|
|
||||||
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ if (value != *ta) {
|
|
||||||
+ xmlFree(value);
|
|
||||||
+ }
|
|
||||||
+ ta++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/t/52_sax_intent.t b/t/52_sax_intent.t
|
|
||||||
new file mode 100755
|
|
||||||
index 0000000..a45b4d1
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/t/52_sax_intent.t
|
|
||||||
@@ -0,0 +1,40 @@
|
|
||||||
+use strict;
|
|
||||||
+use warnings;
|
|
||||||
+use Test::More;
|
|
||||||
+
|
|
||||||
+my %tests = (
|
|
||||||
+ # attribte name raw attrib. value expected parsed value
|
|
||||||
+ predefined => ['"', '"'], # alawys worked
|
|
||||||
+ numeric => ['A', 'A'], # always worked
|
|
||||||
+ numericampersand => ['&', '&'], # a regression
|
|
||||||
+ ampA => ['&A', '&A'], # a corner case
|
|
||||||
+ Aamp => ['A&', 'A&'], # a corner case
|
|
||||||
+ AampBampC => ['A&B&C', 'A&B&C'], # a corner case
|
|
||||||
+);
|
|
||||||
+plan tests => scalar (keys %tests);
|
|
||||||
+
|
|
||||||
+my $input = '<?xml version="1.0"?><root';
|
|
||||||
+for my $test (sort keys %tests) {
|
|
||||||
+ $input .= sprintf(" %s='%s'", $test, $tests{$test}->[0]);
|
|
||||||
+}
|
|
||||||
+$input .= '/>';
|
|
||||||
+
|
|
||||||
+diag("Parsing $input");
|
|
||||||
+use XML::LibXML::SAX;
|
|
||||||
+
|
|
||||||
+XML::LibXML::SAX->new(Handler => 'Handler')->parse_string($input);
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+package Handler;
|
|
||||||
+sub start_element {
|
|
||||||
+ my ($self, $node) = @_;
|
|
||||||
+ for my $attribute (sort keys %{$node->{Attributes}}) {
|
|
||||||
+ my $name = $node->{Attributes}->{$attribute}->{Name};
|
|
||||||
+ Test::More::is(
|
|
||||||
+ $node->{Attributes}->{$attribute}->{Value},
|
|
||||||
+ $tests{$name}->[1],
|
|
||||||
+ sprintf("%s='%s' attribute", $name, $tests{$name}->[0])
|
|
||||||
+ );
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
--
|
|
||||||
2.21.1
|
|
||||||
|
|
||||||
@ -1,57 +0,0 @@
|
|||||||
diff -up XML-LibXML-2.0208/Makefile.PL.orig XML-LibXML-2.0208/Makefile.PL
|
|
||||||
--- XML-LibXML-2.0208/Makefile.PL.orig 2022-09-30 09:47:44.807934522 +0200
|
|
||||||
+++ XML-LibXML-2.0208/Makefile.PL 2022-09-30 09:49:19.192599793 +0200
|
|
||||||
@@ -17,15 +17,31 @@ use warnings;
|
|
||||||
|
|
||||||
require 5.008001;
|
|
||||||
|
|
||||||
-use Alien::Base::Wrapper qw( Alien::Libxml2 );
|
|
||||||
use ExtUtils::MakeMaker;
|
|
||||||
use Config;
|
|
||||||
|
|
||||||
my $SKIP_SAX_INSTALL = $ENV{SKIP_SAX_INSTALL};
|
|
||||||
|
|
||||||
+my $libs = '';
|
|
||||||
+my $inc = '';
|
|
||||||
+if (`xml2-config --modules 2>/dev/null`) {
|
|
||||||
+ $libs = `xml2-config --libs 2>/dev/null`;
|
|
||||||
+ $inc = `xml2-config --cflags 2>/dev/null`;
|
|
||||||
+}
|
|
||||||
+elsif (`pkg-config --modversion libcrypto 2>/dev/null`) {
|
|
||||||
+ $libs = `pkg-config --libs libxml-2.0 2>/dev/null`;
|
|
||||||
+ $inc = `pkg-config --cflags libxml-2.0 2>/dev/null`;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+$libs =~ s/[\r\n]+/ /g;
|
|
||||||
+$inc =~ s/[\r\n]+/ /g;
|
|
||||||
+
|
|
||||||
+die "Could not determine location of libxml2 libs."
|
|
||||||
+ unless $libs =~ /^-/;
|
|
||||||
+die "Could not determine location of libxml2 headers."
|
|
||||||
+ unless $inc =~ /^-/;
|
|
||||||
+
|
|
||||||
my %ConfigReqs = (
|
|
||||||
- "Alien::Libxml2" => '0.14',
|
|
||||||
- "Alien::Base::Wrapper" => 0,
|
|
||||||
"Config" => 0,
|
|
||||||
"ExtUtils::MakeMaker" => 0,
|
|
||||||
);
|
|
||||||
@@ -68,15 +84,12 @@ my %prereqs = (
|
|
||||||
"warnings" => 0,
|
|
||||||
);
|
|
||||||
|
|
||||||
-my %xsbuild_concat = (
|
|
||||||
+my %xsbuild = (
|
|
||||||
DEFINE => '-DHAVE_UTF8',
|
|
||||||
OBJECT => '$(O_FILES)',
|
|
||||||
+ LIBS => $libs,
|
|
||||||
+ INC => $inc,
|
|
||||||
);
|
|
||||||
-my %xsbuild = Alien::Base::Wrapper->mm_args; # Might contain a definition of DEFINE, must thus concatenate.
|
|
||||||
-while (my ($k, $v) = each %xsbuild_concat) {
|
|
||||||
- my $base_val = $xsbuild{$k};
|
|
||||||
- $xsbuild{$k} = (defined($base_val) ? ($base_val . ' ' . $v) : $v);
|
|
||||||
-}
|
|
||||||
|
|
||||||
my %WriteMakefileArgs = (
|
|
||||||
"NAME" => "XML::LibXML",
|
|
||||||
7
gating.yaml
Normal file
7
gating.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# RHEL
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-*
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
From ec1aa2ffa6ef3198fbb5333ba0142b34f26e99bb Mon Sep 17 00:00:00 2001
|
From ea9a5f9e9bbe48aa1fa7b16dc53d610fba093e17 Mon Sep 17 00:00:00 2001
|
||||||
From: Toddr Bot <toddbot@rinaldo.us>
|
From: Toddr Bot <toddbot@rinaldo.us>
|
||||||
Date: Tue, 19 May 2026 19:32:08 +0000
|
Date: Tue, 19 May 2026 19:32:08 +0000
|
||||||
Subject: [PATCH] fix: replace domParseChar with xmlValidateName to prevent OOB
|
Subject: [PATCH] fix: replace domParseChar with xmlValidateName to prevent OOB
|
||||||
@ -23,10 +23,10 @@ Fixes https://github.com/cpan-authors/XML-LibXML/issues/146
|
|||||||
create mode 100644 t/48_security_oob_utf8_gh146.t
|
create mode 100644 t/48_security_oob_utf8_gh146.t
|
||||||
|
|
||||||
diff --git a/LibXML.xs b/LibXML.xs
|
diff --git a/LibXML.xs b/LibXML.xs
|
||||||
index 8709421..349f6be 100644
|
index efca0b6..cac5447 100644
|
||||||
--- a/LibXML.xs
|
--- a/LibXML.xs
|
||||||
+++ b/LibXML.xs
|
+++ b/LibXML.xs
|
||||||
@@ -998,40 +998,11 @@ LibXML_cleanup_parser() {
|
@@ -989,40 +989,11 @@ LibXML_cleanup_parser() {
|
||||||
int
|
int
|
||||||
LibXML_test_node_name( xmlChar * name )
|
LibXML_test_node_name( xmlChar * name )
|
||||||
{
|
{
|
||||||
@ -70,10 +70,10 @@ index 8709421..349f6be 100644
|
|||||||
|
|
||||||
/* Assumes that the node has a proxy. */
|
/* Assumes that the node has a proxy. */
|
||||||
diff --git a/MANIFEST b/MANIFEST
|
diff --git a/MANIFEST b/MANIFEST
|
||||||
index 4f9bb6e..c855c19 100644
|
index 2efb21a..e72a35d 100644
|
||||||
--- a/MANIFEST
|
--- a/MANIFEST
|
||||||
+++ b/MANIFEST
|
+++ b/MANIFEST
|
||||||
@@ -169,6 +169,7 @@ t/48_replaceNode_DTD_nodes_rT_80521.t
|
@@ -168,6 +168,7 @@ t/48_replaceNode_DTD_nodes_rT_80521.t
|
||||||
t/48_rt123379_setNamespace.t
|
t/48_rt123379_setNamespace.t
|
||||||
t/48_rt55000.t
|
t/48_rt55000.t
|
||||||
t/48_rt93429_recover_2_in_html_parsing.t
|
t/48_rt93429_recover_2_in_html_parsing.t
|
||||||
@ -7,39 +7,42 @@ Name: perl-XML-LibXML
|
|||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=469480
|
# https://bugzilla.redhat.com/show_bug.cgi?id=469480
|
||||||
# it might not be needed anymore
|
# it might not be needed anymore
|
||||||
# this module is maintained, the other is not
|
# this module is maintained, the other is not
|
||||||
Version: 2.0210
|
Version: 2.0132
|
||||||
Release: 4%{?dist}.1
|
Release: 3%{?dist}
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Summary: Perl interface to the libxml2 library
|
Summary: Perl interface to the libxml2 library
|
||||||
License: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND MIT
|
Group: Development/Libraries
|
||||||
URL: https://metacpan.org/release/XML-LibXML
|
License: (GPL+ or Artistic) and MIT
|
||||||
Source0: https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/XML-LibXML-%{version}.tar.gz
|
URL: http://search.cpan.org/dist/XML-LibXML/
|
||||||
# Fix parsing ampersand entities in SAX interface, CPAN RT#131498,
|
Source0: http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/XML-LibXML-%{version}.tar.gz
|
||||||
# posted to the upstream.
|
|
||||||
Patch0: XML-LibXML-2.0202-Parse-an-ampersand-entity-in-SAX-interface.patch
|
|
||||||
# To reduce dependencies replace Alien::Libxml2 with pkg-config
|
|
||||||
Patch1: XML-LibXML-2.0208-Use-pkgconfig-instead-of-Alien-Libxml2.patch
|
|
||||||
# https://github.com/cpan-authors/XML-LibXML/commit/059abf5f9336e2213794b5b545c707394cca3ac7
|
# https://github.com/cpan-authors/XML-LibXML/commit/059abf5f9336e2213794b5b545c707394cca3ac7
|
||||||
Patch2: XML-LibXML-2.0210-CVE-2026-8177.patch
|
Patch0: perl-XML-LibXML-2.0132-CVE-2026-8177.patch
|
||||||
BuildRequires: coreutils
|
BuildRequires: coreutils
|
||||||
BuildRequires: findutils
|
BuildRequires: findutils
|
||||||
BuildRequires: glibc-common
|
BuildRequires: glibc-common
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: libxml2-devel
|
BuildRequires: libxml2-devel
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
|
BuildRequires: perl-interpreter
|
||||||
BuildRequires: perl-devel
|
BuildRequires: perl-devel
|
||||||
BuildRequires: perl-generators
|
BuildRequires: perl-generators
|
||||||
BuildRequires: perl-interpreter
|
|
||||||
BuildRequires: perl(Config)
|
BuildRequires: perl(Config)
|
||||||
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76
|
BuildRequires: perl(Cwd)
|
||||||
|
BuildRequires: perl(Devel::CheckLib)
|
||||||
|
BuildRequires: perl(ExtUtils::MakeMaker)
|
||||||
|
BuildRequires: perl(File::Spec)
|
||||||
|
BuildRequires: perl(lib)
|
||||||
BuildRequires: perl(strict)
|
BuildRequires: perl(strict)
|
||||||
|
BuildRequires: perl(Symbol)
|
||||||
|
BuildRequires: perl(vars)
|
||||||
BuildRequires: perl(warnings)
|
BuildRequires: perl(warnings)
|
||||||
BuildRequires: pkgconfig(libxml-2.0)
|
BuildRequires: sed
|
||||||
# Run-time
|
# Run-time
|
||||||
BuildRequires: perl(base)
|
BuildRequires: perl(base)
|
||||||
BuildRequires: perl(Carp)
|
BuildRequires: perl(Carp)
|
||||||
BuildRequires: perl(constant)
|
BuildRequires: perl(constant)
|
||||||
BuildRequires: perl(Data::Dumper)
|
BuildRequires: perl(Data::Dumper)
|
||||||
|
BuildRequires: perl(DynaLoader)
|
||||||
BuildRequires: perl(Encode)
|
BuildRequires: perl(Encode)
|
||||||
BuildRequires: perl(Exporter)
|
BuildRequires: perl(Exporter)
|
||||||
BuildRequires: perl(IO::File)
|
BuildRequires: perl(IO::File)
|
||||||
@ -48,18 +51,12 @@ BuildRequires: perl(overload)
|
|||||||
BuildRequires: perl(parent)
|
BuildRequires: perl(parent)
|
||||||
BuildRequires: perl(Scalar::Util)
|
BuildRequires: perl(Scalar::Util)
|
||||||
BuildRequires: perl(Tie::Hash)
|
BuildRequires: perl(Tie::Hash)
|
||||||
BuildRequires: perl(vars)
|
|
||||||
BuildRequires: perl(XML::NamespaceSupport)
|
BuildRequires: perl(XML::NamespaceSupport)
|
||||||
BuildRequires: perl(XML::SAX::Base)
|
BuildRequires: perl(XML::SAX::Base)
|
||||||
BuildRequires: perl(XML::SAX::DocumentLocator)
|
BuildRequires: perl(XML::SAX::DocumentLocator)
|
||||||
BuildRequires: perl(XML::SAX::Exception)
|
BuildRequires: perl(XML::SAX::Exception)
|
||||||
BuildRequires: perl(XSLoader)
|
|
||||||
# Tests
|
# Tests
|
||||||
# t/12html.t exhibits ISO-8859-2 charset
|
|
||||||
BuildRequires: glibc-gconv-extra
|
|
||||||
BuildRequires: perl(Errno)
|
BuildRequires: perl(Errno)
|
||||||
BuildRequires: perl(File::Spec)
|
|
||||||
BuildRequires: perl(lib)
|
|
||||||
BuildRequires: perl(locale)
|
BuildRequires: perl(locale)
|
||||||
BuildRequires: perl(POSIX)
|
BuildRequires: perl(POSIX)
|
||||||
BuildRequires: perl(Test::More)
|
BuildRequires: perl(Test::More)
|
||||||
@ -78,9 +75,9 @@ BuildRequires: perl(URI::file)
|
|||||||
BuildRequires: perl(utf8)
|
BuildRequires: perl(utf8)
|
||||||
# Author test - Test::CPAN::Changes
|
# Author test - Test::CPAN::Changes
|
||||||
# Author test - Test::Pod
|
# Author test - Test::Pod
|
||||||
# Author test - Test::Kwalitee
|
# Author test - Test::Kwalitee::Extra
|
||||||
# Author test - Test::TrailingSpace
|
# Author test - Test::TrailingSpace
|
||||||
Requires: perl(Data::Dumper)
|
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
|
||||||
# Run-require "perl-interpreter" because a triggerin script needs it.
|
# Run-require "perl-interpreter" because a triggerin script needs it.
|
||||||
Requires: perl-interpreter
|
Requires: perl-interpreter
|
||||||
Requires(preun): perl-interpreter
|
Requires(preun): perl-interpreter
|
||||||
@ -89,15 +86,6 @@ Provides: perl-XML-LibXML-Common = %{version}
|
|||||||
Obsoletes: perl-XML-LibXML-Common <= 0.13
|
Obsoletes: perl-XML-LibXML-Common <= 0.13
|
||||||
|
|
||||||
%{?perl_default_filter}
|
%{?perl_default_filter}
|
||||||
# Filter modules bundled for tests
|
|
||||||
%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}^%{_libexecdir}
|
|
||||||
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Collector\\)\s*$
|
|
||||||
%global __requires_exclude %{__requires_exclude}|^perl\\(Counter)\s*$
|
|
||||||
%global __requires_exclude %{__requires_exclude}|^perl\\(Stacker)\s*$
|
|
||||||
%global __requires_exclude %{__requires_exclude}|^perl\\(TestHelpers)\s*$
|
|
||||||
%if 0%{?rhel}
|
|
||||||
%global __requires_exclude %{__requires_exclude}|^perl\\(Test::LeakTrace)\s*$
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This module implements a Perl interface to the GNOME libxml2 library
|
This module implements a Perl interface to the GNOME libxml2 library
|
||||||
@ -105,65 +93,28 @@ which provides interfaces for parsing and manipulating XML files. This
|
|||||||
module allows Perl programmers to make use of the highly capable
|
module allows Perl programmers to make use of the highly capable
|
||||||
validating XML parser and the high performance DOM implementation.
|
validating XML parser and the high performance DOM implementation.
|
||||||
|
|
||||||
%package tests
|
|
||||||
Summary: Tests for %{name}
|
|
||||||
BuildArch: noarch
|
|
||||||
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
|
|
||||||
# t/12html.t exhibits ISO-8859-2 charset
|
|
||||||
Requires: glibc-gconv-extra
|
|
||||||
Requires: perl-Test-Harness
|
|
||||||
%if %{with thread_test}
|
|
||||||
Requires: perl(threads)
|
|
||||||
Requires: perl(threads::shared)
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description tests
|
|
||||||
Tests from %{name}. Execute them
|
|
||||||
with "%{_libexecdir}/%{name}/test".
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n XML-LibXML-%{version}
|
%setup -q -n XML-LibXML-%{version}
|
||||||
|
%patch0 -p1
|
||||||
chmod -x *.c
|
chmod -x *.c
|
||||||
for i in Changes; do
|
for i in Changes; do
|
||||||
/usr/bin/iconv -f iso8859-1 -t utf-8 $i > $i.conv && /bin/mv -f $i.conv $i
|
/usr/bin/iconv -f iso8859-1 -t utf-8 $i > $i.conv && /bin/mv -f $i.conv $i
|
||||||
done
|
done
|
||||||
perl -i -pe 's/\r\n/\n/' t/91unique_key.t
|
# Remove bundled modules
|
||||||
|
rm -r inc/*
|
||||||
# Help file to recognise the Perl scripts
|
sed -i -e '/^inc\// d' MANIFEST
|
||||||
for F in t/*.t; do
|
|
||||||
perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!.*perl\b}{$Config{startperl}}' "$F"
|
|
||||||
chmod +x "$F"
|
|
||||||
done
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
perl Makefile.PL SKIP_SAX_INSTALL=1 INSTALLDIRS=vendor \
|
perl Makefile.PL SKIP_SAX_INSTALL=1 INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
|
||||||
OPTIMIZE="%{optflags}" NO_PACKLIST=1 NO_PERLLOCAL=1
|
make %{?_smp_mflags}
|
||||||
%{make_build}
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%{make_install}
|
make pure_install DESTDIR=%{buildroot}
|
||||||
|
find %{buildroot} -type f -name .packlist -delete
|
||||||
find %{buildroot} -type f -name '*.bs' -empty -delete
|
find %{buildroot} -type f -name '*.bs' -empty -delete
|
||||||
%{_fixperms} %{buildroot}/*
|
chmod -R u+w %{buildroot}/*
|
||||||
|
|
||||||
# Install tests
|
|
||||||
mkdir -p %{buildroot}%{_libexecdir}/%{name}
|
|
||||||
cp -a example t test %{buildroot}%{_libexecdir}/%{name}
|
|
||||||
for F in example/*.pl t/cpan-changes.t t/11memory.t t/pod.t \
|
|
||||||
t/pod-files-presence.t t/release-kwalitee.t t/style-trailing-space.t; do
|
|
||||||
rm -f %{buildroot}%{_libexecdir}/%{name}/"$F"
|
|
||||||
done
|
|
||||||
perl -i -pe 's{example/(testrun.xml)}{/tmp/$1}' %{buildroot}%{_libexecdir}/%{name}/t/03doc.t
|
|
||||||
cat > %{buildroot}%{_libexecdir}/%{name}/tests << 'EOF'
|
|
||||||
#!/bin/sh
|
|
||||||
unset AUTHOR_TESTING RELEASE_TESTING
|
|
||||||
cd %{_libexecdir}/%{name} && THREAD_TEST=0%{?with_thread_test:1} exec prove -I . -j "$(getconf _NPROCESSORS_ONLN)"
|
|
||||||
EOF
|
|
||||||
chmod +x %{buildroot}%{_libexecdir}/%{name}/tests
|
|
||||||
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
unset AUTHOR_TESTING RELEASE_TESTING
|
|
||||||
export HARNESS_OPTIONS=j$(perl -e 'if ($ARGV[0] =~ /.*-j([0-9][0-9]*).*/) {print $1} else {print 1}' -- '%{?_smp_mflags}')
|
|
||||||
THREAD_TEST=0%{?with_thread_test:1} make test
|
THREAD_TEST=0%{?with_thread_test:1} make test
|
||||||
|
|
||||||
%triggerin -- perl-XML-SAX
|
%triggerin -- perl-XML-SAX
|
||||||
@ -187,128 +138,11 @@ fi
|
|||||||
%{perl_vendorarch}/XML
|
%{perl_vendorarch}/XML
|
||||||
%{_mandir}/man3/*.3*
|
%{_mandir}/man3/*.3*
|
||||||
|
|
||||||
%files tests
|
|
||||||
%{_libexecdir}/%{name}
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Tue Jun 23 2026 RHEL Packaging Agent <redhat-ymir-agent@redhat.com> - 1:2.0210-4.1
|
* Tue Jun 23 2026 RHEL Packaging Agent <redhat-ymir-agent@redhat.com> - 1:2.0132-3
|
||||||
- Fix out-of-bounds heap read on truncated UTF-8 sequences
|
- Fix out-of-bounds heap read via truncated UTF-8 in node name
|
||||||
(CVE-2026-8177)
|
validation (CVE-2026-8177)
|
||||||
- Resolves: RHEL-186521
|
- Resolves: RHEL-186519
|
||||||
|
|
||||||
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1:2.0210-4
|
|
||||||
- Bump release for October 2024 mass rebuild:
|
|
||||||
Resolves: RHEL-64018
|
|
||||||
|
|
||||||
* Thu Aug 08 2024 Troy Dawson <tdawson@redhat.com> - 1:2.0210-3
|
|
||||||
- Bump release for Aug 2024 java mass rebuild
|
|
||||||
|
|
||||||
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1:2.0210-2
|
|
||||||
- Bump release for June 2024 mass rebuild
|
|
||||||
|
|
||||||
* Thu Jan 25 2024 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0210-1
|
|
||||||
- 2.0210 bump (rhbz#2260127)
|
|
||||||
|
|
||||||
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0209-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Nov 28 2023 Petr Pisar <ppisar@redhat.com> - 1:2.0209-3
|
|
||||||
- Restore compatibility with libxml-2.12.0 (bug #2251181)
|
|
||||||
|
|
||||||
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0209-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sun Jul 16 2023 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0209-1
|
|
||||||
- 2.0209 bump (rhbz#2223070)
|
|
||||||
|
|
||||||
* Tue Jul 11 2023 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0208-3
|
|
||||||
- Perl 5.38 rebuild
|
|
||||||
|
|
||||||
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0208-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Sep 30 2022 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0208-1
|
|
||||||
- 2.0208 bump
|
|
||||||
|
|
||||||
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0207-7
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed Jun 01 2022 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0207-6
|
|
||||||
- Perl 5.36 rebuild
|
|
||||||
|
|
||||||
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0207-5
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0207-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Jun 25 2021 Petr Pisar <ppisar@redhat.com> - 1:2.0207-3
|
|
||||||
- Build-require glibc-gconv-extra for ISO-8859-2 support in tests
|
|
||||||
- Make tests subpackage noarch
|
|
||||||
|
|
||||||
* Fri May 21 2021 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0207-2
|
|
||||||
- Perl 5.34 rebuild
|
|
||||||
|
|
||||||
* Mon Apr 19 2021 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0207-1
|
|
||||||
- 2.0207 bump
|
|
||||||
- Package tests
|
|
||||||
|
|
||||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0206-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Nov 30 2020 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0206-2
|
|
||||||
- Replace using of Alien::Libxml2 with pkg-config
|
|
||||||
|
|
||||||
* Tue Sep 15 2020 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0206-1
|
|
||||||
- 2.0206 bump
|
|
||||||
|
|
||||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0205-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Jun 23 2020 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0205-2
|
|
||||||
- Perl 5.32 rebuild
|
|
||||||
|
|
||||||
* Mon May 11 2020 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0205-1
|
|
||||||
- 2.0205 bump
|
|
||||||
|
|
||||||
* Wed Mar 18 2020 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0204-1
|
|
||||||
- 2.0204 bump
|
|
||||||
|
|
||||||
* Wed Mar 11 2020 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0203-1
|
|
||||||
- 2.0203 bump
|
|
||||||
|
|
||||||
* Tue Jan 28 2020 Petr Pisar <ppisar@redhat.com> - 1:2.0202-2
|
|
||||||
- Fix parsing ampersand entities in SAX interface (CPAN RT#131498)
|
|
||||||
|
|
||||||
* Mon Jan 13 2020 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0202-1
|
|
||||||
- 2.0202 bump
|
|
||||||
|
|
||||||
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0201-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri May 31 2019 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0201-2
|
|
||||||
- Perl 5.30 rebuild
|
|
||||||
|
|
||||||
* Mon May 27 2019 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0201-1
|
|
||||||
- 2.0201 bump
|
|
||||||
|
|
||||||
* Mon Mar 25 2019 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0200-1
|
|
||||||
- 2.0200 bump
|
|
||||||
|
|
||||||
* Mon Feb 11 2019 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0134-1
|
|
||||||
- 2.0134 bump
|
|
||||||
|
|
||||||
* Wed Feb 06 2019 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0133-1
|
|
||||||
- 2.0133 bump
|
|
||||||
|
|
||||||
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0132-5
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0132-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Jun 29 2018 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.0132-3
|
|
||||||
- Perl 5.28 rebuild
|
|
||||||
|
|
||||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0132-2
|
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0132-2
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|||||||
12
plans/internal.fmf
Normal file
12
plans/internal.fmf
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
summary: Private (RHEL) beakerlib tests
|
||||||
|
enabled: false
|
||||||
|
adjust:
|
||||||
|
- when: distro == rhel
|
||||||
|
enabled: true
|
||||||
|
because: private tests are accesible only within rhel pipeline
|
||||||
|
discover:
|
||||||
|
- name: rhel
|
||||||
|
how: fmf
|
||||||
|
url: https://pkgs.devel.redhat.com/git/tests/perl-XML-LibXML
|
||||||
|
execute:
|
||||||
|
how: tmt
|
||||||
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (XML-LibXML-2.0210.tar.gz) = ae72b25ac6362152fa85ec9fed03fad694382bde29f459e1bd95b3ca4d1b0dffb76d2f8319bc6fbc6e291583696c3b95b41a23cc2bb509ce6f3fd7d74666fd77
|
SHA512 (XML-LibXML-2.0132.tar.gz) = 3df1cb67ea955133492f2b6f8def2b28079c59e99170a31820aca69ea81686c4b67171509f1b311faab9389d200c4a24942b3950d7c0730ff1233a009b398fce
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user