1
0
mirror of https://github.com/systemd/systemd synced 2025-11-21 09:44:44 +01:00

Compare commits

..

No commits in common. "a35780d5d006c4ae401fbc46391afca2747eb5b0" and "fd99d9d1cb53f32dea46f1770446db729c316304" have entirely different histories.

9 changed files with 12 additions and 37 deletions

View File

@ -26,11 +26,8 @@ SPDX-License-Identifier: LGPL-2.1-or-later
17. Update IRC topic (`/msg chanserv TOPIC #systemd Version NNN released | Online resources https://systemd.io/`) 17. Update IRC topic (`/msg chanserv TOPIC #systemd Version NNN released | Online resources https://systemd.io/`)
18. [FINAL] Create an empty -stable branch: `git push systemd origin/main:refs/heads/v${version}-stable`. 18. [FINAL] Create an empty -stable branch: `git push systemd origin/main:refs/heads/v${version}-stable`.
19. [FINAL] Build and upload the documentation (on the -stable branch): `ninja -C build doc-sync` 19. [FINAL] Build and upload the documentation (on the -stable branch): `ninja -C build doc-sync`
20. [FINAL] Create a new `ci/v${version}-stable` branch for deb package builds on https://salsa.debian.org/systemd-team/systemd 20. [FINAL] Change the Github Pages branch to the newly created branch (https://github.com/systemd/systemd/settings/pages) and set the 'Custom domain' to 'systemd.io'
21. [FINAL] Switch `.semaphore/semaphore-runner.sh` and `mkosi/mkosi.conf.d/debian-ubuntu/mkosi.conf.d/pkgenv.conf` to the new `ci/v${version}-stable` branch on the -stable branch 21. [FINAL] Update version number in `meson.version` to the devel version of the next release (e.g. from `256` to `257~devel`)
22. [FINAL] Change the Github Pages branch to the newly created branch (https://github.com/systemd/systemd/settings/pages) and set the 'Custom domain' to 'systemd.io'
23. [FINAL] Update version number in `meson.version` to the devel version of the next release (e.g. from `256` to `257~devel`)
24. [FINAL] Build and upload the documentation (on the main branch): `ninja -C build doc-sync`
# Steps to a Successful Stable Release # Steps to a Successful Stable Release

View File

@ -821,20 +821,6 @@ mouse:usb:v22d4p1308:name:Laview Technology Mionix Avior 7000:*
mouse:usb:v0e8fp00a7:name:DaKai 2.4G RX:* mouse:usb:v0e8fp00a7:name:DaKai 2.4G RX:*
MOUSE_DPI=*800@126 1600@126 MOUSE_DPI=*800@126 1600@126
##########################################
# Nulea
##########################################
# Note: it is possible that other devices may use the same wireless dongle,
# as such this could require revisiting if it causes issues with other mice
# Nulea M501 Wireless Trackball (USB Receiver)
mouse:usb:v25a7pfa61:name:Compx 2.4G Receiver Mouse:*
ID_INPUT_TRACKBALL=1
# Nulea M501 Wireless Trackball (Bluetooth)
mouse:bluetooth:v000ep3412:name:Nulea BT5.0 Mouse:*
ID_INPUT_TRACKBALL=1
########################################## ##########################################
# Oklick # Oklick
########################################## ##########################################

View File

@ -98,12 +98,11 @@ lrwxrwxrwx. 1 root root 19 May 10 4711.user-privileged -> foobar.user-privileg
users in groups. Specifically, for every pair of user/group where the user shall be a member of a group a users in groups. Specifically, for every pair of user/group where the user shall be a member of a group a
file named file named
<literal><replaceable>username</replaceable>:<replaceable>groupname</replaceable>.membership</literal> <literal><replaceable>username</replaceable>:<replaceable>groupname</replaceable>.membership</literal>
must be created, i.e. the textual UNIX user name, followed by a colon, followed by the textual UNIX group should be created, i.e. the textual UNIX user name, followed by a colon, followed by the textual UNIX
name, suffixed by <literal>.membership</literal>. The contents of these files are currently not read, group name, suffixed by <literal>.membership</literal>. The contents of these files are currently not
however it is recommended to create them containing an empty JSON object read, and the files should be created empty. The mere existence of these files is enough to affect a
(i.e. <literal>{}</literal>). The mere existence of these files is enough to affect a user/group user/group membership. If a program provides user and/or group record files in the searched directories,
membership. If a program provides user and/or group record files in the searched directories, it must it should always also create such files, both for primary and auxiliary group memberships.</para>
always also create such files, both for primary and auxiliary group memberships.</para>
<para>Note that static user/group records generally do not override conflicting records in <para>Note that static user/group records generally do not override conflicting records in
<filename>/etc/passwd</filename> or <filename>/etc/group</filename> or other account databases. In fact, <filename>/etc/passwd</filename> or <filename>/etc/group</filename> or other account databases. In fact,

View File

@ -1067,6 +1067,7 @@ node /org/freedesktop/login1/user/_1000 {
readonly b IdleHint = ...; readonly b IdleHint = ...;
readonly t IdleSinceHint = ...; readonly t IdleSinceHint = ...;
readonly t IdleSinceHintMonotonic = ...; readonly t IdleSinceHintMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b Linger = ...; readonly b Linger = ...;
}; };
interface org.freedesktop.DBus.Peer { ... }; interface org.freedesktop.DBus.Peer { ... };

