Re: [Fink-devel] Old cruft in /sw/fink/update/ not 64bit aware

2009-11-10 Thread Max Horn

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


Re: [Fink-devel] Old cruft in /sw/fink/update/ not 64bit aware

2009-11-10 Thread Max Horn

Am 10.11.2009 um 19:22 schrieb Martin Costabel:

 Max Horn wrote:
 []
 (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.
 []

 Personally, I prefer approach (1).

 Ther is a practical problem with this approach: It requires real
 maintainer work, not just cosmetics. But if you look at the packages
 that use Update fields (a quick grep shows more than a hundred with
 UpdateConfigGuess and more than 50 with UpdateLibtool and even a dozen
 with UpdateLibtoolInDirs), you see that most of them are very old and
 haven't really been maintained for a long time. It will be difficult  
 to
 do more than cosmetic changes in all of these.

Indeed, thank you for clarifying this. I was somehow under the (wrong)  
impression that there are fewer affected packages :/. (Though note  
that for UpdateLibtoolInDirs, looking at the grep output closer  
reveals that only 7 packages in unstable actually use it ;). Still too  
many, of course).   

Well, then let me propose approach (1'): We don't touch UpdateFOO at  
all, but deprecate it (in the docs, and maybe the validator should  
print this is a deprecated field, don't use it). Code which needs to  
update config.guess etc. uses one of the approaches suggested in (1)  
and in other emails in this thread, but *not* UpdateFOO.


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


Re: [Fink-devel] Old cruft in /sw/fink/update/ not 64bit aware

2009-11-10 Thread Martin Costabel
Max Horn wrote:
[]
 (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.
[]

 Personally, I prefer approach (1).

Ther is a practical problem with this approach: It requires real 
maintainer work, not just cosmetics. But if you look at the packages 
that use Update fields (a quick grep shows more than a hundred with 
UpdateConfigGuess and more than 50 with UpdateLibtool and even a dozen 
with UpdateLibtoolInDirs), you see that most of them are very old and 
haven't really been maintained for a long time. It will be difficult to 
do more than cosmetic changes in all of these.

-- 
Martin

--
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


Re: [Fink-devel] Old cruft in /sw/fink/update/ not 64bit aware

2009-11-09 Thread Martin Costabel
Peter O'Gorman wrote:
[]
 Feel free to change it in fink's ltconfig, etc., and the problem should 
 be fixed with the next fink release, but really I think that the 
 'Update*' fields should be deprecated, in favor of rerunning some 
 version of autotools.

It is true that both packages gtk+ and recode are ancient and have had 
the 'Update' lines since the days of MacOSX 10.2 (maybe earlier, I 
didn't look further back). Apparently this didn't hurt until now (and 
even on 10.6/64bit you don't notice the breakage in the packages 
themselves, only when something wants to dlopen a binary linked to one 
of their dylibs.)

On 10.6/64bit, the 'Update' fields could have a renewed interest, 
because many packages have config.guess versions that guess wrong. In 
fact, does there even exist a config.guess that gives the right answer 
x84_64-apple-darwin10? Apple's own version in 
/usr/share/libtool/config/ doesn't.

-- 
Martin

--
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


Re: [Fink-devel] Old cruft in /sw/fink/update/ not 64bit aware

2009-11-09 Thread Peter O'Gorman
On 11/09/2009 03:11 AM, Martin Costabel wrote:

 On 10.6/64bit, the 'Update' fields could have a renewed interest,
 because many packages have config.guess versions that guess wrong. In
 fact, does there even exist a config.guess that gives the right answer
 x84_64-apple-darwin10? Apple's own version in
 /usr/share/libtool/config/ doesn't.


The config project committed some variation of Jack's patch a while ago, 
the config.guess that reports x86_64-apple-darwinversion on 64 bit 
intel mac systems has probably made it into a few released projects by now.

Peter
-- 
Peter O'Gorman
http://pogma.com

--
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


Re: [Fink-devel] Old cruft in /sw/fink/update/ not 64bit aware

2009-11-09 Thread David R. Morrison

On Nov 9, 2009, at 9:33 AM, Daniel Macks wrote:

 On Mon, Nov 09, 2009 at 09:19:14AM -0600, Peter O'Gorman wrote:
 On 11/09/2009 03:11 AM, Martin Costabel wrote:

 On 10.6/64bit, the 'Update' fields could have a renewed interest,
 because many packages have config.guess versions that guess wrong.  
 In
 fact, does there even exist a config.guess that gives the right  
 answer
 x84_64-apple-darwin10? Apple's own version in
 /usr/share/libtool/config/ doesn't.


 The config project committed some variation of Jack's patch a while  
 ago,
 the config.guess that reports x86_64-apple-darwinversion on 64 bit
 intel mac systems has probably made it into a few released projects  
 by now.

 Any word on when an automake release will have it?


Does this new version work properly when we are trying to compile on  
10.6/32bit?  Or does it cause libtool to think that all of the  
included libs are supposed to be 64bit, since that is what  
config.guess reported?

  -- Dave



--
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


Re: [Fink-devel] Old cruft in /sw/fink/update/ not 64bit aware

2009-11-09 Thread Peter O'Gorman
On 11/09/2009 11:38 AM, David R. Morrison wrote:

 On Nov 9, 2009, at 9:33 AM, Daniel Macks wrote:

 On Mon, Nov 09, 2009 at 09:19:14AM -0600, Peter O'Gorman wrote:
 On 11/09/2009 03:11 AM, Martin Costabel wrote:

 On 10.6/64bit, the 'Update' fields could have a renewed interest,
 because many packages have config.guess versions that guess wrong. In
 fact, does there even exist a config.guess that gives the right answer
 x84_64-apple-darwin10? Apple's own version in
 /usr/share/libtool/config/ doesn't.


 The config project committed some variation of Jack's patch a while ago,
 the config.guess that reports x86_64-apple-darwinversion on 64 bit
 intel mac systems has probably made it into a few released projects
 by now.

 Any word on when an automake release will have it?

Whenever the next automake release is :) I know Ralf (automake 
maintainer) is presently busy updating all the auto* in gcc and src for 
gcc-4.5 etc. So I doubt it will be that soon.


 Does this new version work properly when we are trying to compile on
 10.6/32bit? Or does it cause libtool to think that all of the included
 libs are supposed to be 64bit, since that is what config.guess reported?

config.guess reports x86_64-apple-darwin on 10.6 intel, or if CC='gcc 
-arch x86_64' CC='gcc -m64' etc. i386 on intel macs otherwise.

Upstream libtool uses pass_all for dep libs check method, so it will 
just give whatever it sees to ld (which will then complain if the arch 
is wrong). I don't see any problem using the new config.guess in new 
packages, but blindly using it for older packages has the potential to 
cause problems.

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.

Peter
-- 
Peter O'Gorman
http://pogma.com

--
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


Re: [Fink-devel] Old cruft in /sw/fink/update/ not 64bit aware

2009-11-09 Thread 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*.

   -- Dave


--
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


Re: [Fink-devel] Old cruft in /sw/fink/update/ not 64bit aware

2009-11-09 Thread Daniel Macks
On Mon, Nov 09, 2009 at 10:10:27AM -0800, David R. Morrison wrote:
 
 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*.

IMO more self-documenting (and less ongoing fink-core headache) to
have .info explicitly rerun autotools or copy the files from their
private stashes.

dan

-- 
Daniel Macks
dma...@netspace.org
http://www.netspace.org/~dmacks


--
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


[Fink-devel] Old cruft in /sw/fink/update/ not 64bit aware

2009-11-08 Thread Martin Costabel
In the 2 threads lablgtk 1.2.7-1002 on 10.6 64bit fails to build and 
python-bibtex-py26-1.2.4-1 build failed on 10.6 64bit the error was 
caused by dylibs not linking with libintl.dylib, 
/sw/lib/libgtk-1.2.0.dylib in the first case and 
/sw/lib/librecode.0.dylib in the second case.

Both dylibs do link with libintl on 10.5/32bit (probably on 10.6/32bit, 
too).

The packages gtk+ and recode have in common that they use

UpdateConfigGuess: true
UpdateLibtool: true

This brings in particular the extremely old /sw/lib/fink/update/ltconfig 
which defines

   deplibs_check_method='file_magic Mach-O dynamically linked shared 
library'

In reality, the 64bit dylibs have Mach-O 64-bit dynamically linked 
shared library.

The result is that libtool does not recognize that /sw/lib/libintl.dylib 
is a dynamic library, and it removes it from the linker list, 
accompanying this deed with the lie

*** Warning: This library needs some functionality provided by -lintl.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.

Is there a reason why we have these old versions of ltconfig, ltmain.sh 
etc in fink, versions that date from before the release of MacOSX 10.0?

-- 
Martin

--
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


Re: [Fink-devel] Old cruft in /sw/fink/update/ not 64bit aware

2009-11-08 Thread Peter O'Gorman
On 11/08/2009 06:07 PM, Martin Costabel wrote:
 In the 2 threads lablgtk 1.2.7-1002 on 10.6 64bit fails to build and
 python-bibtex-py26-1.2.4-1 build failed on 10.6 64bit the error was
 caused by dylibs not linking with libintl.dylib,
 /sw/lib/libgtk-1.2.0.dylib in the first case and
 /sw/lib/librecode.0.dylib in the second case.

 Both dylibs do link with libintl on 10.5/32bit (probably on 10.6/32bit,
 too).

 The packages gtk+ and recode have in common that they use

 UpdateConfigGuess: true
 UpdateLibtool: true

 This brings in particular the extremely old /sw/lib/fink/update/ltconfig
 which defines

 deplibs_check_method='file_magic Mach-O dynamically linked shared
 library'


It's been pass_all in upstream libtool for several years.

Feel free to change it in fink's ltconfig, etc., and the problem should 
be fixed with the next fink release, but really I think that the 
'Update*' fields should be deprecated, in favor of rerunning some 
version of autotools.

Peter
-- 
Peter O'Gorman
http://pogma.com

--
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