[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



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: mailto:[EMAIL PROTECTED]
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 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... sigh


Cheers,

Max
-- 
---
Max Horn
Software Developer

email: mailto:[EMAIL PROTECTED]
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

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

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



[Fink-devel] Re: file locations for emacsen-common

2002-05-10 Thread Christian Swinehart

Sorry for the continued cross-post. I'm not sure to which list this 
thread should migrate...

On Thursday, May 9, 2002, at 04:02 PM, David R. Morrison wrote:
 It has come up recently on this list and on fink-users that the 
 emacsen-common
 package is creating directories in /usr/local/share.  Christian 
 explained
 that these are where users are free to manually add elisp files, and 
 that
 he was avoiding having users place files under /sw without dpkg knowing
 about it.

 I would like to point out that /sw/etc is designed to contain files 
 which
 are not under dpkg's control.  (I'm sure that this is explained in the 
 docs
 somewhere, or at least that it used to be, but I can't locate it right 
 now.)
 Perhaps /sw/etc/emacs would be a more suitable location for these files?
The problem with this is (following debian's example) that /sw/etc/emacs 
is where emacsen-common-compliant packages install their startup 
scripts, which are included by emacs at launch-time. Additionally, each 
emacs program has its own directory (for version-specific startup stuff)

/sw/etc/emacs/site-start.d/...
/sw/etc/emacs21/site-start.d/...
/sw/etc/emacs20/site-start.d/...

I can see two possible ways to fix this (and am open to suggestions for 
better schemes):
1) Add a user-controlled site-lisp directory to each of the emacs 
directories. So the tree would now look like:
   /sw/etc/emacs/site-start.d/
 /site-lisp
   /sw/etc/emacs21/site-start.d/
   /site-lisp

2) Make /sw/etc/emacsen-common the startup-script directory, leaving 
/sw/etc/emacs for user-added files.


Problems with #1: having a directory with two similarly named 
subdirectories, one of which shouldn't be touched unless the user really 
knows what she is doing is kind of confusing.

Problems with #2: it's probably not an obvious place for people to look 
when they're trying to customize their startups. Plus the hierarchies 
get pretty long (e.g., /sw/etc/emacsen-common/emacs/site-
start.d/00fink-vars.el)...


I think my vote is with #1. But if there's a #3 that solves this in a 
semi-magical fashion I'd love to hear it...

-christian


___

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] file locations for emacsen-common

2002-05-10 Thread Enrico Franconi

 I can see two possible ways to fix this (and am open to suggestions
 for better schemes):

 1) Add a user-controlled site-lisp directory to each of the emacs 
 directories. So the tree would now look like:
/sw/etc/emacs/site-start.d/
  /site-lisp
/sw/etc/emacs21/site-start.d/
/site-lisp
 
 2) Make /sw/etc/emacsen-common the startup-script directory, leaving
 /sw/etc/emacs for user-added files.
 
 Problems with #1: having a directory with two similarly named
 subdirectories, one of which shouldn't be touched unless the user
 really knows what she is doing is kind of confusing.
 
 Problems with #2: it's probably not an obvious place for people to
 look when they're trying to customize their startups. Plus the
 hierarchies get pretty long (e.g.,
 /sw/etc/emacsen-common/emacs/site- start.d/00fink-vars.el)...
 
 I think my vote is with #1. But if there's a #3 that solves this in
 a semi-magical fashion I'd love to hear it...

I'm not sure if I understood well. My philosophy would be to
distinguish clearly between system installed files and user istalled
files. So, my #3:

3) For emacsen-common-compliant packages:

   /sw/etc/emacs/emacsen-common/emacs/...
   /sw/etc/emacs/emacsen-common/emacs21/...
   /sw/etc/emacs/emacsen-common/emacs20/...

   For the general user (in analogy to the current /usr/local/share/emacs):

   /sw/etc/emacs/share/site-lisp/...
   /sw/etc/emacs/share/20.7/...
   /sw/etc/emacs/share/21.1/...
   /sw/etc/emacs/share/21.2/...

   Then, a user could link /usr/share/emacs (or /usr/local/share/emacs) 
   to /sw/etc/emacs/share (at her own risk).

cheers
-- e.

Enrico Franconi - [EMAIL PROTECTED]
University of Manchester- http://www.cs.man.ac.uk/~franconi/
Department of Computer Science  - Phone: +44 (161) 275 6170
Manchester M13 9PL, UK  - Fax:   +44 (161) 275 6204

___

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 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: mailto:[EMAIL PROTECTED]
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



[Fink-devel] QT2 package

2002-05-10 Thread Jeremy Higgs

Hi everyone!

I was wondering if it would be possible for a qt2 package to be created,
that would conflict with and replace the qt3 package. I currently have some
packages (qcad, bbkeysconf) that do not work with qt3 (they have yet to be
updated), and there doesn't seem any way for me to be able to enforce the
dependency on qt-2.3.1-1 (I have tried ( 3.0.0-1), but that doesn't
install the qt-2.3.1-1 package.)...

So... Would it be possible for a qt2 package to be created? (If there is
enough demand for it... I don't know if anyone else would require it.)

Thanks!


___

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] QT2 package

2002-05-10 Thread Justin Hallett

qt2-shlibs should in theory be able to co exist if someone makes the split.

[EMAIL PROTECTED] writes:
Hi everyone!

I was wondering if it would be possible for a qt2 package to be created,
that would conflict with and replace the qt3 package. I currently have
some
packages (qcad, bbkeysconf) that do not work with qt3 (they have yet to be
updated), and there doesn't seem any way for me to be able to enforce the
dependency on qt-2.3.1-1 (I have tried ( 3.0.0-1), but that doesn't
install the qt-2.3.1-1 package.)...

So... Would it be possible for a qt2 package to be created? (If there is
enough demand for it... I don't know if anyone else would require it.)

Thanks!

¸.·´^`·.,][JFH][`·.,¸¸.·´][JFH][¸.·´^`·.,
  Justin F. Hallett - Systems Analyst   
  Phone: (780)-408-3094
Fax: (780)-454-3200
E-Mail: [EMAIL PROTECTED]
 .·´^`·.,][JFH][`·.,¸¸.·´][JFH][¸.·´^`·.,


___

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