On 5/4/2012 8:54 PM, Jack Howarth wrote:
>    My biggest concern with the 10.8 support is the situation with the perlmod 
> packages.
> Specifically whether we could adjust fink to automatically handle the newer 
> perl in each OS
> release without requiring every single *-pm.info file to be adjusted 
> initially. Daniel
> Macks suggested adding a system perl variant to the Type list for the perl 
> versions in
> the *-pm.info files. I am unclear how this would possibly work across OS 
> releases though
> since it the system-perl variant would install into a different versioned 
> subdirectory
> for 10.7 (5.12.3) than for 10.8 (5.12.4) thus requiring all of the installed 
> system-perl
> variants to be rebuilt after upgrading the OS.
>    The approach I was hoping we could implement would be a fall-thru where if 
> the user
> executed...
>
> fink install foobar-pm5124
>
> while bootstrapped under 10.8 when 5.12.4 wasn't yet added to the Type perl 
> and
> (%type_pkg[perl] = 5124) 10.8 wasn't added to the Distribution field of 
> foobar-pm.info
> that fink would automatically check if system perl was of the desired version
> for the package and then effectively append that perl version to the Type perl
> so that %type_pkg[perl], type_raw[perl], type_num[perl] could work normally in
> the existing *-pm.info files. If this could be made to work in the existing 
> fink
> framework, we might only have to adjust instances like..
>
>    if [ "%type_pkg[perl]" = "5100" ]&&  [ "%m" != "powerpc" ] ; then
>    sed -e 's|/usr/bin/env|/usr/bin/arch -%m|g' -e 's|@PREFIX@|%p|g' -e 
> 's|@PERL_RAW@|%type_raw[perl]|g'<  %{PatchFile} | patch -p1
>    elif [ "%type_pkg[perl]" = "5123" ] || [ "%type_pkg[perl]" = "5124" ] ; 
> then
>    sed -e 's|@PREFIX@|%p|g' -e 's|env perl@PERL_RAW@|env perl5.12|g' -e 
> 's|@PERL_RAW@|%type_raw[perl]|g'<  %{PatchFile} | patch -p1
>    else
>    sed -e 's|@PREFIX@|%p|g' -e 's|@PERL_RAW@|%type_raw[perl]|g'<  
> %{PatchFile} | patch -p1
>    fi
>
> to be something more portable like...
>
> elif [ "%type_pkg[perl]" -ge "5123" ] ; then
>
> Note that I am not suggesting that maintainers would have to abandon adding 
> the explicit perl versions
> to the Type perl entry but rather than we adjust things so that the existing 
> perlmods info set will be
> usable in general without requiring explicitly adding the new perl version on 
> each OS release.
>          Jack
>
>
Actually, _I_ was the one who suggested the "system" thing, and Daniel 
pointed out that it would only be workable under the circumstance that 
10.8 had its own collection of .info files.  If they share a tree, then 
the situation is indeed what you mentioned, and the packages would need 
to be rebuilt.

What you're effectively asking about here is having fink automatically 
generate the -pm5XYZ variants for all Type: perl packages, where XYZ are 
set for a given Distribution.  Ideally, it would also need an override 
mechanism, for the case where a perlmod can't be built on a newer Perl 
(probably not an issue for the 0.0.1 jump we're talking here, but we 
might as well try to be future-proof).

I'll propose an alternate option here.  Historically, what we did was

1)  Create a Fink perl package of the same version as that in the 
upcoming OS X version.
2)  Create a Fink perl package of the same version as that in the 
currently released OS X version.
3)  Populate the perlmods for the new Perl version.

So how about a Fink perl5124 package for Lion and a perl5123 package for 
Mountain Lion? This avoids the necessity of Distribution tags altogether 
for perlmods in the 10.7 tree (at least for now).

It's true that we've got a lot of cruft related to all of the historical 
architecture and distribution restrictions, and what I would also 
propose is that the maintainers (or -core) go through the 10.7 tree and  
excise these no-ops.  I'm aware that this makes it a bit harder for the 
maintainers to keep the 10.7 and 10.4 .info files in sync, but this is 
by no means insurmountable--one can use a graphical merge editor, for 
instance.  If we got rid of that cruft, we wouldn't even need stuff like

if [ "%type_pkg[perl]" -ge "5123" ] ; then

because we _know_ that there is no earlier system or Fink Perl  for Lion 
and later.

At that point, we can pretty much just use a quick one-liner to add the 
5.12.4 type in for many of the perlmods.

On the other hand, this will require a lot of editing of files.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
List archive:
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to