Opened 20 years ago
Closed 20 years ago
#1939 closed task (fixed)
Emacs libexecdir setting
| Reported by: | Randy McMurchy | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | 6.2.0 |
| Component: | BOOK | Version: | SVN |
| Severity: | medium | Keywords: | |
| Cc: |
Description
Could someone that knows anything about Emacs see if the libexecdir setting of /usr/sbin is correct? What files are installed there because of it?
There is a very old bug I'd like to close about examining all the instances of libexecdir=/usr/sbin and Emacs is the only package that is outstanding.
This bug can be closed if we cannot get an answer, but that would be a shame as it would be the only one not checked out.
Additionally, it would be nice if the libexecdir setting was explained in the command explanations.
Change History (3)
comment:1 by , 20 years ago
comment:2 by , 20 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
Doing a test build with:
BUILDDIR=/tmp/emacs ./configure --prefix=$BUILDDIR/install/usr && make bootstrap && make install
then ls /tmp/emacs/install/usr gives:
bin info libexec man share
ls -R /tmp/emacs/install/usr/libexec gives
/tmp/emacs/install/usr/libexec: emacs /tmp/emacs/install/usr/libexec/emacs: 21.4 /tmp/emacs/install/usr/libexec/emacs/21.4: i686-pc-linux-gnu /tmp/emacs/install/usr/libexec/emacs/21.4/i686-pc-linux-gnu: cvtmail emacsserver fns-21.4.1.el movemail rcs2log vcdiff digest-doc fakemail hexl profile sorted-doc yow
/usr/libexec is clearly not IAW the FHS.
We still need --libexecdir=something
Seems like it should be /usr/lib
I'll go ahead and change it.

From what I can tell, the only useful thing libexecdir does is set the base location for archlibdir. That's why the current page has the directory /usr/sbin/emacs. However, this looks wrong. From lib-src/Makefile.in:
/* Install the internal utilities. Until they are installed, we can just run them directly from lib-src. */ ${archlibdir}: all @echo @echo "Installing utilities run internally by Emacs." $(top_srcdir)/mkinstalldirs ${archlibdir} if [ `(cd ${archlibdir} && /bin/pwd)` != `/bin/pwd` ]; then \ for file in ${UTILITIES}; do \ $(INSTALL_PROGRAM) $(INSTALL_STRIP) $$file ${archlibdir}/$$file ; \ done ; \ fiThose binaries are only intended to be run internally. Probably would be better with --libexecdir=/usr/lib since /emacs is tacked on automatically for archlibdir in configure.