Compare commits

...

No commits in common. "c8s-stream-1.24" and "c10s" have entirely different histories.

10 changed files with 290 additions and 22 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

3
.gitignore vendored
View File

@ -1 +1,2 @@
SOURCES/YAML-1.24.tar.gz
/YAML-[0-9.]*.tar.gz
/YAML-free-[0-9.]*.tar.gz

View File

@ -1 +0,0 @@
1620af79b2be7d3c3ada7cd1678ecd0306558dc8 SOURCES/YAML-1.24.tar.gz

44
YAML-free Executable file
View File

@ -0,0 +1,44 @@
#!/bin/bash
# YAML-free: create repackaged YAML tarball without non-free content
# See https://bugzilla.redhat.com/show_bug.cgi?id=1813197
# https://github.com/ingydotnet/yaml-pm/issues/219
#
# Usage: YAML-free YAML-version.tar.gz
# Creates: YAML-free-version.tar.gz
case $# in
1) YAML_tarball="$1"
;;
*) echo "YAML-free: usage: YAML-free YAML-version.tar.gz" 1>&2
exit 1
;;
esac
if echo "$YAML_tarball" | grep --silent -x 'YAML-[1-9][0-9]*\.[0-9][0-9.]*\.tar\.gz'; then
YAML_free_tarball=$(echo "$YAML_tarball" | sed -e 's|^YAML|YAML-free|')
YAML_dirname=$(echo "$YAML_tarball" | sed -e 's|\.tar\.gz$||')
else
echo "YAML-free: tarball $YAML_tarball does not meet expected naming" 1>&2
exit 1
fi
echo "Creating $YAML_free_tarball from $YAML_tarball in directory $YAML_dirname"
echo "Ensuring directory $YAML_dirname does not already exist"
rm -rf "$YAML_dirname"
echo "Extracting $YAML_tarball"
tar xfz "$YAML_tarball"
echo "Removing non-free file t/load-slides.t"
rm "$YAML_dirname/t/load-slides.t"
echo "Removing reference to non-free file t/load-slides.t from MANIFEST"
sed -i -e '/^t\/load-slides.t/d' "$YAML_dirname/MANIFEST"
echo "Creating $YAML_free_tarball"
tar cfz "$YAML_free_tarball" "$YAML_dirname"
echo "Removing work directory $YAML_dirname"
rm -rf "$YAML_dirname"

7
gating.yaml Normal file
View 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}

2
perl-YAML.rpmlintrc Normal file
View File

@ -0,0 +1,2 @@
# Tarball modified to remove non-free content
addFilter("invalid-url Source0: YAML-free-[0-9.]*\.tar\.gz")

View File

