Am 09.11.2009 um 19:10 schrieb David R. Morrison:

>
> On Nov 9, 2009, at 9:54 AM, Peter O'Gorman wrote:
>
>>
>> This is the problem fink now has with its Update* fields. Updating
>> the files that will be copied may fix some things, but may break
>> others.
>>
>
> Maybe we should introduce new fields for the new updates?  With names
> like ModernizeConfigGuess, ModernizeLibtool ?
>
> The idea would be that if you want the 2001 version, you use Update*
> and if you want the 2009 version, you use Modernize*.

And in 2011 we introduce UseReallyModernConfigGuess,  
UseReallyModernLibtool ? :) Nah... this seems like the wrong way to go  
about this.

I see two major alternatives to go with. Note that the following is  
just meant as a *sketch*; I can think of tons of ways to vary each  
approach myself, and I am sure each of you can think of additional ones.

(1) Get rid of these UpdateFOO fields completely. Instead, require  
package which have to update config.guess etc. to insert these updates  
some other way: By rerunning auto-tools; by adding the correct  
config.guess etc. version as a SourceN (care required to avoid name  
clashes, though), as part of the patch (would lead to pretty big  
patches, though) etc.

Pro: No funky special rare field which requires extra code to handle,  
and in general makes things more complex. The fink package manager  
code gets simpler.

Con: Somewhat less convenient to use. No problem IMO for the current  
uses of the UpdateFOO field, but this is a drawback if we want to use  
this to tackle the "64bit issues".

Slight variation: Make a package which contains current versions of  
config.guess, config.sub, etc., and let things that need those depend  
on that package. If at some point we need even newer versions, we make  
a new package. We also could make a package which contains the old  
fink/update/ versions of the files, and migrate all packages using  
UpdateFOO to use these, thus allowing us to completely get rid of  
UpdateFOO.


(2)  Keep the UpdateFOO fields, but modernize them. That is, extend  
the values allowed from true/false to a fixed list multiple values  
indicating the file "version", like this:
  UpdateConfigGuess: 2009-09-18
For backward compatibility, we'd still allow
   UpdateConfigGuess: true
but treat it as
   UpdateConfigGuess: 2001-09-13

Pro: Simple upgrade path from the existing system, still flexible  
enough for us to add support for those funky 128bit config.guess  
versions and libtool updates which supports OS X 10.7 or whatever ;).  
Very convenient to use.

Con: If we include a specific config.guess version once, we may  
potentially have to keep it forever, for backward compatibility. We  
could mitigate it by including code which tells fink that e.g.  
anything using config.guess 2001-09-13 can safely also use 2001-11-10.  
Also, this retains the somewhat special UpdateFOO fields, with the  
implied complexity.


Personally, I prefer approach (1).


Cheers,
Max


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to