Summary: Additional B helpers to check Copy On Write status Name: perl-B-COW Version: 0.004 Release: 8%{?_dist_release} Group: programming Vendor: Project Vine Distribution: Vine Linux License: GPL+ or Artistic 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 >= 2:5.34.0 BuildRequires: perl-generators BuildRequires: perl(ExtUtils::MakeMaker) # 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) # Optional Tests BuildRequires: perl(CPAN::Meta) BuildRequires: perl(CPAN::Meta::Prereqs) # Runtime Requires: perl # Don't "provide" private Perl libs %{?perl_default_filter} %debug_package %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. %prep %setup -q -n B-COW-%{version} %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} %check make test %files %license LICENSE %doc Changes examples/ README %{perl_vendorarch}/auto/B/ %{perl_vendorarch}/B/ %{_mandir}/man3/B::COW.3* %changelog * Tue Nov 16 2021 Tomohiro "Tomo-p" KATO - 0.004-8 - initial build for Vine Linux. * 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