

udev is a runtime dependency but it is configured at build time to remove a necessity to
manage yet another configuration option.

udev support is off by default because udev has a bad habit of identifying some clearly
external volumes as internal[1].

[1]https://wiki.archlinux.org/index.php/udev#Mark_internal_SATA_ports_as_eSATA

If udev support is off,volumes with entries only in /etc/fstab and /etc/crypttab will be
considered as system volumes.Section 6 of the FAQ has more information on additional
ways to make volumes be considered as system.

if udev support is on,udev will be consulted before a decision is being when if a volume
is to be considered system or not.Section 7 of the FAQ has more information on how to remove
a volume of a list of system volumes.

I recommend disabling udev support if you are building zuluCrypt for your own use and you have all your
internal volumes mentioned either in fstab or crypttab.

I recommend enabling udev support if you are packaging for distribution or if you dont use
/etc/fstab or /etc/crypttab as a central place to manage system volumes.

To build with udev support add "-DUDEVSUPPORT=true" to cmake option list.

Example build steps to build with udev support

cd $SRC
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/ -DUDEVSUPPORT=true -DCMAKE_BUILD_TYPE=RELEASE . ..
make
make install
