migrate from 3.0 to 4.1

Jeffrey Hutzelman jhutz at cmu.edu
Fri Apr 4 17:29:57 UTC 2008


--On Thursday, April 03, 2008 08:33:49 AM -0700 "David W. Hankins" 
<David_Hankins at isc.org> wrote:

> On Fri, Apr 04, 2008 at 12:56:41AM +1100, Glenn Satchell wrote:
>> CFLAGS='-O -DUSE_SOCKETS
>> -D_PATH_DHCPD_CONF=\"/usr/local/etc/dhcpd.conf\"' \ ./configure \
>>     --prefix=/usr/local \
>>     --sysconfdir=/usr/local/etc \
>>     --datarootdir=/usr/local \
>>     --localstatedir=/var \
>>     --with-srv-lease-file=/var/lib/dhcp/dhcpd.leases
>
> by default, 4.0 finds /usr/local/var as localstatedir, and tries to
> put dhcpd.leases in /usr/local/var/lib/dhcp/dhcpd.leases (or something
> like that).  i thought this was pretty useless so i mucked with 4.1 to
> make it find the old lease files (/var/lib, /var/state, /var/db, /etc
> on those solarises).
>
> now after watching someone 'make install' happily into /usr/local and
> not over-writing their production dhcpd on /usr, they said "wait, will
> this testing/experiment daemon use the same dhcpd.leases as my
> production one?"
>
> it seems to me like "what will make install do on 4.1" is maybe an
> awfully hazy picture now, and perhaps i should rethink this idea.
>
> but /usr/local/var is pretty silly.  no one has that.  maybe a
> /usr/local/share/dhcp or something?

My take on this is that sysconfdir and localstatedir should always default 
to /etc and /var, respectively, and never to something based on the prefix. 
Neither the location of system-wide configuration files nor the location of 
"local" (not part of a shared filesystem) writable storage is a function of 
where you happened to decide to install the software.

-- Jeffrey T. Hutzelman (N3NHS) <jhutz+ at cmu.edu>
   Carnegie Mellon University - Pittsburgh, PA



More information about the dhcp-users mailing list