doc: clarify the scope of the project
test/Makefile.am: fix tests for make distcheck

At several points in the forked code, top_srcdir and top_builddir
are mixed up.  It is not clear if this is an upstream bug or if this
is a result of the initial restructuring of the build system.  This
commit addresses this issue for tests triggered during make distcheck.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Reintroduce keymaps build and test

This commit reintroduces code to

 1) build src/keymap
 2) test keymap/Makefile.am that it has all the key maps listed
 3) test that all the key names in keymap/* are in <linux/input.h>
 4) do a syntax check on rules/*.rules which now includes
    95-keymap.rules and 95-keyboard-force-release.rules

For #4, the regex expressions in rule-syntax-check.py had to be
updated.  They do not allow trailing comments via # comment, and
I did not include that.  A rule in 95-keymap.rules had to have its
comment moved from the end to another line.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Fix NULL pointer deference in udev_hwdb_get_properties_list_entry

It is possible for udev_hwdb_get_properties_list_entry to be invoked
during udevd initialization before hwdb has been initialized. We
workaround that for now by introducing a check to handle that.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Commit-message-by: Richard Yao <ryao@gentoo.org>
udev: add /lib/udev/rules.d to rules directories

This adds /lib if split-usr is enabled
to the directories where udev searches for rules.d.

This is needed if split-usr is enabled because some software still
installs rules in /lib/udev/rules.d.

Signed-off-by: Richard Yao <ryao@gentoo.org>
udev: allow helpers to be in /lib/udev

Signed-off-by: Richard Yao <ryao@gentoo.org>
Fixed a syntax error
Make udevlibexecdir be substituted out of configure and assigned ${rootlibdir}/udev instead of ${root}/lib/udev
configure.ac: change package name to eudev

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Fix keymap test during make distcheck

The keys/keymap test preformed by src/keymap/check-keymaps.sh must
find both keys.txt and the keymap directory.  When building out of
the source tree, eg when doing `make distcheck`, these are located
at ${top_builddir}/src/keymap/keys.txt and ${top_srcdir}/keymap/,
respectively.  This patch fixes the build so that these are now
correctly found.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Remove user-visible systemd references from man pages

Signed-off-by: Richard Yao <ryao@gentoo.org>
Introduce execute_command

This is useful in situations where we do not have builtins avaiable.

Signed-off-by: Richard Yao <ryao@gentoo.org>
Reintroduce blkid-kmod

This opens the door to using disabling the use of kmod from autotools.

Signed-off-by: Richard Yao <ryao@gentoo.org>
Use libkmod only when requested

We support module loading through modprobe when libkmod is neither
available nor wanted.

Signed-off-by: Richard Yao <ryao@gentoo.org>
Permit users to disable module loading support

Inspired by e30431623a7d871da123cc37055ac49abf2c20ea from systemd.

Signed-off-by: Richard Yao <ryao@gentoo.org>
Fix build failure with --enable-gudev

The directory containing libudev.h was absent from search paths provided
to the preprocessor.

Signed-off-by: Richard Yao <ryao@gentoo.org>
Remove undeeded macros from m4 directory

The acx_libwrap.m4 and attributes.m4 were used for checks related
to libwrap and compile attribute/flags, respectively.  Since these
have been removed from the build system, they are left over lint.

Files can be retrieved by

 git checkout ddfb9b07df -- <filename>

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
configure.ac: clean up GTK_DOC_CHECK

The GTK_DOC_CHECK macro includes AC_ARG_ENABLE/AS_HELP_STRING etc
for --enable-gtk-doc and there is no need for a second check.

One caveat should be noted: GTK_DOC_CHECK must begin the line for
gtkdocize to recognize its presense in configure.ac.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
configure.ac: remove unecessary check for python

The original checks for python were to build some man pages and
for systemd-python.  These checks are no longer relevant.  There
still is a dependency on python for tests but this is checked by
test/rules-test.sh which tests for python or skips.  Also, there
is a dependency on perl for both tests and hwdb.  These checks can
be reintroduced at a future date when re revisit both.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Consolidate configuration of all installation paths into configure.ac

The configuration of the installation paths for various components
was scattered between the main configure.ac file and the various
Makefile.am's.  These components are: udev config file, hwdb, keymaps
and force-release keymaps and the rules.  This commit consolidates
them all into one point in configure.ac and anticipates the inclusion
of new AM_CPPFLAGS of the form -DHWDB_BIN=@udevhwdbdir@ as upstream
has done, so it is easier to address issues like:

  https://github.com/gentoo/eudev/issues/17

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>