[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
$prefix/info -> $prefix/share/info
From: |
Bruno Haible |
Subject: |
$prefix/info -> $prefix/share/info |
Date: |
Mon, 18 Dec 2006 14:47:56 +0100 |
User-agent: |
KMail/1.9.1 |
Hi,
For several years already, the GNU coding standards and the Linux
Filesystem Hierarchy Standard specify that 'info' files should be installed
in $prefix/share/info rather than in $prefix/info. The rationale is and was
that 'info' files are not platform dependent.
Since autoconf-2.60 was released 6 months ago, it is easy to actually
implement this.
But Emacs-22.0.90 still installs into $prefix/info.
To follow the above cited standards, the following recipe can be used:
1) Regenerate the 'configure' file with autoconf-2.60 or -2.61. An
invocation of 'autoconf' is all that's needed.
2) Apply this patch. I've verified that with this patch, Emacs installs its
manuals into $prefix/share/info and that the info mode finds them there.
2006-12-17 Bruno Haible <address@hidden>
* INSTALL: Mention /usr/local/share/info instead of /usr/local/info.
* etc/emacs.1: Likewise.
* src/epaths.in (PATH_INFO): Likewise.
* nt/paths.h (PATH_INFO): Likewise.
* lisp/paths.el (Info-default-directory-list): Put "share/" before "",
before new info files will be installed in share/info.
* lisp/info.el (Info-default-dirs): Look in $prefix/share/info instead
of $prefix/info.
* lisp/w32-fns.el (w32-init-info): Likewise.
diff -r -c3 --exclude=configure emacs-22.0.90.orig/INSTALL emacs-22.0.90/INSTALL
*** emacs-22.0.90.orig/INSTALL 2006-07-09 22:52:09.000000000 +0200
--- emacs-22.0.90/INSTALL 2006-11-15 02:43:49.000000000 +0100
***************
*** 494,503 ****
useful for sites at which different kinds of machines
share the file system Emacs is installed on.
! `/usr/local/info' holds the on-line documentation for Emacs, known as
! "info files". Many other GNU programs are documented
! using info files as well, so this directory stands
! apart from the other, Emacs-specific directories.
`/usr/local/man/man1' holds the man pages for the programs installed
in `/usr/local/bin'.
--- 494,504 ----
useful for sites at which different kinds of machines
share the file system Emacs is installed on.
! `/usr/local/share/info' holds the on-line documentation for Emacs,
! known as "info files". Many other GNU programs are
! documented using info files as well, so this directory
! stands apart from the other, Emacs-specific
! directories.
`/usr/local/man/man1' holds the man pages for the programs installed
in `/usr/local/bin'.
***************
*** 523,530 ****
information on this.
8) Check the file `dir' in your site's info directory (usually
! /usr/local/info) to make sure that it has a menu entry for the Emacs
! info files.
9) If your system uses lock files to interlock access to mailer inbox files,
then you might need to make the movemail program setuid or setgid
--- 524,531 ----
information on this.
8) Check the file `dir' in your site's info directory (usually
! /usr/local/share/info) to make sure that it has a menu entry for the
! Emacs info files.
9) If your system uses lock files to interlock access to mailer inbox files,
then you might need to make the movemail program setuid or setgid
***************
*** 590,596 ****
installed on.
`infodir' indicates where to put the info files distributed with
! Emacs; it defaults to `/usr/local/info'.
`mandir' indicates where to put the man pages for Emacs and its
utilities (like `etags'); it defaults to
--- 591,597 ----
installed on.
`infodir' indicates where to put the info files distributed with
! Emacs; it defaults to `/usr/local/share/info'.
`mandir' indicates where to put the man pages for Emacs and its
utilities (like `etags'); it defaults to
diff -r -c3 --exclude=configure emacs-22.0.90.orig/etc/emacs.1
emacs-22.0.90/etc/emacs.1
*** emacs-22.0.90.orig/etc/emacs.1 2006-02-07 23:37:19.000000000 +0100
--- emacs-22.0.90/etc/emacs.1 2006-11-15 02:50:24.000000000 +0100
***************
*** 431,437 ****
manual is also included in the Emacs source distribution.
.PP
.SH FILES
! /usr/local/info - files for the Info documentation browser
(a subsystem of Emacs) to refer to. Currently not much of Unix
is documented here, but the complete text of the Emacs reference
manual is included in a convenient tree structured form.
--- 431,437 ----
manual is also included in the Emacs source distribution.
.PP
.SH FILES
! /usr/local/share/info - files for the Info documentation browser
(a subsystem of Emacs) to refer to. Currently not much of Unix
is documented here, but the complete text of the Emacs reference
manual is included in a convenient tree structured form.
diff -r -c3 --exclude=configure emacs-22.0.90.orig/lisp/info.el
emacs-22.0.90/lisp/info.el
*** emacs-22.0.90.orig/lisp/info.el 2006-09-07 22:45:50.000000000 +0200
--- emacs-22.0.90/lisp/info.el 2006-11-15 03:17:11.000000000 +0100
***************
*** 463,474 ****
(expand-file-name "info/" installation-directory)
(if invocation-directory
(let ((infodir (expand-file-name
! "../info/"
invocation-directory)))
(if (file-exists-p infodir)
infodir
(setq infodir (expand-file-name
! "../../../info/"
invocation-directory))
(and (file-exists-p infodir)
infodir))))))
--- 463,474 ----
(expand-file-name "info/" installation-directory)
(if invocation-directory
(let ((infodir (expand-file-name
! "../share/info/"
invocation-directory)))
(if (file-exists-p infodir)
infodir
(setq infodir (expand-file-name
! "../../../share/info/"
invocation-directory))
(and (file-exists-p infodir)
infodir))))))
diff -r -c3 --exclude=configure emacs-22.0.90.orig/lisp/paths.el
emacs-22.0.90/lisp/paths.el
*** emacs-22.0.90.orig/lisp/paths.el 2006-09-04 19:36:11.000000000 +0200
--- emacs-22.0.90/lisp/paths.el 2006-11-15 03:21:39.000000000 +0100
***************
*** 68,74 ****
(suffixes
;; Subdirectories in each directory tree that may contain info
;; directories.
! '("" "share/" "gnu/" "gnu/lib/" "gnu/lib/emacs/"
"emacs/" "lib/" "lib/emacs/"))
(standard-info-dirs
(apply #'nconc
--- 68,74 ----
(suffixes
;; Subdirectories in each directory tree that may contain info
;; directories.
! '("share/" "" "gnu/" "gnu/lib/" "gnu/lib/emacs/"
"emacs/" "lib/" "lib/emacs/"))
(standard-info-dirs
(apply #'nconc
***************
*** 81,87 ****
dirs
(prune-directory-list dirs config))))
prefixes))))
! ;; If $(prefix)/info is not one of the standard info directories,
;; they are probably installing an experimental version of Emacs,
;; so make sure that experimental version's Info files override
;; the ones in standard directories.
--- 81,87 ----
dirs
(prune-directory-list dirs config))))
prefixes))))
! ;; If $(prefix)/share/info is not one of the standard info directories,
;; they are probably installing an experimental version of Emacs,
;; so make sure that experimental version's Info files override
;; the ones in standard directories.
diff -r -c3 --exclude=configure emacs-22.0.90.orig/lisp/w32-fns.el
emacs-22.0.90/lisp/w32-fns.el
*** emacs-22.0.90.orig/lisp/w32-fns.el 2006-02-07 23:37:28.000000000 +0100
--- emacs-22.0.90/lisp/w32-fns.el 2006-11-15 03:18:14.000000000 +0100
***************
*** 205,212 ****
;;; that configuration during build time is correct for runtime.
(defun w32-init-info ()
(let* ((instdir (file-name-directory invocation-directory))
! (dir1 (expand-file-name "../info/" instdir))
! (dir2 (expand-file-name "../../../info/" instdir)))
(if (file-exists-p dir1)
(setq Info-default-directory-list
(append Info-default-directory-list (list dir1)))
--- 205,212 ----
;;; that configuration during build time is correct for runtime.
(defun w32-init-info ()
(let* ((instdir (file-name-directory invocation-directory))
! (dir1 (expand-file-name "../share/info/" instdir))
! (dir2 (expand-file-name "../../../share/info/" instdir)))
(if (file-exists-p dir1)
(setq Info-default-directory-list
(append Info-default-directory-list (list dir1)))
diff -r -c3 --exclude=configure
emacs-22.0.90.orig/lispintro/emacs-lisp-intro.texi
emacs-22.0.90/lispintro/emacs-lisp-intro.texi
*** emacs-22.0.90.orig/lispintro/emacs-lisp-intro.texi 2006-08-24
21:12:48.000000000 +0200
--- emacs-22.0.90/lispintro/emacs-lisp-intro.texi 2006-11-15
02:58:08.000000000 +0100
***************
*** 88,94 ****
@c After creating the Info file, edit your Info `dir' file, if the
@c `dircategory' section below does not enable your system to
@c install the manual automatically.
! @c (The `dir' file is often in the `/usr/local/info/' directory.)
@c ================ How to Create an HTML file ================
--- 88,94 ----
@c After creating the Info file, edit your Info `dir' file, if the
@c `dircategory' section below does not enable your system to
@c install the manual automatically.
! @c (The `dir' file is often in the `/usr/local/share/info/' directory.)
@c ================ How to Create an HTML file ================
diff -r -c3 --exclude=configure emacs-22.0.90.orig/nt/paths.h
emacs-22.0.90/nt/paths.h
*** emacs-22.0.90.orig/nt/paths.h 2006-02-07 23:37:40.000000000 +0100
--- emacs-22.0.90/nt/paths.h 2006-11-15 02:54:58.000000000 +0100
***************
*** 55,61 ****
/* Where the configuration process believes the info tree lives. The
lisp variable configure-info-directory gets its value from this
macro, and is then used to set the Info-default-directory-list. */
! /* #define PATH_INFO "/usr/local/info" */
#define PATH_INFO "C:/emacs/info"
/* arch-tag: f6d46f3c-e1e9-436b-8629-edcaf6597973
--- 55,61 ----
/* Where the configuration process believes the info tree lives. The
lisp variable configure-info-directory gets its value from this
macro, and is then used to set the Info-default-directory-list. */
! /* #define PATH_INFO "/usr/local/share/info" */
#define PATH_INFO "C:/emacs/info"
/* arch-tag: f6d46f3c-e1e9-436b-8629-edcaf6597973
diff -r -c3 --exclude=configure emacs-22.0.90.orig/src/epaths.in
emacs-22.0.90/src/epaths.in
*** emacs-22.0.90.orig/src/epaths.in 2006-02-07 23:37:42.000000000 +0100
--- emacs-22.0.90/src/epaths.in 2006-11-15 02:56:16.000000000 +0100
***************
*** 52,58 ****
/* Where the configuration process believes the info tree lives. The
lisp variable configure-info-directory gets its value from this
macro, and is then used to set the Info-default-directory-list. */
! #define PATH_INFO "/usr/local/info"
/* Where Emacs should store game score files. */
#define PATH_GAME "/usr/local/var/games/emacs"
--- 52,58 ----
/* Where the configuration process believes the info tree lives. The
lisp variable configure-info-directory gets its value from this
macro, and is then used to set the Info-default-directory-list. */
! #define PATH_INFO "/usr/local/share/info"
/* Where Emacs should store game score files. */
#define PATH_GAME "/usr/local/var/games/emacs"
- $prefix/info -> $prefix/share/info,
Bruno Haible <=