123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- 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 <tomop@teamgedoh.net> - 0.004-8
- - initial build for Vine Linux.
- * Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.004-7
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
- * Fri May 21 2021 Jitka Plesnikova <jplesnik@redhat.com> - 0.004-6
- - Perl 5.34 rebuild
- * Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.004-5
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
- * Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.004-4
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
- * Mon Jun 22 2020 Jitka Plesnikova <jplesnik@redhat.com> - 0.004-3
- - Perl 5.32 rebuild
- * Fri Apr 24 2020 Paul Howarth <paul@city-fan.org> - 0.004-2
- - Use %%{make_build} and %%{make_install}
- * Fri Apr 24 2020 Paul Howarth <paul@city-fan.org> - 0.004-1
- - Update to 0.004
- - Fix CowREFCNT issues on big endian
- * Tue Apr 21 2020 Paul Howarth <paul@city-fan.org> - 0.003-2
- - Sanitize for Fedora submission
- * Tue Apr 21 2020 Paul Howarth <paul@city-fan.org> - 0.003-1
- - Initial RPM version
|