Re: [Fink-devel] Bash and 10.2

2002-05-10 Thread Max Horn

At 12:12 Uhr -0400 10.05.2002, Chris Zubrzycki wrote:
>-BEGIN PGP SIGNED MESSAGE-
>Hash: SHA1
>
>Should we deviate from fink policy and get ready to provide a zsh 
>replacement for 10.0 and 10.1 users? for testing purposes and for if 
>people do not upgrade to 10.2, the packages will still work? we 
>could call it like nozsh-bash-2.xx or something, because it seems 
>that if it builds for zsh, it wont be right for bash, and vice-versa.

Nope, not a good idea. Instead we should try to fix all packages that 
use an affected version of libtool to use the patch vasi listed here.

Cheers,

Max
-- 
---
Max Horn
Software Developer

email: 
phone: (+49) 6151-494890

___

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
___
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel



Re: [Fink-devel] Bash and 10.2

2002-05-10 Thread Chris Zubrzycki

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Should we deviate from fink policy and get ready to provide a zsh 
replacement for 10.0 and 10.1 users? for testing purposes and for if 
people do not upgrade to 10.2, the packages will still work? we could 
call it like nozsh-bash-2.xx or something, because it seems that if it 
builds for zsh, it wont be right for bash, and vice-versa.

On Friday, May 10, 2002, at 10:09 AM, Benjamin Reed wrote:
> On Fri, 2002-05-10 at 09:58, Dave Vasilevsky wrote:
>>> sorry to reply to myelf, but I forgot to say something. I have done
>>> this before, and have had no apparent side affects with 10.1.3. I
>>> removed /bin/sh, and copied bash to /bin/sh. everything still worked,
>>> AFAIK.
>>
>> That's quite surprising. Did you try building any of the packages I
>> listed? It would be quite surprising if bash was emulating zsh's broken
>> implementation of 'test'.
>
> And let me point out that if you've got bash as your /bin/sh, most of
> these packages won't *fail* on building, but they will have messed up
> library versions.  It's not a problem now, but will be as soon as you
> upgrade a package that breaks binary compatibility but still has '0.0.0'
> as it's compatibility version.

- -chris zubrzycki
- - --
PGP public key: http://homepage.mac.com/beren/publickey.txt
ID: 0xA2ABC070
Fingerprint: 26B0 BA6B A409 FA83 42B3  1688 FBF9 8232 A2AB C070


   "One disk to rule them all, One disk to find them. One disk to bring
   them all and in the darkness grind them. In the Land of Redmond
   where the shadows lie." -- The Silicon Valley Tarot

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.0.6 (Darwin)
Comment: For info see http://www.gnupg.org

iD8DBQE82/Fu+/mCMqKrwHARAur4AKCtyLGsWO8WhHTAy2l6RQ54/L46AQCglPP6
cTtUv6Q3behp0Jt1X3TRiT4=
=OKUd
-END PGP SIGNATURE-


___

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
___
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel



Re: [Fink-devel] Bash and 10.2

2002-05-10 Thread Benjamin Reed

On Fri, 2002-05-10 at 09:58, Dave Vasilevsky wrote:

> > sorry to reply to myelf, but I forgot to say something. I have done 
> > this before, and have had no apparent side affects with 10.1.3. I 
> > removed /bin/sh, and copied bash to /bin/sh. everything still worked, 
> > AFAIK.
> 
> That's quite surprising. Did you try building any of the packages I 
> listed? It would be quite surprising if bash was emulating zsh's broken 
> implementation of 'test'.

And let me point out that if you've got bash as your /bin/sh, most of
these packages won't *fail* on building, but they will have messed up
library versions.  It's not a problem now, but will be as soon as you
upgrade a package that breaks binary compatibility but still has '0.0.0'
as it's compatibility version.

-- 
Ben Reed a.k.a. Ranger Rick ([EMAIL PROTECTED])
http://defiance.dyndns.org/ / http://radio.scenespot.org/
...if humanoids eat chicken, then obviously they'd eat their own
species.  Otherwise they'd just be picking on the chickens. -- Kryten



signature.asc
Description: This is a digitally signed message part


Re: [Fink-devel] Bash and 10.2

2002-05-10 Thread Dave Vasilevsky


