As we were searching by ID_PATH, it would have been possible
for us to find a sibling device instead of the device we were
looking for.
This fixes device matching on the WeTab with the upstream kernel,
as it was trying to use the "Asus Laptop extra buttons" device
instead of the accelerometer.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Currently, keymaps are provided only for the NP90X3A laptop. Samsung
introduced updated models, codenamed 900X3B, 900X3C, 900X4B, 900X4C,
which are currently not matched by udev rules. This patch includes the
newer modules in udev rules and move the samsung-n90x3a file defining
keys to a more generic samsung-series-9 file.
The patch was tested on a 900X4C laptop, and other people reported
that the rules also work for 900X3B and 900X3C ones.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
/# /lib/udev/cdrom_id --debug /dev/sr0
probing: '/dev/sr0'
INQUIRY: [AMI ][Virtual CDROM ][1.00]
GET CONFIGURATION failed with SK=5h/ASC=20h/ACQ=00h
drive is pre-MMC2 and does not support 46h get configuration command
trying to work around the problem
READ DISC INFORMATION failed with SK=5h/ASC=20h/ACQ=00h
no current profile, but disc is present; assuming CD-ROM
READ TOC: len: 12, start track: 1, end track: 1
last track 1 starts at block 0
READ DISC INFORMATION failed with SK=5h/ASC=20h/ACQ=00h
ID_CDROM=1
ID_CDROM_MEDIA=1
ID_CDROM_MEDIA_CD=1
What is missing here is ID_CDROM_MEDIA_TRACK_COUNT_DATA to trigger
blkid in /lib/udev/rules.d/60-persistent-storage.rules
KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*",
ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*",
ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \
IMPORT{builtin}="blkid --noraid"
This is upstream commits:
984c4348ff14d29c526d3d372daa82e278eeb5b4
f4ddacbd4de0f159ec598f8ad690466a84787ec5
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
add --root to support generating hwdb in offsetted rootfs
People using DESTDIR to prepare packages had issues with the hardware database. We add an autotools option to handle that.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Richard Yao <ryao@gentoo.org>
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>
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>
New behavioural change -- has potential to fix bugs..?
systemd commit 48a849ee17fb25e0001bfcc0f28a4aa633d016a1
Author: Kay Sievers <kay@vrfy.org>
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Parameter -e is set without additional argument in getopt
and this leads to segfault when calling 'udevd -e'.
systemd commit 5bbbe461fd4d133eac49f41210e2fd4846f577d8
Author: Lukas Nykryn <lnykryn@redhat.com>
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Hyper-V has an abstract bus, which gets renumbered on guest
startup. So instead of the bus numbers we should be using
the device GUIDs, which can be retrieved from the 'device_id'
sysfs attribute.
systemd commit a24d03b8ee2ca62cd1273e27cf4e79ddcc0fbb1c
Author: Hannes Reinecke <hare@suse.de>
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
New behaviour in udev-197
systemd commit 1edefa4f1d7bae6cc19aa4a97238400c5a04f7a4
Author: Kay Sievers <kay@vrfy.org>
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
This mainly just helps keep diff's between eudev and systemd a little more clean, but it
does drop one line of duplicate code.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
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>