This is necessary because the code originally defined paths assuming UDEV_LIBEXECDIR
was /usr prefixed, and also that udevrulesdir was located in /etc. Since (1) both of
these defaults have changed, and (2) they could be set to more or less anything, we
want to ensure that there is support for the standard paths as well, irrespective of
what UDEV_LIBEXECDIR and UDEV_RULES_DIR are set to.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Commit ff2c503df0 introduced accept4() into
udev, which broke compatibility with kernels older than Linux 2.6.32 (or
Linux 2.6.36 on ARM). The purpose of accept4() is to permit
O_NONBLOCK and O_CLOEXEC to be specified at the accept() call site
while previously, they had to be set using fcntl() because Linux does
not inherit them.
Since accept4() increases the minimum kernel version, we add a fallback
path for situations in which it is unavailable.
Reported-by: Stephen Klimaszewski <steev@gentoo.org>
Signed-off-by: Richard Yao <ryao@gentoo.org>
Module loading support was unconditionally disabled in the initial
autotools tests. I had missed this in my testing because I still had the
80-drivers.rules file from udev 171 on my system, which masked this
issue by invoking modprobe explicitly. This patch corrects the issue.
Signed-off-by: Richard Yao <ryao@gentoo.org>
The use of the eudev version in pkgconfig files caused build failures,
so we switch to the udev version for compatibility purposes.
Resolvesgentoo/eudev#22
Signed-off-by: Richard Yao <ryao@gentoo.org>
libgudev-1.0.la and gudev-1.0.gir fail to build because GCC cannot find the
needed header files (e.g. gudevenumtypes.h). To fix this, the include path
$(top_buildir)/src was added and 'gdev' was replaced with 'gudev' in all
relevant include paths.
This commit provides needed #define's that provide structures that
are found at configure time. It also reverts commit
91ce21b2d7
to avoid redefinitions of _GNU_SOURCE.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
This is a combination of commits:
bc7e89950323f635196c3c8eeebbe77af4307967
cde38f304f1cba616dfad4eb2608e8ec1a163f61
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
This is a combination of commits
67fd630e5fadeed8e0e96d396a9ebdc5f677fe98
f3666f76d5bf08572e001d1cee37e142b1a1be8f
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
This is a combination of commits
c9485bf12eafad22dbe316ccbf3a9506d4cace66
abd4a3a3bf5851f07cac6665f35c8b92279c4a47
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
The DISTCLEAN_LOCAL_HOOKS variable is not used by automake when generating
Makefiles. This has been replaced with the clean-local target which does get
used. The clean-local target is defined to be dependent on the
test-sys-distclean target as recommended in the automake manual.
The paths in test-sys-distclean have been corrected to ensure that test/sys is
deleted during 'make distcheck'.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
When run, 'make distcheck' verifies that no files remain in the build directory.
However, 'make distcheck' does not automatically delete $(BUILT_SOURCES) by
default which causes this check to fail. Adding $(BUILT_SOURCS) to CLEANFILES
corrects this behavior.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
On systems without gtk-doc installed, we were mocking up docs/gtk-doc.make
and m4/gtk-doc.m4 to avoid a failure in configure. On systems without
introspection installed, we were doing nothing and allowing the failure
to occur. Since autogen should only be run on the developer side this is
should be okay, but to be more friendly to other distros and users that
want to start from autogen, we now bundle
docs/gtk-doc.make
m4/gtk-doc.m4
m4/introspection.m4
Care in the future should be taken by the developers to make sure these
files stay up to day.
This should take care of
https://github.com/gentoo/eudev/issues/11
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
This commit makes sure that src/gudev/gudevprivate.h is included
in the distribution, fixing a failure in building gudev with
`make distcheck`. There's also some code cleanup and migration
of all configurable paths to the main configure.ac file.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
This commit the related issues of building gudev with/out
introspection. It draws on suggestions from nvinson in
https://github.com/gentoo/eudev/pull/20
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
We move the test-udev.c and test-libudev.c from src/test to test.
This corrects the a problem with hard coded relative paths finding
the test/test/sys directory created by test/udev-test.pl.
This commit draws heavily from nvinson patch in
https://github.com/gentoo/eudev/pull/20
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
This commit is a continuation of the previous one in which all the configured
paths obtained in configure.ac are propagated to the Makefile.am and .c files
via AM_CPPFLAGS of the form -DUDEV_CONF_FILE=\"$(udevconffile)\". This should
address the issue in
https://github.com/gentoo/eudev/issues/17
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
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>
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>
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>
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>
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>
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>
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>
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>
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>