On Friday, May 10, 2002, at 09:41  AM, Chris Zubrzycki wrote:

> This is all being done with bas as a symlink? has anyone tried copying 
> bash to /sw/bin/sh and seeing if it still does not work? Bash entgers 
> into sh compatibility mode when it is invoked as sh...I don't think a 
> symlink is enough.
>
> If bash is the problem, why does it work so well on other distros? is 
> it a kernel issue?

When /bin/sh is a symlink to /sw/bash, bash sees "/bin/sh" as the name 
it is invoked with--so it *is* running in sh compatibility mode. The 
problem's we're seeing aren't with bash, but with zsh--in this case 
there's an error in the code, and an error in zsh, and the two wrongs 
happen to make a right. With bash, we only see the error in the 
code--but it's *correctly* finding this error.

The three problems that I brought up aren't relevant to bash on other 
distros. On other distros they don't try to execute system(";") since 
they're used to it failing; they don't use "(foo|bar)" syntax, since 
nothing but zsh supports it; and they don't use Darwin's archive_cmds, 
so that doesn't break.

Switching to bash is sort of like switching to -shlibs. It creates some 
problems initially just because it's slightly different from what we're 
used to, and we need to adjust. But there's nothing intrinsically wrong 
with it, and after we change a couple of things everything should work 
fine.

> sorry to reply to myelf, but I forgot to say something. I have done 
> this before, and have had no apparent side affects with 10.1.3. I 
> removed /bin/sh, and copied bash to /bin/sh. everything still worked, 
> AFAIK.

That's quite surprising. Did you try building any of the packages I 
listed? It would be quite surprising if bash was emulating zsh's broken 
implementation of 'test'.

Dave


___

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
___
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel



Re: [Fink-devel] Bash and 10.2

2002-05-10 Thread Chris Zubrzycki

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Friday, May 10, 2002, at 09:41 AM, Chris Zubrzycki wrote:
> On Friday, May 10, 2002, at 08:55 AM, Max Horn wrote:
>> At 8:41 Uhr -0400 10.05.2002, Dave Vasilevsky wrote:
>>> On Friday, May 10, 2002, at 07:52  AM, Max Horn wrote:
>>>
 Is it because of spacial chars in $verstring that break since it's 
 not quoted? What exactly is a value of "$verstring" that makes it 
 choke? It shouldn't be caused by spaces, since those would break 
 zsh, too, wouldn't they?
>>>
>>> There are of course spaces in $verstring, and strangely enough that 
>>> _is_ what's wrong. Each shell uses an internal implementation of 
>>> "test" it seems. When bash sees "test -n foo bar baz" it realizes 
>>> that makes no sense, and returns 2 (false). When zsh sees this, it 
>>> seems to just accept everything after "foo", including operators, as 
>>> detritus and returns 0 (true) since foo isn't the null string. Bash 
>>> is right of course, we've just been relying on zsh's incorrect 
>>> behavior.
>>>
>>> Go ahead and try the command below, and then try it with zsh instead 
>>> of bash. Isn't that bizarre?
>>>
>>> bash -c 'test -n foo bar baz; echo $?'
>>
>> Ouch, yes! Ugly, very ugly indeed. Of course the "proper" fix would be 
>> to just use quotes, but we already know that's not working eitehr 
>> since zsh does weird quoting, too... 
>
> This is all being done with bas as a symlink? has anyone tried copying 
> bash to /sw/bin/sh and seeing if it still does not work? Bash entgers 
> into sh compatibility mode when it is invoked as sh...I don't think a 
> symlink is enough.
>
> If bash is the problem, why does it work so well on other distros? is 
> it a kernel issue?

sorry to reply to myelf, but I forgot to say something. I have done this 
before, and have had no apparent side affects with 10.1.3. I removed 
/bin/sh, and copied bash to /bin/sh. everything still worked, AFAIK.

HTH,
- -chris zubrzycki
- - --
PGP public key: http://homepage.mac.com/beren/publickey.txt
ID: 0xA2ABC070
Fingerprint: 26B0 BA6B A409 FA83 42B3  1688 FBF9 8232 A2AB C070


"Only two things are infinite, the universe and human stupidity, and I'm
  not sure about the former."
