summaryrefslogtreecommitdiffstats
path: root/travis-ci/managers (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-10-22test-path: start infinite sleep instead of a short commandZbigniew Jędrzejewski-Szmek8-13/+7
The test sometimes fails, e.g. in bionic-s390x ci. I think it might be because the service binary exits before we get a chance to notice that it is running: 13:59:31 --- Listing only the last 100 lines from a long log. --- 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 4639845) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 4539608) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 4439376) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 4338946) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 4238702) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 4138424) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 4038116) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 3937835) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 3837553) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 3737250) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 3636934) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 3536622) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 3436318) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 3336021) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 3235730) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 3135468) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 3035158) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 2934855) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 2834541) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 2732511) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 2632255) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 2532014) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 2431746) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 2331438) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 2231213) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 2130952) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 2030663) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 1930428) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 1830172) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 1729906) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 1629652) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 1529368) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 1429110) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 1328852) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 1228593) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 1128320) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 1028083) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 927824) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 827564) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 724935) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 624664) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 524411) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 424124) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 323853) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 223585) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 120356) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: 18053) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 line 293: path-unit.path: state = running; result = success (left: -82385) 13:59:31 line 293: path-mycustomunit.service: state = exited; result = success 13:59:31 Test timeout when testing path-unit.path It seems test/test-path/path-service.service wasn't actually used for anything.
2020-10-22tests: replace the few remaining Type=simple with Type=execZbigniew Jędrzejewski-Szmek3-3/+3
Except for the places where we explicitly want to test Type=simple, we should use Type=exec.
2020-10-22xdg-autostart-generator: use Type=execZbigniew Jędrzejewski-Szmek1-1/+1
We check that the binary exists before writing the service file, but let's also not consider the service started until the fork has happened. This is still relatively new stuff, so we're can change the implementation details like this.
2020-10-22test-path: use Type=execZbigniew Jędrzejewski-Szmek7-7/+7
In general, Type=exec is superior to Type=simple. Let's not assume that the service is started before it was really started.
2020-10-22test-path: do not fail the test if we fail to start a service because of ↵Zbigniew Jędrzejewski-Szmek2-28/+66
cgroup setup The test was failing because it couldn't start the service: path-modified.service: state = failed; result = exit-code path-modified.path: state = waiting; result = success path-modified.service: state = failed; result = exit-code path-modified.path: state = waiting; result = success path-modified.service: state = failed; result = exit-code path-modified.path: state = waiting; result = success path-modified.service: state = failed; result = exit-code path-modified.path: state = waiting; result = success path-modified.service: state = failed; result = exit-code path-modified.path: state = waiting; result = success path-modified.service: state = failed; result = exit-code Failed to connect to system bus: No such file or directory -.slice: Failed to enable/disable controllers on cgroup /system.slice/kojid.service, ignoring: Permission denied path-modified.service: Failed to create cgroup /system.slice/kojid.service/path-modified.service: Permission denied path-modified.service: Failed to attach to cgroup /system.slice/kojid.service/path-modified.service: No such file or directory path-modified.service: Failed at step CGROUP spawning /bin/true: No such file or directory path-modified.service: Main process exited, code=exited, status=219/CGROUP path-modified.service: Failed with result 'exit-code'. Test timeout when testing path-modified.path In fact any of the services that we try to start may fail, especially considering that we're doing some rogue cgroup operations. See https://github.com/systemd/systemd/pull/16603#issuecomment-679133641.
2020-10-22test-path: more debugging informationZbigniew Jędrzejewski-Szmek1-14/+19
Just to make it easier to grok what happens when test-path fails. Change printf→log_info so that output is interleaved and not split in two independent parts in log files.
2020-10-22macro: introduce POINTER_MAX as define for (void*) -1Lennart Poettering6-11/+14
Just add a safer, prettier way to write (void*) -1, that doesn't rely on two's complement, but uses the correct underlying C constructs.
2020-10-21units: add initrd-cryptsetup.targetJonathan Lebon4-9/+46
For encrypted block devices that we need to unlock from the initramfs, we currently rely on dracut shipping `cryptsetup.target`. This works, but doesn't cover the case where the encrypted block device requires networking (i.e. the `remote-cryptsetup.target` version). That target however is traditionally dynamically enabled. Instead, let's rework things here by adding a `initrd-cryptsetup.target` specifically for initramfs encrypted block device setup. This plays the role of both `cryptsetup.target` and `remote-cryptsetup.target` in the initramfs. Then, adapt `systemd-cryptsetup-generator` to hook all generated services to this new unit when running from the initrd. This is analogous to `systemd-fstab-generator` hooking all mounts to `initrd-fs.target`, regardless of whether they're network-backed or not.
2020-10-21homed: remove PAM_USER_UNKNOWN test in pam_sm_acct_mgmtChandradeep Dey1-2/+0
Why this change --------------- Assumption - PAM's auth stack is properly configured. Currently account pam_systemd_home.so returns PAM_SUCCESS for non systemd-homed users, and a variety of return values (including PAM_SUCCESS) for homed users. account pam_unix returns PAM_AUTHINFO_UNAVAIL for systemd-homed users, and a variety of return values (including PAM_AUTHINFO_UNAVAIL) for normal users. No possible combination in the pam stack can let us preserve the various return values of the modules. For example, the configuration mentioned in the manpage causes account pam_unix to never be reached since pam_systemd_home just returns a success for ordinary users. Users with expired passwords are allowed to log in because a check cannot be made. More configuration examples and why they don't work are mentioned in #16906 and the downstream discussion linked there. After this change ----------------- account pam_unix will continue to return wrong value for homed users. But we can skip the module conditionally using the return value from account pam_systemd_home. We can already do this with the auth and password modules.
2020-10-21cgtop: Display cpu time in microseonds with --rawArian van Putten3-4/+19
this makes the CPU time easily parseable; which was the goal of --raw in the first place. This only triggers if --raw is combined with --cpu=time
2020-10-21test-mountpoint-util: run test in private mount namespaceLennart Poettering1-0/+11
This creates a private mount namespace for test-mountpint-util, with all propagation from the host turned off. This gives us the guarantee that /proc/self/mountinfo remains fixed and constant while we operate, removing potential races against other unrelated stuff running on the system that changes the mount table. Prompted-by: #17050 (I doubt this actually fixes 17050, this is mostly to make sure that we aren't possibly affected by such races in our test)
2020-10-21dhcp-server: make parameter constLennart Poettering1-1/+1
2020-10-20test-ipcrm: modernize, skip test on permission errorsZbigniew Jędrzejewski-Szmek1-8/+12
I now get: $ build/test-ipcrm Failed to enter shared memory directory /dev/shm/multipath: Permission denied test-ipcrm: No privileges, skipping tests.
2020-10-20shared/clean-ipc: improve error message a bitZbigniew Jędrzejewski-Szmek1-6/+9
Failed to enter shared memory directory multipath: Permission denied → Failed to enter shared memory directory /dev/shm/multipath: Permission denied When looking at nested directories, we will print only the final two elements of the path. That is still more useful than just the last component of the path. To print the full path, we'd have to allocate the string, and since the error occurs so very rarely, I think the current best-effort approach is enough.
2020-10-20sd-hwdb: reduce variable scope, use periodsZbigniew Jędrzejewski-Szmek1-21/+14
2020-10-20sd-hwdb: allow empty propertiesZbigniew Jędrzejewski-Szmek1-3/+2
So far we didn't allow empty properties, but it makes sense to do so, for example to distinguish empty data from lack of data. It also makes it easy to override properties (back to the empty) value for specific cases.
2020-10-20bootctl: add @current/@oneshot/@default targets to set-default/set-oneshotДамјан Георгиевски2-8/+44
Using `bootctl set-default @current` will set the default loader entry to the currently booted entry as read from the `LoaderEntrySelected` EFI variable. Also `bootctl set-oneshot @current` will set the oneshot loader entry to the current booted entry. Correspondingly `@default` and `@oneshot` can be used to read from the LoaderEntryDefault and LoaderEntryOneshot EFI variables.
2020-10-20update TODOLennart Poettering1-2/+2
2020-10-20semaphore: temporarily explicitly use the US image mirrorFrantisek Sumsal1-1/+1
The UK one contains an incorrectly signed index file, causing the CI to fail.
2020-10-20semaphore: try to use different keyserversFrantisek Sumsal1-5/+7
Recently the Semaphore CI started to fail pretty much constantly due to GPG key verification fails. After a quick search this is a pretty common issue with the Ubuntu keyserver in the last month. To make this, hopefully, a bit more stable, let's use a few different keyservers in case some of them fail.
2020-10-20udevadm: also support alias .device units to specify devicesYu Watanabe1-20/+66
Previously, .device units generated by SYSTEMD_ALIAS= udev properties are not supported to specify devices for e.g. 'udevadm info'. Before: ``` $ udevadm info sys-subsystem-net-devices-enp0s31f6.device Unknown device "sys-subsystem-net-devices-enp0s31f6.device": No such device ``` After: ``` $ ./udevadm info sys-subsystem-net-devices-enp0s31f6.device P: /devices/pci0000:00/0000:00:1f.6/net/enp0s31f6 L: 0 E: DEVPATH=/devices/pci0000:00/0000:00:1f.6/net/enp0s31f6 E: INTERFACE=enp0s31f6 E: IFINDEX=2 E: SUBSYSTEM=net E: USEC_INITIALIZED=25317523 E: ID_NET_NAMING_SCHEME=v245 (snip) ```
2020-10-20Add ACCEL_LOCATION property for Dell clamshell modelsKai-Chuan Hsieh1-0/+6
2020-10-20util: make size macros unsignedLennart Poettering4-7/+10
By making them unsigned comparing them with other sizes is less likely to trigger compiler warnings regarding signed/unsigned comparisons. After all sizes (i.e. size_t) are generally assumed to be unsigned, so these should be too. Prompted-by: https://github.com/systemd/systemd/pull/17345#issuecomment-709402332
2020-10-20network: call netlink in the last of route_configure()Yu Watanabe1-7/+7
Otherwise, assertion will be hit when route_add() fails.
2020-10-20hwdb: drop quotes from XKB_FIXED_*= propertiesZbigniew Jędrzejewski-Szmek2-12/+13
The properties are not unquoted by udev, so the quotes effectively became part of the value. Even though those properties were added quite a while ago (086c001e29a86287d7b639cb71d1fc6408920c53, d7d31692bf7cde5dce7f4ed3cae429a5b302a9f0), they never started being used (because of issues with having multiple layouts), see https://gitlab.gnome.org/GNOME/mutter/-/issues/906, https://bugzilla.gnome.org/show_bug.cgi?id=775681. Let's remove the quotes while we still can. From https://bugzilla.gnome.org/show_bug.cgi?id=775681#c7: > Note to self: the values for XKB_FIXED_LAYOUT and XKB_FIXED_VARIANT are > quoted, meaning that we need to remove the quotes before passing the values > from udev_device_get_property_value() to xkb_keymap_new_from_names() > otherwise the compilation of the keymap fails (please don't ask how I found > out...)
2020-10-20network: also compare and hash weight of the gatewayYu Watanabe1-2/+8
2020-10-20network: copy multipath route element earlierYu Watanabe1-5/+16
`route_get()` compares input with existing routes, however previously, the input may did not have information about gateway. So, the comparison result might be incorrect, and the foregoing set_put() might return -EEXIST.
2020-10-20network: make route_configure() return 0 on successYu Watanabe1-3/+3
Previously, route_configure() always returns 1 on success, and never returns 0. It is not necessary to return positive value.
2020-10-20update-done: Do not fail with read-only /etc or /varFelix Riemann1-2/+2
With the switch from log_debug() to log_debug_errno() in commit c413bb28df systemd-update-done would fail without any error message if /etc or /var were read-only. This restores the previous behaviour to silently ignore these directories again.
2020-10-19udev/net_id: don't generate slot based names if multiple devices might claim ↵Michal Sekletár4-1/+45
the same slot
2020-10-19man: Document new machine-id and first boot behaviorHarald Seiler2-8/+43
2020-10-19units: order systemd-random-seed.service before first-boot-complete.targetHarald Seiler1-1/+2
Ensure that systemd-random-seed.service has completed before marking a first boot as completed to guarantee that a saved seed will only be used after it has been initialized at least once.
2020-10-19units: order systemd-firstboot.service before first-boot-complete.targetHarald Seiler1-1/+2
Make sure systemd-firstboot completes before reaching first-boot-complete.target and thus marking the first boot as completed. This way, it is guaranteed that systemd-firstboot has a chance to complete provisioning at least once, even in cases of the first boot getting aborted early.
2020-10-19units: add first-boot-complete.target for first boot orderingHarald Seiler4-2/+29
Add a new target for synchronizing units that wish to run once during the first boot of the system. The machine-id will be committed to disk only after the target has been reached, thus ensuring that all units ordered before it had a chance to complete.
2020-10-19machine-id-setup: sync before committing machine-idHarald Seiler1-1/+13
sync() before committing a transient machine-id to disk. This will ensure that any filesystem changes made by first-boot units will have been persisted before the first boot is marked as completed.
2020-10-19core: keep machine-id transient until first boot completesHarald Seiler4-8/+32
Currently, a loss of power after the machine-id was written but before all units with ConditionFirstBoot=yes ran would lead to the next boot finding a valid machine-id, thus not being marked first boot and not re-running these units. To make the first boot mechanism more robust, instead of writing /etc/machine-id very early, fill it with a marker value "uninitialized" and overmount it with a transiently provisioned machine-id. Then, after the first boots completes (when systemd-machine-id-commit.service runs), write the real machine-id to disk. This mechanism is of course only invoked on first boot. If a first boot is not detected, the machine-id is handled as previously. Fixes: #4511
2020-10-19dissect-image: support "uninitialized" machine-idHarald Seiler1-0/+2
If the first boot was aborted, /etc/machine-id might read as "uninitialized" in some cases. Add a separate case for this instead of printing a confusing error message.
2020-10-19repart: correctly handle "uninitialized" machine-idHarald Seiler1-1/+1
When systemd-repart runs from initramfs, it reads out /etc/machine-id from the rootfs as a seed for partition UUIDs. However, the machine-id could be in an "uninitialized" state from a previous failed first boot. In this situation the -ENOMEDIUM code-path (no machine-id set) should be taken.
2020-10-19nspawn: robustly deal with "uninitialized" machine-idHarald Seiler1-1/+1
When nspawn starts an image, this image could be in any state, including an aborted first boot. For this case, it needs to correctly handle the situation like there was no machine-id at all.
2020-10-19id128: add format which treats "uninitialized" like an empty idHarald Seiler2-1/+11
Add a new ID128_PLAIN_OR_UNINIT format which treats the string "uninitialized" like the file was empty and return -ENOMEDIUM. This format should be used when reading an /etc/machine-id file from an image that is not currently running.
2020-10-19docs: some coding style updatesLennart Poettering1-8/+33
Primarily: 1. Mention that we prefer if return parameters carry "ret_" as prefix in their name 2. Clarify that debug-level logging is always OK, and irrelevant to when deciding whether a function is logging or non-logging.
2020-10-19tree-wide: update web link to logind descriptionZbigniew Jędrzejewski-Szmek23-92/+90
https://www.freedesktop.org/wiki/Software/systemd/multiseat/ says that it is obsoleted by sd-login(3), so it doesn't make much sense to link to the former.
2020-10-19logind: minor indentation adjustmentsZbigniew Jędrzejewski-Szmek3-27/+24
2020-10-19logind: use notify_start/notify_on_cleanupZbigniew Jędrzejewski-Szmek1-13/+4
Logging about the pid is dropped, pid1 does that better.
2020-10-19shared/daemon-util: fix notify_on_cleanup()Zbigniew Jędrzejewski-Szmek1-1/+1
p itself is never null. Because of this, we would always call sd_notify() in cleanup, even though the intention was to only call it if notify_start() was executed.
2020-10-19tmpfiles: no need to specify a synthetic error code if we don't propagate itLennart Poettering1-1/+1
2020-10-19bootspec: tweak error messageLennart Poettering1-2/+2
Clarify that the name of the entry failed validation, not the entry itself.
2020-10-19doc: document charset to use for bootspec entry namesLennart Poettering1-1/+21
Prompted-by: https://github.com/systemd/systemd/issues/12572#issuecomment-711074702
2020-10-19core: treat "uninitialized" in /etc/machine-id as first boot as wellHarald Seiler1-9/+20
When /etc/machine-id contains the string "uninitialized" instead of a valid machine-id, treat this like the file was missing and mark this boot as the first (-> units with ConditionFirstBoot=yes will run).
2020-10-19preset: don't enable proc-sys-fs-binfmt_misc.mountHarald Seiler1-0/+1
The proc-sys-fs-binfmt_misc.mount unit should not be enabled by preset-all because it should only be used as fallback in case proc-sys-fs-binfmt_misc.automount cannot be used on a system. In these cases it should be enabled manually by an administrator.