summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-04-21core/dbus-manager: drop unused param from installation functionsZbigniew Jędrzejewski-Szmek
2016-04-21shared/install: nicer error message is symlinking chokes on an existing fileZbigniew Jędrzejewski-Szmek
Fixes #1892. Previously: Failed to enable unit: Invalid argument Now: Failed to enable unit, file /etc/systemd/system/ssh.service already exists. It would be nice to include the unit name in the message too. I looked into this, but it would require major surgery on the whole installation logic, because we first create a list of things to change, and then try to apply them in a loop. To transfer the knowledge which unit was the source of each change, the data structures would have to be extended to carry the unit name over into the second loop. So I'm skipping this for now.
2016-04-20networkd: respect DHCP UseRoutes option (#3075)Susant Sahani
This fixes #2282.
2016-04-20networkd: bump MTU to 1280 for interfaces which have IPv6 enabled (#3077)Susant Sahani
IPv6 protocol requires a minimum MTU of 1280 bytes on the interface. This fixes #3046. Introduce helper link_ipv6_enabled() to figure out whether IPV6 is enabled. Introduce network_has_static_ipv6_addresses() to find out if any static ipv6 address configured. If IPv6 is not configured on any interface that is SLAAC, DHCPv6 and static IPv6 addresses not configured, then IPv6 will be automatically disabled for that interface, that is we write "1" to /proc/sys/net/ipv6/conf//disable_ipv6.
2016-04-20Merge pull request #3074 from keszybz/tmpfilesLennart Poettering
systemd-tmpfiles improvements, nspawn -E, honouring $TERM in pid1
2016-04-20tmpfiles: add new 'e' action which cleans up a dir without creating itZbigniew Jędrzejewski-Szmek
I wanted to add a config line that would empty a directory without creating it if doesn't exist. Existing actions don't allow this. v2: properly add 'e' to needs_glob() and takes_ownership()
2016-04-20man: try to explain different actions in tmpfiles a bit betterZbigniew Jędrzejewski-Szmek
- do not suggest that vendor configuration files should be in /etc, use /usr/lib/tmpfiles.d instead - split the first example, because the text talked about "needing two directories", but then a smack attribute was also set, and on a different path, which looked like a typo. Replace that with the example from original patch [1] which added 't'. - fix the example for /var/tmp/abrt. The 'x' line was redundant, because /var/tmp/abrt/* is already filtered because "d /var/tmp/abrt" overrides "d /var/tmp". [1] http://permalink.gmane.org/gmane.comp.sysutils.systemd.devel/25051
2016-04-20tmpfiles: shorten some long error messagesZbigniew Jędrzejewski-Szmek
Also don't print %m when the message already contains all the info.
2016-04-20tmpfiles: interpret "-" as stdinZbigniew Jędrzejewski-Szmek
2016-04-20pid1: disable color output when TERM=dumbZbigniew Jędrzejewski-Szmek
This changes the behaviour of pid1 in the following ways: - obviously $TERM is now checked, - $SYSTEMD_COLORS is now honoured too, before only SYSTEMD_LOG_COLORS was checked, - isatty() is run on stdout not stderr. As requested in #3025.
2016-04-20machinectl: add -E as alias for --setenvZbigniew Jędrzejewski-Szmek
2016-04-20run: add -E as alias for --setenvZbigniew Jędrzejewski-Szmek
2016-04-20nspawn: add -E as alias for --setenvZbigniew Jędrzejewski-Szmek
v2: - "=" is required, so remove the <optional> tags that v1 added
2016-04-20basic/terminal-util: cache value for colors_enabledZbigniew Jędrzejewski-Szmek
After all it's something that we query over and over. For example, systemctl calls colors_enabled() four times for each failing service. The compiler is unable to optimize those calls away because they (potentially) accesses external and global state through on_tty() and getenv().
2016-04-20logind: use type to determine graphical sessions (#3071)Michał Bartoszkiewicz
2016-04-19systemctl: hide "following" units if '--all' is not passed (#2967)Franck Bui
No need to dump all the redundant device units on the user, just because he specified that he wants to see units of a specific state. This was broken by commit ebc962656cee33e3e8395f456a8208c3ca41969c.
2016-04-19Merge pull request #3055 from keszybz/preset-fixesLennart Poettering
Another bunch of improvements to the installation code
2016-04-19coredump: create unnamed temporary files if possible (O_TMPFILE) (#3065)Evgeny Vereshchagin
Don't leave temporary files if the coredump service is aborted during the operation Yeah, these are temporary files that systemd-coredump needs while processing the coredumps. Of course, if the coredump service is aborted during the operation we better shouldn't leave those files around. This is hence a bug to fix in our coredumping code. See https://github.com/systemd/systemd/issues/2804#issuecomment-210578147 Another option is to simply use O_TMPFILE, and when it is not available fall back to the current behaviour. After all, the files are cleaned up eventually, through normal tmpfiles aging, and the offending file systems are pretty exotic these days, or not in the upstream kernel. See https://github.com/systemd/systemd/issues/2804#issuecomment-211496707
2016-04-19run: change --tty option to --pty as documentedZbigniew Jędrzejewski-Szmek
Keep the previous option name as hidden, for compatibility. Fixes #3054.
2016-04-19systemctl: warning about missing install info for template unitsZbigniew Jędrzejewski-Szmek
The advice string didn't talk about template units at all. Extend it and print when trying to enable a template unit without install info. Fixes #2345.
2016-04-19shared/install: change value of _UNIT_FILE_CHANGE_TYPE_INVALIDZbigniew Jędrzejewski-Szmek
-1 could be confused with -EPERM. But we still need a negative enum value to force gcc to use int for the enum type, even though it is unused. Otherwise we get warnings.
2016-04-19shared/install,systemctl,core: report offending file on installation errorZbigniew Jędrzejewski-Szmek
Fixes #2191: $ systemctl --root=/ enable sddm Created symlink /etc/systemd/system/display-manager.service, pointing to /usr/lib/systemd/system/sddm.service. $ sudo build/systemctl --root=/ enable gdm Failed to enable unit, file /etc/systemd/system/display-manager.service already exists and is a symlink to /usr/lib/systemd/system/sddm.service. $ sudo build/systemctl --root= enable sddm $ sudo build/systemctl --root= enable gdm Failed to enable unit: File /etc/systemd/system/display-manager.service already exists and is a symlink to /usr/lib/systemd/system/sddm.service. (I tried a few different approaches to pass the error information back to the caller. Adding a new parameter to hold the error results in a gigantic patch and a lot of hassle to pass the args arounds. Adding this information to the changes array is straightforward and can be more easily extended in the future.) In case local installation is performed, the full set of errors can be reported and we do that. When running over dbus, only the first error is reported.
2016-04-19sleep: Add debug feature to bypass hibernation memory checks. (#3064)Vittorio G (VittGam)
This new feature bypasses checking if a swap partition is mounted or if there is enough swap space available for hibernation to succeed. This can be useful when a system with a Solid State Disk (SSD) has no normal swap partition or file configured, and a custom systemd unit is used to mount a swap file just before hibernating and unmount it just after resuming. Signed-off-by: Vittorio Gambaletta <git-systemd@vittgam.net>
2016-04-19zsh-completion: remove non-portable uses of \s in awk (#3063)Felipe Sateler
2016-04-18shared/install: add helper function unit_file_changes_have_modification()Zbigniew Jędrzejewski-Szmek
As suggested in review of #3049.
2016-04-18Various formatting and style fixesZbigniew Jędrzejewski-Szmek
2016-04-18Add zsh completion for networkctl (#3062)Felipe Sateler
2016-04-18Master minutes (#3060)mulkieran
* man: change time unit specifier for minutes to "m", not "min". To alert the reader to the fact that the ambiguous prefix "m" will be interpreted as minutes, not months. * man: change 'journal files' to 'archived journal files'. So that the user may be reminded why they see log entries in the journal from a time previous to the one they specified when using --vacuum-time.
2016-04-18Mark nbd as inactive until connected (#2422)Wouter Verhelst
Currently, 99-systemd.rules.in contains a line for network block devices, which mark them as inactive until the first change event, and as active from then on forward. This is not correct. A network block device can be connected or disconnected; this state is signalled by the presence or absense of a "pid" file, which contains the PID of the nbd client userspace process that started the connection. Update the rules file so that it checks for the presence of that file to decide what to set SYSTEMD_READY to. Note that current kernels do issue a change event upon connecting the device, but not yet upon disconnecting. While it's possible to wait until that's been fixed, the behaviour of the rule with TEST!="pid" in the absence of a proper uevent is exactly the same as the behaviour of the old rule; so it should be safe to apply now. Signed-off-by: Wouter Verhelst <w@uter.be>
2016-04-18basic: user-utils.c needs missing.h for secure_getenv (#3059)michaelolbrich
Otherwise building may fail with: src/basic/user-util.c: In function 'get_home_dir': src/basic/user-util.c:343:9: error: implicit declaration of function 'secure_getenv' [-Werror=implicit-function-declaration]
2016-04-18networkd: allow setting of multicast querier for linux bridge (#3051)Susant Sahani
2016-04-18hwdb: add touchpad resolutions for the Dell XPS 15 9550 (#3057)Peter Hutterer
https://bugs.freedesktop.org/show_bug.cgi?id=94773
2016-04-17conf-parser: Set EXTRACT_RETAIN_ESCAPE when extracting words (#2917)Dan Nicholson
If you reference another unit with an escaped name, the escaped characters should remain in the extracted word. This used to work correctly prior to commit 34f253f0. The problem can be seen when units with escaped names are referenced. $ cat "/usr/lib/systemd/system/dev-disk-by\x2dlabel-eos\x2dswap.swap" [Swap] What=/dev/disk/by-label/eos-swap [Install] WantedBy=dev-disk-by\x2dlabel-eos\x2dswap.device $ systemctl enable "dev-disk-by\x2dlabel-eos\x2dswap.swap" Created symlink /etc/systemd/system/dev-disk-byx2dlabel-eosx2dswap.device.wants/dev-disk-by\x2dlabel-eos\x2dswap.swap, pointing to /usr/lib/systemd/system/dev-disk-by\x2dlabel-eos\x2dswap.swap. The wants directory should be created with the x2ds escaped with \.
2016-04-17tree-wide: fall back to now(CLOCK_MONOTONIC) if CLOCK_BOOTTIME unsupported ↵Lubomir Rintel
(#3037) It was added in 2.6.39, and causes an assertion to fail when running in mock hosted on 2.6.32-based RHEL-6: Assertion 'clock_gettime(map_clock_id(clock_id), &ts) == 0' failed at systemd/src/basic/time-util.c:70, function now(). Aborting.
2016-04-17Merge pull request #3049 from keszybz/preset-fixesLennart Poettering
Fixes for preset-all handling and a few related issues
2016-04-17man: systemd.exec: Clarify InaccessibleDirectories (#3048) (#3048)Nicolas Braud-Santoni
2016-04-16install: allow paths like LookupPath.generator to be NULLZbigniew Jędrzejewski-Szmek
Fixes #3047.
2016-04-16tree-wide: introduce PATH_IN_SET macroZbigniew Jędrzejewski-Szmek
2016-04-16systemctl/core: ignore masked units in preset-allZbigniew Jędrzejewski-Szmek
With any masked unit that would that would be enabled by presets, we'd get: test@rawhide $ sudo systemctl preset-all Failed to execute operation: Unit file is masked. test@rawhide $ sudo systemctl --root=/ preset-all Operation failed: Cannot send after transport endpoint shutdown Simply ignore those units: test@rawhide $ sudo systemctl preset-all Unit xxx.service is masked, ignoring.
2016-04-16tree-wide: use ERFKILL instead of ESHUTDOWN for "unit masked"Zbigniew Jędrzejewski-Szmek
If the error code ever leaks (we print the strerror error instead of providing our own), the message for ESHUTDOWN is "Cannot send after transport endpoint shutdown", which can be misleading. In particular it suggest that some mishandling of the dbus connection occured. Let's change that to ERFKILL which has the advantage that a) it sounds implausible as actual error, b) has the connotation of disabling something manually.
2016-04-16journald: rewrite function with switch, fix handling of -ESHUTDOWNZbigniew Jędrzejewski-Szmek
The comments and the log messages are next to one another, so it's easier to check that the messages match the comments. The sign was omitted in the check for -ESHUTDOWN, so it was never matched.
2016-04-16sd-bus: use IN_SETZbigniew Jędrzejewski-Szmek
2016-04-16systemctl: make --root=/ disable dbus againZbigniew Jędrzejewski-Szmek
Before 0f03c2a4c093 specifying any path would cause the systemctl client to do the installation itself, instead of going over dbus. Restore that behaviour.
2016-04-14core/mount-setup.c: also relabel /dev/shm for selinux (#3039)Harald Hoyer
daemons, which wish to transition state from the initramfs to the real root, might use /dev/shm for their state. As /dev is not relabeled across mount points, /dev/shm has to be relabled explicitly.
2016-04-14Merge pull request #3036 from evverx/add-ldlDaniel Mack
build-sys: add missing -ldl
2016-04-14networkd: Add support to configure proxy arp support to interfaces (#3020)Susant Sahani
Fixes: #2889
2016-04-14Merge pull request #3029 from ipuustin/supplementary-gidsDaniel Mack
sd-bus: query pid also when requesting supplementary gids information
2016-04-14Merge pull request #3033 from keszybz/code-cleanupsMartin Pitt
Code cleanups
2016-04-13systemctl: fix leakZbigniew Jędrzejewski-Szmek
CID #1354670.
2016-04-13shared/path-lookup: fix leakZbigniew Jędrzejewski-Szmek
CID #1354671: char **l would be leaked. Also rename l to paths, to make the code easier to read, and do strv deduplication immediately when extending. No need to allocate strings to remove them a few lines down.