You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original bug ID: 5403 Reporter: Drakken Status: closed (set by @damiendoligez on 2012-02-03T16:06:12Z) Resolution: fixed Priority: normal Severity: minor Version: 3.12.1 Fixed in version: 3.13.0+dev Category: ~DO NOT USE (was: OCaml general)
Bug description
There are several problems with the Makefile in the emacs subdirectory of the ocaml distribution.
To reproduce the problem: Log in as root and run "make install" in the emacs directory.
General (targets "install" and "simple-install"):
The script doesn't work if emacs isn't in root's path. (the search for site-lisp directories fails.)
In the "install" target:
The "p" in the sed expression is an argument to the s command that deletes quotation marks, so any unquoted directory names would not be printed.
The sed expression prints all matching directories, but "test -d" expects only one.
The names are stored in variable xxx, but the test looks for them in the positional parameter $2 (which I don't think is set anyway).
The "set" syntax for xxx is incorrect. (/bin/sh uses "=")
The script doesn't work if emacs isn't in root's path. (the search for site-lisp directories fails.)
OK, we should test for emacs's presence. But currently, if you "make install-el EMACSDIR=...", then emacs is not needed. I have changed the Makefile to give a better error message if emacs is needed and cannot be found in the path.
The "p" in the sed expression is an argument to the s command that deletes quotation marks, so any unquoted directory names would not be printed.
This is entirely theoretical because emacs quotes them all anyway.
The sed expression prints all matching directories, but "test -d" expects only one.
But we give only one to "test -d" : the result of the sed expression is not used as is.
The names are stored in variable xxx, but the test looks for them in the positional parameter $2 (which I don't think is set anyway).
The names are not stored in variable xxx. Please refer to the shell's documentation for information about the "set" command.
The "set" syntax for xxx is incorrect. (/bin/sh uses "=")
The syntax is correct. We are not trying to set the variable xxx here.
Original bug ID: 5403
Reporter: Drakken
Status: closed (set by @damiendoligez on 2012-02-03T16:06:12Z)
Resolution: fixed
Priority: normal
Severity: minor
Version: 3.12.1
Fixed in version: 3.13.0+dev
Category: ~DO NOT USE (was: OCaml general)
Bug description
There are several problems with the Makefile in the emacs subdirectory of the ocaml distribution.
To reproduce the problem: Log in as root and run "make install" in the emacs directory.
General (targets "install" and "simple-install"):
In the "install" target:
Additional information
This report replaces Ocamlbuild report #5402.
See the attached file for the following changes:
< install:
< simple-install:
< set xxx `($(EMACS) --batch --eval "(mapcar 'print load-path)") \
< if test "$$2" = ""; then \
< sed -n -e '//site-lisp/s/"//gp'`; \
<$(MAKE) EMACSDIR="$ $2" simple-install; \
File attachments
The text was updated successfully, but these errors were encountered: