perl-B-COW-vl.spec 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. Summary: Additional B helpers to check Copy On Write status
  2. Name: perl-B-COW
  3. Version: 0.004
  4. Release: 8%{?_dist_release}
  5. Group: programming
  6. Vendor: Project Vine
  7. Distribution: Vine Linux
  8. License: GPL+ or Artistic
  9. URL: https://metacpan.org/release/B-COW
  10. Source0: https://cpan.metacpan.org/modules/by-module/B/B-COW-%{version}.tar.gz
  11. # Module Build
  12. BuildRequires: coreutils
  13. BuildRequires: findutils
  14. BuildRequires: gcc
  15. BuildRequires: make
  16. BuildRequires: perl >= 2:5.34.0
  17. BuildRequires: perl-generators
  18. BuildRequires: perl(ExtUtils::MakeMaker)
  19. # Module Runtime
  20. BuildRequires: perl(base)
  21. BuildRequires: perl(Exporter)
  22. BuildRequires: perl(strict)
  23. BuildRequires: perl(warnings)
  24. BuildRequires: perl(XSLoader)
  25. # Test Suite
  26. BuildRequires: perl(Devel::Peek)
  27. BuildRequires: perl(File::Spec)
  28. BuildRequires: perl(Test::More)
  29. # Optional Tests
  30. BuildRequires: perl(CPAN::Meta)
  31. BuildRequires: perl(CPAN::Meta::Prereqs)
  32. # Runtime
  33. Requires: perl
  34. # Don't "provide" private Perl libs
  35. %{?perl_default_filter}
  36. %debug_package
  37. %description
  38. B::COW provides some naïve additional B helpers to check the Copy On Write
  39. (COW) status of one SvPV (a Perl string variable).
  40. A COWed SvPV is sharing its string (the PV) with other SvPVs. It's a (kind of)
  41. Read Only C string, which would be Copied On Write (COW). More than one SV can
  42. share the same PV, but when one PV needs to alter it, it would perform a copy
  43. of it, decreasing the COWREFCNT counter. One SV can then drop the COW flag when
  44. it's the only one holding a pointer to the PV. The COWREFCNT is stored at the
  45. end of the PV, after the null byte terminating the string. That value is
  46. limited to 255: when we reach 255, a new PV would be created.
  47. %prep
  48. %setup -q -n B-COW-%{version}
  49. %build
  50. perl Makefile.PL \
  51. INSTALLDIRS=vendor \
  52. OPTIMIZE="%{optflags}" \
  53. NO_PACKLIST=1 \
  54. NO_PERLLOCAL=1
  55. %{make_build}
  56. %install
  57. %{make_install}
  58. find %{buildroot} -type f -name '*.bs' -empty -delete
  59. %{_fixperms} -c %{buildroot}
  60. %check
  61. make test
  62. %files
  63. %license LICENSE
  64. %doc Changes examples/ README
  65. %{perl_vendorarch}/auto/B/
  66. %{perl_vendorarch}/B/
  67. %{_mandir}/man3/B::COW.3*
  68. %changelog
  69. * Tue Nov 16 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 0.004-8
  70. - initial build for Vine Linux.
  71. * Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.004-7
  72. - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
  73. * Fri May 21 2021 Jitka Plesnikova <jplesnik@redhat.com> - 0.004-6
  74. - Perl 5.34 rebuild
  75. * Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.004-5
  76. - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
  77. * Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.004-4
  78. - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
  79. * Mon Jun 22 2020 Jitka Plesnikova <jplesnik@redhat.com> - 0.004-3
  80. - Perl 5.32 rebuild
  81. * Fri Apr 24 2020 Paul Howarth <paul@city-fan.org> - 0.004-2
  82. - Use %%{make_build} and %%{make_install}
  83. * Fri Apr 24 2020 Paul Howarth <paul@city-fan.org> - 0.004-1
  84. - Update to 0.004
  85. - Fix CowREFCNT issues on big endian
  86. * Tue Apr 21 2020 Paul Howarth <paul@city-fan.org> - 0.003-2
  87. - Sanitize for Fedora submission
  88. * Tue Apr 21 2020 Paul Howarth <paul@city-fan.org> - 0.003-1
  89. - Initial RPM version