NetBSD/dist/dhcpcd
joerg 3dfb9ffd6b Merge e28f0a8f857fad837ac78a93921873361d60747c and
c46587eb3d02a4750d0aaf6e7a0a19f24b3d7fa8:
Correctly handle ARP replies and fix a pointer misuse.
2008-05-26 21:13:59 +00:00
..
hook.d
bpf-filter.h
bpf.c
client.c Merge e28f0a8f857fad837ac78a93921873361d60747c and 2008-05-26 21:13:59 +00:00
client.h
common.c
common.h
config.h
configure.c
configure.h
dhcp.c
dhcp.h
dhcpcd-run-hooks.8.in
dhcpcd-run-hooks.in
dhcpcd.8.in
dhcpcd.c
dhcpcd.conf
dhcpcd.conf.5.in
dhcpcd.h
if-bsd.c
logger.c
logger.h
net.c Merge e28f0a8f857fad837ac78a93921873361d60747c and 2008-05-26 21:13:59 +00:00
net.h
README
signals.c Merge ebdbc57c7f54b27fd8d472cb357c0b533b9a0c2e: 2008-05-26 19:53:56 +00:00
signals.h

dhcpcd-4 - DHCP client daemon
Copyright 2006-2008 Roy Marples <roy@marples.name>


Installation
------------
Edit config.h to match your building requirements.
Then just make; make install
man dhcpcd for command line options


Notes
-----
If you're cross compiling you may need to set the below knobs to avoid
automatic tests.
OS=BSD | Linux

If you're building for a NOMMU system where fork() does not work, you should
add -DTHERE_IS_NO_FORK to your CFLAGS.

You can change the default dir with these knobs.
For example, to satisfy FHS compliance you would do this:-
LIBEXECDIR=/lib/dhcpcd
DBDIR=/var/lib/dhcpcd

We now default to using -std=c99. For 64-bit linux, this always works, but
for 32-bit linux it requires either gnu99 or a patch to asm/types.h.
Most distros patch linux headers so this should work fine.
linux-2.6.24 finally ships with a working 32-bit header.
If your linux headers are older, or your distro hasn't patched them you can
set CSTD=gnu99 to work around this.


Hooks
-----
Not all the hooks in hook.d are installed by default.
By default we install 01-test.sh, 10-resolv.conf.sh and 15-hostname.sh.
To add more simply add them in the HOOKSCRIPTS variable.
make HOOKSCRIPTS=50-ntp.sh install


Compatibility
-------------
If you require compatibility with dhcpcd-3 and older style variables,
you can install 50-dhcpcd-compat.sh into the directory $LIBEXECDIR/dhcpcd.hook.d
We don't install this by default.
You should also add -DCMDLINE_COMPAT to your CFLAGS if you need to be fully
commandline compatible with prior versions.

dhcpcd-3 enabled DUID support by default - this has changed in dhcpcd-4.
You can enable it via the --duid, -D command line option or by using the
duid directive in dhcpcd.conf.
If CMDLINE_COMPAT is defined the we renable DUID support by default IF
the dhcpcd.duid file exits. This keeps the clients working as they were,
which is good.

dhcpcd-4 is NOT fully commandline compatible with dhcpcd-2 and older and
changes the meaning of some options.


ChangeLog
---------
We no longer supply a ChangeLog.
However, you're more than welcome to read the git commit comments at
http://git.marples.name/?p=dhcpcd/.git;a=summary