GNU bug report logs -
#14576
"make install" has trouble with non-standard locallisppath directories
Previous Next
Reported by: Juanma Barranquero <lekktu <at> gmail.com>
Date: Sat, 8 Jun 2013 14:17:01 UTC
Severity: minor
Found in version 24.3.50
Done: Juanma Barranquero <lekktu <at> gmail.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 14576 in the body.
You can then email your comments to 14576 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#14576
; Package
emacs
.
(Sat, 08 Jun 2013 14:17:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Juanma Barranquero <lekktu <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sat, 08 Jun 2013 14:17:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Package: emacs
Version: 24.3.50
On Windows, using the MSYS build machinery.
If you need to add a non-default lisp directory to the path, by
following nt/INSTALL.MSYS recommendation of doing, for example
./nt/msysconfig.sh
--enable-locallisppath='%emacs_dir%/../site-lisp;%emacs_dir%/share/emacs/24.3.50/site-lisp;%emacs_dir%/share/emacs/site-lisp'
then "make install" will try to create these directories *in the build
tree* (not the installation dir), and do a poor job at it. In the
above case, after make install the build tree will contain these
directories:
%emacs_dir%
site-lisp;%emacs_dir%/share/emacs/24.3.50/site-lisp;%emacs_dir%/share/emacs/site-lisp
"%emacs_dir%" is literal, an unexpanded environment variable.
Makefile.in contains this old note:
## I'm not sure creating locallisppath here serves any useful purpose.
## If it has the default value, then the later write_subdir commands
## will ensure all these components exist.
## This will only do something if locallisppath has a non-standard value.
## Is it really Emacs's job to create those directories?
## Should we also be ensuring they contain subdirs.el files?
## It would be easy to do, just use write_subdir.
and indeed, I would argue that is not Emacs' job to create them. If
the user is knowledgeable enough to have to use
--enable-locallisppath, s/he'll also know enough to make sure the
directories exist and contain subdirs.el as required.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#14576
; Package
emacs
.
(Sat, 08 Jun 2013 15:06:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 14576 <at> debbugs.gnu.org (full text, mbox):
> From: Juanma Barranquero <lekktu <at> gmail.com>
> Date: Sat, 8 Jun 2013 16:15:33 +0200
>
> On Windows, using the MSYS build machinery.
>
> If you need to add a non-default lisp directory to the path, by
> following nt/INSTALL.MSYS recommendation of doing, for example
>
> ./nt/msysconfig.sh
> --enable-locallisppath='%emacs_dir%/../site-lisp;%emacs_dir%/share/emacs/24.3.50/site-lisp;%emacs_dir%/share/emacs/site-lisp'
>
> then "make install" will try to create these directories *in the build
> tree* (not the installation dir), and do a poor job at it. In the
> above case, after make install the build tree will contain these
> directories:
>
> %emacs_dir%
> site-lisp;%emacs_dir%/share/emacs/24.3.50/site-lisp;%emacs_dir%/share/emacs/site-lisp
>
> "%emacs_dir%" is literal, an unexpanded environment variable.
I removed from nt/INSTALL.MSYS the example that made it sound as if
%emacs_dir% is supported. The other part of the reason that this
didn't work is that you need to separate the directories with a colon
':', not a semi-colon (another mistake in INSTALL.MSYS that I fixed).
Committed as trunk revision 112894.
Supporting these features will require changes in the top-level
Makefile.in; patches welcome. IOW, the rest of this report is a
feature request.
> Makefile.in contains this old note:
>
> ## I'm not sure creating locallisppath here serves any useful purpose.
> ## If it has the default value, then the later write_subdir commands
> ## will ensure all these components exist.
> ## This will only do something if locallisppath has a non-standard value.
> ## Is it really Emacs's job to create those directories?
> ## Should we also be ensuring they contain subdirs.el files?
> ## It would be easy to do, just use write_subdir.
>
> and indeed, I would argue that is not Emacs' job to create them. If
> the user is knowledgeable enough to have to use
> --enable-locallisppath, s/he'll also know enough to make sure the
> directories exist and contain subdirs.el as required.
This is IMO unrelated.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#14576
; Package
emacs
.
(Sat, 08 Jun 2013 15:20:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 14576 <at> debbugs.gnu.org (full text, mbox):
On Sat, Jun 8, 2013 at 5:05 PM, Eli Zaretskii <eliz <at> gnu.org> wrote:
> I removed from nt/INSTALL.MSYS the example that made it sound as if
> %emacs_dir% is supported.
[...]
> This is IMO unrelated.
Obviously our definitions of "supported" and "unrelated" do not agree.
When a user passes --enable-locallisppath, he does it according to its
description
--enable-locallisppath=PATH
directories Emacs should search for lisp files
specific to this site
which talks about directories to search, *not* how/when/by-who are
they created. And passing a local lisp path containing %emacs_dir% is
indeed "supported" in the sense that it works for its stated use (to
search lisp files in the load path).
What does *not* work is make install's poor attempt at creating these
directories, so I really fail to see how can you say that these issues
are unrelated. It's make install's fail the real trouble, not passing
%emacs_dir% to --enable-locallisppath.
> The other part of the reason that this
> didn't work is that you need to separate the directories with a colon
> ':', not a semi-colon (another mistake in INSTALL.MSYS that I fixed).
>
> Committed as trunk revision 112894.
Thanks.
> Supporting these features will require changes in the top-level
> Makefile.in; patches welcome. IOW, the rest of this report is a
> feature request.
You mean "the feature that local lisp paths containing %emacs_dir% are
correctly created"; that's indeed a feature request, just not one I'm
asking for. I'm asking to remove a misfeature.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#14576
; Package
emacs
.
(Sat, 08 Jun 2013 16:45:03 GMT)
Full text and
rfc822 format available.
Message #14 received at 14576 <at> debbugs.gnu.org (full text, mbox):
> From: Juanma Barranquero <lekktu <at> gmail.com>
> Date: Sat, 8 Jun 2013 17:18:50 +0200
> Cc: 14576 <at> debbugs.gnu.org
>
> Obviously our definitions of "supported" and "unrelated" do not agree.
"Supported" means supported by the code that was originally there for
Posix platforms and by the changes I made for using that on Windows.
Obviously, %emacs_dir% was not supported by the former; the changes I
committed support that only in src/epaths.h.
> What does *not* work is make install's poor attempt at creating these
> directories, so I really fail to see how can you say that these issues
> are unrelated. It's make install's fail the real trouble, not passing
> %emacs_dir% to --enable-locallisppath.
If you prefer "partially supported", I agree with that. But partial
support helps only those users who know to look under the hood and do
all kinds of special tricks. For the rest of the users, this partial
support is the same as non-support.
> > Supporting these features will require changes in the top-level
> > Makefile.in; patches welcome. IOW, the rest of this report is a
> > feature request.
>
> You mean "the feature that local lisp paths containing %emacs_dir% are
> correctly created"
Yes, and also the semi-colon usage (if that is what you want to be
supported).
> I'm asking to remove a misfeature.
If by misfeature you mean the part that creates the directories in
locallisppath, then I don't object to that removal. But if it is
removed, it must be removed on all systems, not just on Windows, IMO.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#14576
; Package
emacs
.
(Sat, 08 Jun 2013 16:51:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 14576 <at> debbugs.gnu.org (full text, mbox):
On Sat, Jun 8, 2013 at 6:44 PM, Eli Zaretskii <eliz <at> gnu.org> wrote:
> "Supported" means supported by the code that was originally there for
> Posix platforms and by the changes I made for using that on Windows.
> Obviously, %emacs_dir% was not supported by the former; the changes I
> committed support that only in src/epaths.h.
OK.
> If you prefer "partially supported", I agree with that. But partial
> support helps only those users who know to look under the hood and do
> all kinds of special tricks. For the rest of the users, this partial
> support is the same as non-support.
That partial support would be full support (at least on Windows) if
make install didn't try to create the dirs. That's the only
unsupported aspect, AFAICS.
> Yes, and also the semi-colon usage (if that is what you want to be
> supported).
No, I don't mind that. Using /x/ instead of X: and : instead of ; in
args to the MSYS machinery seems par for the course.
> If by misfeature you mean the part that creates the directories in
> locallisppath, then I don't object to that removal. But if it is
> removed, it must be removed on all systems, not just on Windows, IMO.
Agreed. Now, if the maintainers agree, we could go forward on that...
Reply sent
to
Juanma Barranquero <lekktu <at> gmail.com>
:
You have taken responsibility.
(Thu, 27 Jun 2013 02:04:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Juanma Barranquero <lekktu <at> gmail.com>
:
bug acknowledged by developer.
(Thu, 27 Jun 2013 02:04:02 GMT)
Full text and
rfc822 format available.
Message #22 received at 14576-done <at> debbugs.gnu.org (full text, mbox):
On Sat, Jun 8, 2013 at 5:05 PM, Eli Zaretskii <eliz <at> gnu.org> wrote:
> I removed from nt/INSTALL.MSYS the example that made it sound as if
> %emacs_dir% is supported.
Now that locallisppath does not create directories, I'd suggest
reverting revno:112894 and re-adding the comment about using
%emacs_dir%. It is useful advice.
In fact, I'd go so far as to suggest adding a note about @VER@ (yes,
full of caveats and warnings and whatnot about it being unsupported
and an implementation detail, but still...)
J
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 25 Jul 2013 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 11 years and 333 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.