-- 
Albert Einstein

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.0.6 (Darwin)
Comment: For info see http://www.gnupg.org

iD8DBQE828/T+/mCMqKrwHARAm9uAKCGC7BLfyv66YQujCsPXLDg7IMyOwCgv/JK
XcCVcYG+lZi3l0YFzYIislQ=
=zHqA
-END PGP SIGNATURE-


___

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
___
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel



Re: [Fink-devel] Bash and 10.2

2002-05-10 Thread Chris Zubrzycki

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Friday, May 10, 2002, at 08:55 AM, Max Horn wrote:
> At 8:41 Uhr -0400 10.05.2002, Dave Vasilevsky wrote:
>> On Friday, May 10, 2002, at 07:52  AM, Max Horn wrote:
>>
>>> Is it because of spacial chars in $verstring that break since it's 
>>> not quoted? What exactly is a value of "$verstring" that makes it 
>>> choke? It shouldn't be caused by spaces, since those would break zsh, 
>>> too, wouldn't they?
>>
>> There are of course spaces in $verstring, and strangely enough that 
>> _is_ what's wrong. Each shell uses an internal implementation of 
>> "test" it seems. When bash sees "test -n foo bar baz" it realizes that 
>> makes no sense, and returns 2 (false). When zsh sees this, it seems to 
>> just accept everything after "foo", including operators, as detritus 
>> and returns 0 (true) since foo isn't the null string. Bash is right of 
>> course, we've just been relying on zsh's incorrect behavior.
>>
>> Go ahead and try the command below, and then try it with zsh instead 
>> of bash. Isn't that bizarre?
>>
>> bash -c 'test -n foo bar baz; echo $?'
>
> Ouch, yes! Ugly, very ugly indeed. Of course the "proper" fix would be 
> to just use quotes, but we already know that's not working eitehr since 
> zsh does weird quoting, too... 

This is all being done with bas as a symlink? has anyone tried copying 
bash to /sw/bin/sh and seeing if it still does not work? Bash entgers 
into sh compatibility mode when it is invoked as sh...I don't think a 
symlink is enough.

If bash is the problem, why does it work so well on other distros? is it 
a kernel issue?

- -chris zubrzycki
- - --
PGP public key: http://homepage.mac.com/beren/publickey.txt
ID: 0xA2ABC070
Fingerprint: 26B0 BA6B A409 FA83 42B3  1688 FBF9 8232 A2AB C070


"Sadly, text alone cannot convey the depths of my sarcasm."

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.0.6 (Darwin)
Comment: For info see http://www.gnupg.org

iD8DBQE8284E+/mCMqKrwHARAlq7AJ9nA0S+MKmYMYbabczO4EynvTtECACcDRUa
IEFbgX32KkYf5ACARAs/DqQ=
=sKA1
-END PGP SIGNATURE-


___

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
___
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel



Re: [Fink-devel] Bash and 10.2

2002-05-10 Thread Max Horn

At 8:41 Uhr -0400 10.05.2002, Dave Vasilevsky wrote:
>On Friday, May 10, 2002, at 07:52  AM, Max Horn wrote:
>
>>Is it because of spacial chars in $verstring that break since it's 
>>not quoted? What exactly is a value of "$verstring" that makes it 
>>choke? It shouldn't be caused by spaces, since those would break 
>>zsh, too, wouldn't they?
>
>There are of course spaces in $verstring, and strangely enough that 
>_is_ what's wrong. Each shell uses an internal implementation of 
>"test" it seems. When bash sees "test -n foo bar baz" it realizes 
>that makes no sense, and returns 2 (false). When zsh sees this, it 
>seems to just accept everything after "foo", including operators, as 
>detritus and returns 0 (true) since foo isn't the null string. Bash 
>is right of course, we've just been relying on zsh's incorrect 
>behavior.
>
>Go ahead and try the command below, and then try it with zsh instead 
>of bash. Isn't that bizarre?
>
>bash -c 'test -n foo bar baz; echo $?'

Ouch, yes! Ugly, very ugly indeed. Of course the "proper" fix would 
be to just use quotes, but we already know that's not working eitehr 
since zsh does weird quoting, too... 


Cheers,

