[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: libexecdir/datadir used incorrectly
From: |
Alfred M. Szmidt |
Subject: |
Re: libexecdir/datadir used incorrectly |
Date: |
Tue, 08 Feb 2005 22:42:39 +0100 |
Is this (original text) correct for datadir?
... write it as @file{$(datarootdir)}. (If you are using Autoconf,
write it as @samp{@@datadir@@}.)
The discrepancy seems odd to me. Should it be @address@hidden
No, @datadir@ gets changed to $(datarootdir) by autoconf/automake.
Also, if it was @datarootdir@, then you would need --datarootdir=FOO
to change datadir; which is kinda wrong...
Comments inlined (I really feel like a chicken that is picking on
anything that can be picked on).
*** make-stds.texi 28 Jan 2005 01:34:13 -0000 1.38
--- make-stds.texi 8 Feb 2005 21:19:41 -0000
***************
*** 293,301 ****
Installation directories should always be named by variables, so it is
easy to install in a nonstandard place. The standard names for these
! variables are described below. They are based on a standard filesystem
! layout; variants of it are used in SVR4, 4.4BSD, GNU/Linux, Ultrix v4,
! and other modern operating systems.
These two variables set the root for the installation. All the other
installation directories should be subdirectories of one of these two,
--- 293,310 ----
Installation directories should always be named by variables, so it is
easy to install in a nonstandard place. The standard names for these
! variables and the values they should have in GNU packages are
! described below. They are based on a standard filesystem layout;
! variants of it are used in SVR4, 4.4BSD, GNU/Linux, Ultrix v4, and
! other modern operating systems.
!
! Installers are expected to override these values when calling
! @command{make} (e.g., @code{make prefix=/usr install} or
! @command{configure} (e.g., @code{configure --prefix=/usr}). GNU
! packages should not try to guess which value should be appropriate for
! these variables on the system they are being installed onto: use the
! default settings specified here so that all GNU package behave
! identically, allowing the installer to achieve any desired layout.
These two variables set the root for the installation. All the other
installation directories should be subdirectories of one of these two,
***************
*** 355,360 ****
--- 364,373 ----
programs rather than by users. This directory should normally be
@file{/usr/local/libexec}, but write it as @file{$(exec_prefix)/libexec}.
(If you are using Autoconf, write it as @samp{@@libexecdir@@}.)
+
+ The definition of @samp{libexecdir} is the same for all packages, so you
+ should install your data in a subdirectory thereof. Most packages
+ install their data under @file{$(libexecdir)/@var{package-name}/}.
This is actually wrong (but only for libexecdir), most packages
install under:
$(libexecdir)/PACKAGE/MACHINE/VERSION/
if they install in a subdirectory in /libexec (emacs, and gcc are
prime examples). MACHINE is the GNU machine tripple.
$(pkglibexecdir), does automake have something like that? If it does
it should be noted, if not, it should be added to automake and be
noted in the GCS.
@end table
Data files used by the program during its execution are divided into
***************
*** 391,403 ****
The directory for installing idiosyncratic read-only
architecture-independent data files for this program. This is usually
the same place as @samp{datarootdir}, but we use the two separate
! variables so that you can move these idiosyncratic files without
altering the location for Info files, man pages, etc.
! The default definition of @samp{datadir} should be
@file{$(datarootdir)}. (If you are using Autoconf, write it as
@samp{@@datadir@@}.)
@item sysconfdir
The directory for installing read-only data files that pertain to a
single machine--that is to say, files for configuring a host. Mailer
--- 404,420 ----
The directory for installing idiosyncratic read-only
architecture-independent data files for this program. This is usually
the same place as @samp{datarootdir}, but we use the two separate
! variables so that you can move these program-specific files without
altering the location for Info files, man pages, etc.
! This should normally be @file{/usr/local/share}, but write it as
@file{$(datarootdir)}. (If you are using Autoconf, write it as
@samp{@@datadir@@}.)
+ The definition of @samp{datadir} is the same for all packages, so you
+ should install your data in a subdirectory thereof. Most packages
+ install their data under @file{$(datadir)/@var{package-name}/}.
I would add the following to the above paragraph (I think it is
automake that provides this, not autoconf):
(If you are using Automake, write it as $(pkgdatadir).)
+
@item sysconfdir
The directory for installing read-only data files that pertain to a
single machine--that is to say, files for configuring a host. Mailer
- Re: libexecdir/datadir used incorrectly, (continued)
- Re: libexecdir/datadir used incorrectly, Alfred M. Szmidt, 2005/02/07
- Re: libexecdir/datadir used incorrectly, Karl Berry, 2005/02/07
- Re: libexecdir/datadir used incorrectly, Alfred M. Szmidt, 2005/02/07
- Re: libexecdir/datadir used incorrectly, Alexandre Duret-Lutz, 2005/02/08
- Re: libexecdir/datadir used incorrectly, Alfred M. Szmidt, 2005/02/08
- Re: libexecdir/datadir used incorrectly, Karl Berry, 2005/02/08
- Re: libexecdir/datadir used incorrectly,
Alfred M. Szmidt <=
- Re: libexecdir/datadir used incorrectly, Alexandre Duret-Lutz, 2005/02/08
- Re: libexecdir/datadir used incorrectly, Alfred M. Szmidt, 2005/02/08
- Re: libexecdir/datadir used incorrectly, Alexandre Duret-Lutz, 2005/02/08
- Re: libexecdir/datadir used incorrectly, Bruce Korb, 2005/02/08
- Re: libexecdir/datadir used incorrectly, Eli Zaretskii, 2005/02/09
- Re: libexecdir/datadir used incorrectly, Alfred M. Szmidt, 2005/02/09
- Re: libexecdir/datadir used incorrectly, Eli Zaretskii, 2005/02/09
- Re: libexecdir/datadir used incorrectly, Alfred M. Szmidt, 2005/02/09
- Re: libexecdir/datadir used incorrectly, Chris F.A. Johnson, 2005/02/09
- Re: libexecdir/datadir used incorrectly, Eli Zaretskii, 2005/02/09