Name: perl-B-COW Version: 0.007 Release: 10%{?dist} Summary: Additional B helpers to check Copy On Write status License: GPL-1.0-or-later OR Artistic-1.0-Perl URL: https://metacpan.org/release/B-COW Source0: https://cpan.metacpan.org/modules/by-module/B/B-COW-%{version}.tar.gz # Module Build BuildRequires: coreutils BuildRequires: findutils BuildRequires: gcc BuildRequires: make BuildRequires: perl-devel BuildRequires: perl-generators BuildRequires: perl-interpreter BuildRequires: perl(Config) BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 # Module Runtime BuildRequires: perl(base) BuildRequires: perl(Exporter) BuildRequires: perl(strict) BuildRequires: perl(warnings) BuildRequires: perl(XSLoader) # Test Suite BuildRequires: perl(Devel::Peek) BuildRequires: perl(File::Spec) BuildRequires: perl(Test::More) >= 0.88 # Optional Tests BuildRequires: perl(CPAN::Meta) >= 2.120900 BuildRequires: perl(CPAN::Meta::Prereqs) # Runtime # Don't "provide" private Perl libs %{?perl_default_filter} %description B::COW provides some naïve additional B helpers to check the Copy On Write (COW) status of one SvPV (a Perl string variable). A COWed SvPV is sharing its string (the PV) with other SvPVs. It's a (kind of) Read Only C string, which would be Copied On Write (COW). More than one SV can share the same PV, but when one PV needs to alter it, it would perform a copy of it, decreasing the COWREFCNT counter. One SV can then drop the COW flag when it's the only one holding a pointer to the PV. The COWREFCNT is stored at the end of the PV, after the null byte terminating the string. That value is limited to 255: when we reach 255, a new PV would be created. %package tests Summary: Tests for %{name} BuildArch: noarch 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 B-COW-%{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 \ OPTIMIZE="%{optflags}" \ NO_PACKLIST=1 \ NO_PERLLOCAL=1 %{make_build} %install %{make_install} find %{buildroot} -type f -name '*.bs' -empty -delete %{_fixperms} -c %{buildroot} # Install tests mkdir -p %{buildroot}%{_libexecdir}/%{name} cp -a t %{buildroot}%{_libexecdir}/%{name} 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 export HARNESS_OPTIONS=j$(perl -e 'if ($ARGV[0] =~ /.*-j([0-9][0-9]*).*/) {print $1} else {print 1}' -- '%{?_smp_mflags}') make test %files %license LICENSE %doc Changes examples/ README %{perl_vendorarch}/auto/B/ %{perl_vendorarch}/B/ %{_mandir}/man3/B::COW.3* %files tests %{_libexecdir}/%{name} %changelog * Tue Dec 17 2024 Arkady L. Shane - 0.007-10 - Rebuilt for MSVSphere 10 * Tue Oct 29 2024 Troy Dawson - 0.007-10 - Bump release for October 2024 mass rebuild: Resolves: RHEL-64018 * Thu Aug 08 2024 Troy Dawson - 0.007-9 - Bump release for Aug 2024 java mass rebuild * Thu Jun 27 2024 Jitka Plesnikova - 0.007-8 - Package tests * Mon Jun 24 2024 Troy Dawson - 0.007-7 - Bump release for June 2024 mass rebuild * Thu Jan 25 2024 Fedora Release Engineering - 0.007-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Sun Jan 21 2024 Fedora Release Engineering - 0.007-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Thu Jul 20 2023 Fedora Release Engineering - 0.007-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Tue Jul 11 2023 Jitka Plesnikova - 0.007-3 - Perl 5.38 rebuild * Fri Jan 20 2023 Fedora Release Engineering - 0.007-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Fri Oct 21 2022 Paul Howarth - 0.007-1 - Update to 0.007 - Advertise XSLoader dependency in metadata * Tue Oct 18 2022 Paul Howarth - 0.006-1 - Update to 0.006 - Disable prototypes to silence warning * Sat Oct 15 2022 Paul Howarth - 0.005-1 - Update to 0.005 - Add version to Test::More use to ensure correct version - Remove useless MIN_PERL_VERSION_FOR_COW - Update CI workflow - Use SPDX-format license tag * Fri Jul 22 2022 Fedora Release Engineering - 0.004-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Mon May 30 2022 Jitka Plesnikova - 0.004-9 - Perl 5.36 rebuild * Thu Jan 20 2022 Fedora Release Engineering - 0.004-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Thu Jul 22 2021 Fedora Release Engineering - 0.004-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Fri May 21 2021 Jitka Plesnikova - 0.004-6 - Perl 5.34 rebuild * Tue Jan 26 2021 Fedora Release Engineering - 0.004-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Tue Jul 28 2020 Fedora Release Engineering - 0.004-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Mon Jun 22 2020 Jitka Plesnikova - 0.004-3 - Perl 5.32 rebuild * Fri Apr 24 2020 Paul Howarth - 0.004-2 - Use %%{make_build} and %%{make_install} * Fri Apr 24 2020 Paul Howarth - 0.004-1 - Update to 0.004 - Fix CowREFCNT issues on big endian * Tue Apr 21 2020 Paul Howarth - 0.003-2 - Sanitize for Fedora submission * Tue Apr 21 2020 Paul Howarth - 0.003-1 - Initial RPM version