[Home]

Summary:ASTERISK-06872: [branch] define paths in a more autoconf-friendly way
Reporter:Jeffrey C. Ollie (jcollie)Labels:
Date Opened:2006-04-29 00:50:13Date Closed:2006-05-25 17:06:44
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) 7057.defaults_h.FreeBSD
Description:You can specify a number of command line switches to "./configure" to fine-tune where files get installed (see below).  The Asterisk build system currently does not use any of them except --prefix which is used in a way that will likely confuse users used to configure scripts from other packages.  For example, if you run "./configure --prefix=/usr" modules will end up being installed in /usr/usr/lib/aserisk/modules, which likely isn't what the user was expecting.  Attached is a patch that uses these switches to define where files get installed.

 --bindir=DIR           user executables [EPREFIX/bin]
 --sbindir=DIR          system admin executables [EPREFIX/sbin]
 --libexecdir=DIR       program executables [EPREFIX/libexec]
 --datadir=DIR          read-only architecture-independent data [PREFIX/share]
 --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]
 --infodir=DIR          info documentation [PREFIX/info]
 --mandir=DIR           man documentation [PREFIX/man]
Comments:By: Russell Bryant (russell) 2006-05-02 17:05:35

If you use this patch witout specifying any of the options, the paths become ...

 ASTETCDIR=/usr/etc/asterisk
 ASTLIBDIR=/asterisk
 ASTVARLIBDIR=/usr/var/lib/asterisk
 ASTSPOOLDIR=/usr/var/spool/asterisk
 ASTLOGDIR=/usr/var/log/asterisk
 ASTHEADERDIR=/usr/include/asterisk
 ASTBINDIR=/usr/bin
 ASTSBINDIR=/usr/sbin
 ASTVARRUNDIR=/usr/var/run
 ASTMANDIR=/usr/man

This is quite different that what we are using now ...

By: Jeffrey C. Ollie (jcollie) 2006-05-02 21:41:22

I've uploaded a patch that should get the defaults back to the way they were.

By: Jeffrey C. Ollie (jcollie) 2006-05-03 07:33:47

New patch with some of the stuff from IRC discussion fixed.

By: Jeffrey C. Ollie (jcollie) 2006-05-11 10:36:52

Branch asterisk/team/jcollie/bug7057 opened to maintain this patch.

By: Russell Bryant (russell) 2006-05-19 13:55:56

added to the trunk in revision 28747, thanks!

By: Russell Bryant (russell) 2006-05-25 09:39:31

This patch did not preserve the default paths for FreeBSD.  See the attached file to see what defaults.h should be and what it really is.

By: Jeffrey C. Ollie (jcollie) 2006-05-25 10:35:24

I've reopened the asterisk/team/jcollie/bug7057 branch and committed a fix that seems to do the job...

By: Russell Bryant (russell) 2006-05-25 11:03:33

Not quite .... here is the current defaults.h.  Please compare this to the one in the file I posted.

/*
* defaults.h
* Automatically generated
*/
#define AST_CONFIG_DIR "/usr/local/etc/asterisk"
#define AST_RUN_DIR    "/var/run"
#define AST_SOCKET     "/var/run/asterisk.ctl"
#define AST_PID        "/var/run/asterisk.pid"
#define AST_MODULE_DIR "/usr/local/lib/asterisk/modules"
#define AST_SPOOL_DIR  "/var/spool/asterisk"
#define AST_VAR_DIR    "/var/lib/asterisk"
#define AST_DATA_DIR   "/var/lib/asterisk"
#define AST_LOG_DIR    "/var/log/asterisk"
#define AST_AGI_DIR    "/var/lib/asterisk/agi-bin"
#define AST_KEY_DIR    "/var/lib/asterisk/keys"
#define AST_DB         "/var/lib/asterisk/astdb"
#define AST_TMP_DIR    "/var/spool/asterisk/tmp"

#define AST_CONFIG_FILE "/usr/local/etc/asterisk/asterisk.conf"

#define AST_SOUNDS     "/var/lib/asterisk/sounds"
#define AST_IMAGES     "/var/lib/asterisk/images"

By: Jeffrey C. Ollie (jcollie) 2006-05-25 16:06:02

Ok, try it now...

By: Russell Bryant (russell) 2006-05-25 17:06:43

fixed in the trunk, thanks!!