[Home]

Summary:ASTERISK-12395: ./configure --prefix=/usr/local fails to set sysconfdir properly.
Reporter:Paul Belanger (pabelanger)Labels:
Date Opened:2008-07-16 19:20:04Date Closed:2008-07-30 16:34:11
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/BuildSystem
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:According to './configure --help'

---
...
Fine tuning of the installation directories:
 --bindir=DIR           user executables [EPREFIX/bin]
 --sbindir=DIR          system admin executables [EPREFIX/sbin]
 --libexecdir=DIR       program executables [EPREFIX/libexec]
 --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
...
...
---
The sysconfdir should take [PREFIX/etc] by default.  So, I can assume if prefix is not set, sysconfdir=/etc

but if we run './configure --prefix=/usr/local', it should be sysconfdir=/usr/local/etc.

In makeopts we see:

sysconfdir = /etc

I believe it should be:

sysconfdir = ${prefix}/etc

****** ADDITIONAL INFORMATION ******

prefix = /usr/local
exec_prefix = ${prefix}

bindir = ${exec_prefix}/bin
datarootdir = ${prefix}/share
datadir = ${datarootdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localstatedir = /var
mandir = ${datarootdir}/man
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
sysconfdir = /etc
Comments:By: Paul Belanger (pabelanger) 2008-07-16 19:22:54

This ofcourse causes a problem when --prefix is not set.  As the default value it '--prefix=/usr'.  And we don't want sysconfdir in /usr by default.

Of course, this could just be a typo from './configure --help'

By: Digium Subversion (svnbot) 2008-07-30 14:39:11

Repository: asterisk
Revision: 134536

U   branches/1.4/configure
U   branches/1.4/configure.ac

------------------------------------------------------------------------
r134536 | tilghman | 2008-07-30 14:39:10 -0500 (Wed, 30 Jul 2008) | 4 lines

Only override sysconfdir and mandir when prefix=/usr
(closes issue ASTERISK-12395)
Reported by: pabelanger

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=134536

By: Jason Parker (jparker) 2008-07-30 16:12:45

This is not correct.

At the point where it does this checking, ${prefix} evaluates to NONE if you did not specify --prefix, which means that ${sysconfdir} will still be ${prefix}/etc (which would be /usr/etc, which is a bit silly)

How about something like: test ${prefix} = ${ac_default_prefix} -o ${prefix} = 'NONE' ?

Also, what about ${localstatedir}?  Should that always be /var?

By: Paul Belanger (pabelanger) 2008-07-30 16:34:09

qwell: According to --help it should also have the {prefix} ability.

---
Fine tuning of the installation directories:
 --bindir=DIR           user executables [EPREFIX/bin]
 --sbindir=DIR          system admin executables [EPREFIX/sbin]
 --libexecdir=DIR       program executables [EPREFIX/libexec]
 --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
 --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
 --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
 --libdir=DIR           object code libraries [EPREFIX/lib]
 --includedir=DIR       C header files [PREFIX/include]
 --oldincludedir=DIR    C header files for non-gcc [/usr/include]
 --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
 --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
 --infodir=DIR          info documentation [DATAROOTDIR/info]
 --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
 --mandir=DIR           man documentation [DATAROOTDIR/man]
 --docdir=DIR           documentation root [DATAROOTDIR/doc/asterisk]
 --htmldir=DIR          html documentation [DOCDIR]
 --dvidir=DIR           dvi documentation [DOCDIR]
 --pdfdir=DIR           pdf documentation [DOCDIR]
 --psdir=DIR            ps documentation [DOCDIR]

By: Tilghman Lesher (tilghman) 2008-07-30 16:34:09

Fixed in SVN.