Bug 573932 (perl-IO-Compress) - Review Request: perl-IO-Compress - IO::Compress Perl module [NEEDINFO]
Summary: Review Request: perl-IO-Compress - IO::Compress Perl module
Keywords:
Status: CLOSED RAWHIDE
Alias: perl-IO-Compress
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Chris Weyl
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 573928 573929
Blocks: 555420 perl-duallifed 589482
TreeView+ depends on / blocked
 
Reported: 2010-03-16 08:47 UTC by Marcela Mašláňová
Modified: 2014-01-23 12:49 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-05-11 06:23:19 UTC
cweyl: fedora-review+
jplesnik: needinfo? (rlandman)
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Marcela Mašláňová 2010-03-16 08:47:07 UTC
Spec URL: http://mmaslano.fedorapeople.org/review/perl-IO-Compress.spec
SRPM URL: http://mmaslano.fedorapeople.org/review/perl-IO-Compress-2.024-1.fc13.src.rpm
Description: This module is not intended for direct use in application code. Its sole purpose if to to be sub-classed by IO::Compress modules.

Comment 1 Marcela Mašláňová 2010-03-16 17:01:10 UTC
Hm, after closing the dependent bugs, I've found that it must be obsoleted some modules. This module is a wrapper for different IO::Compress modules. I changed it in specfile and will do a build of this package:

Comment 2 Marcela Mašláňová 2010-03-17 08:20:35 UTC
Rebuild of package:
http://mmaslano.fedorapeople.org/review/perl-IO-Compress.spec
http://mmaslano.fedorapeople.org/review/perl-IO-Compress-2.024-1.fc13.src.rpm

This will also need update of perl-Compress-Raw-Bzip2. 

I run into this problem on update:
file /usr/share/man/man3/IO::Compress::Bzip2.3pm.gz from install of perl-IO-Compress-0:2.024-1.fc13.noarch conflicts with file from package perl-IO-Compress-Bzip2-2.005-6.fc12.noarch
...
I've tried add epoch into Provides/Obsoletes, but that didn't help. Maybe it will be needed some scriptlet :-/

Comment 3 Paul Howarth 2010-03-17 12:39:33 UTC
Instead of obsoleting the virtual provide perl(IO::Compress::Bzip2), obsolete the actual package name, perl-IO-Compress-Bzip2.

That's how I did it in my own local package a while back:
http://trac.city-fan.org/cfo-trac/browser/perl-IO-Compress/trunk/perl-IO-Compress.spec

I think you also need provides/obsoletes for perl-IO-Compress-Zlib.

Comment 5 Chris Weyl 2010-03-19 16:03:00 UTC
So, I want to get started here, but I do think we should resolve the question of where to put these modules -- core/perl or vendor -- first.  I have bug 574267 open showing how I think we should do this dual-lifed packages and a question open in the mailing list...  Using core dirs seems to be the right way here, from a consistency and sanity perspective.

Comment 6 Marcela Mašláňová 2010-03-24 15:03:36 UTC
I agree with core dirs.

Comment 7 Chris Weyl 2010-03-28 19:13:26 UTC
Ok -- can we update to the spec to show it installing into core ("INSTALLDIRS='perl'" and the core macros under %files should do it), include %perl_default_filter, and we should be good to go here :)

Comment 9 Chris Weyl 2010-03-29 21:38:23 UTC
(In reply to comment #8)
> Ok? Anyway I'm blocked by BR's.    

No pressure -- just levelsetting us to start :)

Comment 10 Chris Weyl 2010-04-10 19:01:39 UTC
Koji (FAILURE) http://koji.fedoraproject.org/koji/taskinfo?taskID=2107756

Comment 11 Chris Weyl 2010-04-10 19:03:43 UTC
Hmm....  Got it; needs a newer level of perl-Compress-Raw-Bzip2.

Comment 12 Chris Weyl 2010-04-11 17:36:50 UTC
Koji (success) http://koji.fedoraproject.org/koji/taskinfo?taskID=2108542

