Commit Graph

320 Commits

Author SHA1 Message Date
Anthony G. Basile
e33d2cfc5e src/udev: bring up to date with upstream.
These commits were authored by

    Zbigniew Jędrzejewski-Szmek
    Tom Gundersen
    Kay Sievers
    Lennart Poettering
    Shawn Landden
    Daniel Buch
    Martin Pitt
    Karel Zak
    Yang Zhiyong

Note: udev_builtin_net_setup_link has *not* been imported.  Also
still missing from udev-builtin is udev_builtin_uaccess.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-13 18:16:50 -05:00
Anthony G. Basile
e27fa9c2e7 configure.ac: add header check for mtd/mtd-user.h
This addresses

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

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-09-26 11:31:01 -04:00
Anthony G. Basile
1cd005527a configure.ac: compat with upstream 207 2013-09-14 09:42:28 -04:00
Anthony G. Basile
320c6723e7 configure.ac: moving towards release 1.3 2013-09-10 07:22:04 -04:00
rofl0r
167bc800b7 configure.ac: remove check for mktime
mktime is not used anywhere in the code, and the stock configure
check for mktime invokes UB, so lets just remove it.

closes #71
2013-08-16 07:32:35 +02:00
Anthony G. Basile
a57c8bba0d configure.ac: compatible with systemd 206
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-08-02 19:56:24 -04:00
Ian Stakenvicius
9a769172c3 Revert "static-nodes: remove creation of static nodes if HAVE_LIBKMOD"
This reverts commit aa417a4d83.

Preface:  The kmod+tmpfiles static dev-node creation requires two commands to
be executed at runtime -- it is not something that will automatically occur
without a system's setup being explicitly designed or changed so that these
commands are executed.

Preface2:  In order for the kmod+tmpfiles static dev-node creation to work
properly, that -must- be executed at startup before {systemd-,}udevd starts.
The reason for this is because udevd will only set permissions on those files
at startup, and so if udevd starts beforehand then these nodes will exist with
permissions that are (probably) too restrictive.

The function in udevd which creates static-nodes is non-fatal and only updates
mtime on the devnodes if they already exist.  As such, if a system is configured
to execute kmod+tmpfiles to create static-nodes, because that must occur first,
eudev's udevd will not conflict.  Also, if a system does not execute kmod+tmpfiles,
then eudev will still create the static devnodes, even if kmod-14 or higher is
installed.

There *may* be a conflict if kmod+tmpfiles is executed after udevd starts, but
as per "preface2" this is not a supported configuration.

Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
2013-07-31 13:07:33 -04:00
Anthony G. Basile
aa417a4d83 static-nodes: remove creation of static nodes if HAVE_LIBKMOD
This address upstream commit edeb68c53f1cdc452016b4c8512586a70b1262e3
and https://bugs.gentoo.org/show_bug.cgi?id=477890.  If eudev is
configured with --enable-libkmod then we check for kmod >= 14 and
ifdef out the code removed in the upstream commit.  Otherwise we
retain it for modutils.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-07-31 10:46:49 -04:00
Ian Stakenvicius
35876baf30 Switch from external keymaps to internal (hwdb) keymaps
This commit imports the new internal keyboard handling from upstream.
This is a combination of many upstream commits, including those
that added code, removed old code, and updated the hwdb.
Some commits (hwdb ones specifically) were unrelated but brought
in anyways to keep the whole hwdb consistent.  Each upstream
commit included is as follows:

9d7d42bc406a2ac04639674281ce3ff6beeda790 - internal keymap support
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1 - hwdb: keyboard -- add file
e8193554925a22b63bef0e77b8397b56d63a91ff - hwdb: keyboard -- update comments
c79d894d590fc9df4861738555cc43c477e33376 - hwdb: import data
aedc2eddd16e48d468e6ad0aea2caf00c7d37365 - hwdb: keyboard update
97a9313cafccf772ce03f5ebd36fe4d9d8412583 - hwdb: drop non-existant Samsung 900XC3 from keymap
ddc77f62244bb41d5c8261517e2e1ff1b763fc94 - switch from udev keymaps to hwdb
0c3815773331b263713f4f7b9d80bc1ca159338e - also remove keymaps-force-release directory
1b6bce89b3383904d0dab619dd38bff673f7286e - keymap: re-add Logitech USB corded/cordless models
bf89b99c5a39115112c2eda4c2103e2db54988d2 - 60-keyboard.hwdb: Fix syntax error
ce39bb6909578017aa10031638e724e038f0b859 - hwdb: data update, upstream
884c86812c51479496edd50b278383d7bb67baf0 - rules: keyboard - use builtin command

All code from each of the above commits is attributed to the original
authors.

There were some adjustments made in order to support the code differences
between upstream and eudev, which was done by myself.

Also of note is that the code can still be disabled via the --disable-keymaps
configure option, which was removed from upstream.

Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
2013-07-24 16:27:01 -04:00
Anthony G. Basile
1fdae2bccb Version bump to 1.1
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-07-11 09:05:41 -04:00
Anthony G. Basile
604b9042e3 Version bump to 1.0, dropping _beta tag
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-06-09 05:08:04 -04:00
Anthony G. Basile
1cc8667cd9 Remove libudev-legacy
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-06-04 05:41:20 -04:00
Anthony G. Basile
1fcf167f65 Version bump to eudev-1_beta4
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-04-10 22:11:37 -04:00
Kay Sievers
faed3b5ff1 build-sys: fix HAVE/ENABLE_FIRMWARE
This fixes:

    https://github.com/gentoo/eudev/issues/55
    https://bugs.freedesktop.org/show_bug.cgi?id=62864

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-04-09 17:47:19 -04:00
Anthony G. Basile
df016d6d7a src/udev/udev-event.c: restore code to allow rule generator to work
This code was dropped while importing from upstream.  It is needed
to allow the legacy renaming of interfaces like eth* or wlan*.

X-Eudev-Bug: 56
X-Eudev-Bug-URL: https://github.com/gentoo/eudev/issues/56
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-04-07 22:19:54 -04:00
Ian Stakenvicius
060ec6fee0 bump versions to eudev-1_beta3 and udev-200 2013-04-05 10:57:04 -04:00
Ian Stakenvicius
1d70a98af4 Set rootprefix to be '${prefix}' if unset
Previously, rootprefix was set to the actual value of the default prefix,
which caused issues when running 'make distcheck' since prefix is set
to a non-standard value but rootprefix is unset.  By assigning the variable
rather than its contents, this should now be avoided.
2013-04-04 12:59:24 -04:00
Ian Stakenvicius
c4657beb83 set default prefix to /usr for necessary rootprefix default operation 2013-04-04 12:06:05 -04:00
Ian Stakenvicius
d71bb748b2 Removed hard-coded paths in rule-writer scripts
Both scripts had hard-coded paths to 'rule_generator.functions'; these were changed
to be substituted in by configure so the paths will match where files are
installed.øy

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-04-04 10:26:47 -04:00
Ian Stakenvicius
85085621ba Restored the rule generator bits from udev-171
This restores the rule generator scripts for the persistent
network and optical device rule generator scripts that were
removed after udev-171, and re-introduces their installation
to the build system.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-04-04 10:19:35 -04:00
Tom Gundersen
f3ea87f611 udev: make firmware loading optional and disable by default
Distros that whish to support old kernels should set
  --with-firmware-dirs="/usr/lib/firmware/updates:/usr/lib/firmware"
to retain the old behaviour.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
2013-04-02 13:54:36 -04:00
Anthony G. Basile
2251933e50 Fix whitespace in various files
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-03-14 18:05:30 -04:00
Anthony G. Basile
489ca457ea Only check for gperf if --enable-keymap
gperf is only used to generate some header file for src/keymap,
and so we should only test for its existence if --enable-keymap
is given.

See:
 https://github.com/gentoo/eudev/issues/50
 https://bugs.gentoo.org/show_bug.cgi?id=452760

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-03-10 14:50:10 -04:00
Ian Stakenvicius
94d7639cf2 Make udevlibexecdir be /lib
ie, fix another regression in our build system ; gentoo bug 455326

it's common for eg. mips systems to not have symlink from the directory
{lib32 or lib64} to /lib.  only the libraries belong to /$(get_libdir) and
everything in /lib/udev goes to, well, /lib/udev, NOT /$(get_libdir)/udev
     -- ssuominen

Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
2013-02-04 11:22:30 -05:00
Ian Stakenvicius
c661732bc2 Fix AM_CONDITIONAL for HAVE_BLKID
Corrects error caused in commit a9ef3ca764

Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
Signed-off-by: Matthew Thode <prometheanfire@gentoo.org>
2013-01-29 09:10:41 -05:00
Ian Stakenvicius
a9ef3ca764 Make blkid optional
Embedded systems may not want to include util-linux when they do
not intend to use blkid functionality

Modified from original author's commit to not install
60-persistent-storage.rules if blkid is disabled

systemd commit f553b3b1074151200187df916427a1468186435e
Original author: Anders Olofsson <Anders.Olofsson@axis.com>

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-01-28 17:42:47 -05:00
Ian Stakenvicius
0407037a7b Fix --disable-modules config option
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>
2013-01-22 14:34:39 -05:00
Anthony G. Basile
1ebf647b05 Fall back on POSIX mkstemp() for systems lacking mkostemp()
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>
2013-01-21 19:07:16 -05:00
Ian Stakenvicius
dd43e0b64c Adjust version in configure.ac for beta2 release
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
 Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
2013-01-21 15:49:32 -05:00
Ian Stakenvicius
6d72c38a3f Forward-port of libudev.so.0 code from libudev-171
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>
2013-01-21 14:34:02 -05:00
Ian Stakenvicius
09f41d6de4 Bump UDEV_VERSION as libudev is 196 compliant
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>
2013-01-08 14:24:04 -05:00
Ian Stakenvicius
8638965ac2 Fixed some comments relating to udevlibexecdir paths
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)
2013-01-04 14:34:52 -05:00
Ian Stakenvicius
5ea3e4deff Adjust the install path of keymaps to $(libdir)/udev
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
2013-01-04 11:33:33 -05:00
Luca Barbato
8e92264b4e build: switch to C99
Remove some redundant checks while at it.
2012-12-27 23:23:23 +01:00
blueness
cc5c144a70 Merge pull request #32 from nvinson/distcheck_fix
Fix make distcheck error: "gtk-doc must be installed and enabled in order to make dist"

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2012-12-12 06:58:49 -08:00
Ian Stakenvicius
036bc1a950 Changed --enable-split-usr to add hard-coded paths for rules etc in both / and /usr
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>
2012-12-12 09:56:16 -05:00
Nick Vinson
db8d865e62 Move DISTCHECK_CONFIGURE_FLAGS var to Makefile.am
DISTCHECK_CONFIGURE_FLAGS is an automake variable and is not properly
detected when it is inside configure.ac
2012-12-08 11:46:18 -05:00
Richard Yao
7f14ef6bb1 eudev 1_beta1
Signed-off-by: Richard Yao <ryao@gentoo.org>
2012-12-08 09:56:49 -05:00
Richard Yao
bfc850a01b Add fallback path when accept4() is not available.
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>
2012-12-08 09:48:07 -05:00
Richard Yao
2718feb9ed Fix autotools module checks
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>
2012-12-02 19:45:55 -05:00
Richard Yao
bfbd4ee14e Use udev version instead of eudev version for compatibility
The use of the eudev version in pkgconfig files caused build failures,
so we switch to the udev version for compatibility purposes.

Resolves gentoo/eudev#22

Signed-off-by: Richard Yao <ryao@gentoo.org>
2012-12-02 16:55:22 -05:00
Ian Stakenvicius
1bbffd4f09 drop ACL support, udev-acl is in consolekit upstream 2012-12-01 13:48:00 -05:00
Ian Stakenvicius
7bfe5fc126 Put rules.d back into rootlibdir/udev , not sure why/how it moved... 2012-11-29 10:07:41 -05:00
Anthony G. Basile
4b3087eb7d Fix up building gudev and introspection under make distcheck
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>
2012-11-25 19:44:28 -05:00
Anthony G. Basile
518c07d5b4 Fix compilation of gudev and introspection
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>
2012-11-25 15:37:04 -05:00
Anthony G. Basile
e0551bfe66 Fixes the contents of udev.pc
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2012-11-25 07:49:21 -05:00
Anthony G. Basile
73e31d7ae7 Fix paths: test/udev-test.pl now works under sudo make distcheck
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>
2012-11-24 23:47:06 -05:00
Anthony G. Basile
6cb86c3a33 Propagation of configured installation paths to Makefile.am and .c code
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>
2012-11-23 18:56:16 -05:00
Anthony G. Basile
e5cc2b881f 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>
2012-11-23 13:48:49 -05:00
Anthony G. Basile
ef6fd93e79 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>
2012-11-23 12:29:06 -05:00