diff --git a/.gitignore b/.gitignore index 2bd9484..ad44a17 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /YAML-[0-9.]*.tar.gz +/YAML-free-[0-9.]*.tar.gz diff --git a/YAML-free b/YAML-free new file mode 100755 index 0000000..beae38a --- /dev/null +++ b/YAML-free @@ -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" diff --git a/perl-YAML.rpmlintrc b/perl-YAML.rpmlintrc index f2d9e78..be7a498 100644 --- a/perl-YAML.rpmlintrc +++ b/perl-YAML.rpmlintrc @@ -1,2 +1,2 @@ -from Config import * -addFilter("spelling-error Summary\(en_US\) tm -> ") +# Tarball modified to remove non-free content +addFilter("invalid-url Source0: YAML-free-[0-9.]*\.tar\.gz") diff --git a/perl-YAML.spec b/perl-YAML.spec index a9cc646..cd24749 100644 --- a/perl-YAML.spec +++ b/perl-YAML.spec @@ -12,12 +12,17 @@ %endif Name: perl-YAML -Version: 1.29 -Release: 4%{?dist} +Version: 1.31 +Release: 6%{?dist} Summary: YAML Ain't Markup Language (tm) -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl URL: https://metacpan.org/release/YAML -Source0: https://cpan.metacpan.org/modules/by-module/YAML/YAML-%{version}.tar.gz +# 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 @@ -54,8 +59,7 @@ BuildRequires: perl(utf8) BuildRequires: perl(Test::Pod) >= 1.41 %endif %endif -# Runtime -Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) +# Dependencies Requires: perl(B::Deparse) Requires: perl(Carp) @@ -64,11 +68,21 @@ Requires: perl(Carp) %global __provides_exclude ^perl\\(yaml_ %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 %prep %setup -q -n YAML-%{version} @@ -129,6 +143,76 @@ make test AUTHOR_TESTING=%{with perl_YAML_enables_extra_test} %{_mandir}/man3/YAML::Types.3* %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 1.31-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sat Jan 18 2025 Fedora Release Engineering - 1.31-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Jul 19 2024 Fedora Release Engineering - 1.31-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu Jan 25 2024 Fedora Release Engineering - 1.31-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 1.31-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Dec 28 2023 Paul Howarth - 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 - 1.30-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Mar 02 2023 Michal Josef Špaček - 1.30-15 +- Update license to SPDX format + +* Fri Jan 20 2023 Fedora Release Engineering - 1.30-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 1.30-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jun 03 2022 Jitka Plesnikova - 1.30-12 +- Perl 5.36 re-rebuild of bootstrapped packages + +* Mon May 30 2022 Jitka Plesnikova - 1.30-11 +- Perl 5.36 rebuild + +* Fri Jan 21 2022 Fedora Release Engineering - 1.30-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 1.30-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon May 24 2021 Jitka Plesnikova - 1.30-8 +- Perl 5.34 re-rebuild of bootstrapped packages + +* Fri May 21 2021 Jitka Plesnikova - 1.30-7 +- Perl 5.34 rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 1.30-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.30-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jun 26 2020 Jitka Plesnikova - 1.30-4 +- Perl 5.32 re-rebuild of bootstrapped packages + +* Mon Jun 22 2020 Jitka Plesnikova - 1.30-3 +- Perl 5.32 rebuild + +* Fri Mar 13 2020 Paul Howarth - 1.30-2 +- Remove non-free test file t/load-slides.t (#1813197, GH#219) + +* Tue Jan 28 2020 Paul Howarth - 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 - 1.29-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources index 20f8966..4760ec9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (YAML-1.29.tar.gz) = a3bcec325360694826781f78611b7855bcf9ddd58a009d836d222d8b63f42e2c6565304df70e6b13af415e45761ac16a4cef9dcf0ed05ff9dec8cf2d94c33572 +SHA512 (YAML-free-1.31.tar.gz) = fd259d41f8f5b5ef58365ceecc489f238560253e298fe9392d480dd1fff51f77a0e6e45413c37fd0e54bbd7a898484a90228d69701d7304cf47a2c1d320e2fd8