Comment 13 Chris Weyl 2010-04-11 18:04:37 UTC
Alright!  So. :)

The invocation of %{?perl_default_filter} needs to be done before the first
%description stanza in the spec file.  If you're not invoking any other
filtering macros, the %{?perl_default_filter} incantation is sufficiently
conditionalized without wrapping it in %{?filter_setup: ... }.

Looks like we need Test::Pod; and t/020isize.t needs COMPRESS_ZLIB_RUN_ALL=1
set and Test::NoWarnings BR'ed to run all its tests.

%files needs a '%exclude %dir %{perl_archlib}/auto'.  There's an examples/
directory in the tarball; why not include it under %doc?  Similarly, theres a
pod/FAQ.pod.

The %description is a touch misleading, as modules like IO::Compress::Gzip are
most certainly intended to be used by application code.  Perhaps the part
under "DESCRIPTION" in the README would work better?

And, it looks like this is being built as "noarch" but is still installing
(and packaging) files under the arch-specific %perl_archlib...  which is not
entirely optimal :)  The files should either be under %perl_privlib or the
package should be built for each supported architecture.

Update as described above, and I'll approve :)

koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=2108542

Spec looks clean and consistent; license is correct (GPL+ or Artistic);
make test passes cleanly.

Source tarballs match upstream (sha1sum):
20329a7c1a1eac90f4f60735f15829e0a915c429 IO-Compress-2.024.tar.gz
20329a7c1a1eac90f4f60735f15829e0a915c429 IO-Compress-2.024.tar.gz.srpm

Final provides / requires are sane:

0 packages and 1 specfiles checked; 0 errors, 0 warnings.
=====> perl-IO-Compress-2.024-2.fc14.noarch.rpm <=====
====> rpmlint
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
====> provides for perl-IO-Compress-2.024-2.fc14.noarch.rpm
perl(Compress::Zlib) = 2.024
perl-Compress-Zlib = 2.024-2.fc14
perl(File::GlobMapper) = 1.000
perl-IO-Compress = 2.024-2.fc14
perl(IO::Compress::Adapter::Bzip2) = 2.024
perl(IO::Compress::Adapter::Deflate) = 2.024
perl(IO::Compress::Adapter::Identity) = 2.024
perl(IO::Compress::Base) = 2.024
perl-IO-Compress-Base = 2.024-2.fc14
perl(IO::Compress::Base::Common) = 2.024
perl(IO::Compress::Bzip2) = 2.024
perl-IO-Compress-Bzip2 = 2.024-2.fc14
perl(IO::Compress::Deflate) = 2.024
perl(IO::Compress::Gzip) = 2.024
perl(IO::Compress::Gzip::Constants) = 2.024
perl(IO::Compress::RawDeflate) = 2.024
perl(IO::Compress::Zip) = 2.024
perl(IO::Compress::Zip::Constants) = 2.024
perl-IO-Compress-Zlib = 2.024-2.fc14
perl(IO::Compress::Zlib::Constants) = 2.024
perl(IO::Compress::Zlib::Extra) = 2.024
perl(IO::Uncompress::Adapter::Bunzip2) = 2.024
perl(IO::Uncompress::Adapter::Identity) = 2.024
perl(IO::Uncompress::Adapter::Inflate) = 2.024
perl(IO::Uncompress::AnyInflate) = 2.024
perl(IO::Uncompress::AnyUncompress) = 2.024
perl(IO::Uncompress::Base) = 2.024
perl(IO::Uncompress::Bunzip2) = 2.024
perl(IO::Uncompress::Gunzip) = 2.024
perl(IO::Uncompress::Inflate) = 2.024
perl(IO::Uncompress::RawInflate) = 2.024
perl(IO::Uncompress::Unzip) = 2.024
perl(U64)  
perl(Zlib::OldDeflate)  
perl(Zlib::OldInflate)  
====> requires for perl-IO-Compress-2.024-2.fc14.noarch.rpm
perl >= 0:5.004
perl(AutoLoader)  
perl(bytes)  
perl(Carp)  
perl(Compress::Raw::Bzip2) >= 2.024
perl(Compress::Raw::Zlib) >= 2.024
perl(constant)  
perl(Exporter)  
perl(File::GlobMapper)  
perl(IO::Compress::Adapter::Bzip2) >= 2.024
perl(IO::Compress::Adapter::Deflate) >= 2.024
perl(IO::Compress::Adapter::Identity) >= 2.024
perl(IO::Compress::Base) >= 2.024
perl(IO::Compress::Base::Common) >= 2.024
perl(IO::Compress::Gzip) >= 2.024
perl(IO::Compress::Gzip::Constants) >= 2.024
perl(IO::Compress::RawDeflate) >= 2.024
perl(IO::Compress::Zip::Constants) >= 2.024
perl(IO::Compress::Zlib::Constants) >= 2.024
perl(IO::Compress::Zlib::Extra) >= 2.024
perl(IO::File)  
perl(IO::Handle)  
perl(IO::Seekable)  
perl(IO::Uncompress::Adapter::Bunzip2) >= 2.024
perl(IO::Uncompress::Adapter::Identity) >= 2.024
perl(IO::Uncompress::Adapter::Inflate) >= 2.024
perl(IO::Uncompress::Base) >= 2.024
perl(IO::Uncompress::Gunzip) >= 2.024
perl(IO::Uncompress::Inflate) >= 2.024
perl(IO::Uncompress::RawInflate) >= 2.024
perl(IO::Uncompress::Unzip) >= 2.024
perl(List::Util)  
perl(:MODULE_COMPAT_5.10.1)  
perl(POSIX)  
perl(Scalar::Util)  
perl(strict)  
perl(Symbol)  
perl(utf8)  
perl(warnings)  

