Compare commits

...

1 Commits

Author SHA1 Message Date
1050d8cfb5 import UBI perl-YAML-1.31-7.el10 2025-05-14 17:31:54 +00:00
5 changed files with 262 additions and 22 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/YAML-1.24.tar.gz
YAML-free-1.31.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"

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

1
sources Normal file
View File

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