View File

@ -24,10 +24,7 @@ __systemd_osc_context_escape() {
} }
__systemd_osc_context_common() { __systemd_osc_context_common() {
if [ -f /etc/machine-id ]; then printf ";user=%s;hostname=%s;machineid=%s;bootid=%s;pid=%s" "$USER" "$HOSTNAME" "$(</etc/machine-id)" "$(</proc/sys/kernel/random/boot_id)" "$$"
printf ";machineid=%s" "$(</etc/machine-id)"
fi
printf ";user=%s;hostname=%s;bootid=%s;pid=%s" "$USER" "$HOSTNAME" "$(</proc/sys/kernel/random/boot_id)" "$$"
} }
__systemd_osc_context_precmdline() { __systemd_osc_context_precmdline() {

View File

@ -1232,7 +1232,7 @@ static int settle_scope(
return 0; return 0;
} }
static char normalize_separator(char c) { static bool normalize_separator(char c) {
if (IN_SET(c, '-', '+', '_')) if (IN_SET(c, '-', '+', '_'))
return '_'; return '_';

View File

@ -1668,7 +1668,6 @@ static int method_set_user_linger(sd_bus_message *message, void *userdata, sd_bu
return r; return r;
if (manager_add_user_by_uid(m, uid, &u) >= 0) { if (manager_add_user_by_uid(m, uid, &u) >= 0) {
(void) user_send_changed(u, "Linger");
r = user_start(u); r = user_start(u);
if (r < 0) { if (r < 0) {
user_add_to_gc_queue(u); user_add_to_gc_queue(u);
@ -1686,7 +1685,6 @@ static int method_set_user_linger(sd_bus_message *message, void *userdata, sd_bu
/* Make sure that disabling lingering will terminate the user tracking if no sessions pin it. */ /* Make sure that disabling lingering will terminate the user tracking if no sessions pin it. */
u->gc_mode = USER_GC_BY_PIN; u->gc_mode = USER_GC_BY_PIN;
user_add_to_gc_queue(u); user_add_to_gc_queue(u);
(void) user_send_changed(u, "Linger");
} }
} }

View File

@ -367,7 +367,7 @@ static const sd_bus_vtable user_vtable[] = {
SD_BUS_PROPERTY("IdleHint", "b", property_get_idle_hint, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), SD_BUS_PROPERTY("IdleHint", "b", property_get_idle_hint, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE),
SD_BUS_PROPERTY("IdleSinceHint", "t", property_get_idle_since_hint, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), SD_BUS_PROPERTY("IdleSinceHint", "t", property_get_idle_since_hint, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE),
SD_BUS_PROPERTY("IdleSinceHintMonotonic", "t", property_get_idle_since_hint, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), SD_BUS_PROPERTY("IdleSinceHintMonotonic", "t", property_get_idle_since_hint, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE),
SD_BUS_PROPERTY("Linger", "b", property_get_linger, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), SD_BUS_PROPERTY("Linger", "b", property_get_linger, 0, 0),
SD_BUS_METHOD("Terminate", NULL, NULL, bus_user_method_terminate, SD_BUS_VTABLE_UNPRIVILEGED), SD_BUS_METHOD("Terminate", NULL, NULL, bus_user_method_terminate, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("Kill", SD_BUS_METHOD_WITH_ARGS("Kill",

View File

@ -590,10 +590,7 @@ testcase_list_users_sessions_seats() {
assert_eq "$(loginctl list-users --no-legend | awk '$2 == "logind-test-user" { print $3 }')" no assert_eq "$(loginctl list-users --no-legend | awk '$2 == "logind-test-user" { print $3 }')" no
assert_eq "$(loginctl list-users --no-legend | awk '$2 == "logind-test-user" { print $4 }')" active assert_eq "$(loginctl list-users --no-legend | awk '$2 == "logind-test-user" { print $4 }')" active
systemd-run --quiet --service-type=notify --unit=test-linger-signal-wait --pty \ loginctl enable-linger logind-test-user
-p Environment=SYSTEMD_LOG_LEVEL=debug \
-p ExecStartPost="loginctl enable-linger logind-test-user" \
busctl --timeout=30 wait "/org/freedesktop/login1/user/_$(id -ru logind-test-user)" org.freedesktop.DBus.Properties PropertiesChanged | grep -qF '"Linger" b true'
assert_eq "$(loginctl list-users --no-legend | awk '$2 == "logind-test-user" { print $3 }')" yes assert_eq "$(loginctl list-users --no-legend | awk '$2 == "logind-test-user" { print $3 }')" yes
for s in $(loginctl list-sessions --no-legend | grep tty | awk '$3 == "logind-test-user" { print $1 }'); do for s in $(loginctl list-sessions --no-legend | grep tty | awk '$3 == "logind-test-user" { print $1 }'); do