@ -4,20 +4,32 @@
%else
%bcond_with perl_YAML_enables_test
%endif
# Run extra test
%if ! (0%{?rhel})
%bcond_without perl_YAML_enables_extra_test
%else
%bcond_with perl_YAML_enables_extra_test
%endif
Name: perl-YAML
Version: 1.24
Release: 3%{?dist}
Version: 1.31
Release: 7%{?dist}
Summary: YAML Ain't Markup Language (tm)
License: GPL+ or Artistic
URL: http://search.cpan.org/dist/YAML/
Source0: http://search.cpan.org/CPAN/authors/id/T/TI/TINITA/YAML-%{version}.tar.gz
License: GPL-1.0-or-later OR Artistic-1.0-Perl
URL: https://metacpan.org/release/YAML
# Tarball created from https://cpan.metacpan.org/modules/by-module/YAML/YAML-%%{version}.tar.gz
# using script YAML-free (see https://bugzilla.redhat.com/show_bug.cgi?id=1813197)
Source0: YAML-free-%{version}.tar.gz
# Script to remove non-free content from upstream tarball
# Usage: YAML-free YAML-%%{version}.tar.gz
Source1: YAML-free
BuildArch: noarch
# Module Build
BuildRequires: coreutils
BuildRequires: make
BuildRequires: perl-interpreter
BuildRequires: perl-generators
BuildRequires: perl-interpreter
BuildRequires: perl(Config)
BuildRequires: perl(ExtUtils::MakeMaker) > 6.75
# Module Runtime
BuildRequires: perl(B)
@ -32,17 +44,23 @@ BuildRequires: perl(warnings)
# Test Suite
# Avoid circular build deps Test::YAML → Test::Base → YAML when bootstrapping
%if %{with perl_YAML_enables_test} && !%{defined perl_bootstrap}
BuildRequires: perl(Config)
BuildRequires: perl(Data::Dumper)
BuildRequires: perl(Encode)
BuildRequires: perl(File::Find)
BuildRequires: perl(IO::File)
BuildRequires: perl(IO::Pipe)
BuildRequires: perl(lib)
BuildRequires: perl(Test::Deep)
BuildRequires: perl(Test::More) >= 0.88
BuildRequires: perl(Test::YAML) >= 1.05
BuildRequires: perl(utf8)
%if %{with perl_YAML_enables_extra_test}
# Author Tests
BuildRequires: perl(Test::Pod) >= 1.41
%endif
# Runtime
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
%endif
# Dependencies
Requires: perl(B::Deparse)
Requires: perl(Carp)
@ -50,29 +68,76 @@ Requires: perl(Carp)
# perl(yaml_mapping) perl(yaml_scalar) perl(yaml_sequence)
%global __provides_exclude ^perl\\(yaml_
# Remove private test modules
%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}^%{_libexecdir}
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\((TestYAML|TestYAMLBase)\\)$
%description
The YAML.pm module implements a YAML Loader and Dumper based on the
YAML 1.0 specification. http://www.yaml.org/spec/
YAML is a generic data serialization language that is optimized for
human readability. It can be used to express the data structures of
most modern programming languages, including Perl.
For information on the YAML syntax, please refer to the YAML
specification.
If you need to use YAML with Perl, it is likely that you will have a look at
this module (YAML.pm) first. There are several YAML modules in Perl and they
all support the simple Load() and Dump() API. Since this one has the obvious
name "YAML", it may seem obvious to pick this one.
The author of this module humbly asks you to choose another. YAML.pm was the
very first YAML implementation in the world, released in 2001. It was
originally made as a prototype, over 2 years before the YAML 1.0 spec was
published. Although it may work for your needs, it has numerous bugs and is
barely maintained.
Please consider using these first:
* YAML::PP - Pure Perl, full featured, well maintained
* YAML::PP::LibYAML - A libyaml Perl binding like YAML::XS but with the
YAML::PP API
%package tests
Summary: Tests for %{name}
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: perl-Test-Harness
%description tests
Tests from %{name}. Execute them
with "%{_libexecdir}/%{name}/test".
%prep
%setup -q -n YAML-%{version}
# Help generators to recognize Perl scripts
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
perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1
make %{?_smp_mflags}
%{make_build}
%install
make install DESTDIR=%{buildroot}
%{make_install}
%{_fixperms} -c %{buildroot}
# Install tests
mkdir -p %{buildroot}%{_libexecdir}/%{name}/t
# XXX Skip tests which is using Test::YAML
for F in \
2-scalars.t \
dump-synopsis.t \
issue-149.t \
issue-69.t \
numify.t \
preserve.t \
roundtrip.t \
rt-90593.t \
; do
cp "t/$F" %{buildroot}%{_libexecdir}/%{name}/t
done
cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF'
#!/bin/sh
cd %{_libexecdir}/%{name} && exec prove -I . -j "$(getconf _NPROCESSORS_ONLN)"
EOF
chmod +x %{buildroot}%{_libexecdir}/%{name}/test
%check
# Avoid circular build deps Test::YAML → Test::Base → YAML when bootstrapping
%if %{with perl_YAML_enables_test} && !%{defined perl_bootstrap}
make test
make test AUTHOR_TESTING=%{with perl_YAML_enables_extra_test}
%endif
%files
@ -116,9 +181,140 @@ make test
%{_mandir}/man3/YAML::Tag.3*
%{_mandir}/man3/YAML::Types.3*
%files tests
%{_libexecdir}/%{name}
%changelog
* Fri Mar 29 2019 Jitka Plesnikova <jplesnik@redhat.com> - 1.24-3
- Rebuild with enable hardening (bug #1636329)
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1.31-7
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Mon Aug 26 2024 Jitka Plesnikova <jplesnik@redhat.com> - 1.31-6
- Fix filters of dependencies
* Mon Jul 15 2024 Michal Josef Špaček <mspacek@redhat.com> - 1.31-5
- Package tests
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1.31-4
- Bump release for June 2024 mass rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.31-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.31-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Dec 28 2023 Paul Howarth <paul@city-fan.org> - 1.31-1
- Update to 1.31 (rhbz#2255994)
- Update docs to recommend YAML::PP
- Package description updated as per upstream documentation
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.30-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Mar 02 2023 Michal Josef Špaček <mspacek@redhat.com> - 1.30-15
- Update license to SPDX format
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.30-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.30-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Jun 03 2022 Jitka Plesnikova <jplesnik@redhat.com> - 1.30-12
- Perl 5.36 re-rebuild of bootstrapped packages
* Mon May 30 2022 Jitka Plesnikova <jplesnik@redhat.com> - 1.30-11
- Perl 5.36 rebuild
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.30-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.30-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon May 24 2021 Jitka Plesnikova <jplesnik@redhat.com> - 1.30-8
- Perl 5.34 re-rebuild of bootstrapped packages
* Fri May 21 2021 Jitka Plesnikova <jplesnik@redhat.com> - 1.30-7
- Perl 5.34 rebuild
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.30-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.30-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jun 26 2020 Jitka Plesnikova <jplesnik@redhat.com> - 1.30-4
- Perl 5.32 re-rebuild of bootstrapped packages
* Mon Jun 22 2020 Jitka Plesnikova <jplesnik@redhat.com> - 1.30-3
- Perl 5.32 rebuild
* Fri Mar 13 2020 Paul Howarth <paul@city-fan.org> - 1.30-2
- Remove non-free test file t/load-slides.t (#1813197, GH#219)
* Tue Jan 28 2020 Paul Howarth <paul@city-fan.org> - 1.30-1
- Update to 1.30
- Breaking Change: Set $YAML::LoadBlessed default to false to make it more
secure
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.29-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Jun 02 2019 Jitka Plesnikova <jplesnik@redhat.com> - 1.29-3
- Perl 5.30 re-rebuild of bootstrapped packages
* Thu May 30 2019 Jitka Plesnikova <jplesnik@redhat.com> - 1.29-2
- Perl 5.30 rebuild
* Sat May 11 2019 Paul Howarth <paul@city-fan.org> - 1.29-1
- Update to 1.29
- Fix regex for alias to match the one for anchors (GH#214)
* Sun Apr 28 2019 Paul Howarth <paul@city-fan.org> - 1.28-1
- Update to 1.28
- Security fix: only enable loading globs when $LoadCode is set (GH#213)
- Modernize spec using %%{make_build} and %%{make_install}
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.27-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Nov 3 2018 Paul Howarth <paul@city-fan.org> - 1.27-1
- Update to 1.27
- Remove a warning about uninitialized value for perl 5.10
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.26-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sat Jun 30 2018 Jitka Plesnikova <jplesnik@redhat.com> - 1.26-3
- Perl 5.28 re-rebuild of bootstrapped packages
* Wed Jun 27 2018 Jitka Plesnikova <jplesnik@redhat.com> - 1.26-2
- Perl 5.28 rebuild
* Sun May 20 2018 Paul Howarth <paul@city-fan.org> - 1.26-1
- Update to 1.26
- Fix bug introduced in 1.25 - loading of quoted string with colon as
sequence element (GH#208)
- Support zero indented block sequences (GH#207)
* Sat May 12 2018 Paul Howarth <paul@city-fan.org> - 1.25-1
- Update to 1.25
- Support trailing comments (GH#189, GH#190, GH#191)
- Remove unused code (GH#192)
- Use Test::Deep to actually test correctly for class names (GH#193)
- Fix loading of mapping key that starts with '= ' (GH#194)
- Fix loading strings with multiple spaces (GH#172)
- Allow more characters in anchor name (GH#196)
- Add $YAML::LoadBlessed for disabling loading objects (GH#197)
- Disable test with long string under certain conditions (GH#201)
- Quote scalar if it equals '=' (GH#202)
- Multiple regexp roundtrip does not grow (GH#203)
- Add support for compact nested block sequences (GH#204)
- Support reverse order of block scalar indicators (GH#205)
- Support nested mappings in sequences (GH#206)
- Fix parsing of quoted strings (GH#188)
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.24-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

5
plans/sanity.fmf Normal file
View File

@ -0,0 +1,5 @@
summary: Sanity tests
discover:
how: fmf
execute:
how: tmt

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (YAML-free-1.31.tar.gz) = fd259d41f8f5b5ef58365ceecc489f238560253e298fe9392d480dd1fff51f77a0e6e45413c37fd0e54bbd7a898484a90228d69701d7304cf47a2c1d320e2fd8

12
tests/upstream-tests.fmf Normal file
View File

@ -0,0 +1,12 @@
summary: Upstream tests
contact: Michal Josef Spacek <mspacek@redhat.com>
component: perl-YAML
require: perl-YAML-tests
test: /usr/libexec/perl-YAML/test
enabled: true
tag:
- rhel-buildroot
adjust:
- enabled: false
when: distro < rhel-10 or distro < centos-stream-10
continue: false