Max
-- 
---
Max Horn
Software Developer

email: 
phone: (+49) 6151-494890

___

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
___
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel



Re: [Fink-devel] Bash and 10.2

2002-05-10 Thread Dave Vasilevsky


On Friday, May 10, 2002, at 07:52  AM, Max Horn wrote:

> Is it because of spacial chars in $verstring that break since it's not 
> quoted? What exactly is a value of "$verstring" that makes it choke? It 
> shouldn't be caused by spaces, since those would break zsh, too, 
> wouldn't they?

There are of course spaces in $verstring, and strangely enough that _is_ 
what's wrong. Each shell uses an internal implementation of "test" it 
seems. When bash sees "test -n foo bar baz" it realizes that makes no 
sense, and returns 2 (false). When zsh sees this, it seems to just 
accept everything after "foo", including operators, as detritus and 
returns 0 (true) since foo isn't the null string. Bash is right of 
course, we've just been relying on zsh's incorrect behavior.

Go ahead and try the command below, and then try it with zsh instead of 
bash. Isn't that bizarre?

bash -c 'test -n foo bar baz; echo $?'

Dave


___

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
___
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel



Re: [Fink-devel] Bash and 10.2

2002-05-10 Thread Max Horn

At 5:03 Uhr -0400 10.05.2002, Dave Vasilevsky wrote:

[...]


>Here's the patch for problem 3:
>
>diff -Naur gdk-pixbuf-0.16.0/configure gp-new/configure
>--- gdk-pixbuf-0.16.0/configure2002-01-22 20:11:48.0 -0500
>+++ gp-new/configure   2002-05-10 03:02:44.0 -0400
>@@ -3338,7 +3338,7 @@
>  # FIXME: Relying on posixy $() will cause problems for
>  #cross-compilation, but unfortunately the echo tests do not
>  #yet detect zsh echo's removal of \ escapes.
>-archive_cmds='$CC $(test .$module = .yes && echo -bundle || 
>echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs 
>$deplibs$linkopts -install_name $rpath/$soname $(test -n 
>"$verstring" -a x$verstring != x0.0 && echo $verstring)'
>+archive_cmds='$CC $(test .$module = .yes && echo -bundle || 
>echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs 
>$deplibs$linkopts -install_name $rpath/$soname $tmp_verstring'
>  # We need to add '_' to the symbols in $export_symbols first
>  #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
>  hardcode_direct=yes
>diff -Naur gdk-pixbuf-0.16.0/ltmain.sh gp-new/ltmain.sh
>--- gdk-pixbuf-0.16.0/ltmain.sh2002-01-22 20:11:43.0 -0500
>+++ gp-new/ltmain.sh   2002-05-10 03:04:49.0 -0400
>@@ -2862,6 +2862,11 @@
>   if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
> eval cmds=\"$archive_expsym_cmds\"
>   else
>+if test "x$verstring" = "x0.0"; then
>+  tmp_verstring=
>+else
>+  tmp_verstring="$verstring"
>+fi
> eval cmds=\"$archive_cmds\"
>   fi
>   IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
>


Looking at this, I would like to know why exactly this fails:
   $(test -n "$verstring" -a x$verstring != x0.0 && echo $verstring)

Is it because of spacial chars in $verstring that break since it's 
not quoted? What exactly is a value of "$verstring" that makes it 
choke? It shouldn't be caused by spaces, since those would break zsh, 
too, wouldn't they?


Cheers,

Max
-- 
---
Max Horn
Software Developer

email: 
phone: (+49) 6151-494890

___

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
___
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel



Re: [Fink-devel] Bash and 10.2

2002-05-10 Thread David R. Morrison

Hi Dave.  Those changes look good, and this is the type of change which is
not intended to alter the .deb file, so leaving the revision number alone
was correct.

However, I think you only modified the copies in the unstable tree, right?
Most stable packages are also duplicated in unstable, and we need to be
sure that all files with a given name are identical.  I think your changes
need to be applied to stable as well.

(Well, I've been violating this principle just slightly with my
BuildDepends project: I put new splitoff packages into unstable and add the
appropriate items to BuildDepends only in unstable, for testing.  Several
days later, I move the new splitoff packages to stable and at that point I
add the BuildDepends items to the stable packages as well.)

  -- Dave


