aboutsummaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README76
1 files changed, 41 insertions, 35 deletions
diff --git a/README b/README
index 1dff417..cfbf3cd 100644
--- a/README
+++ b/README
@@ -1,29 +1,29 @@
-dhcpcd-4 - DHCP client daemon
-Copyright 2006-2008 Roy Marples <roy@marples.name>
+dhcpcd - DHCP client daemon
+Copyright (c) 2006-2010 Roy Marples <roy@marples.name>
Installation
------------
-Edit config.h to match your building requirements.
-Then just make; make install
+./configure; make; make install
man dhcpcd for command line options
+man dhcpcd.conf for configuration options
+man dhcpcd-run-hooks to learn how to hook scripts into dhcpcd events
Notes
-----
-If you're cross compiling you may need to set the below knobs to avoid
-automatic tests.
-OS=BSD | Linux
+If you're cross compiling you may need set the platform if OS is different
+from the host.
+--target=sparc-sun-netbsd5.0
If you're building for an MMU-less system where fork() does not work, you
-should add -DTHERE_IS_NO_FORK to your CPPFLAGS.
+should ./configure --disable-fork.
This also puts the --no-background flag on and stops the --background flag
from working.
-You can change the default dir with these knobs.
+You can change the default dirs with these knobs.
For example, to satisfy FHS compliance you would do this:-
-LIBEXECDIR=/lib/dhcpcd
-DBDIR=/var/lib/dhcpcd
+./configure --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.
@@ -32,39 +32,45 @@ 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.
+Some BSD systems do not allow the manipulation of automatically added subnet
+routes. You can find discussion here:
+ http://mail-index.netbsd.org/tech-net/2008/12/03/msg000896.html
+BSD systems where this has been fixed are:
+ NetBSD-5.0
+
+We try and detect how dhcpcd should interact with system services during the
+configure stage. If we cannot auto-detect how do to this, or it is wrong then
+you can change this by passing shell commands to --service-exists,
+--servicecmd and optionally --servicestatus.
+
+To prepare dhcpcd for import into a platform source tree (like NetBSD)
+you can use the make import target to create /tmp/dhcpcd-$version and
+populate it with all the source files and hooks needed.
+In this instance, you may wish to disable some configured tests when
+the binary has to run on older versions which lack support, such as getline.
+./configure --without-getline
+
Hooks
-----
Not all the hooks in dhcpcd-hooks are installed by default.
-By default we install 01-test, 10-mtu, 20-resolv.conf and 30-hostname.
-To add more simply add them in the HOOKSCRIPTS variable.
-make HOOKSCRIPTS=50-ntp install
+By default we install 01-test, 10-mtu, 20-resolv.conf,
+29-lookup-hostname and 30-hostname.
+The default dhcpcd.conf disables the lookup-hostname hook by default.
+The configure program attempts to find hooks for systems you have installed.
+To add more simply
+./configure -with-hook=ntp.conf
Compatibility
-------------
-If you require compatibility with dhcpcd-3 and older style variables,
-you can install 50-dhcpcd-compat into the directory $LIBEXECDIR/dhcpcd-hooks
-We don't install this by default.
-You should also add -DCMDLINE_COMPAT to your CPPFLAGS 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 no longer sends a default ClientID for ethernet interfaces.
-This is so we can re-use the address the kernel DHCP client found.
-To retain the old behaviour of sending a default ClientID based on the
-hardware address for interface, simply add the keyword clientid to dhcpcd.conf.
-If CMDLINE_COMPAT is defined, we renable the sending of ClientID by default
-AND adding clientid to dhcpcd.conf causes it NOT to be sent.
+dhcpcd-5.0 is only fully command line compatible with dhcpcd-4.0
+For compatibility with older versions, use dhcpcd-4.0
-dhcpcd-4 is NOT fully commandline compatible with dhcpcd-2 and older and
-changes the meaning of some options.
+dhcpcd no longer sends a default ClientID for ethernet interfaces.
+This is so we can re-use the address the kernel DHCP client found.
+To retain the old behaviour of sending a default ClientID based on the
+hardware address for interface, simply add the keyword clientid to dhcpcd.conf.
ChangeLog