[opensuse-packaging] Another perl packaging question
All, I've been struggling to figure out a dependency issue with perl::IO::Compress. I have I think I finally understand it, but I want to ask before I branch perl itself and do a SR! In the D:L:P perl specfile it says: Provides: perl-Compress-Zlib perl-Compress-Raw-Zlib Obsoletes: perl-Compress-Zlib perl-Compress-Raw-Zlib Provides: perl-IO-Zlib perl-IO-Compress-Base perl-IO-Compress-Zlib Obsoletes: perl-IO-Zlib perl-IO-Compress-Base perl-IO-Compress-Zlib Note that all the component pieces of perl-IO-Compress are shown as provided, but the overall package itself is not in the list. That agrees with: http://perldoc.perl.org/index-modules-I.html. I have a package that has a requires perl(IO::Compress) and it is failing to install because of that. So my question is if the above list should have perl-IO-Compress added to it. Or should the requires statement in my package be changed to require all the component pieces of IO::Compress instead of just the overall package. To me updating the provides list seems right. Thanks Greg -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Wed, Dec 7, 2011 at 8:54 AM, Greg Freemyer <greg.freemyer@gmail.com> wrote:
All,
I've been struggling to figure out a dependency issue with perl::IO::Compress. I have
I think I finally understand it, but I want to ask before I branch perl itself and do a SR!
In the D:L:P perl specfile it says: Provides: perl-Compress-Zlib perl-Compress-Raw-Zlib Obsoletes: perl-Compress-Zlib perl-Compress-Raw-Zlib Provides: perl-IO-Zlib perl-IO-Compress-Base perl-IO-Compress-Zlib Obsoletes: perl-IO-Zlib perl-IO-Compress-Base perl-IO-Compress-Zlib
Note that all the component pieces of perl-IO-Compress are shown as provided, but the overall package itself is not in the list.
That agrees with: http://perldoc.perl.org/index-modules-I.html.
I have a package that has a requires perl(IO::Compress) and it is failing to install because of that.
So my question is if the above list should have perl-IO-Compress added to it. Or should the requires statement in my package be changed to require all the component pieces of IO::Compress instead of just the overall package.
To me updating the provides list seems right.
Thanks Greg
Actually, only a couple of the component pieces are in the list. At a minimum all of these need to be added. (I just branched perl and have this in a home project. Building now.) Provides: perl(IO::Compress::Bzip2) perl(IO::Compress::Deflate) Obsoletes: perl(IO::Compress::Bzip2) perl(IO::Compress::Deflate) Provides: perl(IO::Compress::Gzip) perl(IO::Compress::RawDeflate) perl(IO::Compress::Zip) Obsoletes: perl(IO::Compress::Gzip) perl(IO::Compress::RawDeflate) perl(IO::Compress::Zip) The question becomes, should it also have perl(IO::Compress) in the list that need to be added to the perl specfile. Greg -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Wed, Dec 07, 2011 at 09:23:39AM -0500, Greg Freemyer wrote:
The question becomes, should it also have perl(IO::Compress) in the list that need to be added to the perl specfile.
No, the perl(...) provide dependencies are auto-generated by rpm. Do not add them to specfiles. There doesn't seem to be a "IO::Compress" module in the perl package. Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Wed, Dec 7, 2011 at 9:31 AM, Michael Schroeder <mls@suse.de> wrote:
On Wed, Dec 07, 2011 at 09:23:39AM -0500, Greg Freemyer wrote:
The question becomes, should it also have perl(IO::Compress) in the list that need to be added to the perl specfile.
No, the perl(...) provide dependencies are auto-generated by rpm. Do not add them to specfiles.
There doesn't seem to be a "IO::Compress" module in the perl package.
Cheers, Michael.
Michael, The current specfile for perl itself in D:L:P perl has Provides: perl-IO-Zlib perl-IO-Compress-Base perl-IO-Compress-Zlib Obsoletes: perl-IO-Zlib perl-IO-Compress-Base perl-IO-Compress-Zlib If those are right, then per http://perldoc.perl.org/index-modules-I.html it should also have: Provides: perl(IO::Compress::Bzip2) perl(IO::Compress::Deflate) Obsoletes: perl(IO::Compress::Bzip2) perl(IO::Compress::Deflate) Provides: perl(IO::Compress::Gzip) perl(IO::Compress::RawDeflate) perl(IO::Compress::Zip) Obsoletes: perl(IO::Compress::Gzip) perl(IO::Compress::RawDeflate) perl(IO::Compress::Zip) If those are supposed to be auto-generated, then the first set should be deleted. Thanks Greg -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Wed, Dec 07, 2011 at 09:38:21AM -0500, Greg Freemyer wrote:
If those are right, then per http://perldoc.perl.org/index-modules-I.html it should also have:
Provides: perl(IO::Compress::Bzip2) perl(IO::Compress::Deflate) Obsoletes: perl(IO::Compress::Bzip2) perl(IO::Compress::Deflate) Provides: perl(IO::Compress::Gzip) perl(IO::Compress::RawDeflate) perl(IO::Compress::Zip) Obsoletes: perl(IO::Compress::Gzip) perl(IO::Compress::RawDeflate) perl(IO::Compress::Zip)
If those are supposed to be auto-generated, then the first set should be deleted.
Obsoletes aren't auto-generated, just Provides. Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Wed, Dec 07, 2011 at 08:54:14AM -0500, Greg Freemyer wrote:
I have a package that has a requires perl(IO::Compress) and it is failing to install because of that.
I can't find a "IO::Compress" module on CPAN, so I don't think the requires can be correct. Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
* V Wednesday 7. December 2011, 15:33:52 [CET] Michael Schroeder napsal:
On Wed, Dec 07, 2011 at 08:54:14AM -0500, Greg Freemyer wrote:
I have a package that has a requires perl(IO::Compress) and it is failing to install because of that.
I can't find a "IO::Compress" module on CPAN, so I don't think the requires can be correct.
There's a IO::Compress module: http://search.cpan.org/dist/IO-Compress/ we have it in OBS as perl-IO-Compress -- Vita Cizek
On Wed, Dec 07, 2011 at 03:44:34PM +0100, Vitezslav Cizek wrote:
* V Wednesday 7. December 2011, 15:33:52 [CET] Michael Schroeder napsal:
On Wed, Dec 07, 2011 at 08:54:14AM -0500, Greg Freemyer wrote:
I have a package that has a requires perl(IO::Compress) and it is failing to install because of that.
I can't find a "IO::Compress" module on CPAN, so I don't think the requires can be correct.
There's a IO::Compress module: http://search.cpan.org/dist/IO-Compress/
we have it in OBS as perl-IO-Compress
perl-IO-Compress does *not* provide perl(IO::Compress), just all the IO::Compress::XXX flavors. And it's nowadays part of core perl. M. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Wed, Dec 7, 2011 at 9:48 AM, Michael Schroeder <mls@suse.de> wrote:
On Wed, Dec 07, 2011 at 03:44:34PM +0100, Vitezslav Cizek wrote:
* V Wednesday 7. December 2011, 15:33:52 [CET] Michael Schroeder napsal:
On Wed, Dec 07, 2011 at 08:54:14AM -0500, Greg Freemyer wrote:
I have a package that has a requires perl(IO::Compress) and it is failing to install because of that.
I can't find a "IO::Compress" module on CPAN, so I don't think the requires can be correct.
There's a IO::Compress module: http://search.cpan.org/dist/IO-Compress/
we have it in OBS as perl-IO-Compress
perl-IO-Compress does *not* provide perl(IO::Compress), just all the IO::Compress::XXX flavors. And it's nowadays part of core perl.
M.
As a test I've updated my package in my home dir to not Require IO::Compress, but instead to have Requires on all the flavors. If that causes all of the component modules to be installed individually, then there are missing Provides statements in perl itself since it is supposed to have all the flavors built-in. It may be tomorrow before I get a chance to test. Greg -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Wed, Dec 7, 2011 at 10:12 AM, Greg Freemyer <greg.freemyer@gmail.com> wrote:
On Wed, Dec 7, 2011 at 9:48 AM, Michael Schroeder <mls@suse.de> wrote:
On Wed, Dec 07, 2011 at 03:44:34PM +0100, Vitezslav Cizek wrote:
* V Wednesday 7. December 2011, 15:33:52 [CET] Michael Schroeder napsal:
On Wed, Dec 07, 2011 at 08:54:14AM -0500, Greg Freemyer wrote:
I have a package that has a requires perl(IO::Compress) and it is failing to install because of that.
I can't find a "IO::Compress" module on CPAN, so I don't think the requires can be correct.
There's a IO::Compress module: http://search.cpan.org/dist/IO-Compress/
we have it in OBS as perl-IO-Compress
perl-IO-Compress does *not* provide perl(IO::Compress), just all the IO::Compress::XXX flavors. And it's nowadays part of core perl.
M.
As a test I've updated my package in my home dir to not Require IO::Compress, but instead to have Requires on all the flavors.
If that causes all of the component modules to be installed individually, then there are missing Provides statements in perl itself since it is supposed to have all the flavors built-in.
It may be tomorrow before I get a chance to test.
Greg
Actually with no perl-IO-Compress-* packages installed I just did a test install and it worked with these Requires lines: Requires: perl(IO::Compress::Base) Requires: perl(IO::Compress::Bzip2) perl(IO::Compress::Deflate) Requires: perl(IO::Compress::Gzip) perl(IO::Compress::RawDeflate) perl(IO::Compress::Zip) So the base perl module is indeed Providing all the above automatically. (They are not all in the perl specfile explicitly). Sorry to take up so much time with my confusion. Thanks Greg -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
participants (3)
-
Greg Freemyer
-
Michael Schroeder
-
Vitezslav Cizek