=====> perl-IO-Compress-2.024-2.fc14.src.rpm <=====
====> rpmlint
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
====> provides for perl-IO-Compress-2.024-2.fc14.src.rpm
====> requires for perl-IO-Compress-2.024-2.fc14.src.rpm
perl(Compress::Raw::Bzip2) >= 2.024
perl(Compress::Raw::Zlib) >= 2.024
perl(ExtUtils::MakeMaker)

Comment 14 Marcela Mašláňová 2010-04-12 12:07:02 UTC
(In reply to comment #13)
> Alright!  So. :)
> 
> The invocation of %{?perl_default_filter} needs to be done before the first
> %description stanza in the spec file.  If you're not invoking any other
> filtering macros, the %{?perl_default_filter} incantation is sufficiently
> conditionalized without wrapping it in %{?filter_setup: ... }.
DONE
> 
> Looks like we need Test::Pod; and t/020isize.t needs COMPRESS_ZLIB_RUN_ALL=1
> set and Test::NoWarnings BR'ed to run all its tests.
t/020isize.t takes forever so I didn't add this variable into 'make test'

> 
> %files needs a '%exclude %dir %{perl_archlib}/auto'.  There's an examples/
> directory in the tarball; why not include it under %doc?  Similarly, theres a
> pod/FAQ.pod.
I've excluded %{perl_privlib}/auto because this should be noarch package.

> 
> The %description is a touch misleading, as modules like IO::Compress::Gzip are
> most certainly intended to be used by application code.  Perhaps the part
> under "DESCRIPTION" in the README would work better?
DONE
> 
> And, it looks like this is being built as "noarch" but is still installing
> (and packaging) files under the arch-specific %perl_archlib...  which is not
> entirely optimal :)  The files should either be under %perl_privlib or the
> package should be built for each supported architecture.
Tests in Makefile probably didn't work well in our case. I wrote a Fedora patch which set perl_privlib as installation path.
> 
> Update as described above, and I'll approve :)
Not sure if you are content now ;-)

http://mmaslano.fedorapeople.org/review/perl-IO-Compress-2.024-3.fc13.src.rpm

