[Fink-devel] Bash and 10.2
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
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
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
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
-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
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
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
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
-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
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
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
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