Ok, maybe the third list is the charm :)
Could someone please explain to me -- or point me at a doc somewhere -- what these provides are (I gather they indicate features perl was built with), and, more importantly, when they should be used in a spec? They seem as if they may be fairly important, but there's nothing indicating when they should be used, if they're relevant to noarch packages, etc etc, and neither the wiki nor google (oddly enough) is shedding any light on it...
-Chris
---------- Forwarded message ---------- From: Chris Weyl cweyl@alumni.drew.edu Date: Jul 31, 2006 8:15 AM Subject: When to use perl(:WITH_...) requires? To: Discussion related to Fedora Extras fedora-extras-list@redhat.com
Hey all --
Perl provides a number of provides flags, e.g.:
perl(:WITH_ITHREADS) perl(:WITH_LARGEFILES) perl(:WITH_PERLIO) perl(:WITH_THREADS)
Most perl module spec files only deal with perl(:MODULE_COMPAT_5.8.8), etc. But I see a number of them (arch-specific, typically), do use these flags, along the lines of:
Requires: %(perl -MConfig -le 'if (defined $Config{useithreads}) { print "perl(:WITH_ITHREADS)" } else { print "perl(:WITHOUT_ITHREADS)" }')
etc, etc.
So, when should a packager use these? Should lines along the one above be included for all flags in an arch-specific spec file? What's a good rule of thumb here? (And, are these flags documented anywhere? A cursory search of the wiki isn't turning up anything for me.)
-Chris
-- Chris Weyl Ex astris, scientia
On Tuesday 01 August 2006 14:17, Chris Weyl wrote:
Ok, maybe the third list is the charm :)
Could someone please explain to me -- or point me at a doc somewhere -- what these provides are (I gather they indicate features perl was built with), and, more importantly, when they should be used in a spec? They seem as if they may be fairly important, but there's nothing indicating when they should be used, if they're relevant to noarch packages, etc etc, and neither the wiki nor google (oddly enough) is shedding any light on it...
I think it comes down to if the perl content in your package depends on these features or not.
If you know you'll need ITHREADS or LARGEFILES or PERLIO or whatever, then you would use one of these Requires. It depends on the content of your package.
On Tue, 2006-08-01 at 14:51 -0400, Jesse Keating wrote:
On Tuesday 01 August 2006 14:17, Chris Weyl wrote:
Ok, maybe the third list is the charm :)
Could someone please explain to me -- or point me at a doc somewhere -- what these provides are (I gather they indicate features perl was built with), and, more importantly, when they should be used in a spec? They seem as if they may be fairly important, but there's nothing indicating when they should be used, if they're relevant to noarch packages, etc etc, and neither the wiki nor google (oddly enough) is shedding any light on it...
I think it comes down to if the perl content in your package depends on these features or not.
If you know you'll need ITHREADS or LARGEFILES or PERLIO or whatever, then you would use one of these Requires. It depends on the content of your package.
Yep, and that depends on whether your module packages were built using a perl that has these features enabled or not. My guess is that they're probably not too relevant nowadays and could be ignored; I find it unlikely that a perl without support for threads or large files would appear in FC any more, and for what it's worth, unlike threading and large files stuff, PerlIO support is already hardcode-enabled in the FC perl specfile.
Note: for a definite answer, consult the current FC perl maintainer and maybe the previous one (Chip Turner).
On 8/2/06, Ville Skyttä ville.skytta@iki.fi wrote:
Yep, and that depends on whether your module packages were built using a perl that has these features enabled or not. My guess is that they're probably not too relevant nowadays and could be ignored; I find it unlikely that a perl without support for threads or large files would appear in FC any more, and for what it's worth, unlike threading and large files stuff, PerlIO support is already hardcode-enabled in the FC perl specfile.
Ahhh, ok, so it's more about what's enabled in the perl the module is built against, rather than something in particular the module's code is doing. That makes more sense.
So, from a packaging perspective, would it be appropriate to embed the various requires :WITH_ or :WITHOUT_ in conditionals like the one above, in arch-specific packages? At least that way one knows they always sync up between the perl package and the module package.
Or am I really making way too big a deal out of something that should just quietly be allowed to slip into oblivion... :)
Note: for a definite answer, consult the current FC perl maintainer and maybe the previous one (Chip Turner).
cc'ed. :)
Thanks- -Chris
packaging@lists.fedoraproject.org