1
0
mirror of https://github.com/systemd/systemd synced 2026-04-25 16:34:50 +02:00

Compare commits

..

2 Commits

Author SHA1 Message Date
Hans de Goede
5e3b8aeef3 hwdb: 60-keyboard: Add Acer Aspire One AO532h keymappings
Add keymappings for the Acer Aspire One AO532h netbook.

Unmap the brightnesskeys because they send duplicate key events with
the ACPI video bus key events and add a mapping for the bluetooth
on/off hotkey.
2022-04-19 06:17:35 +09:00
Luca Boccassi
2362fdde1b nspawn: fix locating config files with --ephemeral
When --ephemeral is used, a random 16 characters suffix is added to the image
name, so matching on .nspawn files based on the image name no longer works.

Fixes https://github.com/systemd/systemd/issues/13297
2022-04-19 06:17:16 +09:00
3 changed files with 39 additions and 3 deletions

View File

@ -154,6 +154,12 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*8930:*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*7750G:* evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*7750G:*
KEYBOARD_KEY_e0=!pageup KEYBOARD_KEY_e0=!pageup
# Acer Aspire One AO532h
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAO532h:*
KEYBOARD_KEY_84=bluetooth
KEYBOARD_KEY_ce=unknown # Brightness Up, also emitted by acpi-video, ignore
KEYBOARD_KEY_ef=unknown # Brightness Down, also emitted by acpi-video, ignore
# Predator PH 315-52 # Predator PH 315-52
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnPredator*PH*315-52:* evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnPredator*PH*315-52:*
KEYBOARD_KEY_ef=kbdillumup # Fn+F10 KEYBOARD_KEY_ef=kbdillumup # Fn+F10

View File

@ -4604,8 +4604,7 @@ static int merge_settings(Settings *settings, const char *path) {
static int load_settings(void) { static int load_settings(void) {
_cleanup_(settings_freep) Settings *settings = NULL; _cleanup_(settings_freep) Settings *settings = NULL;
_cleanup_fclose_ FILE *f = NULL; _cleanup_fclose_ FILE *f = NULL;
_cleanup_free_ char *p = NULL; _cleanup_free_ char *p = NULL, *fn = NULL;
const char *fn;
int r; int r;
if (arg_oci_bundle) if (arg_oci_bundle)
@ -4616,7 +4615,19 @@ static int load_settings(void) {
if (FLAGS_SET(arg_settings_mask, _SETTINGS_MASK_ALL)) if (FLAGS_SET(arg_settings_mask, _SETTINGS_MASK_ALL))
return 0; return 0;
fn = strjoina(arg_machine, ".nspawn"); /* In ephemeral mode we append '-' and a random 16 characters string to the image name, so fixed
* config files are no longer matched. Ignore the random suffix for the purpose of finding files. */
if (arg_ephemeral) {
fn = strdup(arg_machine);
if (!fn)
return log_oom();
assert(strlen(fn) > 17); /* Should end with -XXXXXXXXXXXXXXXX */
strcpy(fn + strlen(fn) - 17, ".nspawn");
} else {
fn = strjoin(arg_machine, ".nspawn");
if (!fn)
return log_oom();
}
/* We first look in the admin's directories in /etc and /run */ /* We first look in the admin's directories in /etc and /run */
FOREACH_STRING(i, "/etc/systemd/nspawn", "/run/systemd/nspawn") { FOREACH_STRING(i, "/etc/systemd/nspawn", "/run/systemd/nspawn") {

View File

@ -120,6 +120,23 @@ function check_selinux {
systemd-nspawn "${SUSE_OPTS[@]}" --register=no -b -D /testsuite-13.nc-container --selinux-apifs-context=system_u:object_r:container_file_t:s0:c0,c1 --selinux-context=system_u:system_r:container_t:s0:c0,c1 systemd-nspawn "${SUSE_OPTS[@]}" --register=no -b -D /testsuite-13.nc-container --selinux-apifs-context=system_u:object_r:container_file_t:s0:c0,c1 --selinux-context=system_u:system_r:container_t:s0:c0,c1
} }
function check_ephemeral_config {
# https://github.com/systemd/systemd/issues/13297
local _cmd='test -f /tmp/ephemeral-config'
mkdir -p /run/systemd/nspawn/
cat >/run/systemd/nspawn/testsuite-13.nc-container.nspawn <<EOF
[Files]
BindReadOnly=/tmp/ephemeral-config
EOF
touch /tmp/ephemeral-config
# /testsuite-13.nc-container is prepared by test.sh
systemd-nspawn --register=no -D /testsuite-13.nc-container --ephemeral /bin/sh -x -c "$_cmd"
rm -f /run/systemd/nspawn/testsuite-13.nc-container.nspawn
}
function run { function run {
if [[ "$1" = "yes" && "$is_v2_supported" = "no" ]]; then if [[ "$1" = "yes" && "$is_v2_supported" = "no" ]]; then
printf "Unified cgroup hierarchy is not supported. Skipping.\n" >&2 printf "Unified cgroup hierarchy is not supported. Skipping.\n" >&2
@ -206,4 +223,6 @@ check_machinectl_bind
check_selinux check_selinux
check_ephemeral_config
touch /testok touch /testok