This option should be enabled by default, however there was no logic
in AC_ARG_ENABLE to set the variable to be enabled when the flag was
unspecified
Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Two issues are addressed: 1) Makefile.am has to provide config.h
information on HAVE_UNSHARE to test-udev.c. 2) MS_PRIVATE and
MS_REC are defined in <linux/fs.h> which must be directly included
on a uclibc system because of different header stackings. Its
inclusion makes no difference on a glibc system.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
We add an autotools check to use mkstemp() and fcntl() when mkostemp()
is missing. This is not strictly equivalent because we have no way of
setting the file access mode O_WRONLY flag, but that should produce no
functional difference.
Signed-off-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Add --enable-legacylib option to configure, allowing for build and
installation of libudev.so.0 shared library for supporting pre-udev-183
software. Library is installed to rootlibdir.
Note that this legacy library will not be maintained, and should not be used
for anything other than supporting a working system until all software
on the system is migrated to use libudev.so.1
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Move libudev.so back to $(rootlibdir) for lvm2 support, and have
all udev tools dynamically link to it. The symbol versioning and
hidden-visibility on libudev were modified accordingly: we rebase
against the public LIBUDEV_196 symbol versioning, and marked all
other symbols (which used to be local) as LIBUDEV_internal.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
sd_is_mq() calls mq_getattr, which requires -lrt on systems using
uclibc. Ordinarily, I would write an autotools check to handle this, but
we do not use this code for anything, so I am commenting it out until a
decision on the fate of this code is made.
Signed-off-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
temp
dup3() was being used in a situation where dup2() would suffice. uclibc
does not support dup3(), so we switch to dup2().
Signed-off-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Older kernels rely on udev to set proper permissions on /dev/null.
Commit 378f2e074e by Kay Sievers removed
the rule that set these permissions, which caused a regression. We
reintroduce that rule to restore compatibility.
Reported-by: Stephen Klimaszewski <steev@gentoo.org>
Signed-off-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
Software such as dracut performs a sanity check on udev by querying the
udev tools for the version. Reporting the eudev version causes this
check to fail, so we resort to reporting the udev compatibility
versionj.
Signed-off-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
We haven't confirmed yet that everything is compliant with
196 but libudev is and it seems relevant that udevadm reports
the udev version that provides hwdb functions
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
As far as I can tell these are the only functional changes between the current
eudev codebase and the codebase of systemd-196, in relation to udev hwdb code.
There are some code style differences, and a number of error-trap-and-log
lines that are not present, but that's about it
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
systemd-udev-196 added four more functions to their libudev.sym under
the LIBUDEV_196 version; consumers such as udisks use the symbol versions
at link time and so it is absolutely necessary for us to provide the same
symbol versioning and functions in order to provide compatibility.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Change the execv() call to an execvp() call so that --with-modprobe="modprobe"
is supported; also added the command as argv[0] in the call to execvp(), which
fixes the failures when 'modprobe' is a symlink to kmod
Signed off by ryao
Keymaps rules had stated to add or modify /usr/lib/udev/* files instead
of using generic paths, and there was no mention of /etc/udev/* being valid
even though it is (and is the better way to do system-specific
modifications)
Since these keymaps are the default reference files they should be
installed in the same location as the default rules files. This
matches sys-fs/udev behaviour as well
configure.ac: require C99 and drop excess checks
src/libudev/cgroup-util.c: refacotirze cgroup_path
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
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>