On Tue, 5 Jul 2005 08:56:39 +0200
Jesus Climent <[EMAIL PROTECTED]> wrote:

> http://erconde.hispalinux.es/~data/files/

Installed it with:

        % feta install 
http://erconde.hispalinux.es/~data/files/abcde_2.3.0-1_all.deb

On running it, I see:

        % abcde ; echo $?
        /usr/bin/abcde: 627: Syntax error: Bad substitution
        2

...line #627 is:

        % cat -n /usr/bin/abcde | grep " 627"
           627                  IN=${!TEMPARG}

...where "${!" is a bashism.  My '/bin/sh' links to 'dash' -- I prefer
it because 'dash' is often 2x-4x faster.

Here are two ways to fix the bashism:  

        1) any bashisms should be replaced with POSIX shell code.
        2) 'dlocate' should depend on 'bash' and its first line:
                        #!/bin/sh
            should be replaced with:
                        #!/bin/bash

Unfortunately, after trying step #2 there, I get:

        % abcde ; echo $?
        /usr/bin/abcde: line 1237: syntax error near unexpected token `}'
        /usr/bin/abcde: line 1237: `}'
        2

The code in question seems to be an empty function, which 'bash' doesn't like:

        % cat -n /usr/bin/abcde | grep -B 3 1237
          1234  do_mkcue()
          1235  {
          1236
          1237  }

So I added a 'return' to line #1236, and ran it.  And it seems to work
OK, (today, anyway).  If its useful, attached is a patch containing
these minor changes.

HTH...

--- abcde       2005-07-05 02:32:36.000000000 -0400
+++ /usr/bin/abcde      2005-07-05 12:09:35.000000000 -0400
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 # Copyright (c) 1998-2001 Robert Woodcock <[EMAIL PROTECTED]>
 # Copyright (c) 2003-2004 Jesus Climent <[EMAIL PROTECTED]>
 # This code is hereby licensed for public consumption under either the
@@ -1233,7 +1233,7 @@
 
 do_mkcue()
 {
-
+    return
 }
 
 # do_cddbparse

Reply via email to