___

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
___
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel



[Fink-devel] Bash and 10.2

2002-05-10 Thread Dave Vasilevsky

Since 10.2 will be using bash as /bin/sh, I tried building some packages 
with /bin/sh as a symlink to bash. Most things work fine, but there are 
a few problems that need fixing:

1) Bash chokes on a Compile/Install/PatchScript that is just ";". 
Instead, if you want to do nothing, just use 'echo "No compile needed"', 
or something to that effect. I fixed this in these packages in CVS:

app-defaults-20010814-2
crypt++el-2.9.1-1
cvs2cl-2.38-1
ifmslide-0.45-2
pccts-1.33-1
pdfscreen-1.5-2
pdfslide-0.50-2
revtex-4.0-3
rox-base-1.0.2-1
seminar-1.0e-2
texpower-0.0.8f-2
w3m-el-1.2.4-1
x-ghostscript-fonts-20020206-3
xforms-0.89-2

2) Bash doesn't use the construct lib(foo|bar).dylib to refer to 
libfoo.dylib and libbar.dylib. Bash will work with lib{foo,bar}.dylib, 
but zsh won't. So neither should be used. I fixed this in these packages 
in CVS (all Masanori's):

esound-0.2.23-5
libvorbis-1.0rc3-3
libxpg4-20010605-14
orbit-0.5.15-2
xmms-1.2.7-1

3) Many packages have a problem with libtool that makes their libraries 
unversioned if built with bash. I have appended a patch which appears to 
fix this problem; it was tested with gdk-pixbuf and bonobo. The 
following error is symptomatic of this problem:

../libtool: test: too many arguments

And this line (or something similar) is in configure in all the cases 
I've investigated:

archive_cmds='$CC $(test .$module = .yes && echo -bundle || echo 
-dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linkopts 
-install_name $rpath/$soname $(test -n "$verstring" -a x$verstring != 
x0.0 && echo $verstring)'

These are some of the packages which probably need to be fixed, though I 
have not done so myself. I'm sure there are more, so please check your 
packages:

bonobo
freetype2
gdk-pixbuf
gtk+
gal19
guile
libxml2
libxslt
oaf
pcre


There may be more problems involving bash, so please try building your 
packages with it. (Note that you may have to remove libxpg4 in order to 
use bash as /bin/sh properly.) Hopefully we can get everything fixed 
before 10.2 is out. On the positive side, bash makes anything with shell 
scripts (especially libtool) build much, much faster, so it shouldn't 
take too long to test things out.

Dave Vasilevsky



Here's the patch for problem 3:

diff -Naur gdk-pixbuf-0.16.0/configure gp-new/configure
--- gdk-pixbuf-0.16.0/configure 2002-01-22 20:11:48.0 -0500
+++ gp-new/configure2002-05-10 03:02:44.0 -0400
@@ -3338,7 +3338,7 @@
  # FIXME: Relying on posixy $() will cause problems for
  #cross-compilation, but unfortunately the echo tests do not
  #yet detect zsh echo's removal of \ escapes.
-archive_cmds='$CC $(test .$module = .yes && echo -bundle || echo 
-dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linkopts 
-install_name $rpath/$soname $(test -n "$verstring" -a x$verstring != 
x0.0 && echo $verstring)'
+archive_cmds='$CC $(test .$module = .yes && echo -bundle || echo 
-dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linkopts 
-install_name $rpath/$soname $tmp_verstring'
  # We need to add '_' to the symbols in $export_symbols first
  #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
  hardcode_direct=yes
diff -Naur gdk-pixbuf-0.16.0/ltmain.sh gp-new/ltmain.sh
--- gdk-pixbuf-0.16.0/ltmain.sh 2002-01-22 20:11:43.0 -0500
+++ gp-new/ltmain.sh2002-05-10 03:04:49.0 -0400
@@ -2862,6 +2862,11 @@
if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
  eval cmds=\"$archive_expsym_cmds\"
else
+ if test "x$verstring" = "x0.0"; then
+   tmp_verstring=
+ else
+   tmp_verstring="$verstring"
+ fi
  eval cmds=\"$archive_cmds\"
fi
IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'


___

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
___
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel