Age | Commit message (Collapse) | Author |
|
|
|
while theoretically a nice interface, qsort_r on GLIBC was
implemented with a prototype that shuffles the argument order
around when compared to the traditional BSD implementations,
yielding in 2 separate incompatible implementations.
even worse, the arguments are all of pointer type so one would
not even notice that the order is wrong and so this would yield
in crashes or silent memory corruption.
thus musl does not implement it, because configure scripts would
check for its existance and use it unconditionally, even when
assuming the BSD version.
a more portable solution is to use TLS via __thread, which any
modern GCC should provide. (even 3.4.6 on x86/x86_64 does so).
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
sys/poll.h is a legacy alias used by glibc.
according to POSIX #include <poll.h> is correct.
on GLIBC, the POSIX header includes sys/poll.h, so everything
continues working as it should.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
this is a glibc specific alias for realpath(path, NULL).
to be portable, we need to use the real thing which is even less
verbose.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
strndupa() allocates memory using alloca() which is dangerous and
non-conformant. Some libcs, like musl, deliberately do not implement
it. Instead we allocate a buffer on the stack which is cleaned up
on return.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
If we pass a variable to open()'s flags parameter it really wants a mode
parameter too, otherwise some gcc version whine. Hence, pass 0 in that
case.
|
|
We reorder the functions prototypes and definitions to match
upstream as in commit aa417a4d83999f6d7f092161d5c411b8cbce9977.
The order was lost when that commit was revert and the functions
re-introduced in later commits.
Preserving the order helps to better track upstream changes when
doing a diff between files.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
When a new network iface device is added, scan through the list of rules to see if its
kernel-assigned name is used as a target for another device. If so, and said target device
is not this device, rename it to a temporary interface name. Then rename the device in
accordance with any rename rules that may apply to this device, if applicable.
The temporary name assigned is the basename of the interface with a numeric compoment which is
close to the inverse of the numeric id (127 - id#). This should provide a more user-friendly
output than the old 'rename#' behaviour, when there is no final target name for the iface.
This proactive temporary rename will prevent cases where old-style rule-generator rules are used
and a target NAME= is set for one iface, assigning it to the iface name used by a second iface,
and that second iface has no rename rule to apply. The original rename code would be blocked
due to the conflict and time out when attempting to rename, leaving the interface assigned to the
temporary 'rename[id#]' name and/or failing to rename other ifaces in accordance with the existing
rules. This is a corner case that only occurrs when 75-persistent-net-generator.rules or the
write_net_rules script it 'IMPORTS' fails to generate a new rule and rename the interface and
there is no other interface-renaming rules that apply.
There may also be performance benefits to renaming ifaces early, but no benchmarks have been
run to confirm this.
Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
|
|
Based on systemd commit fb624d04e56018defe297eff1d88888b192caeaa , added
to support commit f8e6d758cd65b28f94b62344bd95e7bab94370d4
Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
|
|
This is a partial combination of two systemd commits:
5926cccae202f1b8869017d4bdaf9e9ce371bba6
4fe88d28a4cfa504c1f2362d4a7030fae4c4af29
...and provides functions needed for the changes that were added
in commit 6284c1ca41dca85e968e8d304cdc154c5a46d6d2
Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
|
|
A portion of systemd commit 4fe88d28a4cfa504c1f2362d4a7030fae4c4af29 , needed to
support changes made by commit 6284c1ca41dca85e968e8d304cdc154c5a46d6d2
Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
|
|
This reverts commit aa417a4d83999f6d7f092161d5c411b8cbce9977.
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>
|
|
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>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
This is upstream 84b6ad702e64db534f67ce32d4dd2fec00a16784
Based on a patch by Kay Sievers.
A tag is exported at boot as a symlinks to the device node in the folder
/run/udev/static_node-tags/<tagname>/, if the device node exists.
These tags are cleaned up by udevadm info --cleanup-db, but are otherwise
never removed.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
|
|
This brings these two files in line with upstream's commit:
ef89eef77ee098a6828169a6d0d74128e236bcbd
udev: fix two trivial memleaks in error path
Based-on-a-patch-by: Ian Stakenvicius <axs@gentoo.org>
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
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>
|
|
clang is stupid and I will never blindly trust it again.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
This allows to specify:
dmi:bvn*:bvr*:bd*:svnVENDOR:pn:Model 231*:pvr*
dmi:bvn*:bvr*:bd*:svnVENDOR:pn:Series 12*:pvr*
KEY_A=value
KEY_B=value
Instead of:
dmi:bvn*:bvr*:bd*:svnVENDOR:pn:Model 231*:pvr*
KEY_A=value
KEY_B=value
dmi:bvn*:bvr*:bd*:svnVENDOR:pn:Series 12*:pvr*
KEY_A=value
KEY_B=value
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
This is part of upstream commit
9444b1f20e311f073864d81e913bd4f32fe95cfd
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=65382
https://bugs.gentoo.org/472060?id=472060
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
This commit imports strxcpyx from upstream. This is upstream commit
d5a89d7dc17a5ba5cf4fc71f82963c5c94a31c3d
Note: there were also some very minor code cleanups to
accelerometer.c: line 187
collect.c: lines 35, 140
libudev-device.c: line 780
libudev-hwdb.c: line 300
These are part of upstream commits:
507f22bd0172bff5e5d98145b1419bd472a2c57f
3cf7b686e6b29f78de0af5929602cae4482f6d49
67410e9f73a6cdd8453c78b966451b5151def14a
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
This code was accidentally removed in commit
601c4e8ce69338652b3c9178386cbc05de8bae8d
We restore it here. Since most modern systems have accept4()
this code will seldom be triggered. You can test by configuring
as follows:
ac_cv_have_decl_accept4="no" ./configure
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Onboard network controllers are not always on PCI domain 0.
[Kay: use int instead of long, add [P] to slot naming, remove sysname var]
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
This header is unnecessary and causes a buildtime error on musl.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Remove the following unused DECLS:
IOPRIO_BITS
IOPRIO_CLASS_SHIFT
IOPRIO_PRIO_MASK
IOPRIO_PRIO_CLASS
IOPRIO_PRIO_DATA
IOPRIO_PRIO_VALUE
ioprio_valid
IOPRIO_BE_NR
IOPRIO_WHO_PROCESS
IOPRIO_WHO_PGRP
IOPRIO_WHO_USER
MESSAGE_ID
EXIT_TEST_SKIP
XSTRINGIFY
STRINGIFY
ALIGN_PTR
ALIGN4_PTR
ALIGN8_PTR
MAX
MAX3
MIN
CLAMP
zero
CHAR_TO_STR
VA_FORMAT_ADVANCE
SET_FLAG
SET_FOREACH
SET_FOREACH_BACKWARDS
STRV_FOREACH_BACKWARDS
STRV_FOREACH_PAIR
_unused_
_destructor_
_deprecated_
_weak_
_hidden_
_weakref_
_introspect_
_alignas_
Remove the following unused static inline functions:
static inline int ioprio_set
static inline int ioprio_get
static inline const char* STRV_IFNOTNULL
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
The following unused DECLS are removed:
DEFAULT_TIMEOUT_USEC
DEFAULT_RESTART_USEC
DEFAULT_CONFIRM_USEC
DEFAULT_EXIT_USEC
SIGNALS_CRASH_HANDLER
SIGNALS_IGNORE
EXIT_INVALIDARGUMENT
EXIT_NOTIMPLEMENTED
EXIT_NOPERMISSION
EXIT_NOTINSTALLED
EXIT_NOTCONFIGURED
EXIT_NOTRUNNING
EXIT_CHDIR
EXIT_NICE
EXIT_FDS
EXIT_EXEC
EXIT_MEMORY
EXIT_LIMITS
EXIT_OOM_ADJUST
EXIT_SIGNAL_MASK
EXIT_STDIN
EXIT_STDOUT
EXIT_CHROOT
EXIT_IOPRI
EXIT_TIMERSLACK
EXIT_SECUREBITS
EXIT_SETSCHEDULER
EXIT_CPUAFFINITY
EXIT_GROUP
EXIT_USER
EXIT_CAPABILITIES
EXIT_CGROUP
EXIT_SETSID
EXIT_CONFIRM
EXIT_STDERR
EXIT_TCPWRAP
EXIT_PAM
EXIT_NETWORK
EXIT_NAMESPACE
EXIT_NO_NEW_PRIVILEGES
EXIT_SECCOMP
EXIT_STATUS_MINIMAL
EXIT_STATUS_SYSTEMD
EXIT_STATUS_LSB
EXIT_STATUS_FULL
HASHMAP_FOREACH_KEY
HASHMAP_FOREACH_BACKWARDS
FORMAT_TIMESTAMP_MAX
FORMAT_TIMESTAMP_PRETTY_MAX
FORMAT_TIMESPAN_MAX
FORMAT_BYTES_MAX
ANSI_HIGHLIGHT_ON
ANSI_RED_ON
ANSI_HIGHLIGHT_RED_ON
dual_timestamp_is_set
newa
newdup
FOREACH_WORD
FOREACH_WORD_SEPARATOR
NULSTR_FOREACH
_cleanup_pclose_
_cleanup_umask_
_cleanup_globfree_
DRAW_TREE_VERT
DRAW_TREE_BRANCH
DRAW_TREE_RIGHT
DRAW_TREE_SPACE
DRAW_TRIANGULAR_BULLET
_DRAW_SPECIAL_CHAR_MAX
FOREACH_LINE
procfs_file_alloca
The following unused struct defs were removed:
struct ExitStatusSet
The following unused static inline funcs were remvoed:
static inline int safe_atolu
static inline int safe_atoli
static inline int safe_atolu
static inline int safe_atoli
static inline int safe_atou32
static inline int safe_atoi32
static inline int safe_atou64
static inline int safe_atoi64
static inline const char* yes_no
static inline const char* strempty
static inline const char* strnull
static inline const char *strna
static inline void pclosep
static inline void umaskp
NOTE: Some unused DECLS were retained if they formed part of a logical
series, eg. definition of time units.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
We removed the following functions:
hashmap_merge
path_is_read_only_fs
set_free_free
set_free_freep
readlink_malloc
hexchar
unhexchar
octchar
unoctchar
format_timespan
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
The following functions were removed:
strv_env_get_n
strv_env_get
conf_files_list
hashmap_remove
hashmap_move
log_dump_internal
parse_uid
read_full_file
strstrip
file_in_same_dir
cunescape
cunescape_length
cunescape_length_with_prefix
xescape
dirent_is_file
close_all_fds
read_one_char
ask
reset_terminal_fd
reset_terminal
flush_fd
loop_read
get_ctty_devnr
get_ctty
rm_rf_children
rm_rf_children_dangerous
rm_rf
status_vprintf
fd_columns
columns
fd_lines
lines
on_tty
ellipsize
ellipsize_mem
touch
unquote
resolve_dev_console
tty_is_vc
vtnr_from_tty
terminal_vhangup_fd
terminal_vhangup
file_is_priv_sticky
signal_from_string
fd_wait_for_event
memdup
memdup_multiply
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
src/libudev/{hashmap,log,path-util,set,strv,util}
We remove the following functions:
cleanup_pool
uint64_hash_func
hashmap_ensure_allocated
hashmap_clear_free_free
hashmap_replace
hashmap_remove_and_put
hashmap_iterate_skip
hashmap_first
hashmap_first_key
hashmap_last
hashmap_isempty
hashmap_move_one
hashmap_copy
log_metav_object
log_show_color
log_show_location
path_strv_make_absolute_cwd
path_startswith
set_remove
set_move
set_clear
strv_find
strv_contains
strv_merge
strv_split
strv_split_quoted
strv_append
strv_extend
strv_push
strv_split_nulstr
str_compare
dual_timestamp_get
dual_timestamp_from_realtime
timespec_store
timeval_load
timeval_store
parse_boolean
fchmod_umask
parse_env_file
get_process_comm
get_process_id
readlink_and_make_absolute
bus_path_unescape
format_timestamp
acquire_terminal
loop_write
parse_usec
make_stdio
random_ull
lookup_uid
getttyname_malloc
status_printf
replace_env
normalize_env_assignment
wait_for_terminate
freeze
tag_to_udev_node
tty_is_vc_resolve
nulstr_contains
strshorten
hostname_valid_char
display_is_local
get_group_creds
in_gid
dirent_ensure_type
is_locale_utf8
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
We remove the following unused functions:
label_socket_set
label_socket_clear
label_free
label_get_create_label_from_exe
label_retest_selinux
label_bind
mkdir_label
mkdir_safe
mkdir_safe_label
mkdir_p_label
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|