[slime-devel] BUG + PATCH: doc/Makefile uses Bash extensions without setting SHELL=/bin/bash

Teemu Likonen tlikonen at iki.fi
Fri Jul 10 10:55:03 UTC 2009


The "clean" target in doc/Makefile uses features of Bash shell, namely
brace expansions:

    rm -f slime.{info,pdf,dvi,ps,html}

This feature does not work with POSIX sh shell which the /bin/sh
implements and which is the default shell used by "make". In some
systems /bin/sh is a symlink to /bin/bash but not in all. For example,
in Ubuntu GNU/Linux systems /bin/sh link points to /bin/dash which is
very close to POSIX sh. Debian GNU/Linux will switch to /bin/sh ->
/bin/dash in their next release.

So, to fix the bug you should either do this:

--8<---------------cut here---------------start------------->8---
diff --git i/doc/Makefile w/doc/Makefile
index 9ea9ebf..38ff658 100644
--- i/doc/Makefile
+++ w/doc/Makefile
@@ -14,6 +14,9 @@ INSTALL_CMD=install -m 644
 # Info files generated here.
 infofiles=slime.info
 
+# Use Bash shell
+SHELL=/bin/bash
+
 TEXI = slime.texi contributors.texi
 
 all: slime.info slime.pdf html/index.html
--8<---------------cut here---------------end--------------->8---

Or you should stop using Bash extensions in the Makefile:

--8<---------------cut here---------------start------------->8---
diff --git i/doc/Makefile w/doc/Makefile
index 9ea9ebf..1e68cf5 100644
--- i/doc/Makefile
+++ w/doc/Makefile
@@ -95,6 +95,8 @@ uninstall-info:
 
 clean:
 	rm -f contributors.texi
-	rm -f slime.{aux,cp,cps,fn,fns,ky,kys,log,pg,tmp,toc,tp,vr,vrs}
-	rm -f slime.{info,pdf,dvi,ps,html}
-	rm -rf html{,.tgz}
+	rm -f slime.aux slime.cp slime.cps slime.fn slime.fns slime.ky
+	rm -f slime.kys slime.log slime.pg slime.tmp slime.toc slime.tp
+	rm -f slime.vr slime.vrs
+	rm -f slime.info slime.pdf slime.dvi slime.ps slime.html
+	rm -rf html html.tgz
--8<---------------cut here---------------end--------------->8---

I suggest doing the latter.




More information about the slime-devel mailing list