Forwarding onto -core, since we're now talking about modifying core 
packages.

-------- Original Message --------
Subject: Re: [Fink-users] Fink hangs forever (on tar) after mountain 
lion update
Date: Fri, 29 Mar 2013 08:19:34 -0700
From: Alexander Hansen <alexanderk.han...@gmail.com>
Organization: Fink Core Team
To: Martin Costabel <costa...@wanadoo.fr>
CC: Fink Users <fink-us...@lists.sourceforge.net>

On 3/29/13 2:20 AM, Martin Costabel wrote:
> On 28/03/13 18:10, Alexander Hansen wrote:
> []
>> One more piece of information to work with here is that if I change my
>> /tmp/sw/lib/perl5/Fink/PkgVersion.pm such that Apple's gnutar is used
>> instead of Fink's then unpacking works under "su -".
>>
>> I wouldn't recommend that folks do this as a workaround just yet,
>> though, since we've been relying on the fact that our tar can
>> automatically unpack tar.xz archives without fink explicitly running xz,
>> i.e. just "tar -xf package.tar.xz".  Apple's gnutar doesn't know how to
>> do this, even for 10.8.
>
> Here is another data point:
>
> I looked where tar is hanging, and it is in the function
> _nl_locale_name_default() from libintl.8.dylib. That function, defined
> in gettext-0.18.1.1/gettext-runtime/intl/localename.c, calls
> CFLocaleCopyCurrent from CoreFoundation and that one goes on and tries
> to read system preferences. I would guess that there is a problem
> reading the system preferences for the root user.
>
> Anyway, when I tried and recompiled libintl.8.dylib with a modified
> _nl_locale_name_default() which simply returns "C" instead of calling
> CoreFoundation, tar did not hang any more.
>
> I am not proposing modifying libintl.8.dylib as a fix for this problem,
> because I have no idea what would be the repercussions, but maybe
> someone else with more insight can propose a real fix.
>

That narrows the issue down a lot.  Thanks!

It's probably too much to hope that the updated libgettext8 on the
tracker will give us better results without any additional tweaking.
The built-in gnutar doesn't appear to link to CoreFoundation, so maybe
that's why it doesn't suffer from this issue:

# otool -L /usr/bin/gnutar
/usr/bin/gnutar:
        /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version
7.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 169.3.0)

# otool -L /sw/bin/gnutar
/sw/bin/gnutar:
        /sw/lib/libintl.8.dylib (compatibility version 10.0.0, current version
10.1.0)
        
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 
(compatibility version 150.0.0, current version 744.18.0)
        /sw/lib/libiconv.2.dylib (compatibility version 7.0.0, current version
7.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 169.3.0)

Maybe we could have the tar package build an additional executable with
reduced options (maybe stashed in a private directory like
%p/opt/tar/bin/) and have fink always use that for unpacking.  That
seems to satisfy the "Principle of Least Surprise" by not changing
users' default tar options.
-- 
Alexander Hansen, Ph.D.
Fink User Liaison
My package updates: http://finkakh.wordpress.com/



------------------------------------------------------------------------------
Own the Future-Intel(R) Level Up Game Demo Contest 2013
Rise to greatness in Intel's independent game demo contest. Compete 
for recognition, cash, and the chance to get your game on Steam. 
$5K grand prize plus 10 genre and skill prizes. Submit your demo 
by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2
_______________________________________________
fink-core mailing list
fink-core@lists.sourceforge.net
List archive:
http://news.gmane.org/gmane.os.apple.fink.core
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-core

Reply via email to