summaryrefslogtreecommitdiff
path: root/BUILDING.md
diff options
context:
space:
mode:
Diffstat (limited to 'BUILDING.md')
-rw-r--r--BUILDING.md29
1 files changed, 29 insertions, 0 deletions
diff --git a/BUILDING.md b/BUILDING.md
index 8b4e1ceae092..18615397600c 100644
--- a/BUILDING.md
+++ b/BUILDING.md
@@ -2,6 +2,17 @@
This attempts to document various ways of building dhcpcd for your
platform.
+`./configure` is a POSIX shell script that works in a similar way
+to GNU configure.
+This works fine provided you don't force any exotic options down
+which may or may not be silently discarded.
+
+Some build time warnings are expected - the only platforms with zero
+warnings are DragonFlyBSD and NetBSD.
+It is expected that the platforms be improvded to support dhcpcd
+better.
+There maybe some loss of functionality, but for the most part,
+dhcpcd can work around these deficiencies.
## Size is an issue
To compile small dhcpcd, maybe to be used for installation media where
@@ -109,6 +120,16 @@ so don't set either `ipv6ra_own` or `slaac private` in `dhcpcd.conf` if you
want to have working IPv6 temporary addresses.
SLAAC private addresses are just as private, just stable.
+Linux SECCOMP is very dependant on libc vs kernel.
+When libc is changed and uses a syscall that dhcpcd is unaware of,
+SECCOMP may break dhcpcd.
+When this happens you can configure dhcpcd with --disable-seccomp
+so dhcpcd can use a POSIX resource limited sandbox with privilege separation
+still. If you do this, please report the issue so that we can adjust the
+SECCOMP filter so that dhcpcd can use SECCOMP once more.
+Or convince the libc/kernel people to adpot something more maintainable
+like FreeBSD's capsicum or OpenBSD's pledge.
+
## Init systems
We try and detect how dhcpcd should interact with system services at runtime.
If we cannot auto-detect how do to this, or it is wrong then
@@ -129,6 +150,14 @@ You can disable this with `--without-dev`, or `without-udev`.
NOTE: in Gentoo at least, `sys-fs/udev` as provided by systemd leaks memory
`sys-fs/eudev`, the fork of udev does not and as such is recommended.
+## crypto
+dhcpcd ships with some cryptographic routines taken from various upstreams.
+These are routinely monitored and try to be as up to date as possible.
+You can optionally configure dhcpcd with `--with-openssl` to use libcrypto
+to use these instead.
+This is not enabled by default, even if libcrypto is found because libcrypto
+generally lives in /usr and dhcpcd in /sbin which could be a separate
+filesystem.
## Importing into another source control system
To import the full sources, use the import target.