Comment 15 Paul Howarth 2010-05-05 09:51:09 UTC
Can we update the IO::Compress stack to 2.027? I need that for IO::Compress::Lzma and Compress::Raw::Lzma (IO::Compress interface to xz) that I'm ready to submit.

Comment 16 Marcela Mašláňová 2010-05-06 11:30:32 UTC
(In reply to comment #15)
> Can we update the IO::Compress stack to 2.027? I need that for
> IO::Compress::Lzma and Compress::Raw::Lzma (IO::Compress interface to xz) that
> I'm ready to submit.    

I've already updated BR. 
SRPM of this: http://mmaslano.fedorapeople.org/review/perl-IO-Compress-2.027-1.fc14.src.rpm
RPM: http://mmaslano.fedorapeople.org/review/perl-IO-Compress.spec

Comment 17 Chris Weyl 2010-05-08 20:00:49 UTC
Good koji build off the new srpm: http://koji.fedoraproject.org/koji/taskinfo?taskID=2174461

I'm never content :)

We really should be running the ZLIB tests in the buildsystem; one workaround to not invoke those tests on a local system would be to macros conditionalize the variable setting.

APPROVED

Comment 18 Marcela Mašláňová 2010-05-10 09:07:17 UTC
Strange, zlib test are working locally on my computer. Anyway, I need this finally push into Fedora:

New Package CVS Request
=======================
Package Name: perl-IO-Compress
Short Description: IO::Compress Perl module
Owners: mmaslano
Branches: F-13 F-12
InitialCC: perl-sig

Comment 19 Kevin Fenzi 2010-05-11 04:40:22 UTC
CVS done (by process-cvs-requests.py).

Comment 20 Paul Howarth 2010-06-10 08:49:43 UTC
Marcela, can you build and push the F-13 version now? It'll satisfy the broken dependency on IO::Uncompress::Bunzip2 for cpanspec.

Scratch build is now working:
http://koji.fedoraproject.org/koji/taskinfo?taskID=2242148

Comment 21 Fedora Update System 2010-06-10 10:41:54 UTC
perl-IO-Compress-2.027-1.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/perl-IO-Compress-2.027-1.fc13

Comment 22 Marcela Mašláňová 2010-06-10 10:51:10 UTC
(In reply to comment #20)
> Marcela, can you build and push the F-13 version now? It'll satisfy the broken
> dependency on IO::Uncompress::Bunzip2 for cpanspec.
> 
> Scratch build is now working:
> http://koji.fedoraproject.org/koji/taskinfo?taskID=2242148    

Thanks.

Comment 23 Paul Howarth 2010-06-11 12:04:09 UTC
(In reply to comment #20)
> Marcela, can you build and push the F-13 version now? It'll satisfy the broken
> dependency on IO::Uncompress::Bunzip2 for cpanspec.

Actually I was thrown by the .fc13 dist tag on Rawhide cpanspec: the broken dep is actually in Rawhide (dist-rawhide, not dist-f14-perltest) so it would need   perl-Compress-Raw-Bzip2, perl-Compress-Raw-Zlib and perl-IO-Compress building for 
dist-rawhide to fix that. Sorry about that.

Comment 24 Marcela Mašláňová 2010-06-11 13:05:21 UTC
(In reply to comment #23)
> (In reply to comment #20)
> > Marcela, can you build and push the F-13 version now? It'll satisfy the broken
> > dependency on IO::Uncompress::Bunzip2 for cpanspec.
> 
> Actually I was thrown by the .fc13 dist tag on Rawhide cpanspec: the broken dep
> is actually in Rawhide (dist-rawhide, not dist-f14-perltest) so it would need  
> perl-Compress-Raw-Bzip2, perl-Compress-Raw-Zlib and perl-IO-Compress building
> for 
> dist-rawhide to fix that. Sorry about that.    

I hope soon will be fixed all problem with dist-f14-perltest, so I'll ignore this warning until then.

Comment 25 Paul Howarth 2010-06-11 13:24:44 UTC
Is everything in dist-f14-perltest going to be tagged over to dist-rawhide then, or are you planning another mass rebuild with 5.12.1 first?

Comment 26 Marcela Mašláňová 2010-06-11 13:33:30 UTC
That's really good question. I'm not even sure, how would be possible to move packages from dist-f14-perltest into rawhide. Some packages could be rebuild meanwhile.
I suppose rebuild with 5.12.1 won't be needed, I have to check list of changes.

Comment 27 Paul Howarth 2010-06-11 13:38:06 UTC
rel-eng should be able to move them all over at once if you raise a ticket with them. Need to watch out for packages that have been built more recently in dist-rawhide than dist-f14-perltest though - they will probably need rebuilding again in dist-f14-perltest.

Comment 28 Aleksey 2010-06-12 11:32:59 UTC
---> Package perl-IO-Compress.noarch 0:2.027-1.fc13 set to be updated
--> Processing Dependency: perl(Compress::Raw::Bzip2) >= 2.027 for package: perl-IO-Compress-2.027-1.fc13.noarch
--> Finished Dependency Resolution
Error: Package: perl-IO-Compress-2.027-1.fc13.noarch (updates-testing)
           Requires: perl(Compress::Raw::Bzip2) >= 2.027
           Installed: perl-Compress-Raw-Bzip2-2.026-1.fc13.i686 (@fedora)

Comment 29 Paul Howarth 2010-06-12 12:52:48 UTC
perl-Compress-Raw-Bzip2-2.027-1.fc13 and perl-Compress-Raw-Zlib-2.027-1.fc13 are released/stable updates:

http://download.fedora.redhat.com/pub/fedora/linux/updates/13/i386/

Have you disabled the usual updates repo?

Comment 30 Aleksey 2010-06-12 14:03:38 UTC
Thank you. Turns to blame "fastestmirror". It turns out not all mirrors have been updated. 

/usr/bin/yum repolist enabled
fedora
rpmfusion-free
rpmfusion-free-updates
rpmfusion-nonfree
rpmfusion-nonfree-updates
updates-testing

Comment 31 Fedora Update System 2010-06-21 13:13:53 UTC
perl-IO-Compress-2.027-1.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 32 Tomo Vuckovic 2011-04-02 11:21:58 UTC
Duplicate package perl-IO-Compress in Fedora 15 repository :

http://download.fedora.redhat.com/pub/fedora/linux/development/15/i386/os/Packages/perl-IO-Compress-2.026-155.fc15.i686.rpm

and

http://download.fedora.redhat.com/pub/fedora/linux/development/15/i386/os/Packages/perl-IO-Compress-2.033-2.fc15.noarch.rpm

This package create from different source, one from core perl, other from standalone perl module IO-Compress.

Comment 33 Paul Howarth 2011-04-02 20:03:01 UTC
This is normal and expected. Many perl modules are "dual-lived", being bundled with perl and also distributed separately via CPAN. There's no problem having multiple versions in the repository; yum will pick the highest versioned for you.

Comment 34 Jitka Plesnikova 2014-01-23 07:09:43 UTC
Package Change Request
======================
Package Name: perl-IO-Compress
New Branches: el5 el6
Owners: rlandmann

I am a maintainer of devel branch, but I don't have enough time to maintain it for epel.
rlandmann requested the branches and he wants to take care of them.

Comment 35 Paul Howarth 2014-01-23 09:50:58 UTC
Is this a good idea? At least in el6, there is perl-IO-Compress-{Base,Zlib,Bzip2}, all of which are obsoleted by perl-IO-Compress, at least in the Fedora specs.

Comment 36 Jitka Plesnikova 2014-01-23 10:06:06 UTC
I don't have time to look at it now.

rlandmann: Could you please check comment #35?

Comment 37 Gwyn Ciesla 2014-01-23 12:49:15 UTC
Git done (by process-git-requests).


Note You need to log in before you can comment on or make changes to this bug.