summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--Makefile.am77
-rw-r--r--TODO6
-rw-r--r--catalog/systemd.be.catalog260
-rw-r--r--catalog/systemd.be@latin.catalog260
-rw-r--r--configure.ac1
-rw-r--r--hwdb/20-bluetooth-vendor-product.hwdb39
-rw-r--r--man/systemd-gpt-auto-generator.xml15
-rw-r--r--man/systemd.kill.xml8
-rw-r--r--man/systemd.service.xml19
-rw-r--r--man/timesyncd.conf.xml4
-rw-r--r--po/LINGUAS2
-rw-r--r--po/be.po502
-rw-r--r--po/be@latin.po502
-rw-r--r--po/de.po138
-rw-r--r--po/es.po24
-rw-r--r--po/fr.po21
-rw-r--r--po/hu.po182
-rw-r--r--po/it.po49
-rw-r--r--po/pl.po23
-rw-r--r--po/pt_BR.po192
-rw-r--r--po/ru.po334
-rw-r--r--po/sv.po31
-rw-r--r--po/uk.po215
-rw-r--r--src/basic/btrfs-util.c43
-rw-r--r--src/basic/btrfs-util.h1
-rw-r--r--src/basic/copy.c2
-rw-r--r--src/basic/signal-util.c6
-rw-r--r--src/basic/signal-util.h2
-rw-r--r--src/basic/util.c41
-rw-r--r--src/basic/util.h6
-rw-r--r--src/console/consoled-manager.c2
-rw-r--r--src/core/execute.c8
-rw-r--r--src/import/export-raw.c2
-rw-r--r--src/import/export-tar.c2
-rw-r--r--src/import/export.c12
-rw-r--r--src/import/import-raw.c4
-rw-r--r--src/import/import-tar.c2
-rw-r--r--src/import/import.c12
-rw-r--r--src/import/importd.c2
-rw-r--r--src/import/pull-dkr.c2
-rw-r--r--src/import/pull-raw.c6
-rw-r--r--src/import/pull-tar.c2
-rw-r--r--src/import/pull.c18
-rw-r--r--src/journal-remote/journal-remote.c5
-rw-r--r--src/journal-remote/journal-upload.c5
-rw-r--r--src/journal/coredump.c4
-rw-r--r--src/journal/journald-server.c5
-rw-r--r--src/libsystemd-terminal/evcat.c2
-rw-r--r--src/libsystemd-terminal/modeset.c2
-rw-r--r--src/libsystemd-terminal/subterm.c2
-rw-r--r--src/libsystemd/sd-bus/bus-message.c6
-rw-r--r--src/libsystemd/sd-event/test-event.c13
-rw-r--r--src/locale/localectl.c35
-rw-r--r--src/login/loginctl.c105
-rw-r--r--src/login/logind-button.c2
-rw-r--r--src/login/logind-core.c2
-rw-r--r--src/login/logind-dbus.c21
-rw-r--r--src/login/logind-inhibit.c2
-rw-r--r--src/login/logind-seat.c2
-rw-r--r--src/login/logind-session-dbus.c2
-rw-r--r--src/login/logind-user-dbus.c2
-rw-r--r--src/login/logind-user.c5
-rw-r--r--src/login/logind.c9
-rw-r--r--src/machine/machinectl.c52
-rw-r--r--src/machine/machined.c2
-rw-r--r--src/network/networkd-address.c2
-rw-r--r--src/network/networkd-wait-online.c2
-rw-r--r--src/network/networkd.c2
-rw-r--r--src/nspawn/nspawn.c23
-rw-r--r--src/resolve/resolved.c2
-rw-r--r--src/run/run.c9
-rw-r--r--src/shared/ask-password-api.c6
-rw-r--r--src/shared/firewall-util.c (renamed from src/shared/fw-util.c)2
-rw-r--r--src/shared/firewall-util.h (renamed from src/shared/fw-util.h)0
-rw-r--r--src/shared/machine-pool.c2
-rw-r--r--src/systemctl/systemctl.c25
-rw-r--r--src/test/test-firewall-util.c (renamed from src/test/test-fw-util.c)2
-rw-r--r--src/test/test-netlink-manual.c2
-rw-r--r--src/test/test-pty.c2
-rw-r--r--src/test/test-udev.c2
-rw-r--r--src/test/test-util.c37
-rw-r--r--src/timedate/timedatectl.c17
-rw-r--r--src/timesync/timesyncd.c2
-rw-r--r--src/tmpfiles/tmpfiles.c2
-rw-r--r--src/tty-ask-password-agent/tty-ask-password-agent.c6
-rw-r--r--src/udev/udev-event.c25
-rw-r--r--src/udev/udev-rules.c4
-rw-r--r--src/udev/udev.h1
-rw-r--r--src/udev/udevd.c2
-rw-r--r--test/sysv-generator-test.py1
-rw-r--r--tmpfiles.d/systemd-nspawn.conf23
-rw-r--r--tmpfiles.d/var.conf1
93 files changed, 2907 insertions, 663 deletions
diff --git a/.gitignore b/.gitignore
index 9d93347d6b..1e704a872b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -193,7 +193,7 @@
/test-fdset
/test-fileio
/test-fstab-util
-/test-fw-util
+/test-firewall-util
/test-hashmap
/test-hostname
/test-icmp6-rs
diff --git a/Makefile.am b/Makefile.am
index 5b519482ff..1dd6dbd5e5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1021,6 +1021,7 @@ libshared_la_CFLAGS = \
libshared_la_LIBADD = \
libsystemd-internal.la \
libsystemd-journal-internal.la \
+ libudev-internal.la \
$(ACL_LIBS) \
$(LIBIDN_LIBS) \
$(SECCOMP_LIBS)
@@ -1031,8 +1032,8 @@ noinst_LTLIBRARIES += \
libfirewall.la
libfirewall_la_SOURCES = \
- src/shared/fw-util.h \
- src/shared/fw-util.c
+ src/shared/firewall-util.h \
+ src/shared/firewall-util.c
libfirewall_la_CFLAGS = \
$(AM_CFLAGS) \
@@ -1187,10 +1188,10 @@ libcore_la_CFLAGS = \
$(AUDIT_CFLAGS) \
$(KMOD_CFLAGS) \
$(APPARMOR_CFLAGS) \
- $(MOUNT_CFLAGS)
+ $(MOUNT_CFLAGS) \
+ $(SECCOMP_CFLAGS)
libcore_la_LIBADD = \
- libudev-internal.la \
libshared.la \
$(PAM_LIBS) \
$(AUDIT_LIBS) \
@@ -1316,6 +1317,10 @@ src/resolve/dns_type-from-name.gperf: src/resolve/dns_type-list.txt
systemd_SOURCES = \
src/core/main.c
+systemd_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(SECCOMP_CFLAGS)
+
systemd_LDADD = \
libcore.la
@@ -1358,7 +1363,7 @@ manual_tests += \
if HAVE_LIBIPTC
manual_tests += \
- test-fw-util
+ test-firewall-util
endif
if HAVE_KMOD
@@ -1799,7 +1804,6 @@ test_tables_CFLAGS = \
$(SECCOMP_CFLAGS)
test_tables_LDADD = \
- libsystemd-journal-internal.la \
libjournal-core.la \
libcore.la \
libudev-core.la
@@ -1847,14 +1851,14 @@ test_btrfs_LDADD = \
libshared.la
if HAVE_LIBIPTC
-test_fw_util_SOURCES = \
- src/test/test-fw-util.c
+test_firewall_util_SOURCES = \
+ src/test/test-firewall-util.c
-test_fw_util_CFLAGS = \
+test_firewall_util_CFLAGS = \
$(AM_CFLAGS) \
$(LIBIPTC_CFLAGS)
-test_fw_util_LDADD = \
+test_firewall_util_LDADD = \
libfirewall.la \
libshared.la \
$(LIBIPTC_LIBS)
@@ -2119,7 +2123,6 @@ systemd_shutdown_SOURCES = \
src/core/killall.c
systemd_shutdown_LDADD = \
- libudev-internal.la \
libshared.la
# ------------------------------------------------------------------------------
@@ -2185,7 +2188,8 @@ dist_tmpfiles_DATA = \
tmpfiles.d/tmp.conf \
tmpfiles.d/x11.conf \
tmpfiles.d/var.conf \
- tmpfiles.d/home.conf
+ tmpfiles.d/home.conf \
+ tmpfiles.d/systemd-nspawn.conf
if HAVE_SYSV_COMPAT
dist_tmpfiles_DATA += \
@@ -2304,7 +2308,6 @@ systemd_fsck_SOURCES = \
src/fsck/fsck.c
systemd_fsck_LDADD = \
- libudev-internal.la \
libshared.la
# ------------------------------------------------------------------------------
@@ -2324,7 +2327,6 @@ systemd_ac_power_SOURCES = \
src/ac-power/ac-power.c
systemd_ac_power_LDADD = \
- libudev-internal.la \
libshared.la
# ------------------------------------------------------------------------------
@@ -2611,7 +2613,6 @@ systemd_gpt_auto_generator_SOURCES = \
src/basic/blkid-util.h
systemd_gpt_auto_generator_LDADD = \
- libudev-internal.la \
libshared.la \
$(BLKID_LIBS)
@@ -2688,7 +2689,6 @@ systemctl_SOURCES = \
src/systemctl/systemctl.c
systemctl_LDADD = \
- libsystemd-journal-internal.la \
libshared.la
# ------------------------------------------------------------------------------
@@ -2743,10 +2743,10 @@ systemd_nspawn_SOURCES = \
systemd_nspawn_CFLAGS = \
$(AM_CFLAGS) \
- $(BLKID_CFLAGS)
+ $(BLKID_CFLAGS) \
+ $(SECCOMP_CFLAGS)
systemd_nspawn_LDADD = \
- libudev-internal.la \
libshared.la \
$(BLKID_LIBS)
@@ -3227,7 +3227,6 @@ test_dhcp_client_SOURCES = \
test_dhcp_client_LDADD = \
libsystemd-network.la \
- libudev-internal.la \
libshared.la
test_dhcp_server_SOURCES = \
@@ -3361,7 +3360,6 @@ libsystemd_terminal_la_SOURCES = \
src/libsystemd-terminal/unifont.c
libsystemd_terminal_la_LIBADD = \
- libudev-internal.la \
libshared.la \
$(TERMINAL_LIBS)
@@ -3615,7 +3613,6 @@ libudev_core_la_CFLAGS = \
$(KMOD_CFLAGS)
libudev_core_la_LIBADD = \
- libudev-internal.la \
libsystemd-network.la \
libshared.la \
$(BLKID_LIBS) \
@@ -3674,7 +3671,6 @@ systemd_hwdb_SOURCES = \
src/hwdb/hwdb.c
systemd_hwdb_LDADD = \
- libudev-internal.la \
libshared.la
rootbin_PROGRAMS += \
@@ -3742,7 +3738,6 @@ test_libudev_SOURCES = \
src/test/test-libudev.c
test_libudev_LDADD = \
- libudev-internal.la \
libshared.la
test_udev_SOURCES = \
@@ -3779,7 +3774,6 @@ ata_id_SOURCES = \
src/udev/ata_id/ata_id.c
ata_id_LDADD = \
- libudev-internal.la \
libshared.la
udevlibexec_PROGRAMS += \
@@ -3790,7 +3784,6 @@ cdrom_id_SOURCES = \
src/udev/cdrom_id/cdrom_id.c
cdrom_id_LDADD = \
- libudev-internal.la \
libshared.la
udevlibexec_PROGRAMS += \
@@ -3804,7 +3797,6 @@ collect_SOURCES = \
src/udev/collect/collect.c
collect_LDADD = \
- libudev-internal.la \
libshared.la
udevlibexec_PROGRAMS += \
@@ -3818,7 +3810,6 @@ scsi_id_SOURCES =\
src/udev/scsi_id/scsi_id.h
scsi_id_LDADD = \
- libudev-internal.la \
libshared.la
udevlibexec_PROGRAMS += \
@@ -3832,7 +3823,6 @@ v4l_id_SOURCES = \
src/udev/v4l_id/v4l_id.c
v4l_id_LDADD = \
- libudev-internal.la \
libshared.la
udevlibexec_PROGRAMS += \
@@ -3846,7 +3836,6 @@ accelerometer_SOURCES = \
src/udev/accelerometer/accelerometer.c
accelerometer_LDADD = \
- libudev-internal.la \
libshared.la
udevlibexec_PROGRAMS += \
@@ -3982,7 +3971,6 @@ systemd_journal_upload_CFLAGS = \
$(LIBCURL_CFLAGS)
systemd_journal_upload_LDADD = \
- libsystemd-journal-internal.la \
libshared.la \
$(LIBCURL_LIBS)
@@ -4006,7 +3994,6 @@ journalctl_SOURCES = \
src/journal/journalctl.c
journalctl_LDADD = \
- libsystemd-journal-internal.la \
libshared.la
if HAVE_QRENCODE
@@ -4101,14 +4088,12 @@ test_compress_SOURCES = \
src/journal/test-compress.c
test_compress_LDADD = \
- libsystemd-journal-internal.la \
libshared.la
test_compress_benchmark_SOURCES = \
src/journal/test-compress-benchmark.c
test_compress_benchmark_LDADD = \
- libsystemd-journal-internal.la \
libshared.la
test_audit_type_SOURCES = \
@@ -4142,8 +4127,6 @@ nodist_libjournal_core_la_SOURCES = \
src/journal/journald-gperf.c
libjournal_core_la_LIBADD = \
- libsystemd-journal-internal.la \
- libudev-internal.la \
libshared.la
noinst_LTLIBRARIES += \
@@ -4296,6 +4279,8 @@ dist_pkgsysconf_DATA += \
src/journal/journald.conf
dist_catalog_DATA = \
+ catalog/systemd.be.catalog \
+ catalog/systemd.be@latin.catalog \
catalog/systemd.fr.catalog \
catalog/systemd.it.catalog \
catalog/systemd.pl.catalog \
@@ -4335,7 +4320,6 @@ systemd_journal_gatewayd_SOURCES = \
src/journal-remote/microhttpd-util.c
systemd_journal_gatewayd_LDADD = \
- libsystemd-journal-internal.la \
libshared.la \
$(MICROHTTPD_LIBS)
@@ -4372,7 +4356,6 @@ systemd_socket_proxyd_SOURCES = \
src/socket-proxy/socket-proxyd.c
systemd_socket_proxyd_LDADD = \
- libsystemd-journal-internal.la \
libshared.la
# ------------------------------------------------------------------------------
@@ -4383,7 +4366,6 @@ systemd_coredump_SOURCES = \
src/journal/coredump-vacuum.h
systemd_coredump_LDADD = \
- libsystemd-journal-internal.la \
libshared.la
if HAVE_ELFUTILS
@@ -4405,7 +4387,6 @@ coredumpctl_SOURCES = \
src/journal/coredumpctl.c
coredumpctl_LDADD = \
- libsystemd-journal-internal.la \
libshared.la
bin_PROGRAMS += \
@@ -4505,7 +4486,6 @@ systemd_bootchart_SOURCES = \
src/bootchart/svg.h
systemd_bootchart_LDADD = \
- libsystemd-journal-internal.la \
libshared.la
rootlibexec_PROGRAMS += \
@@ -4576,7 +4556,6 @@ systemd_backlight_SOURCES = \
src/backlight/backlight.c
systemd_backlight_LDADD = \
- libudev-internal.la \
libshared.la
endif
@@ -4595,7 +4574,6 @@ systemd_rfkill_SOURCES = \
src/rfkill/rfkill.c
systemd_rfkill_LDADD = \
- libudev-internal.la \
libshared.la
endif
@@ -4622,7 +4600,6 @@ systemd_cryptsetup_CFLAGS = \
$(LIBCRYPTSETUP_CFLAGS)
systemd_cryptsetup_LDADD = \
- libudev-internal.la \
libshared.la \
$(LIBCRYPTSETUP_LIBS)
@@ -4903,7 +4880,6 @@ libmachine_core_la_SOURCES = \
src/machine/image-dbus.h
libmachine_core_la_LIBADD = \
- libudev-internal.la \
libshared.la
noinst_LTLIBRARIES += \
@@ -4913,7 +4889,6 @@ machinectl_SOURCES = \
src/machine/machinectl.c
machinectl_LDADD = \
- libsystemd-journal-internal.la \
libshared.la
rootbin_PROGRAMS += \
@@ -5352,7 +5327,6 @@ nodist_libnetworkd_core_la_SOURCES = \
src/network/networkd-netdev-gperf.c
libnetworkd_core_la_LIBADD = \
- libudev-internal.la \
libsystemd-network.la \
libshared.la
@@ -5372,7 +5346,6 @@ systemd_networkd_wait_online_SOURCES = \
systemd_networkd_wait_online_LDADD = \
libsystemd-network.la \
- libudev-internal.la \
libshared.la
rootbin_PROGRAMS += \
@@ -5382,7 +5355,6 @@ networkctl_SOURCES = \
src/network/networkctl.c
networkctl_LDADD = \
- libudev-internal.la \
libshared.la \
libsystemd-network.la
@@ -5488,7 +5460,6 @@ liblogind_core_la_SOURCES = \
src/login/logind-acl.h
liblogind_core_la_LIBADD = \
- libudev-internal.la \
libshared.la
if HAVE_ACL
@@ -5508,8 +5479,6 @@ loginctl_SOURCES = \
src/login/sysfs-show.c
loginctl_LDADD = \
- libudev-internal.la \
- libsystemd-journal-internal.la \
libshared.la
rootbin_PROGRAMS += \
@@ -5872,7 +5841,7 @@ libsystemd_login_la_LDFLAGS = \
-Wl,--version-script=$(top_srcdir)/src/compat-libs/libsystemd-login.sym
libsystemd_login_la_LIBADD = \
- libshared.la
+ libsystemd-internal.la
libsystemd_id128_la_SOURCES = \
libsystemd-id128.c \
@@ -5888,7 +5857,7 @@ libsystemd_id128_la_LDFLAGS = \
-Wl,--version-script=$(top_srcdir)/src/compat-libs/libsystemd-id128.sym
libsystemd_id128_la_LIBADD = \
- libshared.la
+ libsystemd-internal.la
libsystemd_daemon_la_SOURCES = \
libsystemd-daemon.c \
@@ -5904,7 +5873,7 @@ libsystemd_daemon_la_LDFLAGS = \
-Wl,--version-script=$(top_srcdir)/src/compat-libs/libsystemd-daemon.sym
libsystemd_daemon_la_LIBADD = \
- libshared.la
+ libsystemd-internal.la
lib_LTLIBRARIES += \
libsystemd-journal.la \
diff --git a/TODO b/TODO
index db3205c9e8..c25f3d3bb3 100644
--- a/TODO
+++ b/TODO
@@ -17,6 +17,8 @@ Bugfixes:
External:
+* "systemctl edit" should know a mode to create a new unit file
+
* Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros.
* wiki: update journal format documentation for lz4 additions
@@ -26,6 +28,10 @@ External:
Features:
+* install: include generator dirs in unit file search paths
+
+* networkd: add support for configuring ipv6 privacy extensions
+
* introduce an NSS module that uses machined info to give container UIDs pretty names when user namespacing is used.
* stop using off_t, it's a crazy type. Use uint64_t instead.
diff --git a/catalog/systemd.be.catalog b/catalog/systemd.be.catalog
new file mode 100644
index 0000000000..be081d6efc
--- /dev/null
+++ b/catalog/systemd.be.catalog
@@ -0,0 +1,260 @@
+# This file is part of systemd.
+#
+# Copyright 2012 Lennart Poettering
+# Copyright 2015 Viktar VaÅ­ÄkieviÄ
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+# Message catalog for systemd's own messages
+# Belarusian translation
+
+# The catalog format is documented on
+# Фармат каталога апіÑаны на Ñтаронцы
+# http://www.freedesktop.org/wiki/Software/systemd/catalog
+
+# For an explanation why we do all this, see https://xkcd.com/1024/
+
+-- f77379a8490b408bbe5f6940505a777b
+Subject: СÑÑ€Ð²Ñ–Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»ÑÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð¿ÑƒÑціўÑÑ
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+ПрацÑÑ ÑÑ–ÑÑ‚Ñмнага журналÑÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð¿ÑƒÑціўÑÑ, адкрыў файлы длÑ
+запіÑу Ñ– гатовы апрацоўваць запыты.
+
+-- d93fb3c9c24d451a97cea615ce59c00b
+Subject: СÑÑ€Ð²Ñ–Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»ÑÐ²Ð°Ð½Ð½Ñ ÑпыніўÑÑ
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+ПрацÑÑ ÑÑ–ÑÑ‚Ñмнага журналÑÐ²Ð°Ð½Ð½Ñ ÑпыніўÑÑ Ñ– закрыў уÑе файлы.
+
+-- a596d6fe7bfa4994828e72309e95d61e
+Subject: Паведамленні з ÑÑрвіÑу адкінуты
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+Documentation: man:journald.conf(5)
+
+СÑÑ€Ð²Ñ–Ñ Ð°Ð´Ð¿Ñ€Ð°Ð²Ñ–Ñž занадта штат паведамленнÑÑž за кароткі прамежак чаÑу.
+ЧаÑтка паведамленнÑÑž была адкінута.
+
+Майце на ўвазе, што былі адкінуты Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½Ð½Ñ Ñ‚Ð¾Ð»ÑŒÐºÑ– гÑтага ÑÑрвіÑу.
+Паведамленні іншых ÑÑрвіÑаў заÑталіÑÑ.
+
+ÐœÑжа, паÑÐ»Ñ Ñкой паведамленні будуць адкінуты, наладжваецца з
+дапамогай RateLimitInterval= і RateLimitBurst= у файле
+/etc/systemd/journald.conf. ГлÑдзіце journald.conf(5) Ð´Ð»Ñ Ð´Ñталей.
+
+-- e9bf28e6e834481bb6f48f548ad13606
+Subject: Паведамленні Ñтрачаны
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Паведамленні Ñдра былі Ñтрачаны, так Ñк ÑÑ–ÑÑ‚Ñма журналÑÐ²Ð°Ð½Ð½Ñ Ð½Ðµ паÑпела
+іх апрацаваць.
+
+-- fc2e22bc6ee647b6b90729ab34a250b1
+Subject: ПрацÑÑ @COREDUMP_PID@ (@COREDUMP_COMM@) Ñкінуў дамп памÑці
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+Documentation: man:core(5)
+
+ПрацÑÑ @COREDUMP_PID@ (@COREDUMP_COMM@) разбіўÑÑ Ñ– Ñкінуў дамп памÑці.
+
+Звычайна гÑта Ñведчыць аб памылцы Ñž праграмным кодзе.
+РÑкамендуецца паведаміць аб гÑтым раÑпрацоўнікам.
+
+-- 8d45620c1a4348dbb17410da57c60c66
+Subject: ÐÐ¾Ð²Ð°Ñ ÑеÑÑ–Ñ â„– @SESSION_ID@ Ñтворана Ð´Ð»Ñ ÐºÐ°Ñ€Ñ‹Ñтальніка @USER_ID@
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
+
+ÐÐ¾Ð²Ð°Ñ ÑеÑÑ–Ñ Ð· â„– @SESSION_ID@ Ñтворана Ð´Ð»Ñ ÐºÐ°Ñ€Ñ‹Ñтальніка @USER_ID@.
+
+Лідар гÑтай ÑеÑÑ–Ñ– пад â„– @LEADER@.
+
+-- 3354939424b4456d9802ca8333ed424a
+Subject: СеÑÑ–Ñ â„– @SESSION_ID@ Ñпынена
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
+
+СеÑÑ–Ñ â„– @SESSION_ID@ Ñпынена.
+
+-- fcbefc5da23d428093f97c82a9290f7b
+Subject: ДаÑтупна новае працоўнае меÑца â„– @SEAT_ID@
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
+
+Ðовае працоўнае меÑца â„– @SEAT_ID@ наладжана Ñ– даÑтупна Ð´Ð»Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹ÑтаннÑ.
+
+-- e7852bfe46784ed0accde04bc864c2d5
+Subject: Працоўнае меÑца â„– @SEAT_ID@ выдалена
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
+
+Працоўнае меÑца â„– @SEAT_ID@ выдалена Ñ– больш не даÑтупна.
+
+-- c7a787079b354eaaa9e77b371893cd27
+Subject: Ð§Ð°Ñ Ð·Ð¼ÐµÐ½ÐµÐ½Ñ‹
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+СіÑÑ‚Ñмны гадзіннік зменены на @REALTIME@ мікраÑекунд ад 1 ÑÑ‚ÑƒÐ´Ð·ÐµÐ½Ñ 1970.
+
+-- 45f82f4aef7a4bbf942ce861d1f20990
+Subject: ЧаÑавы поÑÑ Ð·Ð¼ÐµÐ½ÐµÐ½Ñ‹ на @TIMEZONE@
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+СіÑÑ‚Ñмны чаÑавы поÑÑ Ð·Ð¼ÐµÐ½ÐµÐ½Ñ‹ на @TIMEZONE@.
+
+-- b07a249cd024414a82dd00cd181378ff
+Subject: ЗапуÑк ÑÑ–ÑÑ‚Ñмы завÑршыўÑÑ
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+УÑе ÑÑ–ÑÑ‚ÑÐ¼Ð½Ñ‹Ñ ÑÑрвіÑÑ‹, Ð½ÐµÐ°Ð±Ñ…Ð¾Ð´Ð½Ñ‹Ñ Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÑ– ÑÑ–ÑÑ‚Ñмы, паÑпÑхова
+запуÑціліÑÑ. Майце на ўвазе, што гÑта не значыць, што машына нічога не
+робіць. Магчыма, Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ ÑÑрвіÑÑ‹ ÑÑˆÑ‡Ñ Ñ–Ð½Ñ–Ñ†Ñ‹Ñлізіруюцца.
+
+Ðа запуÑк Ñдра ÑпатрÑбілаÑÑ @KERNEL_USEC@ мікраÑекунд.
+
+Ðа запуÑк пачатковага RAM-дыÑка ÑпатрÑбілаÑÑ @INITRD_USEC@ мікраÑекунд.
+
+Ðа запуÑк ÑÑ–ÑÑ‚Ñмных ÑÑрвіÑаў ÑпатрÑбілаÑÑ @USERSPACE_USEC@ мікраÑекунд.
+
+-- 6bbd95ee977941e497c48be27c254128
+Subject: СіÑÑ‚Ñма перайшла Ñž Ñтан Ñну @SLEEP@
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+ЦÑпер ÑÑ–ÑÑ‚Ñма перайшла у Ñтан Ñну @SLEEP@.
+
+-- 8811e6df2a8e40f58a94cea26f8ebf14
+Subject: СіÑÑ‚Ñма выйшла Ñа Ñтана Ñну @SLEEP@
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+ЦÑпер ÑÑ–ÑÑ‚Ñма выйшла Ñа Ñтана Ñну @SLEEP@.
+
+-- 98268866d1d54a499c4e98921d93bc40
+Subject: СіÑÑ‚Ñма завÑршае работу
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+ПачаўÑÑ Ð¿Ñ€Ð°Ñ†ÑÑ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ ÑÑ–ÑÑ‚Ñмы.
+СпынÑюцца ÑžÑе ÑÑ–ÑÑ‚ÑÐ¼Ð½Ñ‹Ñ ÑÑрвіÑÑ‹ Ñ– дÑмантуюцца Ñ„Ð°Ð¹Ð»Ð°Ð²Ñ‹Ñ ÑÑ–ÑÑ‚Ñмы.
+
+-- 7d4958e842da4a758f6c1cdc7b36dcc5
+Subject: Юніт @UNIT@ запуÑкаецца
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+ПачаўÑÑ Ð¿Ñ€Ð°Ñ†ÑÑ Ð·Ð°Ð¿ÑƒÑку юніта @UNIT@.
+
+-- 39f53479d3a045ac8e11786248231fbf
+Subject: Юніт @UNIT@ запуÑціўÑÑ
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+ПрацÑÑ Ð·Ð°Ð¿ÑƒÑку юніта @UNIT@ завершаны.
+
+Вынік: @RESULT@.
+
+-- de5b426a63be47a7b6ac3eaac82e2f6f
+Subject: Юніт @UNIT@ ÑпынÑецца
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+ПачаўÑÑ Ð¿Ñ€Ð°Ñ†ÑÑ ÑÐ¿Ñ‹Ð½ÐµÐ½Ð½Ñ ÑŽÐ½Ñ–Ñ‚Ð° @UNIT@.
+
+-- 9d1aaa27d60140bd96365438aad20286
+Subject: Юніт @UNIT@ Ñпынены
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+ПрацÑÑ ÑÐ¿Ñ‹Ð½ÐµÐ½Ð½Ñ ÑŽÐ½Ñ–Ñ‚Ð° @UNIT@ завершаны.
+
+-- be02cf6855d2428ba40df7e9d022f03d
+Subject: Збой юніта @UNIT@
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Збой юніта @UNIT@.
+
+Вынік: @RESULT@.
+
+-- d34d037fff1847e6ae669a370e694725
+Subject: Юніт @UNIT@ перачытвае Ñваю канфігурацыю
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Юніт @UNIT@ пачаў перачытваць Ñваю канфігурацыю.
+
+-- 7b05ebc668384222baa8881179cfda54
+Subject: Юніт @UNIT@ перачытаў Ñваю канфігурацыю
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Юніт @UNIT@ перачытаў Ñваю канфігурацыю.
+
+Вынік: @RESULT@.
+
+-- 641257651c1b4ec9a8624d7a40a9e1e7
+Subject: ПрацÑÑ @EXECUTABLE@ не можа быць выкананы
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+ПрацÑÑ @EXECUTABLE@ не можа быць выкананы Ñž выніку збою.
+
+Ðн вÑрнуў памылку нумар @ERRNO@.
+
+-- 0027229ca0644181a76c4e92458afa2e
+Sibject: Ðдно ці больш паведамленнÑÑž не былі накіраваны Ñž syslog
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Ðдно ці больш паведамленнÑÑž не былі накіраваны Ñž syslog ÑÑрвіÑ, Ñкі
+выконваецца паралельна з journald. Звычайна гÑта значыць, што
+Ñ€ÑÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ‹Ñ syslog не паÑпÑвае апрацаваць паведамленні з неабходнай
+хуткаÑцю.
+
+-- 1dee0369c7fc4736b7099b38ecb46ee7
+Subject: Кропка Ð¼Ð°Ð½Ñ‚Ð°Ð²Ð°Ð½Ð½Ñ Ð½Ðµ пуÑтаÑ
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Каталог @WHERE@ указаны Ñк кропка Ð¼Ð°Ð½Ñ‚Ð°Ð²Ð°Ð½Ð½Ñ (другое поле Ñž /etc/fstab
+ці Where= поле Ñž файле юніта systemd) Ñ– не пуÑÑ‚Ñ‹. ГÑта не перашкаджае
+мантаванню, але Ñ–ÑÐ½ÑƒÑŽÑ‡Ñ‹Ñ Ñž ім файлы будуць недаÑтупны. Ð”Ð»Ñ Ð´Ð¾Ñтупу да
+Ñ–Ñ…, калі лаÑка, змантуйце гÑтую файлавую ÑÑ–ÑÑ‚Ñму Ñž іншае меÑца.
+
+-- 24d8d4452573402496068381a6312df2
+Subject: Ð’Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¼Ð°ÑˆÑ‹Ð½Ð° або кантÑйнер запуÑціўÑÑ
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Ð’Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¼Ð°ÑˆÑ‹Ð½Ð° @NAME@ з лідарам â„– @LEADER@ запуÑцілаÑÑ Ñ–
+гатова Ð´Ð»Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹ÑтаннÑ.
+
+-- 58432bd3bace477cb514b56381b8a758
+Subject: Ð’Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¼Ð°ÑˆÑ‹Ð½Ð° або кантÑйнер Ñпынены
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Ð’Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¼Ð°ÑˆÑ‹Ð½Ð° @NAME@ з лідарам â„– @LEADER@ Ñпынена.
diff --git a/catalog/systemd.be@latin.catalog b/catalog/systemd.be@latin.catalog
new file mode 100644
index 0000000000..382fdb8b04
--- /dev/null
+++ b/catalog/systemd.be@latin.catalog
@@ -0,0 +1,260 @@
+# This file is part of systemd.
+#
+# Copyright 2012 Lennart Poettering
+# Copyright 2015 Viktar VaÅ­ÄkieviÄ
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+# Message catalog for systemd's own messages
+# Belarusian Latin translation
+
+# The catalog format is documented on
+# Farmat kataloha apisany na staroncy
+# http://www.freedesktop.org/wiki/Software/systemd/catalog
+
+# For an explanation why we do all this, see https://xkcd.com/1024/
+
+-- f77379a8490b408bbe5f6940505a777b
+Subject: Servis žurnaliavannia zapusciŭsia
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Praces sistemnaha žurnaliavannia zapusciŭsia, adkryŭ fajly dlia
+zapisu i hatovy apracoŭvać zapyty.
+
+-- d93fb3c9c24d451a97cea615ce59c00b
+Subject: Servis žurnaliavannia spyniŭsia
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Praces sistemnaha žurnaliavannia spyniŭsia i zakryŭ usie fajly.
+
+-- a596d6fe7bfa4994828e72309e95d61e
+Subject: Paviedamlienni z servisu adkinuty
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+Documentation: man:journald.conf(5)
+
+Servis adpraviÅ­ zanadta Å¡tat paviedamlienniaÅ­ za karotki pramiežak Äasu.
+ÄŒastka paviedamlienniaÅ­ byla adkinuta.
+
+Majcie na ŭvazie, što byli adkinuty paviedamliennia toĺki hetaha servisu.
+Paviedamlienni inšych servisaŭ zastalisia.
+
+Miaža, paslia jakoj paviedamlienni buduć adkinuty, naladžvajecca z
+dapamohaj RateLimitInterval= i RateLimitBurst= u fajlie
+/etc/systemd/journald.conf. Hliadzicie journald.conf(5) dlia detaliej.
+
+-- e9bf28e6e834481bb6f48f548ad13606
+Subject: Paviedamlienni straÄany
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Paviedamlienni jadra byli straÄany, tak jak sistema žurnaliavannia nie paspiela
+ich apracavać.
+
+-- fc2e22bc6ee647b6b90729ab34a250b1
+Subject: Praces @COREDUMP_PID@ (@COREDUMP_COMM@) skinuÅ­ damp pamiaci
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+Documentation: man:core(5)
+
+Praces @COREDUMP_PID@ (@COREDUMP_COMM@) razbiÅ­sia i skinuÅ­ damp pamiaci.
+
+ZvyÄajna heta sviedÄyć ab pamylcy Å­ prahramnym kodzie.
+Rekamiendujecca paviedamić ab hetym raspracoŭnikam.
+
+-- 8d45620c1a4348dbb17410da57c60c66
+Subject: Novaja siesija № @SESSION_ID@ stvorana dlia karystaĺnika @USER_ID@
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
+
+Novaja siesija z № @SESSION_ID@ stvorana dlia karystaĺnika @USER_ID@.
+
+Lidar hetaj siesii pad â„– @LEADER@.
+
+-- 3354939424b4456d9802ca8333ed424a
+Subject: Siesija â„– @SESSION_ID@ spyniena
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
+
+Siesija â„– @SESSION_ID@ spyniena.
+
+-- fcbefc5da23d428093f97c82a9290f7b
+Subject: Dastupna novaje pracoÅ­naje miesca â„– @SEAT_ID@
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
+
+Novaje pracoŭnaje miesca № @SEAT_ID@ naladžana i dastupna dlia vykarystannia.
+
+-- e7852bfe46784ed0accde04bc864c2d5
+Subject: PracoÅ­naje miesca â„– @SEAT_ID@ vydaliena
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
+
+Pracoŭnaje miesca № @SEAT_ID@ vydaliena i boĺš nie dastupna.
+
+-- c7a787079b354eaaa9e77b371893cd27
+Subject: ÄŒas zmienieny
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Sistemny hadzinnik zmienieny na @REALTIME@ mikrasiekund ad 1 studzienia 1970.
+
+-- 45f82f4aef7a4bbf942ce861d1f20990
+Subject: ÄŒasavy pojas zmienieny na @TIMEZONE@
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Sistemny Äasavy pojas zmienieny na @TIMEZONE@.
+
+-- b07a249cd024414a82dd00cd181378ff
+Subject: Zapusk sistemy zaviaršyŭsia
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Usie sistemnyja servisy, nieabchodnyja dlia zahruzki sistemy, paspiachova
+zapuscilisia. Majcie na Å­vazie, Å¡to heta nie znaÄyć, Å¡to maÅ¡yna niÄoha nie
+robić. MahÄyma, niekatoryja servisy jaÅ¡Äe inicyjalizirujucca.
+
+Na zapusk jadra spatrebilasia @KERNEL_USEC@ mikrasiekund.
+
+Na zapusk paÄatkovaha RAM-dyska spatrebilasia @INITRD_USEC@ mikrasiekund.
+
+Na zapusk sistemnych servisaÅ­ spatrebilasia @USERSPACE_USEC@ mikrasiekund.
+
+-- 6bbd95ee977941e497c48be27c254128
+Subject: Sistema pierajšla ŭ stan snu @SLEEP@
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Ciapier sistema pierajšla u stan snu @SLEEP@.
+
+-- 8811e6df2a8e40f58a94cea26f8ebf14
+Subject: Sistema vyjšla sa stana snu @SLEEP@
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Ciapier sistema vyjšla sa stana snu @SLEEP@.
+
+-- 98268866d1d54a499c4e98921d93bc40
+Subject: Sistema zaviaršaje rabotu
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+PaÄaÅ­sia praces vykliuÄennia sistemy.
+Spyniajucca Å­sie sistemnyja servisy i demantujucca fajlavyja sistemy.
+
+-- 7d4958e842da4a758f6c1cdc7b36dcc5
+Subject: Junit @UNIT@ zapuskajecca
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+PaÄaÅ­sia praces zapusku junita @UNIT@.
+
+-- 39f53479d3a045ac8e11786248231fbf
+Subject: Junit @UNIT@ zapusciÅ­sia
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Praces zapusku junita @UNIT@ zavieršany.
+
+Vynik: @RESULT@.
+
+-- de5b426a63be47a7b6ac3eaac82e2f6f
+Subject: Junit @UNIT@ spyniajecca
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+PaÄaÅ­sia praces spyniennia junita @UNIT@.
+
+-- 9d1aaa27d60140bd96365438aad20286
+Subject: Junit @UNIT@ spynieny
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Praces spyniennia junita @UNIT@ zavieršany.
+
+-- be02cf6855d2428ba40df7e9d022f03d
+Subject: Zboj junita @UNIT@
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Zboj junita @UNIT@.
+
+Vynik: @RESULT@.
+
+-- d34d037fff1847e6ae669a370e694725
+Subject: Junit @UNIT@ pieraÄytvaje svaju kanfihuracyju
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Junit @UNIT@ paÄaÅ­ pieraÄytvać svaju kanfihuracyju.
+
+-- 7b05ebc668384222baa8881179cfda54
+Subject: Junit @UNIT@ pieraÄytaÅ­ svaju kanfihuracyju
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Junit @UNIT@ pieraÄytaÅ­ svaju kanfihuracyju.
+
+Vynik: @RESULT@.
+
+-- 641257651c1b4ec9a8624d7a40a9e1e7
+Subject: Praces @EXECUTABLE@ nie moža być vykanany
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Praces @EXECUTABLE@ nie moža być vykanany ŭ vyniku zboju.
+
+Jon viarnuÅ­ pamylku numar @ERRNO@.
+
+-- 0027229ca0644181a76c4e92458afa2e
+Sibject: Adno ci boĺš paviedamlienniaŭ nie byli nakiravany ŭ syslog
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Adno ci boĺš paviedamlienniaŭ nie byli nakiravany ŭ syslog servis, jaki
+vykonvajecca paralieĺna z journald. ZvyÄajna heta znaÄyć, Å¡to
+realizacyja syslog nie paspiavaje apracavać paviedamlienni z nieabchodnaj
+chutkasciu.
+
+-- 1dee0369c7fc4736b7099b38ecb46ee7
+Subject: Kropka mantavannia nie pustaja
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Kataloh @WHERE@ ukazany jak kropka mantavannia (druhoje polie Å­ /etc/fstab
+ci Where= polie ŭ fajlie junita systemd) i nie pusty. Heta nie pieraškadžaje
+mantavanniu, alie isnujuÄyja Å­ im fajly buduć niedastupny. Dlia dostupu da
+ich, kali laska, zmantujcie hetuju fajlavuju sistemu ŭ inšaje miesca.
+
+-- 24d8d4452573402496068381a6312df2
+Subject: Virtuaĺnaja mašyna abo kantejnier zapusciŭsia
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Virtuaĺnaja mašyna @NAME@ z lidaram № @LEADER@ zapuscilasia i
+hatova dlia vykarystannia.
+
+-- 58432bd3bace477cb514b56381b8a758
+Subject: Virtuaĺnaja mašyna abo kantejnier spynieny
+Defined-By: systemd
+Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+
+Virtuaĺnaja mašyna @NAME@ z lidaram № @LEADER@ spyniena.
diff --git a/configure.ac b/configure.ac
index fcdccb1030..b94dbd1613 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1571,7 +1571,6 @@ AC_MSG_RESULT([
sysconf dir: ${sysconfdir}
datarootdir: ${datarootdir}
includedir: ${includedir}
- include_prefix: ${INCLUDE_PREFIX}
lib dir: ${libdir}
rootlib dir: ${with_rootlibdir}
SysV init scripts: ${SYSTEM_SYSVINIT_PATH}
diff --git a/hwdb/20-bluetooth-vendor-product.hwdb b/hwdb/20-bluetooth-vendor-product.hwdb
index 93241ca490..b737e6b308 100644
--- a/hwdb/20-bluetooth-vendor-product.hwdb
+++ b/hwdb/20-bluetooth-vendor-product.hwdb
@@ -1667,3 +1667,42 @@ bluetooth:v0228*
bluetooth:v0229*
ID_VENDOR_FROM_DATABASE=Muoverti Limited
+
+bluetooth:v022A*
+ ID_VENDOR_FROM_DATABASE=Stamer Musikanlagen GMBH
+
+bluetooth:v022B*
+ ID_VENDOR_FROM_DATABASE=Tesla Motors
+
+bluetooth:v022C*
+ ID_VENDOR_FROM_DATABASE=Pharynks Corporation
+
+bluetooth:v022D*
+ ID_VENDOR_FROM_DATABASE=Lupine
+
+bluetooth:v022E*
+ ID_VENDOR_FROM_DATABASE=Siemens AG
+
+bluetooth:v022F*
+ ID_VENDOR_FROM_DATABASE=Huami (Shanghai) Culture Communication CO., LTD
+
+bluetooth:v0230*
+ ID_VENDOR_FROM_DATABASE=Foster Electric Company, Ltd
+
+bluetooth:v0231*
+ ID_VENDOR_FROM_DATABASE=ETA SA
+
+bluetooth:v0232*
+ ID_VENDOR_FROM_DATABASE=x-Senso Solutions Kft
+
+bluetooth:v0233*
+ ID_VENDOR_FROM_DATABASE=Shenzhen SuLong Communication Ltd
+
+bluetooth:v0234*
+ ID_VENDOR_FROM_DATABASE=FengFan (BeiJing) Technology Co, Ltd
+
+bluetooth:v0235*
+ ID_VENDOR_FROM_DATABASE=Qrio Inc
+
+bluetooth:v0236*
+ ID_VENDOR_FROM_DATABASE=Pitpatpet Ltd
diff --git a/man/systemd-gpt-auto-generator.xml b/man/systemd-gpt-auto-generator.xml
index 16ff100d73..d3e02d6f7b 100644
--- a/man/systemd-gpt-auto-generator.xml
+++ b/man/systemd-gpt-auto-generator.xml
@@ -64,13 +64,16 @@
<filename>/home</filename>, <filename>/srv</filename> and swap
partitions and creates mount and swap units for them, based on the
partition type GUIDs of GUID partition tables (GPT). It implements
- the
- <ulink url="http://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec/">Discoverable
+ the <ulink
+ url="http://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec/">Discoverable
Partitions Specification</ulink>. Note that this generator has no
- effect on non-GPT systems, on systems where the units are
- explicitly configured (for example, listed in
- <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>),
- or where the mount points are non-empty.</para>
+ effect on non-GPT systems, or where the directories under the
+ mount points are already non-empty. Also, on systems where the
+ units are explicitly configured (for example, listed in
+ <citerefentry
+ project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>),
+ the units this generator creates are overriden, but additional
+ automatic dependencies might be created.</para>
<para>This generator will only look for root partitions on the
same physical disk the EFI System Partition (ESP) is located on.
diff --git a/man/systemd.kill.xml b/man/systemd.kill.xml
index ef828e081c..c51cf81320 100644
--- a/man/systemd.kill.xml
+++ b/man/systemd.kill.xml
@@ -139,7 +139,13 @@
by <constant>SIGKILL</constant> (see above and below). For a
list of valid signals, see
<citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
- Defaults to <constant>SIGTERM</constant>. </para></listitem>
+ Defaults to <constant>SIGTERM</constant>. </para>
+
+ <para>Note that right after sending the signal specified in
+ this setting systemd will always send
+ <constant>SIGCONT</constant>, to ensure that even suspended
+ tasks can be terminated cleanly.</para>
+ </listitem>
</varlistentry>
<varlistentry>
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index 0fe694ab7e..e26196323d 100644
--- a/man/systemd.service.xml
+++ b/man/systemd.service.xml
@@ -383,10 +383,21 @@
run, all processes remaining for a service are terminated
according to the <varname>KillMode=</varname> setting (see
<citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>).
- If this option is not specified, the process is terminated
- immediately when service stop is requested. Specifier and
- environment variable substitution is supported (including
- <varname>$MAINPID</varname>, see above).</para></listitem>
+ If this option is not specified, the process is terminated by
+ sending the signal specified in <varname>KillSignal=</varname>
+ when service stop is requested. Specifier and environment
+ variable substitution is supported (including
+ <varname>$MAINPID</varname>, see above).</para>
+
+ <para>Note that it is usually not sufficient to specify a
+ command for this setting that only asks the service to
+ terminate (for example by queuing some form of termination
+ signal for it), but does not wait for it to do so. Since the
+ remaining processes of the services are killed using
+ <constant>SIGKILL</constant> immediately after the command
+ exited this would not result in a clean stop. The specified
+ command should hence be a synchronous operation, not an
+ asynchronous one.</para></listitem>
</varlistentry>
<varlistentry>
diff --git a/man/timesyncd.conf.xml b/man/timesyncd.conf.xml
index c297d3254c..ee054f9ef1 100644
--- a/man/timesyncd.conf.xml
+++ b/man/timesyncd.conf.xml
@@ -75,13 +75,13 @@
<varlistentry>
<term><varname>NTP=</varname></term>
- <listitem><para>A space separated list of NTP servers host
+ <listitem><para>A space separated list of NTP server host
names or IP addresses. During runtime this list is combined
with any per-interface NTP servers acquired from
<citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
systemd-timesyncd will contact all configured system or
per-interface servers in turn until one is found that
- responds. This setting defaults to the empty
+ responds. This setting defaults to an empty
list.</para></listitem>
</varlistentry>
diff --git a/po/LINGUAS b/po/LINGUAS
index 3d0ad2b6d7..859d2383af 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -10,3 +10,5 @@ uk
sv
es
zh_TW
+be
+be@latin
diff --git a/po/be.po b/po/be.po
new file mode 100644
index 0000000000..8746d34aac
--- /dev/null
+++ b/po/be.po
@@ -0,0 +1,502 @@
+# Belarusian translation for systemd.
+# Copyright (C) 2015 systemd's COPYRIGHT HOLDER
+# This file is distributed under the same license as the systemd package.
+#
+# Viktar VaÅ­ÄkieviÄ <victorenator@gmail.com>, 2015.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: systemd master\n"
+"Report-Msgid-Bugs-To: https://github.com/systemd/systemd/issues\n"
+"POT-Creation-Date: 2015-06-08 23:20+0300\n"
+"PO-Revision-Date: 2015-06-14 11:17+0300\n"
+"Last-Translator: Viktar VaÅ­ÄkieviÄ <victorenator@gmail.com>\n"
+"Language: be\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"X-Generator: Lokalize 1.5\n"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1
+msgid "Send passphrase back to system"
+msgstr "Ðдправіць пароль назад ÑÑ–ÑÑ‚Ñме"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2
+msgid ""
+"Authentication is required to send the entered passphrase back to the system."
+msgstr "Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð°Ð´Ð¿Ñ€Ð°ÑžÐºÑ– Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð½Ð°Ð·Ð°Ð´ ÑÑ–ÑÑ‚Ñме."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3
+msgid "Manage system services or other units"
+msgstr "Кіраваць ÑÑрвіÑамі Ñ– іншымі ÑÑ–ÑÑ‚Ñмнымі адзінкамі"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4
+msgid "Authentication is required to manage system services or other units."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÐºÑ–Ñ€Ð°Ð²Ð°Ð½Ð½Ñ ÑÑрвіÑамі Ñ– іншымі ÑÑ–ÑÑ‚Ñмнымі "
+"адзінкамі."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:5
+msgid "Manage system service or unit files"
+msgstr "Кіраваць файламі ÑÑрвіÑаў Ñ– іншых ÑÑ–ÑÑ‚Ñмных адзінак"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:6
+msgid "Authentication is required to manage system service or unit files."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÐºÑ–Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ñ– ÑÑрвіÑаў Ñ– іншых ÑÑ–ÑÑ‚Ñмных "
+"адзінак."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:7
+msgid "Set or unset system and service manager environment variables"
+msgstr "УÑталÑваць або Ñкінуць Ð·Ð¼ÐµÐ½Ð½Ñ‹Ñ Ð°ÑÑÑ€Ð¾Ð´Ð´Ð·Ñ ÑÑ–ÑÑ‚Ñмнага мÑнÑджÑра"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:8
+msgid ""
+"Authentication is required to set or unset system and service manager "
+"environment variables."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÑžÑталÑÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ Ñкіду зменных аÑÑÑ€Ð¾Ð´Ð´Ð·Ñ "
+"ÑÑ–ÑÑ‚Ñмнага мÑнÑджÑра."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:9
+msgid "Reload the systemd state"
+msgstr "Перачытаць Ñтан systemd"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:10
+msgid "Authentication is required to reload the systemd state."
+msgstr "Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ñ‡Ñ‹Ñ‚Ð°Ð½Ð½Ñ Ñтану systemd."
+
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1
+msgid "Set host name"
+msgstr "УÑталÑваць Ñ–Ð¼Ñ Ð²ÑƒÐ·Ð»Ð°"
+
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2
+msgid "Authentication is required to set the local host name."
+msgstr "Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÑžÑталÑÐ²Ð°Ð½Ð½Ñ Ñ–Ð¼Ñ Ð²ÑƒÐ·Ð»Ð°."
+
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3
+msgid "Set static host name"
+msgstr "УÑталÑваць Ñтатычнае Ñ–Ð¼Ñ Ð²ÑƒÐ·Ð»Ð°"
+
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4
+msgid ""
+"Authentication is required to set the statically configured local host name, "
+"as well as the pretty host name."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÑžÑталÑÐ²Ð°Ð½Ð½Ñ Ñк Ñтатычнага так Ñ– прыгожага Ñ–Ð¼Ñ "
+"вузла."
+
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5
+msgid "Set machine information"
+msgstr "УÑталÑваць інфармацыю аб машыне"
+
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6
+msgid "Authentication is required to set local machine information."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÑžÑталÑÐ²Ð°Ð½Ð½Ñ Ñ–Ð½Ñ„Ð°Ñ€Ð¼Ð°Ñ†Ñ‹Ñ– аб лакальнай машыне."
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:1
+msgid "Import a VM or container image"
+msgstr "Імпартаваць вобраз Ð’Ðœ або кантÑйнера"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:2
+msgid "Authentication is required to import a VM or container image"
+msgstr "Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ñ–Ð¼Ð¿Ð°Ñ€Ñ‚Ñƒ вобраза Ð’Ðœ або кантÑйнера"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:3
+msgid "Export a VM or container image"
+msgstr "ЭкÑпартаваць вобраз Ð’Ðœ або кантÑйнера"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:4
+msgid "Authentication is required to export a VM or container image"
+msgstr "Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÑкÑпарту вобраза Ð’Ðœ або кантÑйнера"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:5
+msgid "Download a VM or container image"
+msgstr "Спампаваць вобраз Ð’Ðœ або кантÑйнера"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:6
+msgid "Authentication is required to download a VM or container image"
+msgstr "Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ñпампоўкі вобраза Ð’Ðœ або кантÑйнера"
+
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:1
+msgid "Set system locale"
+msgstr "УÑталÑваць ÑÑ–ÑÑ‚Ñмную лакаль"
+
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:2
+msgid "Authentication is required to set the system locale."
+msgstr "Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÑžÑталÑÐ²Ð°Ð½Ð½Ñ ÑÑ–ÑÑ‚Ñмнай лакалі."
+
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:3
+msgid "Set system keyboard settings"
+msgstr "УÑталÑваць ÑÑ–ÑÑ‚ÑÐ¼Ð½Ñ‹Ñ Ð½Ð°Ð»Ð°Ð´Ñ‹ клавіÑтуры"
+
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:4
+msgid "Authentication is required to set the system keyboard settings."
+msgstr "Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÑžÑталÑÐ²Ð°Ð½Ð½Ñ ÑÑ–ÑÑ‚Ñмных налад клавіÑтуры."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:1
+msgid "Allow applications to inhibit system shutdown"
+msgstr "Дазволіць праграмам перашкаджаць выключÑнню ÑÑ–ÑÑ‚Ñмы"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:2
+msgid ""
+"Authentication is required for an application to inhibit system shutdown."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð´Ð°Ð·Ð²Ð¾Ð»Ñƒ праграмам перашкаджаць выключÑнню "
+"ÑÑ–ÑÑ‚Ñмы."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:3
+msgid "Allow applications to delay system shutdown"
+msgstr "Дазволіць праграмам затрымліваць выключÑнне ÑÑ–ÑÑ‚Ñмы"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:4
+msgid "Authentication is required for an application to delay system shutdown."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð´Ð°Ð·Ð²Ð¾Ð»Ñƒ праграмам затрымліваць выключÑнне "
+"ÑÑ–ÑÑ‚Ñмы."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:5
+msgid "Allow applications to inhibit system sleep"
+msgstr "Дазволіць праграмам перашкаджаць заÑыпанню ÑÑ–ÑÑ‚Ñмы"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:6
+msgid "Authentication is required for an application to inhibit system sleep."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð´Ð°Ð·Ð²Ð¾Ð»Ñƒ праграмам перашкаджаць заÑыпанню "
+"ÑÑ–ÑÑ‚Ñмы."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:7
+msgid "Allow applications to delay system sleep"
+msgstr "Дазволіць праграмам затрымліваць заÑыпанне ÑÑ–ÑÑ‚Ñмы"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:8
+msgid "Authentication is required for an application to delay system sleep."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð´Ð°Ð·Ð²Ð¾Ð»Ñƒ праграмам затрымліваць заÑыпанне "
+"ÑÑ–ÑÑ‚Ñмы."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:9
+msgid "Allow applications to inhibit automatic system suspend"
+msgstr "Дазволіць праграмам перашкаджаць аўтаматычнаму прыпыненню ÑÑ–ÑÑ‚Ñмы"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:10
+msgid ""
+"Authentication is required for an application to inhibit automatic system "
+"suspend."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð´Ð°Ð·Ð²Ð¾Ð»Ñƒ праграмам перашкаджаць "
+"аўтаматычнаму прыпыненню ÑÑ–ÑÑ‚Ñмы."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:11
+msgid "Allow applications to inhibit system handling of the power key"
+msgstr ""
+"Дазволіць праграмам перашкаджаць ÑÑ–ÑÑ‚Ñме апрацоўваць клавішу выключÑннÑ"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:12
+msgid ""
+"Authentication is required for an application to inhibit system handling of "
+"the power key."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð´Ð°Ð·Ð²Ð¾Ð»Ñƒ праграмам перашкаджаць ÑÑ–ÑÑ‚Ñме "
+"апрацоўваць клавішу выключÑннÑ."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:13
+msgid "Allow applications to inhibit system handling of the suspend key"
+msgstr ""
+"Дазволіць праграмам перашкаджаць ÑÑ–ÑÑ‚Ñме апрацоўваць клавішу прыпыненнÑ"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:14
+msgid ""
+"Authentication is required for an application to inhibit system handling of "
+"the suspend key."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð´Ð°Ð·Ð²Ð¾Ð»Ñƒ праграмам перашкаджаць ÑÑ–ÑÑ‚Ñме "
+"апрацоўваць клавішу прыпыненнÑ."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:15
+msgid "Allow applications to inhibit system handling of the hibernate key"
+msgstr ""
+"Дазволіць праграмам перашкаджаць ÑÑ–ÑÑ‚Ñме апрацоўваць клавішу гібернацыі"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:16
+msgid ""
+"Authentication is required for an application to inhibit system handling of "
+"the hibernate key."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð´Ð°Ð·Ð²Ð¾Ð»Ñƒ праграмам перашкаджаць ÑÑ–ÑÑ‚Ñме "
+"апрацоўваць клавішу гібернацыі."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:17
+msgid "Allow applications to inhibit system handling of the lid switch"
+msgstr ""
+"Дазволіць праграмам перашкаджаць ÑÑ–ÑÑ‚Ñме апрацоўваць закрыццё крышкі ноўтбука"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:18
+msgid ""
+"Authentication is required for an application to inhibit system handling of "
+"the lid switch."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð´Ð°Ð·Ð²Ð¾Ð»Ñƒ праграмам перашкаджаць ÑÑ–ÑÑ‚Ñме "
+"апрацоўваць закрыццё крышкі ноўтбука."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:19
+msgid "Allow non-logged-in users to run programs"
+msgstr ""
+"Дазволіць карыÑтальнікам, ÑÐºÑ–Ñ ÑÑˆÑ‡Ñ Ð½Ðµ ўвайшлі Ñž ÑÑ–ÑÑ‚Ñму, выконваць праграмы"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:20
+msgid "Authentication is required to run programs as a non-logged-in user."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð²Ñ‹ÐºÐ°Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð°Ð³Ñ€Ð°Ð¼ карыÑтальніка, Ñкі ÑÑˆÑ‡Ñ Ð½Ðµ "
+"ўвайшоў у ÑÑ–ÑÑ‚Ñму."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:21
+msgid "Allow attaching devices to seats"
+msgstr "Дазволіць далучаць прылады да працоўных меÑцаў"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:22
+msgid "Authentication is required for attaching a device to a seat."
+msgstr "Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð´Ð°Ð»ÑƒÑ‡ÑÐ½Ð½Ñ Ð¿Ñ€Ñ‹Ð»Ð°Ð´ да працоўных меÑцаў."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:23
+msgid "Flush device to seat attachments"
+msgstr "Ðдключаць прылады ад працоўных меÑцаў"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:24
+msgid ""
+"Authentication is required for resetting how devices are attached to seats."
+msgstr "Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð°Ð´ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ Ð¿Ñ€Ñ‹Ð»Ð°Ð´ ад працоўных меÑцаў."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:25
+msgid "Power off the system"
+msgstr "Выключыць ÑÑ–ÑÑ‚Ñму"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:26
+msgid "Authentication is required for powering off the system."
+msgstr "Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ ÑÑ–ÑÑ‚Ñмы."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:27
+msgid "Power off the system while other users are logged in"
+msgstr "Выключыць ÑÑ–ÑÑ‚Ñму пры прыÑутнаÑці іншых карыÑтальнікаў"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:28
+msgid ""
+"Authentication is required for powering off the system while other users are "
+"logged in."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ ÑÑ–ÑÑ‚Ñмы пры прыÑутнаÑці іншых "
+"карыÑтальнікаў."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:29
+msgid "Power off the system while an application asked to inhibit it"
+msgstr "Выключыць ÑÑ–ÑÑ‚Ñму, калі праграмы перашкаджаюць гÑтаму"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:30
+msgid ""
+"Authentication is required for powering off the system while an application "
+"asked to inhibit it."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ ÑÑ–ÑÑ‚Ñмы, калі праграмы перашкаджаюць "
+"гÑтаму."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:31
+msgid "Reboot the system"
+msgstr "Перазагрузіць ÑÑ–ÑÑ‚Ñму"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:32
+msgid "Authentication is required for rebooting the system."
+msgstr "Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÑ– ÑÑ–ÑÑ‚Ñмы."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:33
+msgid "Reboot the system while other users are logged in"
+msgstr "Перазагрузіць ÑÑ–ÑÑ‚Ñму пры прыÑутнаÑці іншых карыÑтальнікаў"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:34
+msgid ""
+"Authentication is required for rebooting the system while other users are "
+"logged in."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÑ– ÑÑ–ÑÑ‚Ñмы пры прыÑутнаÑці іншых "
+"карыÑтальнікаў."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:35
+msgid "Reboot the system while an application asked to inhibit it"
+msgstr "Перазагрузіць ÑÑ–ÑÑ‚Ñму, калі праграмы перашкаджаюць гÑтаму"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:36
+msgid ""
+"Authentication is required for rebooting the system while an application "
+"asked to inhibit it."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÑ– ÑÑ–ÑÑ‚Ñмы, калі праграмы "
+"перашкаджаюць гÑтаму."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:37
+msgid "Suspend the system"
+msgstr "Прыпыніць ÑÑ–ÑÑ‚Ñму"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:38
+msgid "Authentication is required for suspending the system."
+msgstr "Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð¿Ñ€Ñ‹Ð¿Ñ‹Ð½ÐµÐ½Ð½Ñ ÑÑ–ÑÑ‚Ñмы."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:39
+msgid "Suspend the system while other users are logged in"
+msgstr "Прыпыніць ÑÑ–ÑÑ‚Ñму пры прыÑутнаÑці іншых карыÑтальнікаў"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:40
+msgid ""
+"Authentication is required for suspending the system while other users are "
+"logged in."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð¿Ñ€Ñ‹Ð¿Ñ‹Ð½ÐµÐ½Ð½Ñ ÑÑ–ÑÑ‚Ñмы пры прыÑутнаÑці іншых "
+"карыÑтальнікаў."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:41
+msgid "Suspend the system while an application asked to inhibit it"
+msgstr "Прыпыніць ÑÑ–ÑÑ‚Ñму, калі праграмы перашкаджаюць гÑтаму"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:42
+msgid ""
+"Authentication is required for suspending the system while an application "
+"asked to inhibit it."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð¿Ñ€Ñ‹Ð¿Ñ‹Ð½ÐµÐ½Ð½Ñ ÑÑ–ÑÑ‚Ñмы, калі праграмы перашкаджаюць "
+"гÑтаму."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:43
+msgid "Hibernate the system"
+msgstr "Гіберніраваць ÑÑ–ÑÑ‚Ñму"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:44
+msgid "Authentication is required for hibernating the system."
+msgstr "Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð³Ñ–Ð±ÐµÑ€Ð½Ð°Ñ†Ñ‹Ñ– ÑÑ–ÑÑ‚Ñмы."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:45
+msgid "Hibernate the system while other users are logged in"
+msgstr "Гіберніраваць ÑÑ–ÑÑ‚Ñму пры прыÑутнаÑці іншых карыÑтальнікаў"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:46
+msgid ""
+"Authentication is required for hibernating the system while other users are "
+"logged in."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð³Ñ–Ð±ÐµÑ€Ð½Ð°Ñ†Ñ‹Ñ– ÑÑ–ÑÑ‚Ñмы пры прыÑутнаÑці іншых "
+"карыÑтальнікаў."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:47
+msgid "Hibernate the system while an application asked to inhibit it"
+msgstr "Гіберніраваць ÑÑ–ÑÑ‚Ñму, калі праграмы перашкаджаюць гÑтаму"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:48
+msgid ""
+"Authentication is required for hibernating the system while an application "
+"asked to inhibit it."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð³Ñ–Ð±ÐµÑ€Ð½Ð°Ñ†Ñ‹Ñ– ÑÑ–ÑÑ‚Ñмы, калі праграмы перашкаджаюць "
+"гÑтаму."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:49
+msgid "Manage active sessions, users and seats"
+msgstr "Кіраваць актыўнымі ÑеÑÑ–Ñмі, карыÑтальнікамі Ñ– працоўнымі меÑцамі"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:50
+msgid ""
+"Authentication is required for managing active sessions, users and seats."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÐºÑ–Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð°ÐºÑ‚Ñ‹ÑžÐ½Ñ‹Ð¼Ñ– ÑеÑÑ–Ñмі, карыÑтальнікамі Ñ– "
+"меÑцамі."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:51
+msgid "Lock or unlock active sessions"
+msgstr "Блакіраваць або разблакіраваць актыўную ÑеÑÑ–ÑŽ"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:52
+msgid "Authentication is required to lock or unlock active sessions."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ Ð±Ð»Ð°ÐºÑ–Ñ€Ð¾ÑžÐºÑ– або разблакіроўкі актыўнай ÑеÑÑ–Ñ–."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:53
+msgid "Allow indication to the firmware to boot to setup interface"
+msgstr "Дазволіць указанне прашыўцы на загрузку інтÑрфейÑу налад"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:54
+msgid ""
+"Authentication is required to indicate to the firmware to boot to setup "
+"interface."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÑžÐºÐ°Ð·Ð°Ð½Ð½Ñ Ð¿Ñ€Ð°ÑˆÑ‹ÑžÑ†Ñ‹ на загрузку інтÑрфейÑу налад."
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:1
+msgid "Log into a local container"
+msgstr "УвайÑці Ñž лакальны кантÑйнер"
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:2
+msgid "Authentication is required to log into a local container."
+msgstr "Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÑžÐ²Ð°Ñ…Ð¾Ð´Ñƒ Ñž лакальны кантÑйнер."
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:3
+msgid "Manage local virtual machines and containers"
+msgstr "Кіраваць лакальнымі віртуальнымі машынамі або кантÑйнерамі"
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:4
+msgid ""
+"Authentication is required to manage local virtual machines and containers."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÐºÑ–Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð»Ð°ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¼Ñ– віртуальнымі машынамі Ñ– "
+"кантÑйнерамі."
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:5
+msgid "Manage local virtual machine and container images"
+msgstr "Кіраваць вобразамі лакальных віртуальных машын Ñ– кантÑйнераў"
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:6
+msgid ""
+"Authentication is required to manage local virtual machine and container "
+"images."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÐºÑ–Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð²Ð¾Ð±Ñ€Ð°Ð·Ð°Ð¼Ñ– лакальных віртуальных машын "
+"Ñ– кантÑйнераў."
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1
+msgid "Set system time"
+msgstr "УÑталÑваць ÑÑ–ÑÑ‚Ñмны чаÑ"
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2
+msgid "Authentication is required to set the system time."
+msgstr "Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÑžÑталÑÐ²Ð°Ð½Ð½Ñ ÑÑ–ÑÑ‚Ñмнага чаÑу."
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3
+msgid "Set system timezone"
+msgstr "УÑталÑваць ÑÑ–ÑÑ‚Ñмны чаÑавы поÑÑ"
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4
+msgid "Authentication is required to set the system timezone."
+msgstr "Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÑžÑталÑÐ²Ð°Ð½Ð½Ñ ÑÑ–ÑÑ‚Ñмнага чаÑавога поÑÑу."
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5
+msgid "Set RTC to local timezone or UTC"
+msgstr "УÑталÑваць чаÑавы поÑÑ (мÑÑцовы або UTC), у Ñкім RTC захоўвае чаÑ"
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6
+msgid ""
+"Authentication is required to control whether the RTC stores the local or "
+"UTC time."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÑžÑталÑÐ²Ð°Ð½Ð½Ñ Ñ‡Ð°Ñавога поÑÑу (мÑÑцовы або UTC), у "
+"Ñкім захоўваецца Ñ‡Ð°Ñ Ñƒ RTC."
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7
+msgid "Turn network time synchronization on or off"
+msgstr "Уключыць або выключыць Ñінхранізацыю чаÑу па Ñетцы"
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8
+msgid ""
+"Authentication is required to control whether network time synchronization "
+"shall be enabled."
+msgstr ""
+"Ðеабходна аўтÑÐ½Ñ‚Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð´Ð»Ñ ÑžÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ Ð°Ð±Ð¾ выключÑÐ½Ð½Ñ Ñінхранізацыі чаÑу па "
+"Ñетцы."
diff --git a/po/be@latin.po b/po/be@latin.po
new file mode 100644
index 0000000000..16c003b506
--- /dev/null
+++ b/po/be@latin.po
@@ -0,0 +1,502 @@
+# Belarusian Latin translation for systemd.
+# Copyright (C) 2015 systemd's COPYRIGHT HOLDER
+# This file is distributed under the same license as the systemd package.
+#
+# Viktar VaÅ­ÄkieviÄ <victorenator@gmail.com>, 2015.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: systemd master\n"
+"Report-Msgid-Bugs-To: https://github.com/systemd/systemd/issues\n"
+"POT-Creation-Date: 2015-06-08 23:20+0300\n"
+"PO-Revision-Date: 2015-06-14 11:17+0300\n"
+"Last-Translator: Viktar VaÅ­ÄkieviÄ <victorenator@gmail.com>\n"
+"Language: be\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"X-Generator: Lokalize 1.5\n"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1
+msgid "Send passphrase back to system"
+msgstr "Adpravić paroĺ nazad sistemie"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2
+msgid ""
+"Authentication is required to send the entered passphrase back to the system."
+msgstr "Nieabchodna aÅ­tentyfikacyja dlia adpraÅ­ki parolia nazad sistemie."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3
+msgid "Manage system services or other units"
+msgstr "Kiravać servisami i inšymi sistemnymi adzinkami"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4
+msgid "Authentication is required to manage system services or other units."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia kiravannia servisami i inšymi sistemnymi "
+"adzinkami."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:5
+msgid "Manage system service or unit files"
+msgstr "Kiravać fajlami servisaŭ i inšych sistemnych adzinak"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:6
+msgid "Authentication is required to manage system service or unit files."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia kiravannia fajlami servisaŭ i inšych sistemnych "
+"adzinak."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:7
+msgid "Set or unset system and service manager environment variables"
+msgstr "Ustaliavać abo skinuć zmiennyja asiaroddzia sistemnaha menedžera"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:8
+msgid ""
+"Authentication is required to set or unset system and service manager "
+"environment variables."
+msgstr ""
+"Nieabchodna aÅ­tentyfikacyja dlia Å­staliavannia abo skidu zmiennych asiaroddzia "
+"sistemnaha menedžera."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:9
+msgid "Reload the systemd state"
+msgstr "PieraÄytać stan systemd"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:10
+msgid "Authentication is required to reload the systemd state."
+msgstr "Nieabchodna aÅ­tentyfikacyja dlia pieraÄytannia stanu systemd."
+
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1
+msgid "Set host name"
+msgstr "Ustaliavać imia vuzla"
+
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2
+msgid "Authentication is required to set the local host name."
+msgstr "Nieabchodna aÅ­tentyfikacyja dlia Å­staliavannia imia vuzla."
+
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3
+msgid "Set static host name"
+msgstr "Ustaliavać statyÄnaje imia vuzla"
+
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4
+msgid ""
+"Authentication is required to set the statically configured local host name, "
+"as well as the pretty host name."
+msgstr ""
+"Nieabchodna aÅ­tentyfikacyja dlia Å­staliavannia jak statyÄnaha tak i pryhožaha imia "
+"vuzla."
+
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5
+msgid "Set machine information"
+msgstr "Ustaliavać infarmacyju ab mašynie"
+
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6
+msgid "Authentication is required to set local machine information."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia ŭstaliavannia infarmacyi ab lakaĺnaj mašynie."
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:1
+msgid "Import a VM or container image"
+msgstr "Impartavać vobraz VM abo kantejniera"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:2
+msgid "Authentication is required to import a VM or container image"
+msgstr "Nieabchodna aÅ­tentyfikacyja dlia impartu vobraza VM abo kantejniera"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:3
+msgid "Export a VM or container image"
+msgstr "Ekspartavać vobraz VM abo kantejniera"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:4
+msgid "Authentication is required to export a VM or container image"
+msgstr "Nieabchodna aÅ­tentyfikacyja dlia ekspartu vobraza VM abo kantejniera"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:5
+msgid "Download a VM or container image"
+msgstr "Spampavać vobraz VM abo kantejniera"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:6
+msgid "Authentication is required to download a VM or container image"
+msgstr "Nieabchodna aÅ­tentyfikacyja dlia spampoÅ­ki vobraza VM abo kantejniera"
+
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:1
+msgid "Set system locale"
+msgstr "Ustaliavać sistemnuju lakaĺ"
+
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:2
+msgid "Authentication is required to set the system locale."
+msgstr "Nieabchodna aÅ­tentyfikacyja dlia Å­staliavannia sistemnaj lakali."
+
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:3
+msgid "Set system keyboard settings"
+msgstr "Ustaliavać sistemnyja nalady klavijatury"
+
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:4
+msgid "Authentication is required to set the system keyboard settings."
+msgstr "Nieabchodna aÅ­tentyfikacyja dlia Å­staliavannia sistemnych nalad klavijatury."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:1
+msgid "Allow applications to inhibit system shutdown"
+msgstr "Dazvolić prahramam pieraÅ¡kadžać vykliuÄenniu sistemy"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:2
+msgid ""
+"Authentication is required for an application to inhibit system shutdown."
+msgstr ""
+"Nieabchodna aÅ­tentyfikacyja dlia dazvolu prahramam pieraÅ¡kadžać vykliuÄenniu "
+"sistemy."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:3
+msgid "Allow applications to delay system shutdown"
+msgstr "Dazvolić prahramam zatrymlivać vykliuÄennie sistemy"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:4
+msgid "Authentication is required for an application to delay system shutdown."
+msgstr ""
+"Nieabchodna aÅ­tentyfikacyja dlia dazvolu prahramam zatrymlivać vykliuÄennie "
+"sistemy."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:5
+msgid "Allow applications to inhibit system sleep"
+msgstr "Dazvolić prahramam pieraškadžać zasypanniu sistemy"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:6
+msgid "Authentication is required for an application to inhibit system sleep."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia dazvolu prahramam pieraškadžać zasypanniu "
+"sistemy."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:7
+msgid "Allow applications to delay system sleep"
+msgstr "Dazvolić prahramam zatrymlivać zasypannie sistemy"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:8
+msgid "Authentication is required for an application to delay system sleep."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia dazvolu prahramam zatrymlivać zasypannie "
+"sistemy."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:9
+msgid "Allow applications to inhibit automatic system suspend"
+msgstr "Dazvolić prahramam pieraÅ¡kadžać aÅ­tamatyÄnamu prypynienniu sistemy"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:10
+msgid ""
+"Authentication is required for an application to inhibit automatic system "
+"suspend."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia dazvolu prahramam pieraškadžać "
+"aÅ­tamatyÄnamu prypynienniu sistemy."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:11
+msgid "Allow applications to inhibit system handling of the power key"
+msgstr ""
+"Dazvolić prahramam pieraÅ¡kadžać sistemie apracoÅ­vać klaviÅ¡u vykliuÄennia"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:12
+msgid ""
+"Authentication is required for an application to inhibit system handling of "
+"the power key."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia dazvolu prahramam pieraškadžać sistemie "
+"apracoÅ­vać klaviÅ¡u vykliuÄennia."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:13
+msgid "Allow applications to inhibit system handling of the suspend key"
+msgstr ""
+"Dazvolić prahramam pieraškadžać sistemie apracoŭvać klavišu prypyniennia"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:14
+msgid ""
+"Authentication is required for an application to inhibit system handling of "
+"the suspend key."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia dazvolu prahramam pieraškadžać sistemie "
+"apracoŭvać klavišu prypyniennia."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:15
+msgid "Allow applications to inhibit system handling of the hibernate key"
+msgstr ""
+"Dazvolić prahramam pieraškadžać sistemie apracoŭvać klavišu hibiernacyi"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:16
+msgid ""
+"Authentication is required for an application to inhibit system handling of "
+"the hibernate key."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia dazvolu prahramam pieraškadžać sistemie "
+"apracoŭvać klavišu hibiernacyi."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:17
+msgid "Allow applications to inhibit system handling of the lid switch"
+msgstr ""
+"Dazvolić prahramam pieraškadžać sistemie apracoŭvać zakryccio kryški noŭtbuka"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:18
+msgid ""
+"Authentication is required for an application to inhibit system handling of "
+"the lid switch."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia dazvolu prahramam pieraškadžać sistemie "
+"apracoŭvać zakryccio kryški noŭtbuka."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:19
+msgid "Allow non-logged-in users to run programs"
+msgstr ""
+"Dazvolić karystaĺnikam, jakija jaÅ¡Äe nie Å­vajÅ¡li Å­ sistemu, vykonvać prahramy"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:20
+msgid "Authentication is required to run programs as a non-logged-in user."
+msgstr ""
+"Nieabchodna aÅ­tentyfikacyja dlia vykanannia prahram karystaĺnika, jaki jaÅ¡Äe nie "
+"ŭvajšoŭ u sistemu."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:21
+msgid "Allow attaching devices to seats"
+msgstr "Dazvolić daluÄać prylady da pracoÅ­nych miescaÅ­"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:22
+msgid "Authentication is required for attaching a device to a seat."
+msgstr "Nieabchodna aÅ­tentyfikacyja dlia daluÄennia prylad da pracoÅ­nych miescaÅ­."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:23
+msgid "Flush device to seat attachments"
+msgstr "AdkliuÄać prylady ad pracoÅ­nych miescaÅ­"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:24
+msgid ""
+"Authentication is required for resetting how devices are attached to seats."
+msgstr "Nieabchodna aÅ­tentyfikacyja dlia adkliuÄennia prylad ad pracoÅ­nych miescaÅ­."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:25
+msgid "Power off the system"
+msgstr "VykliuÄyć sistemu"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:26
+msgid "Authentication is required for powering off the system."
+msgstr "Nieabchodna aÅ­tentyfikacyja dlia vykliuÄennia sistemy."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:27
+msgid "Power off the system while other users are logged in"
+msgstr "VykliuÄyć sistemu pry prysutnasci inÅ¡ych karystaĺnikaÅ­"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:28
+msgid ""
+"Authentication is required for powering off the system while other users are "
+"logged in."
+msgstr ""
+"Nieabchodna aÅ­tentyfikacyja dlia vykliuÄennia sistemy pry prysutnasci inÅ¡ych "
+"karystaĺnikaŭ."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:29
+msgid "Power off the system while an application asked to inhibit it"
+msgstr "VykliuÄyć sistemu, kali prahramy pieraÅ¡kadžajuć hetamu"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:30
+msgid ""
+"Authentication is required for powering off the system while an application "
+"asked to inhibit it."
+msgstr ""
+"Nieabchodna aÅ­tentyfikacyja dlia vykliuÄennia sistemy, kali prahramy pieraÅ¡kadžajuć "
+"hetamu."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:31
+msgid "Reboot the system"
+msgstr "Pierazahruzić sistemu"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:32
+msgid "Authentication is required for rebooting the system."
+msgstr "Nieabchodna aÅ­tentyfikacyja dlia pierazahruzki sistemy."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:33
+msgid "Reboot the system while other users are logged in"
+msgstr "Pierazahruzić sistemu pry prysutnasci inšych karystaĺnikaŭ"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:34
+msgid ""
+"Authentication is required for rebooting the system while other users are "
+"logged in."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia pierazahruzki sistemy pry prysutnasci inšych "
+"karystaĺnikaŭ."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:35
+msgid "Reboot the system while an application asked to inhibit it"
+msgstr "Pierazahruzić sistemu, kali prahramy pieraškadžajuć hetamu"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:36
+msgid ""
+"Authentication is required for rebooting the system while an application "
+"asked to inhibit it."
+msgstr ""
+"Nieabchodna aÅ­tentyfikacyja dlia pierazahruzki sistemy, kali prahramy "
+"pieraškadžajuć hetamu."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:37
+msgid "Suspend the system"
+msgstr "Prypynić sistemu"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:38
+msgid "Authentication is required for suspending the system."
+msgstr "Nieabchodna aÅ­tentyfikacyja dlia prypyniennia sistemy."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:39
+msgid "Suspend the system while other users are logged in"
+msgstr "Prypynić sistemu pry prysutnasci inšych karystaĺnikaŭ"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:40
+msgid ""
+"Authentication is required for suspending the system while other users are "
+"logged in."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia prypyniennia sistemy pry prysutnasci inšych "
+"karystaĺnikaŭ."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:41
+msgid "Suspend the system while an application asked to inhibit it"
+msgstr "Prypynić sistemu, kali prahramy pieraškadžajuć hetamu"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:42
+msgid ""
+"Authentication is required for suspending the system while an application "
+"asked to inhibit it."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia prypyniennia sistemy, kali prahramy pieraškadžajuć "
+"hetamu."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:43
+msgid "Hibernate the system"
+msgstr "Hibierniravać sistemu"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:44
+msgid "Authentication is required for hibernating the system."
+msgstr "Nieabchodna aÅ­tentyfikacyja dlia hibiernacyi sistemy."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:45
+msgid "Hibernate the system while other users are logged in"
+msgstr "Hibierniravać sistemu pry prysutnasci inšych karystaĺnikaŭ"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:46
+msgid ""
+"Authentication is required for hibernating the system while other users are "
+"logged in."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia hibiernacyi sistemy pry prysutnasci inšych "
+"karystaĺnikaŭ."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:47
+msgid "Hibernate the system while an application asked to inhibit it"
+msgstr "Hibierniravać sistemu, kali prahramy pieraškadžajuć hetamu"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:48
+msgid ""
+"Authentication is required for hibernating the system while an application "
+"asked to inhibit it."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia hibiernacyi sistemy, kali prahramy pieraškadžajuć "
+"hetamu."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:49
+msgid "Manage active sessions, users and seats"
+msgstr "Kiravać aktyŭnymi siesijami, karystaĺnikami i pracoŭnymi miescami"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:50
+msgid ""
+"Authentication is required for managing active sessions, users and seats."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia kiravannia aktyŭnymi siesijami, karystaĺnikami i "
+"miescami."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:51
+msgid "Lock or unlock active sessions"
+msgstr "Blakiravać abo razblakiravać aktyŭnuju siesiju"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:52
+msgid "Authentication is required to lock or unlock active sessions."
+msgstr ""
+"Nieabchodna aÅ­tentyfikacyja dlia blakiroÅ­ki abo razblakiroÅ­ki aktyÅ­naj siesii."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:53
+msgid "Allow indication to the firmware to boot to setup interface"
+msgstr "Dazvolić ukazannie prašyŭcy na zahruzku interfiejsu nalad"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:54
+msgid ""
+"Authentication is required to indicate to the firmware to boot to setup "
+"interface."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia ŭkazannia prašyŭcy na zahruzku interfiejsu nalad."
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:1
+msgid "Log into a local container"
+msgstr "Uvajsci ŭ lakaĺny kantejnier"
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:2
+msgid "Authentication is required to log into a local container."
+msgstr "Nieabchodna aŭtentyfikacyja dlia ŭvachodu ŭ lakaĺny kantejnier."
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:3
+msgid "Manage local virtual machines and containers"
+msgstr "Kiravać lakaĺnymi virtuaĺnymi mašynami abo kantejnierami"
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:4
+msgid ""
+"Authentication is required to manage local virtual machines and containers."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia kiravannia lakaĺnymi virtuaĺnymi mašynami i "
+"kantejnierami."
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:5
+msgid "Manage local virtual machine and container images"
+msgstr "Kiravać vobrazami lakaĺnych virtuaĺnych mašyn i kantejnieraŭ"
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:6
+msgid ""
+"Authentication is required to manage local virtual machine and container "
+"images."
+msgstr ""
+"Nieabchodna aŭtentyfikacyja dlia kiravannia vobrazami lakaĺnych virtuaĺnych mašyn "
+"i kantejnieraÅ­."
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1
+msgid "Set system time"
+msgstr "Ustaliavać sistemny Äas"
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2
+msgid "Authentication is required to set the system time."
+msgstr "Nieabchodna aÅ­tentyfikacyja dlia Å­staliavannia sistemnaha Äasu."
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3
+msgid "Set system timezone"
+msgstr "Ustaliavać sistemny Äasavy pojas"
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4
+msgid "Authentication is required to set the system timezone."
+msgstr "Nieabchodna aÅ­tentyfikacyja dlia Å­staliavannia sistemnaha Äasavoha pojasu."
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5
+msgid "Set RTC to local timezone or UTC"
+msgstr "Ustaliavać Äasavy pojas (miascovy abo UTC), u jakim RTC zachoÅ­vaje Äas"
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6
+msgid ""
+"Authentication is required to control whether the RTC stores the local or "
+"UTC time."
+msgstr ""
+"Nieabchodna aÅ­tentyfikacyja dlia Å­staliavannia Äasavoha pojasu (miascovy abo UTC), u "
+"jakim zachoÅ­vajecca Äas u RTC."
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7
+msgid "Turn network time synchronization on or off"
+msgstr "UkliuÄyć abo vykliuÄyć sinchranizacyju Äasu pa sietcy"
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8
+msgid ""
+"Authentication is required to control whether network time synchronization "
+"shall be enabled."
+msgstr ""
+"Nieabchodna aÅ­tentyfikacyja dlia Å­kliuÄennia abo vykliuÄennia sinchranizacyi Äasu pa "
+"sietcy."
diff --git a/po/de.po b/po/de.po
index dcaff30ea6..bd64063cc8 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,9 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: systemd master\n"
-"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?"
-"product=systemd&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2015-01-22 14:27+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-06-10 23:25+0200\n"
"PO-Revision-Date: 2015-02-18 17:08+0100\n"
"Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n"
"Language-Team: German <gnome-de@gnome.org>\n"
@@ -32,12 +31,13 @@ msgstr ""
"notwendig."
#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3
-msgid "Manage system services or units"
+#, fuzzy
+msgid "Manage system services or other units"
msgstr "Systemdienste und Einheiten verwalten"
#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4
-#| msgid "Authentication is required to access the system and service manager."
-msgid "Authentication is required to manage system services or units."
+#, fuzzy
+msgid "Authentication is required to manage system services or other units."
msgstr ""
"Legitimierung ist notwendig für die Verwaltung von Systemdiensten und "
"Einheiten"
@@ -47,19 +47,30 @@ msgid "Manage system service or unit files"
msgstr "Systemdienste und Einheitendateien verwalten"
#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:6
-#| msgid "Authentication is required to access the system and service manager."
msgid "Authentication is required to manage system service or unit files."
msgstr ""
"Legitimierung ist notwendig für die Verwaltung von Systemdiensten und "
"Einheitendateien."
#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:7
-#| msgid "Reboot the system"
+#, fuzzy
+msgid "Set or unset system and service manager environment variables"
+msgstr "Privilegierter Zugriff auf die System- und Dienstverwaltung"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:8
+#, fuzzy
+msgid ""
+"Authentication is required to set or unset system and service manager "
+"environment variables."
+msgstr ""
+"Legitimierung ist notwendig für die Verwaltung von Systemdiensten und "
+"Einheitendateien."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:9
msgid "Reload the systemd state"
msgstr "Den systemd-Zustand neu laden"
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:8
-#| msgid "Authentication is required to set the system time."
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:10
msgid "Authentication is required to reload the systemd state."
msgstr "Legitimierung ist zum erneuten Laden des systemd-Zustands notwendig."
@@ -94,11 +105,34 @@ msgstr ""
"erforderlich."
#: ../src/import/org.freedesktop.import1.policy.in.h:1
-msgid "Download a VM or container image"
+#, fuzzy
+msgid "Import a VM or container image"
msgstr "Abbild einer VM oder eines Containers herunterladen"
#: ../src/import/org.freedesktop.import1.policy.in.h:2
-#| msgid "Authentication is required to set local machine information."
+#, fuzzy
+msgid "Authentication is required to import a VM or container image"
+msgstr ""
+"Legitimierung ist zum Herunterladen eines VM- oder Containerabbilds "
+"erforderlich"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:3
+#, fuzzy
+msgid "Export a VM or container image"
+msgstr "Abbild einer VM oder eines Containers herunterladen"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:4
+#, fuzzy
+msgid "Authentication is required to export a VM or container image"
+msgstr ""
+"Legitimierung ist zum Herunterladen eines VM- oder Containerabbilds "
+"erforderlich"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:5
+msgid "Download a VM or container image"
+msgstr "Abbild einer VM oder eines Containers herunterladen"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:6
msgid "Authentication is required to download a VM or container image"
msgstr ""
"Legitimierung ist zum Herunterladen eines VM- oder Containerabbilds "
@@ -405,15 +439,73 @@ msgstr ""
"Legitimierung ist zum Versetzen des System in den Ruhezustand notwendig, "
"während eine Anwendung wünscht dies zu verhindern."
+#: ../src/login/org.freedesktop.login1.policy.in.h:49
+msgid "Manage active sessions, users and seats"
+msgstr ""
+
+# www.freedesktop.org/wiki/Software/systemd/multiseat/
+#: ../src/login/org.freedesktop.login1.policy.in.h:50
+#, fuzzy
+msgid ""
+"Authentication is required for managing active sessions, users and seats."
+msgstr ""
+"Legitimierung ist zum Anschließen eines Geräts an eine Arbeitsstation "
+"notwendig."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:51
+msgid "Lock or unlock active sessions"
+msgstr ""
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:52
+#, fuzzy
+msgid "Authentication is required to lock or unlock active sessions."
+msgstr "Legitimierung ist zum Anmelden in einem lokalen Container notwendig"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:53
+msgid "Allow indication to the firmware to boot to setup interface"
+msgstr ""
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:54
+#, fuzzy
+msgid ""
+"Authentication is required to indicate to the firmware to boot to setup "
+"interface."
+msgstr "Legitimierung ist zum Festlegen des lokalen Rechnernamens notwendig"
+
#: ../src/machine/org.freedesktop.machine1.policy.in.h:1
msgid "Log into a local container"
msgstr "In einem lokalen Container anmelden"
#: ../src/machine/org.freedesktop.machine1.policy.in.h:2
-#| msgid "Authentication is required to set the local host name."
-msgid "Authentication is required to log into a local container"
+#, fuzzy
+msgid "Authentication is required to log into a local container."
msgstr "Legitimierung ist zum Anmelden in einem lokalen Container notwendig"
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:3
+msgid "Manage local virtual machines and containers"
+msgstr ""
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:4
+#, fuzzy
+msgid ""
+"Authentication is required to manage local virtual machines and containers."
+msgstr ""
+"Legitimierung ist zum Festlegen der lokalen Maschinen-Information "
+"erforderlich."
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:5
+msgid "Manage local virtual machine and container images"
+msgstr ""
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:6
+#, fuzzy
+msgid ""
+"Authentication is required to manage local virtual machine and container "
+"images."
+msgstr ""
+"Legitimierung ist zum Herunterladen eines VM- oder Containerabbilds "
+"erforderlich"
+
#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1
msgid "Set system time"
msgstr "Die Systemzeit festlegen"
@@ -454,16 +546,10 @@ msgstr ""
"Legitimierung ist zum Festlegen, ob Netzwerkzeitabgeich eingeschaltet sein "
"soll, erforderlich."
-#: ../src/fsckd/fsckd.c:186
-msgid "Press Ctrl+C to cancel all filesystem checks in progress"
-msgstr "Strl+C drücken um laufende Dateisystem-Prüfungen abzubrechen"
-
-#: ../src/fsckd/fsckd.c:227
-#, c-format
-msgid "Checking in progress on %d disk (%3.1f%% complete)"
-msgid_plural "Checking in progress on %d disks (%3.1f%% complete)"
-msgstr[0] "Prüfe %d Laufwerk (%3.1f%% fertig)"
-msgstr[1] "Prüfe %d Laufwerke (%3.1f%% fertig)"
+#~ msgid "Press Ctrl+C to cancel all filesystem checks in progress"
+#~ msgstr "Strl+C drücken um laufende Dateisystem-Prüfungen abzubrechen"
-#~ msgid "Privileged system and service manager access"
-#~ msgstr "Privilegierter Zugriff auf die System- und Dienstverwaltung"
+#~ msgid "Checking in progress on %d disk (%3.1f%% complete)"
+#~ msgid_plural "Checking in progress on %d disks (%3.1f%% complete)"
+#~ msgstr[0] "Prüfe %d Laufwerk (%3.1f%% fertig)"
+#~ msgstr[1] "Prüfe %d Laufwerke (%3.1f%% fertig)"
diff --git a/po/es.po b/po/es.po
index 811e36e81f..82acbc3272 100644
--- a/po/es.po
+++ b/po/es.po
@@ -8,9 +8,8 @@
msgid ""
msgstr ""
"Project-Id-Version: systemd master\n"
-"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?"
-"product=systemd&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2015-04-23 23:43+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-06-10 23:25+0200\n"
"PO-Revision-Date: 2015-04-24 13:26+0200\n"
"Last-Translator: Ãlex Puchades <alex94puchades@gmail.com>\n"
"Language-Team: Español; Castellano <gnome-es-list@gnome.org>\n"
@@ -518,15 +517,12 @@ msgstr ""
"Se requiere autenticación para activar/desactivar la sincronización de hora "
"por red."
-#: ../src/fsckd/fsckd.c:297
-msgid "Press Ctrl+C to cancel all filesystem checks in progress"
-msgstr ""
-"Presione Ctrl+C para cancelar todas las comprobaciones del sistema de "
-"archivos en curso"
+#~ msgid "Press Ctrl+C to cancel all filesystem checks in progress"
+#~ msgstr ""
+#~ "Presione Ctrl+C para cancelar todas las comprobaciones del sistema de "
+#~ "archivos en curso"
-#: ../src/fsckd/fsckd.c:343
-#, c-format
-msgid "Checking in progress on %d disk (%3.1f%% complete)"
-msgid_plural "Checking in progress on %d disks (%3.1f%% complete)"
-msgstr[0] "Comprobando progreso en %d disco (%3.1f %% completado)"
-msgstr[1] "Comprobando progreso en %d discos (%3.1f %% completado)"
+#~ msgid "Checking in progress on %d disk (%3.1f%% complete)"
+#~ msgid_plural "Checking in progress on %d disks (%3.1f%% complete)"
+#~ msgstr[0] "Comprobando progreso en %d disco (%3.1f %% completado)"
+#~ msgstr[1] "Comprobando progreso en %d discos (%3.1f %% completado)"
diff --git a/po/fr.po b/po/fr.po
index 69862fb4c2..e8592e6dd4 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: systemd\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-04-07 20:05+0200\n"
+"POT-Creation-Date: 2015-06-10 23:25+0200\n"
"PO-Revision-Date: 2014-12-28 13:04+0100\n"
"Last-Translator: Sylvain Plantefève <sylvain.plantefeve@gmail.com>\n"
"Language-Team: French\n"
@@ -526,15 +526,12 @@ msgstr ""
"Authentification requise pour activer ou désactiver la synchronisation de "
"l'heure avec le réseau."
-#: ../src/fsckd/fsckd.c:297
-msgid "Press Ctrl+C to cancel all filesystem checks in progress"
-msgstr ""
-"Appuyez sur Ctrl+C pour annuler toutes vérifications en cours du système de "
-"fichiers"
+#~ msgid "Press Ctrl+C to cancel all filesystem checks in progress"
+#~ msgstr ""
+#~ "Appuyez sur Ctrl+C pour annuler toutes vérifications en cours du système "
+#~ "de fichiers"
-#: ../src/fsckd/fsckd.c:343
-#, c-format
-msgid "Checking in progress on %d disk (%3.1f%% complete)"
-msgid_plural "Checking in progress on %d disks (%3.1f%% complete)"
-msgstr[0] "Vérification en cours sur %d disque (%3.1f%% complété)"
-msgstr[1] "Vérification en cours sur %d disques (%3.1f%% complété)"
+#~ msgid "Checking in progress on %d disk (%3.1f%% complete)"
+#~ msgid_plural "Checking in progress on %d disks (%3.1f%% complete)"
+#~ msgstr[0] "Vérification en cours sur %d disque (%3.1f%% complété)"
+#~ msgstr[1] "Vérification en cours sur %d disques (%3.1f%% complété)"
diff --git a/po/hu.po b/po/hu.po
index 308e03d418..0e15db56df 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: systemd master\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-01-02 22:59+0100\n"
+"POT-Creation-Date: 2015-06-10 23:25+0200\n"
"PO-Revision-Date: 2015-01-02 22:58+0100\n"
"Last-Translator: Gabor Kelemen <kelemeng at ubuntu dot com>\n"
"Language-Team: Hungarian <openscope at googlegroups dot com>\n"
@@ -18,6 +18,56 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 1.5\n"
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1
+msgid "Send passphrase back to system"
+msgstr "Jelmondat visszaküldése a rendszernek"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2
+msgid ""
+"Authentication is required to send the entered passphrase back to the system."
+msgstr ""
+"Hitelesítés szükséges a bevitt jelmondat visszaküldéséhez a rendszernek."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3
+#, fuzzy
+msgid "Manage system services or other units"
+msgstr "Rendszerszolgáltatások vagy -egységek kezelése"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4
+#, fuzzy
+msgid "Authentication is required to manage system services or other units."
+msgstr ""
+"Hitelesítés szükséges a rendszerszolgáltatások vagy -egységek kezeléséhez."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:5
+msgid "Manage system service or unit files"
+msgstr "Rendszerszolgáltatás- vagy egységfájlok kezelése"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:6
+msgid "Authentication is required to manage system service or unit files."
+msgstr ""
+"Hitelesítés szükséges a rendszerszolgáltatás- vagy egységfájlok kezeléséhez."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:7
+msgid "Set or unset system and service manager environment variables"
+msgstr ""
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:8
+#, fuzzy
+msgid ""
+"Authentication is required to set or unset system and service manager "
+"environment variables."
+msgstr ""
+"Hitelesítés szükséges a rendszerszolgáltatás- vagy egységfájlok kezeléséhez."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:9
+msgid "Reload the systemd state"
+msgstr "A systemd állapotának újratöltése"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:10
+msgid "Authentication is required to reload the systemd state."
+msgstr "Hitelesítés szükséges a systemd állapotának újratöltéséhez."
+
#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1
msgid "Set host name"
msgstr "Gépnév beállítása"
@@ -46,6 +96,33 @@ msgstr "Gépinformációk beállítása"
msgid "Authentication is required to set local machine information."
msgstr "Hitelesítés szükséges a helyi gép információinak beállításához."
+#: ../src/import/org.freedesktop.import1.policy.in.h:1
+msgid "Import a VM or container image"
+msgstr ""
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:2
+#, fuzzy
+msgid "Authentication is required to import a VM or container image"
+msgstr "Hitelesítés szükséges a bejelentkezéshez egy helyi konténerbe."
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:3
+msgid "Export a VM or container image"
+msgstr ""
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:4
+#, fuzzy
+msgid "Authentication is required to export a VM or container image"
+msgstr "Hitelesítés szükséges a bejelentkezéshez egy helyi konténerbe."
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:5
+msgid "Download a VM or container image"
+msgstr ""
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:6
+#, fuzzy
+msgid "Authentication is required to download a VM or container image"
+msgstr "Hitelesítés szükséges a bejelentkezéshez egy helyi konténerbe."
+
#: ../src/locale/org.freedesktop.locale1.policy.in.h:1
msgid "Set system locale"
msgstr "Területi beállítás megadása"
@@ -330,14 +407,68 @@ msgstr ""
"Hitelesítés szükséges a rendszer hibernálásához miközben egy alkalmazás "
"ennek meggátlását kérte."
+#: ../src/login/org.freedesktop.login1.policy.in.h:49
+msgid "Manage active sessions, users and seats"
+msgstr ""
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:50
+#, fuzzy
+msgid ""
+"Authentication is required for managing active sessions, users and seats."
+msgstr ""
+"Hitelesítés szükséges eszköz csatolásának engedélyezéséhez egy "
+"munkaállomáshoz"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:51
+msgid "Lock or unlock active sessions"
+msgstr ""
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:52
+#, fuzzy
+msgid "Authentication is required to lock or unlock active sessions."
+msgstr "Hitelesítés szükséges a bejelentkezéshez egy helyi konténerbe."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:53
+msgid "Allow indication to the firmware to boot to setup interface"
+msgstr ""
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:54
+#, fuzzy
+msgid ""
+"Authentication is required to indicate to the firmware to boot to setup "
+"interface."
+msgstr "Hitelesítés szükséges a helyi gépnév beállításához."
+
#: ../src/machine/org.freedesktop.machine1.policy.in.h:1
msgid "Log into a local container"
msgstr "Bejelentkezés helyi konténerbe"
#: ../src/machine/org.freedesktop.machine1.policy.in.h:2
-msgid "Authentication is required to log into a local container"
+#, fuzzy
+msgid "Authentication is required to log into a local container."
msgstr "Hitelesítés szükséges a bejelentkezéshez egy helyi konténerbe."
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:3
+msgid "Manage local virtual machines and containers"
+msgstr ""
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:4
+#, fuzzy
+msgid ""
+"Authentication is required to manage local virtual machines and containers."
+msgstr "Hitelesítés szükséges a helyi gép információinak beállításához."
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:5
+msgid "Manage local virtual machine and container images"
+msgstr ""
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:6
+#, fuzzy
+msgid ""
+"Authentication is required to manage local virtual machine and container "
+"images."
+msgstr "Hitelesítés szükséges a helyi gép információinak beállításához."
+
#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1
msgid "Set system time"
msgstr "Rendszeridő beállítása"
@@ -375,50 +506,3 @@ msgid ""
"Authentication is required to control whether network time synchronization "
"shall be enabled."
msgstr "Hitelesítés szükséges a hálózati időszinkronizáció engedélyezéséhez."
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1
-msgid "Send passphrase back to system"
-msgstr "Jelmondat visszaküldése a rendszernek"
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2
-msgid ""
-"Authentication is required to send the entered passphrase back to the system."
-msgstr ""
-"Hitelesítés szükséges a bevitt jelmondat visszaküldéséhez a rendszernek."
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3
-msgid "Manage system services or units"
-msgstr "Rendszerszolgáltatások vagy -egységek kezelése"
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4
-msgid "Authentication is required to manage system services or units."
-msgstr ""
-"Hitelesítés szükséges a rendszerszolgáltatások vagy -egységek kezeléséhez."
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:5
-msgid "Manage system service or unit files"
-msgstr "Rendszerszolgáltatás- vagy egységfájlok kezelése"
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:6
-msgid "Authentication is required to manage system service or unit files."
-msgstr ""
-"Hitelesítés szükséges a rendszerszolgáltatás- vagy egységfájlok kezeléséhez."
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:7
-msgid "Reload the systemd state"
-msgstr "A systemd állapotának újratöltése"
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:8
-msgid "Authentication is required to reload the systemd state."
-msgstr "Hitelesítés szükséges a systemd állapotának újratöltéséhez."
-
-#: ../src/fsckd/fsckd.c:186
-msgid "Press Ctrl+C to cancel all filesystem checks in progress"
-msgstr ""
-
-#: ../src/fsckd/fsckd.c:227
-#, c-format
-msgid "Checking in progress on %d disk (%3.1f%% complete)"
-msgid_plural "Checking in progress on %d disks (%3.1f%% complete)"
-msgstr[0] ""
-msgstr[1] ""
diff --git a/po/it.po b/po/it.po
index 80ef7f5938..a9d636396a 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: systemd\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-19 16:03+0100\n"
-"PO-Revision-Date: 2015-02-19 16:34+0100\n"
+"POT-Creation-Date: 2015-06-10 23:04+0200\n"
+"PO-Revision-Date: 2015-06-10 23:10+0100\n"
"Last-Translator: Daniele Medri <dmedri@gmail.com>\n"
"Language-Team: Italian\n"
"Language: it\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.7.3\n"
+"X-Generator: Poedit 1.7.6\n"
#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1
msgid "Send passphrase back to system"
@@ -100,10 +100,26 @@ msgstr ""
"locale."
#: ../src/import/org.freedesktop.import1.policy.in.h:1
+msgid "Import a VM or container image"
+msgstr "Importa un'immagine VM o un container"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:2
+msgid "Authentication is required to import a VM or container image"
+msgstr "Autenticazione richiesta per importare un'immagine VM o un container"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:3
+msgid "Export a VM or container image"
+msgstr "Esporta un'immagine VM o un container"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:4
+msgid "Authentication is required to export a VM or container image"
+msgstr "Autenticazione richiesta per esportare un'immagine VM o un container"
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:5
msgid "Download a VM or container image"
msgstr "Scarica un'immagine VM o un container"
-#: ../src/import/org.freedesktop.import1.policy.in.h:2
+#: ../src/import/org.freedesktop.import1.policy.in.h:6
msgid "Authentication is required to download a VM or container image"
msgstr "Autenticazione richiesta per scaricare un'immagine VM o un container"
@@ -413,6 +429,20 @@ msgstr "Blocca/sblocca sessioni attive"
msgid "Authentication is required to lock or unlock active sessions."
msgstr "Autenticazione richiesta per bloccare o sbloccare le sessioni attive."
+#: ../src/login/org.freedesktop.login1.policy.in.h:53
+msgid "Allow indication to the firmware to boot to setup interface"
+msgstr ""
+"Permette indicazioni per il firmware per avviare l'interfaccia di "
+"configurazione"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:54
+msgid ""
+"Authentication is required to indicate to the firmware to boot to setup "
+"interface."
+msgstr ""
+"Autenticazione richiesta per indicare al firmware di avviare l'interfaccia "
+"di configurazione."
+
#: ../src/machine/org.freedesktop.machine1.policy.in.h:1
msgid "Log into a local container"
msgstr "Accedi in un container locale"
@@ -484,14 +514,3 @@ msgid ""
msgstr ""
"Autenticazione richiesta per verificare se la sincronizzazione dell'orario "
"in rete possa essere attivata."
-
-#: ../src/fsckd/fsckd.c:186
-msgid "Press Ctrl+C to cancel all filesystem checks in progress"
-msgstr "Premere Ctrl+C per annullare i controlli in corso sul filesystem"
-
-#: ../src/fsckd/fsckd.c:227
-#, c-format
-msgid "Checking in progress on %d disk (%3.1f%% complete)"
-msgid_plural "Checking in progress on %d disks (%3.1f%% complete)"
-msgstr[0] "Controllo in corso sul disco %d (%3.1f%% completato)"
-msgstr[1] "Controllo in corso sui dischi %d (%3.1f%% completato)"
diff --git a/po/pl.po b/po/pl.po
index 186f1d1561..96887f058a 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: systemd\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-04-12 01:40+0200\n"
+"POT-Creation-Date: 2015-06-10 23:25+0200\n"
"PO-Revision-Date: 2015-04-12 01:44+0200\n"
"Last-Translator: Piotr DrÄ…g <piotrdrag@gmail.com>\n"
"Language-Team: Polish <trans-pl@lists.fedoraproject.org>\n"
@@ -502,16 +502,13 @@ msgstr ""
"Wymagane jest uwierzytelnienie, aby kontrolować, czy włączyć synchronizację "
"czasu przez sieć."
-#: ../src/fsckd/fsckd.c:297
-msgid "Press Ctrl+C to cancel all filesystem checks in progress"
-msgstr ""
-"Naciśnięcie klawiszy Ctrl+C anuluje wszystkie trwające procesy sprawdzania "
-"systemów plików"
+#~ msgid "Press Ctrl+C to cancel all filesystem checks in progress"
+#~ msgstr ""
+#~ "Naciśnięcie klawiszy Ctrl+C anuluje wszystkie trwające procesy "
+#~ "sprawdzania systemów plików"
-#: ../src/fsckd/fsckd.c:343
-#, c-format
-msgid "Checking in progress on %d disk (%3.1f%% complete)"
-msgid_plural "Checking in progress on %d disks (%3.1f%% complete)"
-msgstr[0] "Trwa sprawdzanie %d dysku (ukończono %3.1f%%)"
-msgstr[1] "Trwa sprawdzanie %d dysków (ukończono %3.1f%%)"
-msgstr[2] "Trwa sprawdzanie %d dysków (ukończono %3.1f%%)"
+#~ msgid "Checking in progress on %d disk (%3.1f%% complete)"
+#~ msgid_plural "Checking in progress on %d disks (%3.1f%% complete)"
+#~ msgstr[0] "Trwa sprawdzanie %d dysku (ukończono %3.1f%%)"
+#~ msgstr[1] "Trwa sprawdzanie %d dysków (ukończono %3.1f%%)"
+#~ msgstr[2] "Trwa sprawdzanie %d dysków (ukończono %3.1f%%)"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 072b8d3379..619a91a8f3 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -7,9 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: systemd master\n"
-"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?"
-"product=systemd&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2015-01-01 21:18+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-06-10 23:25+0200\n"
"PO-Revision-Date: 2015-01-10 12:23-0300\n"
"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
@@ -20,6 +19,60 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 1.7.1\n"
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1
+msgid "Send passphrase back to system"
+msgstr "Enviar frase secreta de volta ao sistema"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2
+msgid ""
+"Authentication is required to send the entered passphrase back to the system."
+msgstr ""
+"É necessária autenticação para enviar a frase secreta informada de volta ao "
+"sistema."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3
+#, fuzzy
+msgid "Manage system services or other units"
+msgstr "Gerenciar unidades e serviços do sistema"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4
+#, fuzzy
+msgid "Authentication is required to manage system services or other units."
+msgstr ""
+"É necessária autenticação para gerenciar unidades e serviços do sistema."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:5
+msgid "Manage system service or unit files"
+msgstr "Gerenciar arquivos de unidades e serviços do sistema"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:6
+msgid "Authentication is required to manage system service or unit files."
+msgstr ""
+"É necessária autenticação para gerenciar arquivos \"unit\" e \"service\" do "
+"sistema."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:7
+#, fuzzy
+msgid "Set or unset system and service manager environment variables"
+msgstr "Acesso privilegiado ao gerenciador de serviço e de sistema"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:8
+#, fuzzy
+msgid ""
+"Authentication is required to set or unset system and service manager "
+"environment variables."
+msgstr ""
+"É necessária autenticação para gerenciar arquivos \"unit\" e \"service\" do "
+"sistema."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:9
+msgid "Reload the systemd state"
+msgstr "Recarregar o estado do sistema"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:10
+msgid "Authentication is required to reload the systemd state."
+msgstr "É necessária autenticação para recarregar o estado do sistema."
+
#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1
msgid "Set host name"
msgstr "Definir nome de máquina"
@@ -48,6 +101,33 @@ msgstr "Definir informações da máquina"
msgid "Authentication is required to set local machine information."
msgstr "É necessária autenticação para definir informações de máquina local."
+#: ../src/import/org.freedesktop.import1.policy.in.h:1
+msgid "Import a VM or container image"
+msgstr ""
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:2
+#, fuzzy
+msgid "Authentication is required to import a VM or container image"
+msgstr "É necessária autenticação para se conectar a um contêiner local."
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:3
+msgid "Export a VM or container image"
+msgstr ""
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:4
+#, fuzzy
+msgid "Authentication is required to export a VM or container image"
+msgstr "É necessária autenticação para se conectar a um contêiner local."
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:5
+msgid "Download a VM or container image"
+msgstr ""
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:6
+#, fuzzy
+msgid "Authentication is required to download a VM or container image"
+msgstr "É necessária autenticação para se conectar a um contêiner local."
+
#: ../src/locale/org.freedesktop.locale1.policy.in.h:1
msgid "Set system locale"
msgstr "Definir configurações regionais do sistema"
@@ -331,14 +411,66 @@ msgstr ""
"É necessária autenticação para hibernar o sistema enquanto um aplicativo "
"solicitou inibição."
+#: ../src/login/org.freedesktop.login1.policy.in.h:49
+msgid "Manage active sessions, users and seats"
+msgstr ""
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:50
+#, fuzzy
+msgid ""
+"Authentication is required for managing active sessions, users and seats."
+msgstr "É necessária autenticação para conectar um dispositivo em uma estação."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:51
+msgid "Lock or unlock active sessions"
+msgstr ""
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:52
+#, fuzzy
+msgid "Authentication is required to lock or unlock active sessions."
+msgstr "É necessária autenticação para se conectar a um contêiner local."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:53
+msgid "Allow indication to the firmware to boot to setup interface"
+msgstr ""
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:54
+#, fuzzy
+msgid ""
+"Authentication is required to indicate to the firmware to boot to setup "
+"interface."
+msgstr "É necessária autenticação para definir nome de máquina local."
+
#: ../src/machine/org.freedesktop.machine1.policy.in.h:1
msgid "Log into a local container"
msgstr "Conectar a um contêiner local"
#: ../src/machine/org.freedesktop.machine1.policy.in.h:2
-msgid "Authentication is required to log into a local container"
+#, fuzzy
+msgid "Authentication is required to log into a local container."
msgstr "É necessária autenticação para se conectar a um contêiner local."
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:3
+msgid "Manage local virtual machines and containers"
+msgstr ""
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:4
+#, fuzzy
+msgid ""
+"Authentication is required to manage local virtual machines and containers."
+msgstr "É necessária autenticação para definir informações de máquina local."
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:5
+msgid "Manage local virtual machine and container images"
+msgstr ""
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:6
+#, fuzzy
+msgid ""
+"Authentication is required to manage local virtual machine and container "
+"images."
+msgstr "É necessária autenticação para definir informações de máquina local."
+
#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1
msgid "Set system time"
msgstr "Definir horário do sistema"
@@ -378,55 +510,3 @@ msgid ""
msgstr ""
"É necessária autenticação para controlar se deve ser habilitada, ou não, a "
"sincronização de horário através de rede."
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1
-msgid "Send passphrase back to system"
-msgstr "Enviar frase secreta de volta ao sistema"
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2
-msgid ""
-"Authentication is required to send the entered passphrase back to the system."
-msgstr ""
-"É necessária autenticação para enviar a frase secreta informada de volta ao "
-"sistema."
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3
-msgid "Manage system services or units"
-msgstr "Gerenciar unidades e serviços do sistema"
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4
-msgid "Authentication is required to manage system services or units."
-msgstr ""
-"É necessária autenticação para gerenciar unidades e serviços do sistema."
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:5
-msgid "Manage system service or unit files"
-msgstr "Gerenciar arquivos de unidades e serviços do sistema"
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:6
-msgid "Authentication is required to manage system service or unit files."
-msgstr ""
-"É necessária autenticação para gerenciar arquivos \"unit\" e \"service\" do "
-"sistema."
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:7
-msgid "Reload the systemd state"
-msgstr "Recarregar o estado do sistema"
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:8
-msgid "Authentication is required to reload the systemd state."
-msgstr "É necessária autenticação para recarregar o estado do sistema."
-
-#~ msgid "Privileged system and service manager access"
-#~ msgstr "Acesso privilegiado ao gerenciador de serviço e de sistema"
-
-#: ../src/fsckd/fsckd.c:186
-msgid "Press Ctrl+C to cancel all filesystem checks in progress"
-msgstr ""
-
-#: ../src/fsckd/fsckd.c:227
-#, c-format
-msgid "Checking in progress on %d disk (%3.1f%% complete)"
-msgid_plural "Checking in progress on %d disks (%3.1f%% complete)"
-msgstr[0] ""
-msgstr[1] ""
diff --git a/po/ru.po b/po/ru.po
index 76825135e5..e7426c6592 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -5,31 +5,37 @@
msgid ""
msgstr ""
"Project-Id-Version: systemd\n"
-"Report-Msgid-Bugs-To: 0comffdiz@inbox.ru\n"
-"POT-Creation-Date: 2013-03-24 19:22+0300\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-06-10 23:25+0200\n"
"PO-Revision-Date: 2015-03-22 21:53+0300\n"
"Last-Translator: Sergey Ptashnick <0comffdiz@inbox.ru>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1
msgid "Send passphrase back to system"
msgstr "Отправить пароль ÑиÑтеме"
#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2
-msgid "Authentication is required to send the entered passphrase back to the system."
+msgid ""
+"Authentication is required to send the entered passphrase back to the system."
msgstr "Чтобы отправить пароль ÑиÑтеме, необходимо пройти аутентификацию."
#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3
-msgid "Manage system services or units"
+#, fuzzy
+msgid "Manage system services or other units"
msgstr "Управление ÑиÑтемными Ñлужбами и юнитами"
#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4
-msgid "Authentication is required to manage system services or units."
-msgstr "Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемными Ñлужбами и юнитами, необходимо пройти аутентификацию."
+#, fuzzy
+msgid "Authentication is required to manage system services or other units."
+msgstr ""
+"Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемными Ñлужбами и юнитами, необходимо пройти "
+"аутентификацию."
#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:5
msgid "Manage system service or unit files"
@@ -37,15 +43,21 @@ msgstr "Управление файлами конфигурации ÑиÑтеÐ
#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:6
msgid "Authentication is required to manage system service or unit files."
-msgstr "Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ конфигурации ÑиÑтемных Ñлужб и юнитов, необходимо пройти аутентификацию."
+msgstr ""
+"Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ конфигурации ÑиÑтемных Ñлужб и юнитов, необходимо "
+"пройти аутентификацию."
#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:7
msgid "Set or unset system and service manager environment variables"
msgstr "ÐаÑтроить переменные Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑиÑтемного менеджера"
#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:8
-msgid "Authentication is required to set or unset system and service manager environment variables."
-msgstr "Чтобы наÑтроить переменные Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑиÑтемного менеджера, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required to set or unset system and service manager "
+"environment variables."
+msgstr ""
+"Чтобы наÑтроить переменные Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑиÑтемного менеджера, необходимо "
+"пройти аутентификацию."
#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:9
msgid "Reload the systemd state"
@@ -53,7 +65,9 @@ msgstr "Перечитать конфигурацию systemd"
#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:10
msgid "Authentication is required to reload the systemd state."
-msgstr "Чтобы заÑтавить systemd перечитать конфигурацию, необходимо пройти аутентификацию."
+msgstr ""
+"Чтобы заÑтавить systemd перечитать конфигурацию, необходимо пройти "
+"аутентификацию."
#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1
msgid "Set host name"
@@ -68,8 +82,12 @@ msgid "Set static host name"
msgstr "ÐаÑтроить ÑтатичеÑкое Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ÐµÑ€Ð°"
#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4
-msgid "Authentication is required to set the statically configured local host name, as well as the pretty host name."
-msgstr "Чтобы наÑтроить ÑтатичеÑкое Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ÐµÑ€Ð°, а также его «краÑивое» имÑ, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required to set the statically configured local host name, "
+"as well as the pretty host name."
+msgstr ""
+"Чтобы наÑтроить ÑтатичеÑкое Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ÐµÑ€Ð°, а также его «краÑивое» имÑ, "
+"необходимо пройти аутентификацию."
#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5
msgid "Set machine information"
@@ -77,7 +95,8 @@ msgstr "ÐаÑтроить информацию о компьютере"
#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6
msgid "Authentication is required to set local machine information."
-msgstr "Чтобы наÑтроить информацию о компьютере, необходимо пройти аутентификацию."
+msgstr ""
+"Чтобы наÑтроить информацию о компьютере, необходимо пройти аутентификацию."
#: ../src/import/org.freedesktop.import1.policy.in.h:1
msgid "Import a VM or container image"
@@ -85,7 +104,9 @@ msgstr "Импортировать образ виртуальной машинÑ
#: ../src/import/org.freedesktop.import1.policy.in.h:2
msgid "Authentication is required to import a VM or container image"
-msgstr "Чтобы импортировать образ виртуальной машины или контейнера, необходимо пройти аутентификацию."
+msgstr ""
+"Чтобы импортировать образ виртуальной машины или контейнера, необходимо "
+"пройти аутентификацию."
#: ../src/import/org.freedesktop.import1.policy.in.h:3
msgid "Export a VM or container image"
@@ -93,7 +114,9 @@ msgstr "ЭкÑпортировать образ виртуальной машиÐ
#: ../src/import/org.freedesktop.import1.policy.in.h:4
msgid "Authentication is required to export a VM or container image"
-msgstr "Чтобы ÑкÑпортировать образ виртуальной машины или контейнера, необходимо пройти аутентификацию."
+msgstr ""
+"Чтобы ÑкÑпортировать образ виртуальной машины или контейнера, необходимо "
+"пройти аутентификацию."
#: ../src/import/org.freedesktop.import1.policy.in.h:5
msgid "Download a VM or container image"
@@ -101,7 +124,9 @@ msgstr "Загрузить образ виртуальной машины или
#: ../src/import/org.freedesktop.import1.policy.in.h:6
msgid "Authentication is required to download a VM or container image"
-msgstr "Чтобы загрузить образ виртуальной машины или контейнера, необходимо пройти аутентификацию."
+msgstr ""
+"Чтобы загрузить образ виртуальной машины или контейнера, необходимо пройти "
+"аутентификацию."
#: ../src/locale/org.freedesktop.locale1.policy.in.h:1
msgid "Set system locale"
@@ -117,15 +142,19 @@ msgstr "ÐаÑтроить параметры клавиатуры"
#: ../src/locale/org.freedesktop.locale1.policy.in.h:4
msgid "Authentication is required to set the system keyboard settings."
-msgstr "Чтобы наÑтроить параметры клавиатуры, необходимо пройти аутентификацию."
+msgstr ""
+"Чтобы наÑтроить параметры клавиатуры, необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:1
msgid "Allow applications to inhibit system shutdown"
msgstr "Разрешить приложениÑм уÑтанавливать блокировку на выключение ÑиÑтемы"
#: ../src/login/org.freedesktop.login1.policy.in.h:2
-msgid "Authentication is required for an application to inhibit system shutdown."
-msgstr "Чтобы разрешить приложениÑм уÑтанавливать блокировку на выключение ÑиÑтемы, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required for an application to inhibit system shutdown."
+msgstr ""
+"Чтобы разрешить приложениÑм уÑтанавливать блокировку на выключение ÑиÑтемы, "
+"необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:3
msgid "Allow applications to delay system shutdown"
@@ -133,7 +162,9 @@ msgstr "Разрешить приложениÑм уÑтанавливать зÐ
#: ../src/login/org.freedesktop.login1.policy.in.h:4
msgid "Authentication is required for an application to delay system shutdown."
-msgstr "Чтобы разрешить приложениÑм уÑтанавливать задержку на выключение ÑиÑтемы, необходимо пройти аутентификацию."
+msgstr ""
+"Чтобы разрешить приложениÑм уÑтанавливать задержку на выключение ÑиÑтемы, "
+"необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:5
msgid "Allow applications to inhibit system sleep"
@@ -141,7 +172,9 @@ msgstr "Разрешить приложениÑм уÑтанавливать бÐ
#: ../src/login/org.freedesktop.login1.policy.in.h:6
msgid "Authentication is required for an application to inhibit system sleep."
-msgstr "Чтобы разрешить приложениÑм уÑтанавливать блокировку на заÑыпание ÑиÑтемы, необходимо пройти аутентификацию."
+msgstr ""
+"Чтобы разрешить приложениÑм уÑтанавливать блокировку на заÑыпание ÑиÑтемы, "
+"необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:7
msgid "Allow applications to delay system sleep"
@@ -149,55 +182,91 @@ msgstr "Разрешить приложениÑм уÑтанавливать зÐ
#: ../src/login/org.freedesktop.login1.policy.in.h:8
msgid "Authentication is required for an application to delay system sleep."
-msgstr "Чтобы разрешить приложениÑм уÑтанавливать задержку на заÑыпание ÑиÑтемы, необходимо пройти аутентификацию."
+msgstr ""
+"Чтобы разрешить приложениÑм уÑтанавливать задержку на заÑыпание ÑиÑтемы, "
+"необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:9
msgid "Allow applications to inhibit automatic system suspend"
-msgstr "Разрешить приложениÑм уÑтанавливать блокировку на автоматичеÑкий переход ÑиÑтемы в ждущий режим"
+msgstr ""
+"Разрешить приложениÑм уÑтанавливать блокировку на автоматичеÑкий переход "
+"ÑиÑтемы в ждущий режим"
#: ../src/login/org.freedesktop.login1.policy.in.h:10
-msgid "Authentication is required for an application to inhibit automatic system suspend."
-msgstr "Чтобы разрешить приложениÑм уÑтанавливать блокировку на автоматичеÑкий переход ÑиÑтемы в ждущий режим, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required for an application to inhibit automatic system "
+"suspend."
+msgstr ""
+"Чтобы разрешить приложениÑм уÑтанавливать блокировку на автоматичеÑкий "
+"переход ÑиÑтемы в ждущий режим, необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:11
msgid "Allow applications to inhibit system handling of the power key"
-msgstr "Разрешить приложениÑм уÑтанавливать блокировку обработки нажатий на кнопку выключениÑ"
+msgstr ""
+"Разрешить приложениÑм уÑтанавливать блокировку обработки нажатий на кнопку "
+"выключениÑ"
#: ../src/login/org.freedesktop.login1.policy.in.h:12
-msgid "Authentication is required for an application to inhibit system handling of the power key."
-msgstr "Чтобы разрешить приложениÑм уÑтанавливать блокировку обработки нажатий на кнопку выключениÑ, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required for an application to inhibit system handling of "
+"the power key."
+msgstr ""
+"Чтобы разрешить приложениÑм уÑтанавливать блокировку обработки нажатий на "
+"кнопку выключениÑ, необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:13
msgid "Allow applications to inhibit system handling of the suspend key"
-msgstr "Разрешить приложениÑм уÑтанавливать блокировку обработки нажатий на кнопку перехода в ждущий режим"
+msgstr ""
+"Разрешить приложениÑм уÑтанавливать блокировку обработки нажатий на кнопку "
+"перехода в ждущий режим"
#: ../src/login/org.freedesktop.login1.policy.in.h:14
-msgid "Authentication is required for an application to inhibit system handling of the suspend key."
-msgstr "Чтобы разрешить приложениÑм уÑтанавливать блокировку обработки нажатий на кнопку перехода в ждущий режим, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required for an application to inhibit system handling of "
+"the suspend key."
+msgstr ""
+"Чтобы разрешить приложениÑм уÑтанавливать блокировку обработки нажатий на "
+"кнопку перехода в ждущий режим, необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:15
msgid "Allow applications to inhibit system handling of the hibernate key"
-msgstr "Разрешить приложениÑм уÑтанавливать блокировку обработки нажатий на кнопку перехода в ÑпÑщий режим"
+msgstr ""
+"Разрешить приложениÑм уÑтанавливать блокировку обработки нажатий на кнопку "
+"перехода в ÑпÑщий режим"
#: ../src/login/org.freedesktop.login1.policy.in.h:16
-msgid "Authentication is required for an application to inhibit system handling of the hibernate key."
-msgstr "Чтобы разрешить приложениÑм уÑтанавливать блокировку обработки нажатий на кнопку перехода в ÑпÑщий режим, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required for an application to inhibit system handling of "
+"the hibernate key."
+msgstr ""
+"Чтобы разрешить приложениÑм уÑтанавливать блокировку обработки нажатий на "
+"кнопку перехода в ÑпÑщий режим, необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:17
msgid "Allow applications to inhibit system handling of the lid switch"
-msgstr "Разрешить приложениÑм уÑтанавливать блокировку на обработку Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ ÐºÑ€Ñ‹ÑˆÐºÐ¸ ноутбука"
+msgstr ""
+"Разрешить приложениÑм уÑтанавливать блокировку на обработку Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ ÐºÑ€Ñ‹ÑˆÐºÐ¸ "
+"ноутбука"
#: ../src/login/org.freedesktop.login1.policy.in.h:18
-msgid "Authentication is required for an application to inhibit system handling of the lid switch."
-msgstr "Чтобы разрешить приложениÑм уÑтанавливать блокировку на обработку Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ ÐºÑ€Ñ‹ÑˆÐºÐ¸ ноутбука, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required for an application to inhibit system handling of "
+"the lid switch."
+msgstr ""
+"Чтобы разрешить приложениÑм уÑтанавливать блокировку на обработку Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ "
+"крышки ноутбука, необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:19
msgid "Allow non-logged-in users to run programs"
-msgstr "Разрешить пользователÑм оÑтавлÑÑ‚ÑŒ программы в фоновом режиме поÑле Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ ÑеанÑа"
+msgstr ""
+"Разрешить пользователÑм оÑтавлÑÑ‚ÑŒ программы в фоновом режиме поÑле "
+"Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ ÑеанÑа"
#: ../src/login/org.freedesktop.login1.policy.in.h:20
msgid "Authentication is required to run programs as a non-logged-in user."
-msgstr "Чтобы разрешить пользователÑм оÑтавлÑÑ‚ÑŒ программы в фоновом режиме поÑле Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ ÑеанÑа, необходимо пройти аутентификацию."
+msgstr ""
+"Чтобы разрешить пользователÑм оÑтавлÑÑ‚ÑŒ программы в фоновом режиме поÑле "
+"Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ ÑеанÑа, необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:21
msgid "Allow attaching devices to seats"
@@ -205,15 +274,20 @@ msgstr "Разрешить подключение уÑтройÑтв к рабо
#: ../src/login/org.freedesktop.login1.policy.in.h:22
msgid "Authentication is required for attaching a device to a seat."
-msgstr "Чтобы разрешить подключение уÑтройÑтв к рабочим меÑтам, необходимо пройти аутентификацию."
+msgstr ""
+"Чтобы разрешить подключение уÑтройÑтв к рабочим меÑтам, необходимо пройти "
+"аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:23
msgid "Flush device to seat attachments"
msgstr "СброÑить привÑзки уÑтройÑтв к рабочим меÑтам"
#: ../src/login/org.freedesktop.login1.policy.in.h:24
-msgid "Authentication is required for resetting how devices are attached to seats."
-msgstr "Чтобы ÑброÑить привÑзки уÑтройÑтв к рабочим меÑтам, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required for resetting how devices are attached to seats."
+msgstr ""
+"Чтобы ÑброÑить привÑзки уÑтройÑтв к рабочим меÑтам, необходимо пройти "
+"аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:25
msgid "Power off the system"
@@ -225,19 +299,30 @@ msgstr "Чтобы выключить ÑиÑтему, необходимо прÐ
#: ../src/login/org.freedesktop.login1.policy.in.h:27
msgid "Power off the system while other users are logged in"
-msgstr "Выключить ÑиÑтему, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что в ней работают другие пользователи"
+msgstr ""
+"Выключить ÑиÑтему, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что в ней работают другие пользователи"
#: ../src/login/org.freedesktop.login1.policy.in.h:28
-msgid "Authentication is required for powering off the system while other users are logged in."
-msgstr "Чтобы выключить ÑиÑтему, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что в ней работают другие пользователи, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required for powering off the system while other users are "
+"logged in."
+msgstr ""
+"Чтобы выключить ÑиÑтему, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что в ней работают другие "
+"пользователи, необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:29
msgid "Power off the system while an application asked to inhibit it"
-msgstr "Выключить ÑиÑтему, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что приложение запроÑило блокировку выключениÑ"
+msgstr ""
+"Выключить ÑиÑтему, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что приложение запроÑило блокировку "
+"выключениÑ"
#: ../src/login/org.freedesktop.login1.policy.in.h:30
-msgid "Authentication is required for powering off the system while an application asked to inhibit it."
-msgstr "Чтобы выключить ÑиÑтему, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что приложение запроÑило блокировку выключениÑ, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required for powering off the system while an application "
+"asked to inhibit it."
+msgstr ""
+"Чтобы выключить ÑиÑтему, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что приложение запроÑило блокировку "
+"выключениÑ, необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:31
msgid "Reboot the system"
@@ -249,19 +334,30 @@ msgstr "Чтобы перезагрузить ÑиÑтему, необходим
#: ../src/login/org.freedesktop.login1.policy.in.h:33
msgid "Reboot the system while other users are logged in"
-msgstr "Перезагрузить ÑиÑтему, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что в ней работают другие пользователи"
+msgstr ""
+"Перезагрузить ÑиÑтему, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что в ней работают другие пользователи"
#: ../src/login/org.freedesktop.login1.policy.in.h:34
-msgid "Authentication is required for rebooting the system while other users are logged in."
-msgstr "Чтобы перезагрузить ÑиÑтему, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что в ней работают другие пользователи, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required for rebooting the system while other users are "
+"logged in."
+msgstr ""
+"Чтобы перезагрузить ÑиÑтему, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что в ней работают другие "
+"пользователи, необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:35
msgid "Reboot the system while an application asked to inhibit it"
-msgstr "Перезагрузить ÑиÑтему, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что приложение запроÑило блокировку выключениÑ"
+msgstr ""
+"Перезагрузить ÑиÑтему, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что приложение запроÑило блокировку "
+"выключениÑ"
#: ../src/login/org.freedesktop.login1.policy.in.h:36
-msgid "Authentication is required for rebooting the system while an application asked to inhibit it."
-msgstr "Чтобы перезагрузить ÑиÑтему, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что приложение запроÑило блокировку выключениÑ, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required for rebooting the system while an application "
+"asked to inhibit it."
+msgstr ""
+"Чтобы перезагрузить ÑиÑтему, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что приложение запроÑило "
+"блокировку выключениÑ, необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:37
msgid "Suspend the system"
@@ -269,23 +365,36 @@ msgstr "ПеревеÑти ÑиÑтему в ждущий режим"
#: ../src/login/org.freedesktop.login1.policy.in.h:38
msgid "Authentication is required for suspending the system."
-msgstr "Чтобы перевеÑти ÑиÑтему в ждущий режим, необходимо пройти аутентификацию."
+msgstr ""
+"Чтобы перевеÑти ÑиÑтему в ждущий режим, необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:39
msgid "Suspend the system while other users are logged in"
-msgstr "ПеревеÑти ÑиÑтему в ждущий режим, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что в ней работают другие пользователи"
+msgstr ""
+"ПеревеÑти ÑиÑтему в ждущий режим, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что в ней работают другие "
+"пользователи"
#: ../src/login/org.freedesktop.login1.policy.in.h:40
-msgid "Authentication is required for suspending the system while other users are logged in."
-msgstr "Чтобы перевеÑти ÑиÑтему в ждущий режим, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что в ней работают другие пользователи, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required for suspending the system while other users are "
+"logged in."
+msgstr ""
+"Чтобы перевеÑти ÑиÑтему в ждущий режим, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что в ней работают "
+"другие пользователи, необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:41
msgid "Suspend the system while an application asked to inhibit it"
-msgstr "ПеревеÑти ÑиÑтему в ждущий режим, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что приложение запроÑило блокировку"
+msgstr ""
+"ПеревеÑти ÑиÑтему в ждущий режим, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что приложение запроÑило "
+"блокировку"
#: ../src/login/org.freedesktop.login1.policy.in.h:42
-msgid "Authentication is required for suspending the system while an application asked to inhibit it."
-msgstr "Чтобы перевеÑти ÑиÑтему в ждущий режим, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что приложение запроÑило блокировку, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required for suspending the system while an application "
+"asked to inhibit it."
+msgstr ""
+"Чтобы перевеÑти ÑиÑтему в ждущий режим, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что приложение "
+"запроÑило блокировку, необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:43
msgid "Hibernate the system"
@@ -293,31 +402,47 @@ msgstr "ПеревеÑти ÑиÑтему в ÑпÑщий режим"
#: ../src/login/org.freedesktop.login1.policy.in.h:44
msgid "Authentication is required for hibernating the system."
-msgstr "Чтобы перевеÑти ÑиÑтему в ÑпÑщий режим, необходимо пройти аутентификацию."
+msgstr ""
+"Чтобы перевеÑти ÑиÑтему в ÑпÑщий режим, необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:45
msgid "Hibernate the system while other users are logged in"
-msgstr "ПеревеÑти ÑиÑтему в ÑпÑщий режим, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что в ней работают другие пользователи"
+msgstr ""
+"ПеревеÑти ÑиÑтему в ÑпÑщий режим, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что в ней работают другие "
+"пользователи"
#: ../src/login/org.freedesktop.login1.policy.in.h:46
-msgid "Authentication is required for hibernating the system while other users are logged in."
-msgstr "Чтобы перевеÑти ÑиÑтему в ÑпÑщий режим, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что в ней работают другие пользователи, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required for hibernating the system while other users are "
+"logged in."
+msgstr ""
+"Чтобы перевеÑти ÑиÑтему в ÑпÑщий режим, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что в ней работают "
+"другие пользователи, необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:47
msgid "Hibernate the system while an application asked to inhibit it"
-msgstr "ПеревеÑти ÑиÑтему в ÑпÑщий режим, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что приложение запроÑило блокировку"
+msgstr ""
+"ПеревеÑти ÑиÑтему в ÑпÑщий режим, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что приложение запроÑило "
+"блокировку"
#: ../src/login/org.freedesktop.login1.policy.in.h:48
-msgid "Authentication is required for hibernating the system while an application asked to inhibit it."
-msgstr "Чтобы перевеÑти ÑиÑтему в ÑпÑщий режим, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что приложение запроÑило блокировку, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required for hibernating the system while an application "
+"asked to inhibit it."
+msgstr ""
+"Чтобы перевеÑти ÑиÑтему в ÑпÑщий режим, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что приложение "
+"запроÑило блокировку, необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:49
msgid "Manage active sessions, users and seats"
msgstr "Управление текущими ÑеанÑами, пользователÑми и рабочими меÑтами"
#: ../src/login/org.freedesktop.login1.policy.in.h:50
-msgid "Authentication is required for managing active sessions, users and seats."
-msgstr "Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼Ð¸ ÑеанÑами, пользователÑми и рабочими меÑтами, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required for managing active sessions, users and seats."
+msgstr ""
+"Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼Ð¸ ÑеанÑами, пользователÑми и рабочими меÑтами, "
+"необходимо пройти аутентификацию."
#: ../src/login/org.freedesktop.login1.policy.in.h:51
msgid "Lock or unlock active sessions"
@@ -325,7 +450,20 @@ msgstr "Заблокировать или разблокировать текуÑ
#: ../src/login/org.freedesktop.login1.policy.in.h:52
msgid "Authentication is required to lock or unlock active sessions."
-msgstr "Чтобы заблокировать или разблокировать текущие ÑеанÑÑ‹, необходимо пройти аутентификацию."
+msgstr ""
+"Чтобы заблокировать или разблокировать текущие ÑеанÑÑ‹, необходимо пройти "
+"аутентификацию."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:53
+msgid "Allow indication to the firmware to boot to setup interface"
+msgstr ""
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:54
+#, fuzzy
+msgid ""
+"Authentication is required to indicate to the firmware to boot to setup "
+"interface."
+msgstr "Чтобы наÑтроить Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ÐµÑ€Ð°, необходимо пройти аутентификацию."
#: ../src/machine/org.freedesktop.machine1.policy.in.h:1
msgid "Log into a local container"
@@ -340,16 +478,23 @@ msgid "Manage local virtual machines and containers"
msgstr "Управление виртуальными машинами и контейнерами"
#: ../src/machine/org.freedesktop.machine1.policy.in.h:4
-msgid "Authentication is required to manage local virtual machines and containers."
-msgstr "Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ машинами и контейнерами, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required to manage local virtual machines and containers."
+msgstr ""
+"Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ машинами и контейнерами, необходимо пройти "
+"аутентификацию."
#: ../src/machine/org.freedesktop.machine1.policy.in.h:5
msgid "Manage local virtual machine and container images"
msgstr "Управление образами виртуальных машин и контейнеров"
#: ../src/machine/org.freedesktop.machine1.policy.in.h:6
-msgid "Authentication is required to manage local virtual machine and container images."
-msgstr "Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±Ñ€Ð°Ð·Ð°Ð¼Ð¸ виртуальных машин и контейнеров, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required to manage local virtual machine and container "
+"images."
+msgstr ""
+"Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±Ñ€Ð°Ð·Ð°Ð¼Ð¸ виртуальных машин и контейнеров, необходимо пройти "
+"аутентификацию."
#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1
msgid "Set system time"
@@ -372,26 +517,35 @@ msgid "Set RTC to local timezone or UTC"
msgstr "УÑтановить аппаратные чаÑÑ‹ по меÑтному времени или по Гринвичу"
#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6
-msgid "Authentication is required to control whether the RTC stores the local or UTC time."
-msgstr "Чтобы контролировать, уÑтановлены аппаратные чаÑÑ‹ по меÑтному времени или по Гринвичу, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required to control whether the RTC stores the local or "
+"UTC time."
+msgstr ""
+"Чтобы контролировать, уÑтановлены аппаратные чаÑÑ‹ по меÑтному времени или по "
+"Гринвичу, необходимо пройти аутентификацию."
#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7
msgid "Turn network time synchronization on or off"
msgstr "Включить или выключить Ñинхронизацию времени по Ñети"
#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8
-msgid "Authentication is required to control whether network time synchronization shall be enabled."
-msgstr "Чтобы включить или выключить Ñинхронизацию времени по Ñети, необходимо пройти аутентификацию."
+msgid ""
+"Authentication is required to control whether network time synchronization "
+"shall be enabled."
+msgstr ""
+"Чтобы включить или выключить Ñинхронизацию времени по Ñети, необходимо "
+"пройти аутентификацию."
-#: ../src/fsckd/fsckd.c:297
-msgid "Press Ctrl+C to cancel all filesystem checks in progress"
-msgstr "Чтобы прервать вÑе запущенные проверки файловых ÑиÑтем, нажмите Ctrl+C"
+#~ msgid "Press Ctrl+C to cancel all filesystem checks in progress"
+#~ msgstr ""
+#~ "Чтобы прервать вÑе запущенные проверки файловых ÑиÑтем, нажмите Ctrl+C"
# There is no difference between "на 2 диÑках" (plural==1) and "на 5 диÑках" (plural==2)
-#: ../src/fsckd/fsckd.c:343
-#, c-format
-msgid "Checking in progress on %d disk (%3.1f%% complete)"
-msgid_plural "Checking in progress on %d disks (%3.1f%% complete)"
-msgstr[0] "ПроверÑетÑÑ Ñ†ÐµÐ»Ð¾ÑтноÑÑ‚ÑŒ файловой ÑиÑтемы на %d диÑке (выполнено %3.1f%%)"
-msgstr[1] "ПроверÑетÑÑ Ñ†ÐµÐ»Ð¾ÑтноÑÑ‚ÑŒ файловых ÑиÑтем на %d диÑках (выполнено %3.1f%%)"
-msgstr[2] "ПроверÑетÑÑ Ñ†ÐµÐ»Ð¾ÑтноÑÑ‚ÑŒ файловых ÑиÑтем на %d диÑках (выполнено %3.1f%%)"
+#~ msgid "Checking in progress on %d disk (%3.1f%% complete)"
+#~ msgid_plural "Checking in progress on %d disks (%3.1f%% complete)"
+#~ msgstr[0] ""
+#~ "ПроверÑетÑÑ Ñ†ÐµÐ»Ð¾ÑтноÑÑ‚ÑŒ файловой ÑиÑтемы на %d диÑке (выполнено %3.1f%%)"
+#~ msgstr[1] ""
+#~ "ПроверÑетÑÑ Ñ†ÐµÐ»Ð¾ÑтноÑÑ‚ÑŒ файловых ÑиÑтем на %d диÑках (выполнено %3.1f%%)"
+#~ msgstr[2] ""
+#~ "ПроверÑетÑÑ Ñ†ÐµÐ»Ð¾ÑтноÑÑ‚ÑŒ файловых ÑиÑтем на %d диÑках (выполнено %3.1f%%)"
diff --git a/po/sv.po b/po/sv.po
index f4c9f5d775..c290446d17 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -6,9 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: systemd master\n"
-"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?"
-"product=systemd&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2015-03-13 23:56+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-06-10 23:25+0200\n"
"PO-Revision-Date: 2015-03-14 11:09+0100\n"
"Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
"Language-Team: Swedish\n"
@@ -408,6 +407,17 @@ msgstr "Lås eller lås upp aktiva sessioner"
msgid "Authentication is required to lock or unlock active sessions."
msgstr "Autentisering krävs för att låsa eller låsa upp aktiva sessioner."
+#: ../src/login/org.freedesktop.login1.policy.in.h:53
+msgid "Allow indication to the firmware to boot to setup interface"
+msgstr ""
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:54
+#, fuzzy
+msgid ""
+"Authentication is required to indicate to the firmware to boot to setup "
+"interface."
+msgstr "Autentisering krävs för att ange lokalt värdnamn."
+
#: ../src/machine/org.freedesktop.machine1.policy.in.h:1
msgid "Log into a local container"
msgstr "Logga till en lokal behållare"
@@ -480,13 +490,10 @@ msgstr ""
"Autentisering krävs för att kontrollera huruvida synkronisering av "
"nätverkstid ska vara aktiverat."
-#: ../src/fsckd/fsckd.c:291
-msgid "Press Ctrl+C to cancel all filesystem checks in progress"
-msgstr "Tryck Ctrl+C för att avbryta alla pågående filsystemskontroller."
+#~ msgid "Press Ctrl+C to cancel all filesystem checks in progress"
+#~ msgstr "Tryck Ctrl+C för att avbryta alla pågående filsystemskontroller."
-#: ../src/fsckd/fsckd.c:336
-#, c-format
-msgid "Checking in progress on %d disk (%3.1f%% complete)"
-msgid_plural "Checking in progress on %d disks (%3.1f%% complete)"
-msgstr[0] "Kontroll pågår på %d disk (%3.1f%% klart)"
-msgstr[1] "Kontroll pågår på %d diskar (%3.1f%% klart)"
+#~ msgid "Checking in progress on %d disk (%3.1f%% complete)"
+#~ msgid_plural "Checking in progress on %d disks (%3.1f%% complete)"
+#~ msgstr[0] "Kontroll pågår på %d disk (%3.1f%% klart)"
+#~ msgstr[1] "Kontroll pågår på %d diskar (%3.1f%% klart)"
diff --git a/po/uk.po b/po/uk.po
index 3603999f5d..1a83af7f36 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -6,9 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: systemd master\n"
-"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=sys"
-"temd&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-06-06 22:16+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-06-10 23:25+0200\n"
"PO-Revision-Date: 2014-07-16 19:13+0300\n"
"Last-Translator: Daniel Korostil <ted.korostiled@gmail.com>\n"
"Language-Team: linux.org.ua\n"
@@ -16,10 +15,59 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Virtaal 0.7.1\n"
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1
+msgid "Send passphrase back to system"
+msgstr "ÐадіÑлати пароль назад у ÑиÑтему"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2
+msgid ""
+"Authentication is required to send the entered passphrase back to the system."
+msgstr "ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб надіÑлати введений пароль назад у ÑиÑтему."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3
+msgid "Manage system services or other units"
+msgstr ""
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4
+#, fuzzy
+msgid "Authentication is required to manage system services or other units."
+msgstr "ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб доÑтупитиÑÑŒ до менеджера ÑиÑтеми Ñ– Ñлужб."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:5
+msgid "Manage system service or unit files"
+msgstr ""
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:6
+#, fuzzy
+msgid "Authentication is required to manage system service or unit files."
+msgstr "ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб доÑтупитиÑÑŒ до менеджера ÑиÑтеми Ñ– Ñлужб."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:7
+#, fuzzy
+msgid "Set or unset system and service manager environment variables"
+msgstr "Привілейований доÑтуп до менеджера ÑиÑтеми Ñ– Ñлужб"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:8
+#, fuzzy
+msgid ""
+"Authentication is required to set or unset system and service manager "
+"environment variables."
+msgstr "ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб доÑтупитиÑÑŒ до менеджера ÑиÑтеми Ñ– Ñлужб."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:9
+#, fuzzy
+msgid "Reload the systemd state"
+msgstr "Перезавантажити ÑиÑтему"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:10
+#, fuzzy
+msgid "Authentication is required to reload the systemd state."
+msgstr "ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб вказати ÑиÑтемний чаÑ."
+
#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1
msgid "Set host name"
msgstr "Ð’Ñтановити назву вузла"
@@ -48,6 +96,33 @@ msgstr "Ð’Ñтановити інформацію про машину"
msgid "Authentication is required to set local machine information."
msgstr "ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб вказати локальну інформацію про машини."
+#: ../src/import/org.freedesktop.import1.policy.in.h:1
+msgid "Import a VM or container image"
+msgstr ""
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:2
+#, fuzzy
+msgid "Authentication is required to import a VM or container image"
+msgstr "ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб вказати ÑиÑтемний чаÑ."
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:3
+msgid "Export a VM or container image"
+msgstr ""
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:4
+#, fuzzy
+msgid "Authentication is required to export a VM or container image"
+msgstr "ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб вказати ÑиÑтемний чаÑ."
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:5
+msgid "Download a VM or container image"
+msgstr ""
+
+#: ../src/import/org.freedesktop.import1.policy.in.h:6
+#, fuzzy
+msgid "Authentication is required to download a VM or container image"
+msgstr "ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб вказати локальну інформацію про машини."
+
#: ../src/locale/org.freedesktop.locale1.policy.in.h:1
msgid "Set system locale"
msgstr "Вказати ÑиÑтемну локаль"
@@ -70,8 +145,7 @@ msgstr "Дозволити програмам перешкоджати вимкÐ
#: ../src/login/org.freedesktop.login1.policy.in.h:2
msgid ""
-"Authentication is required for an application to inhibit system "
-"shutdown."
+"Authentication is required for an application to inhibit system shutdown."
msgstr ""
"ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб дозволити програмам перешкоджати вимкненню ÑиÑтеми."
@@ -80,8 +154,7 @@ msgid "Allow applications to delay system shutdown"
msgstr "Дозволити програмам затримувати Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ ÑиÑтеми"
#: ../src/login/org.freedesktop.login1.policy.in.h:4
-msgid ""
-"Authentication is required for an application to delay system shutdown."
+msgid "Authentication is required for an application to delay system shutdown."
msgstr ""
"ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб дозволити програмам затримувати Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ ÑиÑтеми."
@@ -90,8 +163,7 @@ msgid "Allow applications to inhibit system sleep"
msgstr "Дозволити програмам перешкоджати заÑинанню ÑиÑтеми"
#: ../src/login/org.freedesktop.login1.policy.in.h:6
-msgid ""
-"Authentication is required for an application to inhibit system sleep."
+msgid "Authentication is required for an application to inhibit system sleep."
msgstr ""
"ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб дозволити програмам перешкоджати заÑинанню ÑиÑтеми."
@@ -100,8 +172,7 @@ msgid "Allow applications to delay system sleep"
msgstr "Дозволити програмами затримувати заÑÐ¸Ð½Ð°Ð½Ð½Ñ ÑиÑтеми"
#: ../src/login/org.freedesktop.login1.policy.in.h:8
-msgid ""
-"Authentication is required for an application to delay system sleep."
+msgid "Authentication is required for an application to delay system sleep."
msgstr ""
"ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб дозволити програмам затримувати заÑÐ¸Ð½Ð°Ð½Ð½Ñ ÑиÑтеми."
@@ -111,8 +182,8 @@ msgstr "Дозволити програмам перешкоджати автоÐ
#: ../src/login/org.freedesktop.login1.policy.in.h:10
msgid ""
-"Authentication is required for an application to inhibit automatic "
-"system suspend."
+"Authentication is required for an application to inhibit automatic system "
+"suspend."
msgstr ""
"ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб дозволити програмам перешкоджати автоматичному "
"призупиненню ÑиÑтеми."
@@ -123,8 +194,8 @@ msgstr "Дозволити програмам перешкоджати оброÐ
#: ../src/login/org.freedesktop.login1.policy.in.h:12
msgid ""
-"Authentication is required for an application to inhibit system "
-"handling of the power key."
+"Authentication is required for an application to inhibit system handling of "
+"the power key."
msgstr ""
"ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб дозволити програмам перешкоджати обробленню "
"ÑиÑтемою клавіші живленнÑ."
@@ -136,20 +207,21 @@ msgstr ""
#: ../src/login/org.freedesktop.login1.policy.in.h:14
msgid ""
-"Authentication is required for an application to inhibit system "
-"handling of the suspend key."
+"Authentication is required for an application to inhibit system handling of "
+"the suspend key."
msgstr ""
"ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб дозволити програмам перешкоджати обробленню "
"ÑиÑтемою клавіші призупиненнÑ."
#: ../src/login/org.freedesktop.login1.policy.in.h:15
msgid "Allow applications to inhibit system handling of the hibernate key"
-msgstr "Дозволити програмам перешкоджати обробленню ÑиÑтемою клавіші приÑипаннÑ"
+msgstr ""
+"Дозволити програмам перешкоджати обробленню ÑиÑтемою клавіші приÑипаннÑ"
#: ../src/login/org.freedesktop.login1.policy.in.h:16
msgid ""
-"Authentication is required for an application to inhibit system "
-"handling of the hibernate key."
+"Authentication is required for an application to inhibit system handling of "
+"the hibernate key."
msgstr ""
"ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб дозволити програмам перешкоджати обробленню "
"ÑиÑтемою клавіші приÑипаннÑ."
@@ -162,8 +234,8 @@ msgstr ""
#: ../src/login/org.freedesktop.login1.policy.in.h:18
msgid ""
-"Authentication is required for an application to inhibit system "
-"handling of the lid switch."
+"Authentication is required for an application to inhibit system handling of "
+"the lid switch."
msgstr ""
"ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб дозволити програмам перешкоджати обробленню "
"ÑиÑтемою клавіші Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ ÐºÑ€Ð¸ÑˆÐºÐ¸."
@@ -173,8 +245,7 @@ msgid "Allow non-logged-in users to run programs"
msgstr "Дозволити незареєÑтрованим кориÑтувачам запуÑкати програми"
#: ../src/login/org.freedesktop.login1.policy.in.h:20
-msgid ""
-"Authentication is required to run programs as a non-logged-in user."
+msgid "Authentication is required to run programs as a non-logged-in user."
msgstr ""
"ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб дозволити незареєÑтрованим кориÑтувачам запуÑкати "
"програми."
@@ -244,8 +315,7 @@ msgid ""
"Authentication is required for rebooting the system while other users are "
"logged in."
msgstr ""
-"ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб перезапуÑтити ÑиÑтему, коли інші кориÑтувачі в "
-"ній."
+"ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб перезапуÑтити ÑиÑтему, коли інші кориÑтувачі в ній."
#: ../src/login/org.freedesktop.login1.policy.in.h:35
msgid "Reboot the system while an application asked to inhibit it"
@@ -321,6 +391,66 @@ msgstr ""
"ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб приÑпати ÑиÑтему, коли програми намагаютьÑÑ "
"першкодити цьому."
+#: ../src/login/org.freedesktop.login1.policy.in.h:49
+msgid "Manage active sessions, users and seats"
+msgstr ""
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:50
+#, fuzzy
+msgid ""
+"Authentication is required for managing active sessions, users and seats."
+msgstr "ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб під'єднувати приÑтрої до міÑць."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:51
+msgid "Lock or unlock active sessions"
+msgstr ""
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:52
+#, fuzzy
+msgid "Authentication is required to lock or unlock active sessions."
+msgstr "ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб вказати локальну інформацію про машини."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:53
+msgid "Allow indication to the firmware to boot to setup interface"
+msgstr ""
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:54
+#, fuzzy
+msgid ""
+"Authentication is required to indicate to the firmware to boot to setup "
+"interface."
+msgstr "ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ðµ, щоб вÑтановити назву локального вузла."
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:1
+msgid "Log into a local container"
+msgstr ""
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:2
+#, fuzzy
+msgid "Authentication is required to log into a local container."
+msgstr "ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ðµ, щоб вÑтановити назву локального вузла."
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:3
+msgid "Manage local virtual machines and containers"
+msgstr ""
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:4
+#, fuzzy
+msgid ""
+"Authentication is required to manage local virtual machines and containers."
+msgstr "ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб вказати локальну інформацію про машини."
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:5
+msgid "Manage local virtual machine and container images"
+msgstr ""
+
+#: ../src/machine/org.freedesktop.machine1.policy.in.h:6
+#, fuzzy
+msgid ""
+"Authentication is required to manage local virtual machine and container "
+"images."
+msgstr "ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб вказати локальну інформацію про машини."
+
#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1
msgid "Set system time"
msgstr "Вказати ÑиÑтемний чаÑ"
@@ -358,32 +488,3 @@ msgid ""
msgstr ""
"ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб контролювати, чи ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ñ–Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‡Ð°Ñу через мережу "
"запущено."
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1
-msgid "Send passphrase back to system"
-msgstr "ÐадіÑлати пароль назад у ÑиÑтему"
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2
-msgid ""
-"Authentication is required to send the entered passphrase back to the system."
-msgstr "ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб надіÑлати введений пароль назад у ÑиÑтему."
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3
-msgid "Privileged system and service manager access"
-msgstr "Привілейований доÑтуп до менеджера ÑиÑтеми Ñ– Ñлужб"
-
-#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4
-msgid "Authentication is required to access the system and service manager."
-msgstr "ЗаÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, щоб доÑтупитиÑÑŒ до менеджера ÑиÑтеми Ñ– Ñлужб."
-
-#: ../src/fsckd/fsckd.c:186
-msgid "Press Ctrl+C to cancel all filesystem checks in progress"
-msgstr ""
-
-#: ../src/fsckd/fsckd.c:227
-#, c-format
-msgid "Checking in progress on %d disk (%3.1f%% complete)"
-msgid_plural "Checking in progress on %d disks (%3.1f%% complete)"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
diff --git a/src/basic/btrfs-util.c b/src/basic/btrfs-util.c
index 49528dbf01..074deeccda 100644
--- a/src/basic/btrfs-util.c
+++ b/src/basic/btrfs-util.c
@@ -352,6 +352,19 @@ int btrfs_subvol_get_id_fd(int fd, uint64_t *ret) {
return 0;
}
+int btrfs_subvol_get_id(int fd, const char *subvol, uint64_t *ret) {
+ _cleanup_close_ int subvol_fd = -1;
+
+ assert(fd >= 0);
+ assert(ret);
+
+ subvol_fd = openat(fd, subvol, O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW);
+ if (subvol_fd < 0)
+ return -errno;
+
+ return btrfs_subvol_get_id_fd(subvol_fd, ret);
+}
+
static bool btrfs_ioctl_search_args_inc(struct btrfs_ioctl_search_args *args) {
assert(args);
@@ -937,7 +950,7 @@ int btrfs_subvol_remove_fd(int fd, const char *subvolume, bool recursive) {
return subvol_remove_children(fd, subvolume, 0, recursive);
}
-static int subvol_snapshot_children(int old_fd, int new_fd, const char *subvolume, uint64_t subvol_id, BtrfsSnapshotFlags flags) {
+static int subvol_snapshot_children(int old_fd, int new_fd, const char *subvolume, uint64_t old_subvol_id, BtrfsSnapshotFlags flags) {
struct btrfs_ioctl_search_args args = {
.key.tree_id = BTRFS_ROOT_TREE_OBJECTID,
@@ -956,8 +969,9 @@ static int subvol_snapshot_children(int old_fd, int new_fd, const char *subvolum
.flags = flags & BTRFS_SNAPSHOT_READ_ONLY ? BTRFS_SUBVOL_RDONLY : 0,
.fd = old_fd,
};
- int r;
_cleanup_close_ int subvolume_fd = -1;
+ uint64_t new_subvol_id;
+ int r;
assert(old_fd >= 0);
assert(new_fd >= 0);
@@ -972,13 +986,17 @@ static int subvol_snapshot_children(int old_fd, int new_fd, const char *subvolum
if (!(flags & BTRFS_SNAPSHOT_RECURSIVE))
return 0;
- if (subvol_id == 0) {
- r = btrfs_subvol_get_id_fd(old_fd, &subvol_id);
+ if (old_subvol_id == 0) {
+ r = btrfs_subvol_get_id_fd(old_fd, &old_subvol_id);
if (r < 0)
return r;
}
- args.key.min_offset = args.key.max_offset = subvol_id;
+ r = btrfs_subvol_get_id(new_fd, vol_args.name, &new_subvol_id);
+ if (r < 0)
+ return r;
+
+ args.key.min_offset = args.key.max_offset = old_subvol_id;
while (btrfs_ioctl_search_args_compare(&args) <= 0) {
const struct btrfs_ioctl_search_header *sh;
@@ -1001,17 +1019,24 @@ static int subvol_snapshot_children(int old_fd, int new_fd, const char *subvolum
if (sh->type != BTRFS_ROOT_BACKREF_KEY)
continue;
- if (sh->offset != subvol_id)
+
+ /* Avoid finding the source subvolume a second
+ * time */
+ if (sh->offset != old_subvol_id)
continue;
- ref = BTRFS_IOCTL_SEARCH_HEADER_BODY(sh);
+ /* Avoid running into loops if the new
+ * subvolume is below the old one. */
+ if (sh->objectid == new_subvol_id)
+ continue;
+ ref = BTRFS_IOCTL_SEARCH_HEADER_BODY(sh);
p = strndup((char*) ref + sizeof(struct btrfs_root_ref), le64toh(ref->name_len));
if (!p)
return -ENOMEM;
zero(ino_args);
- ino_args.treeid = subvol_id;
+ ino_args.treeid = old_subvol_id;
ino_args.objectid = htole64(ref->dirid);
if (ioctl(old_fd, BTRFS_IOC_INO_LOOKUP, &ino_args) < 0)
@@ -1056,7 +1081,7 @@ static int subvol_snapshot_children(int old_fd, int new_fd, const char *subvolum
}
/* When btrfs clones the subvolumes, child
- * subvolumes appear as directories. Remove
+ * subvolumes appear as empty directories. Remove
* them, so that we can create a new snapshot
* in their place */
if (unlinkat(new_child_fd, p, AT_REMOVEDIR) < 0) {
diff --git a/src/basic/btrfs-util.h b/src/basic/btrfs-util.h
index a7eb895c93..8632c3638c 100644
--- a/src/basic/btrfs-util.h
+++ b/src/basic/btrfs-util.h
@@ -61,6 +61,7 @@ int btrfs_subvol_snapshot(const char *old_path, const char *new_path, BtrfsSnaps
int btrfs_subvol_set_read_only_fd(int fd, bool b);
int btrfs_subvol_set_read_only(const char *path, bool b);
int btrfs_subvol_get_read_only_fd(int fd);
+int btrfs_subvol_get_id(int fd, const char *subvolume, uint64_t *ret);
int btrfs_subvol_get_id_fd(int fd, uint64_t *ret);
int btrfs_subvol_get_info_fd(int fd, BtrfsSubvolInfo *info);
int btrfs_subvol_get_quota_fd(int fd, BtrfsQuotaInfo *quota);
diff --git a/src/basic/copy.c b/src/basic/copy.c
index 1282cb88be..230e7e4d3f 100644
--- a/src/basic/copy.c
+++ b/src/basic/copy.c
@@ -396,7 +396,7 @@ int copy_file_atomic(const char *from, const char *to, mode_t mode, bool replace
assert(from);
assert(to);
- r = tempfn_random(to, &t);
+ r = tempfn_random(to, NULL, &t);
if (r < 0)
return r;
diff --git a/src/basic/signal-util.c b/src/basic/signal-util.c
index 84cf42b285..90abe8af81 100644
--- a/src/basic/signal-util.c
+++ b/src/basic/signal-util.c
@@ -159,7 +159,7 @@ int sigset_add_many(sigset_t *ss, ...) {
return r;
}
-int sigprocmask_many(int how, ...) {
+int sigprocmask_many(int how, sigset_t *old, ...) {
va_list ap;
sigset_t ss;
int r;
@@ -167,14 +167,14 @@ int sigprocmask_many(int how, ...) {
if (sigemptyset(&ss) < 0)
return -errno;
- va_start(ap, how);
+ va_start(ap, old);
r = sigset_add_many_ap(&ss, ap);
va_end(ap);
if (r < 0)
return r;
- if (sigprocmask(how, &ss, NULL) < 0)
+ if (sigprocmask(how, &ss, old) < 0)
return -errno;
return 0;
diff --git a/src/basic/signal-util.h b/src/basic/signal-util.h
index 9dc8a28726..5e6eb50b07 100644
--- a/src/basic/signal-util.h
+++ b/src/basic/signal-util.h
@@ -33,7 +33,7 @@ int default_signals(int sig, ...);
int sigaction_many(const struct sigaction *sa, ...);
int sigset_add_many(sigset_t *ss, ...);
-int sigprocmask_many(int how, ...);
+int sigprocmask_many(int how, sigset_t *old, ...);
const char *signal_to_string(int i) _const_;
int signal_from_string(const char *s) _pure_;
diff --git a/src/basic/util.c b/src/basic/util.c
index 6f6906f877..b7c70af541 100644
--- a/src/basic/util.c
+++ b/src/basic/util.c
@@ -2521,7 +2521,7 @@ int fopen_temporary(const char *path, FILE **_f, char **_temp_path) {
assert(_f);
assert(_temp_path);
- r = tempfn_xxxxxx(path, &t);
+ r = tempfn_xxxxxx(path, NULL, &t);
if (r < 0)
return r;
@@ -2551,7 +2551,7 @@ int symlink_atomic(const char *from, const char *to) {
assert(from);
assert(to);
- r = tempfn_random(to, &t);
+ r = tempfn_random(to, NULL, &t);
if (r < 0)
return r;
@@ -2594,7 +2594,7 @@ int mknod_atomic(const char *path, mode_t mode, dev_t dev) {
assert(path);
- r = tempfn_random(path, &t);
+ r = tempfn_random(path, NULL, &t);
if (r < 0)
return r;
@@ -2615,7 +2615,7 @@ int mkfifo_atomic(const char *path, mode_t mode) {
assert(path);
- r = tempfn_random(path, &t);
+ r = tempfn_random(path, NULL, &t);
if (r < 0)
return r;
@@ -4969,7 +4969,7 @@ int fflush_and_check(FILE *f) {
return 0;
}
-int tempfn_xxxxxx(const char *p, char **ret) {
+int tempfn_xxxxxx(const char *p, const char *extra, char **ret) {
const char *fn;
char *t;
@@ -4981,24 +4981,27 @@ int tempfn_xxxxxx(const char *p, char **ret) {
* /foo/bar/waldo
*
* Into this:
- * /foo/bar/.#waldoXXXXXX
+ * /foo/bar/.#<extra>waldoXXXXXX
*/
fn = basename(p);
if (!filename_is_valid(fn))
return -EINVAL;
- t = new(char, strlen(p) + 2 + 6 + 1);
+ if (extra == NULL)
+ extra = "";
+
+ t = new(char, strlen(p) + 2 + strlen(extra) + 6 + 1);
if (!t)
return -ENOMEM;
- strcpy(stpcpy(stpcpy(mempcpy(t, p, fn - p), ".#"), fn), "XXXXXX");
+ strcpy(stpcpy(stpcpy(stpcpy(mempcpy(t, p, fn - p), ".#"), extra), fn), "XXXXXX");
*ret = path_kill_slashes(t);
return 0;
}
-int tempfn_random(const char *p, char **ret) {
+int tempfn_random(const char *p, const char *extra, char **ret) {
const char *fn;
char *t, *x;
uint64_t u;
@@ -5012,18 +5015,21 @@ int tempfn_random(const char *p, char **ret) {
* /foo/bar/waldo
*
* Into this:
- * /foo/bar/.#waldobaa2a261115984a9
+ * /foo/bar/.#<extra>waldobaa2a261115984a9
*/
fn = basename(p);
if (!filename_is_valid(fn))
return -EINVAL;
- t = new(char, strlen(p) + 2 + 16 + 1);
+ if (!extra)
+ extra = "";
+
+ t = new(char, strlen(p) + 2 + strlen(extra) + 16 + 1);
if (!t)
return -ENOMEM;
- x = stpcpy(stpcpy(mempcpy(t, p, fn - p), ".#"), fn);
+ x = stpcpy(stpcpy(stpcpy(mempcpy(t, p, fn - p), ".#"), extra), fn);
u = random_u64();
for (i = 0; i < 16; i++) {
@@ -5037,7 +5043,7 @@ int tempfn_random(const char *p, char **ret) {
return 0;
}
-int tempfn_random_child(const char *p, char **ret) {
+int tempfn_random_child(const char *p, const char *extra, char **ret) {
char *t, *x;
uint64_t u;
unsigned i;
@@ -5048,14 +5054,17 @@ int tempfn_random_child(const char *p, char **ret) {
/* Turns this:
* /foo/bar/waldo
* Into this:
- * /foo/bar/waldo/.#3c2b6219aa75d7d0
+ * /foo/bar/waldo/.#<extra>3c2b6219aa75d7d0
*/
- t = new(char, strlen(p) + 3 + 16 + 1);
+ if (!extra)
+ extra = "";
+
+ t = new(char, strlen(p) + 3 + strlen(extra) + 16 + 1);
if (!t)
return -ENOMEM;
- x = stpcpy(stpcpy(t, p), "/.#");
+ x = stpcpy(stpcpy(stpcpy(t, p), "/.#"), extra);
u = random_u64();
for (i = 0; i < 16; i++) {
diff --git a/src/basic/util.h b/src/basic/util.h
index 467ae234a0..7aca46d777 100644
--- a/src/basic/util.h
+++ b/src/basic/util.h
@@ -828,9 +828,9 @@ int bind_remount_recursive(const char *prefix, bool ro);
int fflush_and_check(FILE *f);
-int tempfn_xxxxxx(const char *p, char **ret);
-int tempfn_random(const char *p, char **ret);
-int tempfn_random_child(const char *p, char **ret);
+int tempfn_xxxxxx(const char *p, const char *extra, char **ret);
+int tempfn_random(const char *p, const char *extra, char **ret);
+int tempfn_random_child(const char *p, const char *extra, char **ret);
int take_password_lock(const char *root);
diff --git a/src/console/consoled-manager.c b/src/console/consoled-manager.c
index e560dcf524..20424eb267 100644
--- a/src/console/consoled-manager.c
+++ b/src/console/consoled-manager.c
@@ -51,7 +51,7 @@ int manager_new(Manager **out) {
if (r < 0)
return r;
- r = sigprocmask_many(SIG_BLOCK, SIGTERM, SIGQUIT, SIGINT, SIGWINCH, SIGCHLD, -1);
+ r = sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGQUIT, SIGINT, SIGWINCH, SIGCHLD, -1);
if (r < 0)
return r;
diff --git a/src/core/execute.c b/src/core/execute.c
index f13c6936e0..444865da86 100644
--- a/src/core/execute.c
+++ b/src/core/execute.c
@@ -824,10 +824,7 @@ static int setup_pam(
/* Block SIGTERM, so that we know that it won't get lost in
* the child */
- if (sigemptyset(&ss) < 0 ||
- sigaddset(&ss, SIGTERM) < 0 ||
- sigprocmask(SIG_BLOCK, &ss, &old_ss) < 0)
- goto fail;
+ assert_se(sigprocmask_many(SIG_BLOCK, &old_ss, SIGTERM, -1) >= 0);
parent_pid = getpid();
@@ -903,8 +900,7 @@ static int setup_pam(
handle = NULL;
/* Unblock SIGTERM again in the parent */
- if (sigprocmask(SIG_SETMASK, &old_ss, NULL) < 0)
- goto fail;
+ assert_se(sigprocmask(SIG_SETMASK, &old_ss, NULL) >= 0);
/* We close the log explicitly here, since the PAM modules
* might have opened it, but we don't want this fd around. */
diff --git a/src/import/export-raw.c b/src/import/export-raw.c
index 4b6d8dac32..8f9c9bbc80 100644
--- a/src/import/export-raw.c
+++ b/src/import/export-raw.c
@@ -265,7 +265,7 @@ static int reflink_snapshot(int fd, const char *path) {
if (new_fd < 0) {
_cleanup_free_ char *t = NULL;
- r = tempfn_random(path, &t);
+ r = tempfn_random(path, NULL, &t);
if (r < 0)
return r;
diff --git a/src/import/export-tar.c b/src/import/export-tar.c
index d31295745f..5adc748c50 100644
--- a/src/import/export-tar.c
+++ b/src/import/export-tar.c
@@ -290,7 +290,7 @@ int tar_export_start(TarExport *e, const char *path, int fd, ImportCompressType
free(e->temp_path);
e->temp_path = NULL;
- r = tempfn_random(path, &e->temp_path);
+ r = tempfn_random(path, NULL, &e->temp_path);
if (r < 0)
return r;
diff --git a/src/import/export.c b/src/import/export.c
index e563bee96e..ec7dbe210a 100644
--- a/src/import/export.c
+++ b/src/import/export.c
@@ -118,9 +118,9 @@ static int export_tar(int argc, char *argv[], void *userdata) {
if (r < 0)
return log_error_errno(r, "Failed to allocate event loop: %m");
- assert_se(sigprocmask_many(SIG_BLOCK, SIGTERM, SIGINT, -1) == 0);
- sd_event_add_signal(event, NULL, SIGTERM, interrupt_signal_handler, NULL);
- sd_event_add_signal(event, NULL, SIGINT, interrupt_signal_handler, NULL);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1) >= 0);
+ (void) sd_event_add_signal(event, NULL, SIGTERM, interrupt_signal_handler, NULL);
+ (void) sd_event_add_signal(event, NULL, SIGINT, interrupt_signal_handler, NULL);
r = tar_export_new(&export, event, on_tar_finished, event);
if (r < 0)
@@ -197,9 +197,9 @@ static int export_raw(int argc, char *argv[], void *userdata) {
if (r < 0)
return log_error_errno(r, "Failed to allocate event loop: %m");
- assert_se(sigprocmask_many(SIG_BLOCK, SIGTERM, SIGINT, -1) == 0);
- sd_event_add_signal(event, NULL, SIGTERM, interrupt_signal_handler, NULL);
- sd_event_add_signal(event, NULL, SIGINT, interrupt_signal_handler, NULL);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1) >= 0);
+ (void) sd_event_add_signal(event, NULL, SIGTERM, interrupt_signal_handler, NULL);
+ (void) sd_event_add_signal(event, NULL, SIGINT, interrupt_signal_handler, NULL);
r = raw_export_new(&export, event, on_raw_finished, event);
if (r < 0)
diff --git a/src/import/import-raw.c b/src/import/import-raw.c
index 97e1254f09..43cd413042 100644
--- a/src/import/import-raw.c
+++ b/src/import/import-raw.c
@@ -180,7 +180,7 @@ static int raw_import_maybe_convert_qcow2(RawImport *i) {
return 0;
/* This is a QCOW2 image, let's convert it */
- r = tempfn_random(i->final_path, &t);
+ r = tempfn_random(i->final_path, NULL, &t);
if (r < 0)
return log_oom();
@@ -267,7 +267,7 @@ static int raw_import_open_disk(RawImport *i) {
if (!i->final_path)
return log_oom();
- r = tempfn_random(i->final_path, &i->temp_path);
+ r = tempfn_random(i->final_path, NULL, &i->temp_path);
if (r < 0)
return log_oom();
diff --git a/src/import/import-tar.c b/src/import/import-tar.c
index 12701bfcef..2bf0b0680c 100644
--- a/src/import/import-tar.c
+++ b/src/import/import-tar.c
@@ -223,7 +223,7 @@ static int tar_import_fork_tar(TarImport *i) {
if (!i->final_path)
return log_oom();
- r = tempfn_random(i->final_path, &i->temp_path);
+ r = tempfn_random(i->final_path, NULL, &i->temp_path);
if (r < 0)
return log_oom();
diff --git a/src/import/import.c b/src/import/import.c
index 3091ed1c45..b7772390e9 100644
--- a/src/import/import.c
+++ b/src/import/import.c
@@ -116,9 +116,9 @@ static int import_tar(int argc, char *argv[], void *userdata) {
if (r < 0)
return log_error_errno(r, "Failed to allocate event loop: %m");
- assert_se(sigprocmask_many(SIG_BLOCK, SIGTERM, SIGINT, -1) == 0);
- sd_event_add_signal(event, NULL, SIGTERM, interrupt_signal_handler, NULL);
- sd_event_add_signal(event, NULL, SIGINT, interrupt_signal_handler, NULL);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1) >= 0);
+ (void) sd_event_add_signal(event, NULL, SIGTERM, interrupt_signal_handler, NULL);
+ (void) sd_event_add_signal(event, NULL, SIGINT, interrupt_signal_handler, NULL);
r = tar_import_new(&import, event, arg_image_root, on_tar_finished, event);
if (r < 0)
@@ -211,9 +211,9 @@ static int import_raw(int argc, char *argv[], void *userdata) {
if (r < 0)
return log_error_errno(r, "Failed to allocate event loop: %m");
- assert_se(sigprocmask_many(SIG_BLOCK, SIGTERM, SIGINT, -1) == 0);
- sd_event_add_signal(event, NULL, SIGTERM, interrupt_signal_handler, NULL);
- sd_event_add_signal(event, NULL, SIGINT, interrupt_signal_handler, NULL);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1) >= 0);
+ (void) sd_event_add_signal(event, NULL, SIGTERM, interrupt_signal_handler, NULL);
+ (void) sd_event_add_signal(event, NULL, SIGINT, interrupt_signal_handler, NULL);
r = raw_import_new(&import, event, arg_image_root, on_raw_finished, event);
if (r < 0)
diff --git a/src/import/importd.c b/src/import/importd.c
index 05a619ac0c..03aede6016 100644
--- a/src/import/importd.c
+++ b/src/import/importd.c
@@ -1301,7 +1301,7 @@ int main(int argc, char *argv[]) {
goto finish;
}
- assert_se(sigprocmask_many(SIG_BLOCK, SIGCHLD, -1) >= 0);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGCHLD, -1) >= 0);
r = manager_new(&m);
if (r < 0) {
diff --git a/src/import/pull-dkr.c b/src/import/pull-dkr.c
index d7476dc340..78e3184c42 100644
--- a/src/import/pull-dkr.c
+++ b/src/import/pull-dkr.c
@@ -520,7 +520,7 @@ static int dkr_pull_job_on_open_disk(PullJob *j) {
assert(!i->temp_path);
assert(i->tar_pid <= 0);
- r = tempfn_random(i->final_path, &i->temp_path);
+ r = tempfn_random(i->final_path, NULL, &i->temp_path);
if (r < 0)
return log_oom();
diff --git a/src/import/pull-raw.c b/src/import/pull-raw.c
index b65bb0c034..5bfaf012c0 100644
--- a/src/import/pull-raw.c
+++ b/src/import/pull-raw.c
@@ -208,7 +208,7 @@ static int raw_pull_maybe_convert_qcow2(RawPull *i) {
return 0;
/* This is a QCOW2 image, let's convert it */
- r = tempfn_random(i->final_path, &t);
+ r = tempfn_random(i->final_path, NULL, &t);
if (r < 0)
return log_oom();
@@ -280,7 +280,7 @@ static int raw_pull_make_local_copy(RawPull *i) {
if (i->force_local)
(void) rm_rf(p, REMOVE_ROOT|REMOVE_PHYSICAL|REMOVE_SUBVOLUME);
- r = tempfn_random(p, &tp);
+ r = tempfn_random(p, NULL, &tp);
if (r < 0)
return log_oom();
@@ -424,7 +424,7 @@ static int raw_pull_job_on_open_disk(PullJob *j) {
if (r < 0)
return log_oom();
- r = tempfn_random(i->final_path, &i->temp_path);
+ r = tempfn_random(i->final_path, NULL, &i->temp_path);
if (r < 0)
return log_oom();
diff --git a/src/import/pull-tar.c b/src/import/pull-tar.c
index 27a9af804d..a6605d248f 100644
--- a/src/import/pull-tar.c
+++ b/src/import/pull-tar.c
@@ -324,7 +324,7 @@ static int tar_pull_job_on_open_disk(PullJob *j) {
if (r < 0)
return log_oom();
- r = tempfn_random(i->final_path, &i->temp_path);
+ r = tempfn_random(i->final_path, NULL, &i->temp_path);
if (r < 0)
return log_oom();
diff --git a/src/import/pull.c b/src/import/pull.c
index 03fe3dcaf4..ca33d2f3fa 100644
--- a/src/import/pull.c
+++ b/src/import/pull.c
@@ -109,9 +109,9 @@ static int pull_tar(int argc, char *argv[], void *userdata) {
if (r < 0)
return log_error_errno(r, "Failed to allocate event loop: %m");
- assert_se(sigprocmask_many(SIG_BLOCK, SIGTERM, SIGINT, -1) == 0);
- sd_event_add_signal(event, NULL, SIGTERM, interrupt_signal_handler, NULL);
- sd_event_add_signal(event, NULL, SIGINT, interrupt_signal_handler, NULL);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1) >= 0);
+ (void) sd_event_add_signal(event, NULL, SIGTERM, interrupt_signal_handler, NULL);
+ (void) sd_event_add_signal(event, NULL, SIGINT, interrupt_signal_handler, NULL);
r = tar_pull_new(&pull, event, arg_image_root, on_tar_finished, event);
if (r < 0)
@@ -195,9 +195,9 @@ static int pull_raw(int argc, char *argv[], void *userdata) {
if (r < 0)
return log_error_errno(r, "Failed to allocate event loop: %m");
- assert_se(sigprocmask_many(SIG_BLOCK, SIGTERM, SIGINT, -1) == 0);
- sd_event_add_signal(event, NULL, SIGTERM, interrupt_signal_handler, NULL);
- sd_event_add_signal(event, NULL, SIGINT, interrupt_signal_handler, NULL);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1) >= 0);
+ (void) sd_event_add_signal(event, NULL, SIGTERM, interrupt_signal_handler, NULL);
+ (void) sd_event_add_signal(event, NULL, SIGINT, interrupt_signal_handler, NULL);
r = raw_pull_new(&pull, event, arg_image_root, on_raw_finished, event);
if (r < 0)
@@ -303,9 +303,9 @@ static int pull_dkr(int argc, char *argv[], void *userdata) {
if (r < 0)
return log_error_errno(r, "Failed to allocate event loop: %m");
- assert_se(sigprocmask_many(SIG_BLOCK, SIGTERM, SIGINT, -1) == 0);
- sd_event_add_signal(event, NULL, SIGTERM, interrupt_signal_handler, NULL);
- sd_event_add_signal(event, NULL, SIGINT, interrupt_signal_handler, NULL);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1) >= 0);
+ (void) sd_event_add_signal(event, NULL, SIGTERM, interrupt_signal_handler, NULL);
+ (void) sd_event_add_signal(event, NULL, SIGINT, interrupt_signal_handler, NULL);
r = dkr_pull_new(&pull, event, arg_dkr_index_url, arg_image_root, on_dkr_finished, event);
if (r < 0)
diff --git a/src/journal-remote/journal-remote.c b/src/journal-remote/journal-remote.c
index ae332d826f..1baedf6367 100644
--- a/src/journal-remote/journal-remote.c
+++ b/src/journal-remote/journal-remote.c
@@ -788,14 +788,11 @@ static int dispatch_http_event(sd_event_source *event,
**********************************************************************/
static int setup_signals(RemoteServer *s) {
- sigset_t mask;
int r;
assert(s);
- assert_se(sigemptyset(&mask) == 0);
- sigset_add_many(&mask, SIGINT, SIGTERM, -1);
- assert_se(sigprocmask(SIG_SETMASK, &mask, NULL) == 0);
+ assert_se(sigprocmask_many(SIG_SETMASK, NULL, SIGINT, SIGTERM, -1) >= 0);
r = sd_event_add_signal(s->events, &s->sigterm_event, SIGTERM, NULL, s);
if (r < 0)
diff --git a/src/journal-remote/journal-upload.c b/src/journal-remote/journal-upload.c
index ddb1ef0396..5d23639ee8 100644
--- a/src/journal-remote/journal-upload.c
+++ b/src/journal-remote/journal-upload.c
@@ -396,14 +396,11 @@ static int dispatch_sigterm(sd_event_source *event,
}
static int setup_signals(Uploader *u) {
- sigset_t mask;
int r;
assert(u);
- assert_se(sigemptyset(&mask) == 0);
- sigset_add_many(&mask, SIGINT, SIGTERM, -1);
- assert_se(sigprocmask(SIG_SETMASK, &mask, NULL) == 0);
+ assert_se(sigprocmask_many(SIG_SETMASK, NULL, SIGINT, SIGTERM, -1) >= 0);
r = sd_event_add_signal(u->events, &u->sigterm_event, SIGTERM, dispatch_sigterm, u);
if (r < 0)
diff --git a/src/journal/coredump.c b/src/journal/coredump.c
index 1c747aa2b4..62483a2a05 100644
--- a/src/journal/coredump.c
+++ b/src/journal/coredump.c
@@ -301,7 +301,7 @@ static int save_external_coredump(
if (r < 0)
return log_error_errno(r, "Failed to determine coredump file name: %m");
- r = tempfn_random(fn, &tmp);
+ r = tempfn_random(fn, NULL, &tmp);
if (r < 0)
return log_error_errno(r, "Failed to determine temporary file name: %m");
@@ -347,7 +347,7 @@ static int save_external_coredump(
goto uncompressed;
}
- r = tempfn_random(fn_compressed, &tmp_compressed);
+ r = tempfn_random(fn_compressed, NULL, &tmp_compressed);
if (r < 0) {
log_error_errno(r, "Failed to determine temporary file name for %s: %m", fn_compressed);
goto uncompressed;
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
index d0d670f36e..f7402984af 100644
--- a/src/journal/journald-server.c
+++ b/src/journal/journald-server.c
@@ -1264,14 +1264,11 @@ static int dispatch_sigterm(sd_event_source *es, const struct signalfd_siginfo *
}
static int setup_signals(Server *s) {
- sigset_t mask;
int r;
assert(s);
- assert_se(sigemptyset(&mask) == 0);
- sigset_add_many(&mask, SIGINT, SIGTERM, SIGUSR1, SIGUSR2, -1);
- assert_se(sigprocmask(SIG_SETMASK, &mask, NULL) == 0);
+ assert(sigprocmask_many(SIG_SETMASK, NULL, SIGINT, SIGTERM, SIGUSR1, SIGUSR2, -1) >= 0);
r = sd_event_add_signal(s->event, &s->sigusr1_event_source, SIGUSR1, dispatch_sigusr1, s);
if (r < 0)
diff --git a/src/libsystemd-terminal/evcat.c b/src/libsystemd-terminal/evcat.c
index bfa166c489..2aeefc2e16 100644
--- a/src/libsystemd-terminal/evcat.c
+++ b/src/libsystemd-terminal/evcat.c
@@ -154,7 +154,7 @@ static int evcat_new(Evcat **out) {
if (r < 0)
return r;
- r = sigprocmask_many(SIG_BLOCK, SIGTERM, SIGINT, -1);
+ r = sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1);
if (r < 0)
return r;
diff --git a/src/libsystemd-terminal/modeset.c b/src/libsystemd-terminal/modeset.c
index f3a60e1fb0..790a244772 100644
--- a/src/libsystemd-terminal/modeset.c
+++ b/src/libsystemd-terminal/modeset.c
@@ -170,7 +170,7 @@ static int modeset_new(Modeset **out) {
if (r < 0)
return r;
- r = sigprocmask_many(SIG_BLOCK, SIGTERM, SIGINT, -1);
+ r = sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1);
if (r < 0)
return r;
diff --git a/src/libsystemd-terminal/subterm.c b/src/libsystemd-terminal/subterm.c
index d10e2f549f..5f12540111 100644
--- a/src/libsystemd-terminal/subterm.c
+++ b/src/libsystemd-terminal/subterm.c
@@ -856,7 +856,7 @@ static int terminal_new(Terminal **out, int in_fd, int out_fd) {
goto error;
}
- r = sigprocmask_many(SIG_BLOCK, SIGINT, SIGQUIT, SIGTERM, SIGWINCH, SIGCHLD, -1);
+ r = sigprocmask_many(SIG_BLOCK, NULL, SIGINT, SIGQUIT, SIGTERM, SIGWINCH, SIGCHLD, -1);
if (r < 0) {
log_error_errno(r, "error: sigprocmask_many() (%d): %m", r);
goto error;
diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
index c38b2a5fa5..983e2f62cd 100644
--- a/src/libsystemd/sd-bus/bus-message.c
+++ b/src/libsystemd/sd-bus/bus-message.c
@@ -803,7 +803,7 @@ _public_ int sd_bus_message_new_method_errorf(
const char *format,
...) {
- _cleanup_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
+ _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
va_list ap;
assert_return(name, -EINVAL);
@@ -822,7 +822,7 @@ _public_ int sd_bus_message_new_method_errno(
int error,
const sd_bus_error *p) {
- _cleanup_free_ sd_bus_error berror = SD_BUS_ERROR_NULL;
+ _cleanup_bus_error_free_ sd_bus_error berror = SD_BUS_ERROR_NULL;
if (sd_bus_error_is_set(p))
return sd_bus_message_new_method_error(call, m, p);
@@ -839,7 +839,7 @@ _public_ int sd_bus_message_new_method_errnof(
const char *format,
...) {
- _cleanup_free_ sd_bus_error berror = SD_BUS_ERROR_NULL;
+ _cleanup_bus_error_free_ sd_bus_error berror = SD_BUS_ERROR_NULL;
va_list ap;
va_start(ap, format);
diff --git a/src/libsystemd/sd-event/test-event.c b/src/libsystemd/sd-event/test-event.c
index 94e98e0077..408e1679a2 100644
--- a/src/libsystemd/sd-event/test-event.c
+++ b/src/libsystemd/sd-event/test-event.c
@@ -79,7 +79,6 @@ static int child_handler(sd_event_source *s, const siginfo_t *si, void *userdata
static int signal_handler(sd_event_source *s, const struct signalfd_siginfo *si, void *userdata) {
sd_event_source *p = NULL;
- sigset_t ss;
pid_t pid;
assert_se(s);
@@ -89,9 +88,7 @@ static int signal_handler(sd_event_source *s, const struct signalfd_siginfo *si,
assert_se(userdata == INT_TO_PTR('e'));
- assert_se(sigemptyset(&ss) >= 0);
- assert_se(sigaddset(&ss, SIGCHLD) >= 0);
- assert_se(sigprocmask(SIG_BLOCK, &ss, NULL) >= 0);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGCHLD, -1) >= 0);
pid = fork();
assert_se(pid >= 0);
@@ -109,7 +106,6 @@ static int signal_handler(sd_event_source *s, const struct signalfd_siginfo *si,
static int defer_handler(sd_event_source *s, void *userdata) {
sd_event_source *p = NULL;
- sigset_t ss;
assert_se(s);
@@ -117,9 +113,8 @@ static int defer_handler(sd_event_source *s, void *userdata) {
assert_se(userdata == INT_TO_PTR('d'));
- assert_se(sigemptyset(&ss) >= 0);
- assert_se(sigaddset(&ss, SIGUSR1) >= 0);
- assert_se(sigprocmask(SIG_BLOCK, &ss, NULL) >= 0);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGUSR1, -1) >= 0);
+
assert_se(sd_event_add_signal(sd_event_source_get_event(s), &p, SIGUSR1, signal_handler, INT_TO_PTR('e')) >= 0);
assert_se(sd_event_source_set_enabled(p, SD_EVENT_ONESHOT) >= 0);
raise(SIGUSR1);
@@ -209,7 +204,7 @@ int main(int argc, char *argv[]) {
assert_se(sd_event_source_set_prepare(z, prepare_handler) >= 0);
/* Test for floating event sources */
- assert_se(sigprocmask_many(SIG_BLOCK, SIGRTMIN+1, -1) == 0);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGRTMIN+1, -1) >= 0);
assert_se(sd_event_add_signal(e, NULL, SIGRTMIN+1, NULL, NULL) >= 0);
assert_se(write(a[1], &ch, 1) >= 0);
diff --git a/src/locale/localectl.c b/src/locale/localectl.c
index 8c60339e3e..601839d5dc 100644
--- a/src/locale/localectl.c
+++ b/src/locale/localectl.c
@@ -69,14 +69,27 @@ static void polkit_agent_open_if_enabled(void) {
typedef struct StatusInfo {
char **locale;
- const char *vconsole_keymap;
- const char *vconsole_keymap_toggle;
- const char *x11_layout;
- const char *x11_model;
- const char *x11_variant;
- const char *x11_options;
+ char *vconsole_keymap;
+ char *vconsole_keymap_toggle;
+ char *x11_layout;
+ char *x11_model;
+ char *x11_variant;
+ char *x11_options;
} StatusInfo;
+static void status_info_clear(StatusInfo *info) {
+ if (info) {
+ strv_free(info->locale);
+ free(info->vconsole_keymap);
+ free(info->vconsole_keymap_toggle);
+ free(info->x11_layout);
+ free(info->x11_model);
+ free(info->x11_variant);
+ free(info->x11_options);
+ zero(*info);
+ }
+}
+
static void print_overridden_variables(void) {
int r;
char *variables[_VARIABLE_LC_MAX] = {};
@@ -150,7 +163,7 @@ static void print_status_info(StatusInfo *i) {
}
static int show_status(sd_bus *bus, char **args, unsigned n) {
- StatusInfo info = {};
+ _cleanup_(status_info_clear) StatusInfo info = {};
static const struct bus_properties_map map[] = {
{ "VConsoleKeymap", "s", NULL, offsetof(StatusInfo, vconsole_keymap) },
{ "VConsoleKeymap", "s", NULL, offsetof(StatusInfo, vconsole_keymap) },
@@ -171,16 +184,12 @@ static int show_status(sd_bus *bus, char **args, unsigned n) {
"/org/freedesktop/locale1",
map,
&info);
- if (r < 0) {
- log_error_errno(r, "Could not get properties: %m");
- goto fail;
- }
+ if (r < 0)
+ return log_error_errno(r, "Could not get properties: %m");
print_overridden_variables();
print_status_info(&info);
-fail:
- strv_free(info.locale);
return r;
}
diff --git a/src/login/loginctl.c b/src/login/loginctl.c
index 02d240c704..06208bc4b3 100644
--- a/src/login/loginctl.c
+++ b/src/login/loginctl.c
@@ -277,42 +277,81 @@ static int show_unit_cgroup(sd_bus *bus, const char *interface, const char *unit
}
typedef struct SessionStatusInfo {
- const char *id;
+ char *id;
uid_t uid;
- const char *name;
+ char *name;
struct dual_timestamp timestamp;
unsigned int vtnr;
- const char *seat;
- const char *tty;
- const char *display;
+ char *seat;
+ char *tty;
+ char *display;
bool remote;
- const char *remote_host;
- const char *remote_user;
- const char *service;
+ char *remote_host;
+ char *remote_user;
+ char *service;
pid_t leader;
- const char *type;
- const char *class;
- const char *state;
- const char *scope;
- const char *desktop;
+ char *type;
+ char *class;
+ char *state;
+ char *scope;
+ char *desktop;
} SessionStatusInfo;
typedef struct UserStatusInfo {
uid_t uid;
- const char *name;
+ char *name;
struct dual_timestamp timestamp;
- const char *state;
+ char *state;
char **sessions;
- const char *display;
- const char *slice;
+ char *display;
+ char *slice;
} UserStatusInfo;
typedef struct SeatStatusInfo {
- const char *id;
- const char *active_session;
+ char *id;
+ char *active_session;
char **sessions;
} SeatStatusInfo;
+static void session_status_info_clear(SessionStatusInfo *info) {
+ if (info) {
+ free(info->id);
+ free(info->name);
+ free(info->seat);
+ free(info->tty);
+ free(info->display);
+ free(info->remote_host);
+ free(info->remote_user);
+ free(info->service);
+ free(info->type);
+ free(info->class);
+ free(info->state);
+ free(info->scope);
+ free(info->desktop);
+ zero(*info);
+ }
+}
+
+static void user_status_info_clear(UserStatusInfo *info) {
+ if (info) {
+ free(info->name);
+ free(info->state);
+ strv_free(info->sessions);
+ free(info->display);
+ free(info->slice);
+ zero(*info);
+ }
+}
+
+static void seat_status_info_clear(SeatStatusInfo *info) {
+ if (info) {
+ free(info->id);
+ free(info->active_session);
+ strv_free(info->sessions);
+ zero(*info);
+ }
+}
+
static int prop_map_first_of_struct(sd_bus *bus, const char *member, sd_bus_message *m, sd_bus_error *error, void *userdata) {
const char *contents;
int r;
@@ -404,7 +443,7 @@ static int print_session_status_info(sd_bus *bus, const char *path, bool *new_li
char since1[FORMAT_TIMESTAMP_RELATIVE_MAX], *s1;
char since2[FORMAT_TIMESTAMP_MAX], *s2;
- SessionStatusInfo i = {};
+ _cleanup_(session_status_info_clear) SessionStatusInfo i = {};
int r;
r = bus_map_all_properties(bus, "org.freedesktop.login1", path, map, &i);
@@ -532,14 +571,12 @@ static int print_user_status_info(sd_bus *bus, const char *path, bool *new_line)
char since1[FORMAT_TIMESTAMP_RELATIVE_MAX], *s1;
char since2[FORMAT_TIMESTAMP_MAX], *s2;
- UserStatusInfo i = {};
+ _cleanup_(user_status_info_clear) UserStatusInfo i = {};
int r;
r = bus_map_all_properties(bus, "org.freedesktop.login1", path, map, &i);
- if (r < 0) {
- log_error_errno(r, "Could not get properties: %m");
- goto finish;
- }
+ if (r < 0)
+ return log_error_errno(r, "Could not get properties: %m");
if (*new_line)
printf("\n");
@@ -594,10 +631,7 @@ static int print_user_status_info(sd_bus *bus, const char *path, bool *new_line)
NULL);
}
-finish:
- strv_free(i.sessions);
-
- return r;
+ return 0;
}
static int print_seat_status_info(sd_bus *bus, const char *path, bool *new_line) {
@@ -609,14 +643,12 @@ static int print_seat_status_info(sd_bus *bus, const char *path, bool *new_line)
{}
};
- SeatStatusInfo i = {};
+ _cleanup_(seat_status_info_clear) SeatStatusInfo i = {};
int r;
r = bus_map_all_properties(bus, "org.freedesktop.login1", path, map, &i);
- if (r < 0) {
- log_error_errno(r, "Could not get properties: %m");
- goto finish;
- }
+ if (r < 0)
+ return log_error_errno(r, "Could not get properties: %m");
if (*new_line)
printf("\n");
@@ -653,10 +685,7 @@ static int print_seat_status_info(sd_bus *bus, const char *path, bool *new_line)
show_sysfs(i.id, "\t\t ", c);
}
-finish:
- strv_free(i.sessions);
-
- return r;
+ return 0;
}
static int show_properties(sd_bus *bus, const char *path, bool *new_line) {
diff --git a/src/login/logind-button.c b/src/login/logind-button.c
index 610adc513e..8079d0b5aa 100644
--- a/src/login/logind-button.c
+++ b/src/login/logind-button.c
@@ -70,7 +70,7 @@ void button_free(Button *b) {
/* If the device has been unplugged close() returns
* ENODEV, let's ignore this, hence we don't use
* safe_close() */
- close(b->fd);
+ (void) close(b->fd);
}
free(b->name);
diff --git a/src/login/logind-core.c b/src/login/logind-core.c
index 440c32aa2c..f9e6ddfb3f 100644
--- a/src/login/logind-core.c
+++ b/src/login/logind-core.c
@@ -360,7 +360,7 @@ int manager_get_user_by_pid(Manager *m, pid_t pid, User **user) {
int manager_get_idle_hint(Manager *m, dual_timestamp *t) {
Session *s;
bool idle_hint;
- dual_timestamp ts = { 0, 0 };
+ dual_timestamp ts = DUAL_TIMESTAMP_NULL;
Iterator i;
assert(m);
diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
index b272401e5b..e6f9ec7845 100644
--- a/src/login/logind-dbus.c
+++ b/src/login/logind-dbus.c
@@ -158,7 +158,7 @@ static int property_get_idle_since_hint(
sd_bus_error *error) {
Manager *m = userdata;
- dual_timestamp t;
+ dual_timestamp t = DUAL_TIMESTAMP_NULL;
assert(bus);
assert(reply);
@@ -243,6 +243,24 @@ static int property_get_scheduled_shutdown(
static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_handle_action, handle_action, HandleAction);
+static int property_get_docked(
+ sd_bus *bus,
+ const char *path,
+ const char *interface,
+ const char *property,
+ sd_bus_message *reply,
+ void *userdata,
+ sd_bus_error *error) {
+
+ Manager *m = userdata;
+
+ assert(bus);
+ assert(reply);
+ assert(m);
+
+ return sd_bus_message_append(reply, "b", manager_is_docked_or_multiple_displays(m));
+}
+
static int method_get_session(sd_bus_message *message, void *userdata, sd_bus_error *error) {
_cleanup_free_ char *p = NULL;
Manager *m = userdata;
@@ -2406,6 +2424,7 @@ const sd_bus_vtable manager_vtable[] = {
SD_BUS_PROPERTY("PreparingForShutdown", "b", property_get_preparing, 0, 0),
SD_BUS_PROPERTY("PreparingForSleep", "b", property_get_preparing, 0, 0),
SD_BUS_PROPERTY("ScheduledShutdown", "(st)", property_get_scheduled_shutdown, 0, 0),
+ SD_BUS_PROPERTY("Docked", "b", property_get_docked, 0, 0),
SD_BUS_METHOD("GetSession", "s", "o", method_get_session, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("GetSessionByPID", "u", "o", method_get_session_by_pid, SD_BUS_VTABLE_UNPRIVILEGED),
diff --git a/src/login/logind-inhibit.c b/src/login/logind-inhibit.c
index 68304a1610..855c85402c 100644
--- a/src/login/logind-inhibit.c
+++ b/src/login/logind-inhibit.c
@@ -371,7 +371,7 @@ bool manager_is_inhibited(
Inhibitor *i;
Iterator j;
- struct dual_timestamp ts = { 0, 0 };
+ struct dual_timestamp ts = DUAL_TIMESTAMP_NULL;
bool inhibited = false;
assert(m);
diff --git a/src/login/logind-seat.c b/src/login/logind-seat.c
index 11d24ce5b4..3c30eeaa95 100644
--- a/src/login/logind-seat.c
+++ b/src/login/logind-seat.c
@@ -599,7 +599,7 @@ bool seat_can_graphical(Seat *s) {
int seat_get_idle_hint(Seat *s, dual_timestamp *t) {
Session *session;
bool idle_hint = true;
- dual_timestamp ts = { 0, 0 };
+ dual_timestamp ts = DUAL_TIMESTAMP_NULL;
assert(s);
diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c
index debaa31a29..563153e2d9 100644
--- a/src/login/logind-session-dbus.c
+++ b/src/login/logind-session-dbus.c
@@ -163,7 +163,7 @@ static int property_get_idle_since_hint(
sd_bus_error *error) {
Session *s = userdata;
- dual_timestamp t;
+ dual_timestamp t = DUAL_TIMESTAMP_NULL;
uint64_t u;
int r;
diff --git a/src/login/logind-user-dbus.c b/src/login/logind-user-dbus.c
index 8a710cef13..0f72d70b10 100644
--- a/src/login/logind-user-dbus.c
+++ b/src/login/logind-user-dbus.c
@@ -138,7 +138,7 @@ static int property_get_idle_since_hint(
sd_bus_error *error) {
User *u = userdata;
- dual_timestamp t;
+ dual_timestamp t = DUAL_TIMESTAMP_NULL;
uint64_t k;
assert(bus);
diff --git a/src/login/logind-user.c b/src/login/logind-user.c
index c0b473930d..6720899def 100644
--- a/src/login/logind-user.c
+++ b/src/login/logind-user.c
@@ -619,7 +619,7 @@ int user_finalize(User *u) {
int user_get_idle_hint(User *u, dual_timestamp *t) {
Session *s;
bool idle_hint = true;
- dual_timestamp ts = { 0, 0 };
+ dual_timestamp ts = DUAL_TIMESTAMP_NULL;
assert(u);
@@ -763,6 +763,9 @@ static int elect_display_compare(Session *s1, Session *s2) {
* is preferred.
*
* s1 or s2 may be NULL. */
+ if (!s1 && !s2)
+ return 0;
+
if ((s1 == NULL) != (s2 == NULL))
return (s1 == NULL) - (s2 == NULL);
diff --git a/src/login/logind.c b/src/login/logind.c
index 00f8dbdab2..01f7cd9ee0 100644
--- a/src/login/logind.c
+++ b/src/login/logind.c
@@ -787,13 +787,8 @@ static int manager_connect_console(Manager *m) {
return -EINVAL;
}
- r = ignore_signals(SIGRTMIN + 1, -1);
- if (r < 0)
- return log_error_errno(r, "Cannot ignore SIGRTMIN + 1: %m");
-
- r = sigprocmask_many(SIG_BLOCK, SIGRTMIN, -1);
- if (r < 0)
- return log_error_errno(r, "Cannot block SIGRTMIN: %m");
+ assert_se(ignore_signals(SIGRTMIN + 1, -1) >= 0);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGRTMIN, -1) >= 0);
r = sd_event_add_signal(m->event, NULL, SIGRTMIN, manager_vt_switch, m);
if (r < 0)
diff --git a/src/machine/machinectl.c b/src/machine/machinectl.c
index c86c36c2de..7938aa4dbe 100644
--- a/src/machine/machinectl.c
+++ b/src/machine/machinectl.c
@@ -500,6 +500,18 @@ typedef struct MachineStatusInfo {
unsigned n_netif;
} MachineStatusInfo;
+static void machine_status_info_clear(MachineStatusInfo *info) {
+ if (info) {
+ free(info->name);
+ free(info->class);
+ free(info->service);
+ free(info->unit);
+ free(info->root_directory);
+ free(info->netif);
+ zero(*info);
+ }
+}
+
static void print_machine_status_info(sd_bus *bus, MachineStatusInfo *i) {
char since1[FORMAT_TIMESTAMP_RELATIVE_MAX], *s1;
char since2[FORMAT_TIMESTAMP_MAX], *s2;
@@ -636,7 +648,7 @@ static int show_machine_info(const char *verb, sd_bus *bus, const char *path, bo
{}
};
- MachineStatusInfo info = {};
+ _cleanup_(machine_status_info_clear) MachineStatusInfo info = {};
int r;
assert(verb);
@@ -658,13 +670,6 @@ static int show_machine_info(const char *verb, sd_bus *bus, const char *path, bo
print_machine_status_info(bus, &info);
- free(info.name);
- free(info.class);
- free(info.service);
- free(info.unit);
- free(info.root_directory);
- free(info.netif);
-
return r;
}
@@ -753,6 +758,15 @@ typedef struct ImageStatusInfo {
uint64_t limit_exclusive;
} ImageStatusInfo;
+static void image_status_info_clear(ImageStatusInfo *info) {
+ if (info) {
+ free(info->name);
+ free(info->path);
+ free(info->type);
+ zero(*info);
+ }
+}
+
static void print_image_status_info(sd_bus *bus, ImageStatusInfo *i) {
char ts_relative[FORMAT_TIMESTAMP_RELATIVE_MAX], *s1;
char ts_absolute[FORMAT_TIMESTAMP_MAX], *s2;
@@ -823,7 +837,7 @@ static int show_image_info(sd_bus *bus, const char *path, bool *new_line) {
{}
};
- ImageStatusInfo info = {};
+ _cleanup_(image_status_info_clear) ImageStatusInfo info = {};
int r;
assert(bus);
@@ -844,10 +858,6 @@ static int show_image_info(sd_bus *bus, const char *path, bool *new_line) {
print_image_status_info(bus, &info);
- free(info.name);
- free(info.path);
- free(info.type);
-
return r;
}
@@ -857,6 +867,15 @@ typedef struct PoolStatusInfo {
uint64_t limit;
} PoolStatusInfo;
+static void pool_status_info_clear(PoolStatusInfo *info) {
+ if (info) {
+ free(info->path);
+ zero(*info);
+ info->usage = -1;
+ info->limit = -1;
+ }
+}
+
static void print_pool_status_info(sd_bus *bus, PoolStatusInfo *i) {
char bs[FORMAT_BYTES_MAX], *s;
@@ -881,7 +900,7 @@ static int show_pool_info(sd_bus *bus) {
{}
};
- PoolStatusInfo info = {
+ _cleanup_(pool_status_info_clear) PoolStatusInfo info = {
.usage = (uint64_t) -1,
.limit = (uint64_t) -1,
};
@@ -899,7 +918,6 @@ static int show_pool_info(sd_bus *bus) {
print_pool_status_info(bus, &info);
- free(info.path);
return 0;
}
@@ -1201,7 +1219,7 @@ static int login_machine(int argc, char *argv[], void *userdata) {
if (r < 0)
return bus_log_parse_error(r);
- sigprocmask_many(SIG_BLOCK, SIGWINCH, SIGTERM, SIGINT, -1);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGWINCH, SIGTERM, SIGINT, -1) >= 0);
log_info("Connected to machine %s. Press ^] three times within 1s to exit session.", argv[1]);
@@ -1612,7 +1630,7 @@ static int transfer_image_common(sd_bus *bus, sd_bus_message *m) {
if (r < 0)
return bus_log_parse_error(r);
- sigprocmask_many(SIG_BLOCK, SIGTERM, SIGINT, -1);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1) >= 0);
if (!arg_quiet)
log_info("Enqueued transfer job %u. Press C-c to continue download in background.", id);
diff --git a/src/machine/machined.c b/src/machine/machined.c
index 754c770040..9bfe2add54 100644
--- a/src/machine/machined.c
+++ b/src/machine/machined.c
@@ -322,7 +322,7 @@ int main(int argc, char *argv[]) {
* check stays in. */
mkdir_label("/run/systemd/machines", 0755);
- assert_se(sigprocmask_many(SIG_BLOCK, SIGCHLD, -1) >= 0);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGCHLD, -1) >= 0);
m = manager_new();
if (!m) {
diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c
index 944da3f5b8..172ca43a7d 100644
--- a/src/network/networkd-address.c
+++ b/src/network/networkd-address.c
@@ -24,7 +24,7 @@
#include "utf8.h"
#include "util.h"
#include "conf-parser.h"
-#include "fw-util.h"
+#include "firewall-util.h"
#include "networkd.h"
#include "networkd-link.h"
diff --git a/src/network/networkd-wait-online.c b/src/network/networkd-wait-online.c
index 6a96f1de55..32c31fdf3d 100644
--- a/src/network/networkd-wait-online.c
+++ b/src/network/networkd-wait-online.c
@@ -129,7 +129,7 @@ int main(int argc, char *argv[]) {
if (arg_quiet)
log_set_max_level(LOG_WARNING);
- assert_se(sigprocmask_many(SIG_BLOCK, SIGTERM, SIGINT, -1) == 0);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1) >= 0);
r = manager_new(&m, arg_interfaces, arg_ignore, arg_timeout);
if (r < 0) {
diff --git a/src/network/networkd.c b/src/network/networkd.c
index 41ec7cf904..9fe8a5fa15 100644
--- a/src/network/networkd.c
+++ b/src/network/networkd.c
@@ -75,7 +75,7 @@ int main(int argc, char *argv[]) {
if (r < 0)
goto out;
- assert_se(sigprocmask_many(SIG_BLOCK, SIGTERM, SIGINT, -1) == 0);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1) >= 0);
r = manager_new(&m);
if (r < 0) {
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
index 3f0b3d9182..eea994d0b3 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
@@ -90,7 +90,7 @@
#include "machine-image.h"
#include "list.h"
#include "in-addr-util.h"
-#include "fw-util.h"
+#include "firewall-util.h"
#include "local-addresses.h"
#include "formats-util.h"
#include "process-util.h"
@@ -350,7 +350,7 @@ static int custom_mounts_prepare(void) {
if (m->read_only)
continue;
- r = tempfn_random(m->source, &m->work_dir);
+ r = tempfn_random(m->source, NULL, &m->work_dir);
if (r < 0)
return log_error_errno(r, "Failed to generate work directory from %s: %m", m->source);
}
@@ -3002,8 +3002,15 @@ static int setup_seccomp(void) {
}
r = seccomp_load(seccomp);
- if (r < 0)
+ if (r == -EINVAL) {
+ log_debug_errno(r, "Kernel is probably not configured with CONFIG_SECCOMP. Disabling seccomp audit filter: %m");
+ r = 0;
+ goto finish;
+ }
+ if (r < 0) {
log_error_errno(r, "Failed to install seccomp audit filter: %m");
+ goto finish;
+ }
finish:
seccomp_release(seccomp);
@@ -4458,7 +4465,7 @@ int main(int argc, char *argv[]) {
int r, n_fd_passed, loop_nr = -1;
char veth_name[IFNAMSIZ];
bool secondary = false, remove_subvol = false;
- sigset_t mask, mask_chld;
+ sigset_t mask_chld;
pid_t pid = 0;
int ret = EXIT_SUCCESS;
union in_addr_union exposed = {};
@@ -4515,9 +4522,9 @@ int main(int argc, char *argv[]) {
goto finish;
}
if (r > 0)
- r = tempfn_random_child(arg_directory, &np);
+ r = tempfn_random_child(arg_directory, "machine.", &np);
else
- r = tempfn_random(arg_directory, &np);
+ r = tempfn_random(arg_directory, "machine.", &np);
if (r < 0) {
log_error_errno(r, "Failed to generate name for snapshot: %m");
goto finish;
@@ -4657,9 +4664,7 @@ int main(int argc, char *argv[]) {
log_info("Spawning container %s on %s.\nPress ^] three times within 1s to kill container.",
arg_machine, arg_image ?: arg_directory);
- assert_se(sigemptyset(&mask) == 0);
- sigset_add_many(&mask, SIGCHLD, SIGWINCH, SIGTERM, SIGINT, -1);
- assert_se(sigprocmask(SIG_BLOCK, &mask, NULL) == 0);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGCHLD, SIGWINCH, SIGTERM, SIGINT, -1) >= 0);
assert_se(sigemptyset(&mask_chld) == 0);
assert_se(sigaddset(&mask_chld, SIGCHLD) == 0);
diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c
index e283d8a749..0af5545f8e 100644
--- a/src/resolve/resolved.c
+++ b/src/resolve/resolved.c
@@ -71,7 +71,7 @@ int main(int argc, char *argv[]) {
if (r < 0)
goto finish;
- assert_se(sigprocmask_many(SIG_BLOCK, SIGTERM, SIGINT, -1) == 0);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1) >= 0);
r = manager_new(&m);
if (r < 0) {
diff --git a/src/run/run.c b/src/run/run.c
index f18f77b55a..99d960a664 100644
--- a/src/run/run.c
+++ b/src/run/run.c
@@ -789,19 +789,16 @@ static int start_transient_service(
if (master >= 0) {
_cleanup_(pty_forward_freep) PTYForward *forward = NULL;
_cleanup_event_unref_ sd_event *event = NULL;
- sigset_t mask;
char last_char = 0;
r = sd_event_default(&event);
if (r < 0)
return log_error_errno(r, "Failed to get event loop: %m");
- assert_se(sigemptyset(&mask) == 0);
- sigset_add_many(&mask, SIGWINCH, SIGTERM, SIGINT, -1);
- assert_se(sigprocmask(SIG_BLOCK, &mask, NULL) == 0);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGWINCH, SIGTERM, SIGINT, -1) >= 0);
- sd_event_add_signal(event, NULL, SIGINT, NULL, NULL);
- sd_event_add_signal(event, NULL, SIGTERM, NULL, NULL);
+ (void) sd_event_add_signal(event, NULL, SIGINT, NULL, NULL);
+ (void) sd_event_add_signal(event, NULL, SIGTERM, NULL, NULL);
if (!arg_quiet)
log_info("Running as unit %s.\nPress ^] three times within 1s to disconnect TTY.", service);
diff --git a/src/shared/ask-password-api.c b/src/shared/ask-password-api.c
index ef3788be68..3941605cec 100644
--- a/src/shared/ask-password-api.c
+++ b/src/shared/ask-password-api.c
@@ -323,9 +323,9 @@ int ask_password_agent(
assert(_passphrases);
- assert_se(sigemptyset(&mask) == 0);
- sigset_add_many(&mask, SIGINT, SIGTERM, -1);
- assert_se(sigprocmask(SIG_BLOCK, &mask, &oldmask) == 0);
+ assert_se(sigemptyset(&mask) >= 0);
+ assert_se(sigset_add_many(&mask, SIGINT, SIGTERM, -1) >= 0);
+ assert_se(sigprocmask(SIG_BLOCK, &mask, &oldmask) >= 0);
mkdir_p_label("/run/systemd/ask-password", 0755);
diff --git a/src/shared/fw-util.c b/src/shared/firewall-util.c
index 6b3599d90d..effc6e8e70 100644
--- a/src/shared/fw-util.c
+++ b/src/shared/firewall-util.c
@@ -28,7 +28,7 @@
#include <libiptc/libiptc.h>
#include "util.h"
-#include "fw-util.h"
+#include "firewall-util.h"
DEFINE_TRIVIAL_CLEANUP_FUNC(struct xtc_handle*, iptc_free);
diff --git a/src/shared/fw-util.h b/src/shared/firewall-util.h
index 93152e3978..93152e3978 100644
--- a/src/shared/fw-util.h
+++ b/src/shared/firewall-util.h
diff --git a/src/shared/machine-pool.c b/src/shared/machine-pool.c
index 8c64908b1a..8af78f47d5 100644
--- a/src/shared/machine-pool.c
+++ b/src/shared/machine-pool.c
@@ -75,7 +75,7 @@ static int setup_machine_raw(uint64_t size, sd_bus_error *error) {
if (errno != ENOENT)
return sd_bus_error_set_errnof(error, errno, "Failed to open /var/lib/machines.raw: %m");
- r = tempfn_xxxxxx("/var/lib/machines.raw", &tmp);
+ r = tempfn_xxxxxx("/var/lib/machines.raw", NULL, &tmp);
if (r < 0)
return r;
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index 5075e4e176..23fc946fbf 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -1183,7 +1183,7 @@ static int list_timers(sd_bus *bus, char **args) {
for (u = unit_infos; u < unit_infos + n; u++) {
_cleanup_strv_free_ char **triggered = NULL;
- dual_timestamp next = {};
+ dual_timestamp next = DUAL_TIMESTAMP_NULL;
usec_t m, last = 0;
if (!endswith(u->id, ".timer"))
@@ -1678,17 +1678,23 @@ static const struct bus_properties_map machine_info_property_map[] = {
{}
};
+static void machine_info_clear(struct machine_info *info) {
+ if (info) {
+ free(info->name);
+ free(info->state);
+ free(info->control_group);
+ zero(*info);
+ }
+}
+
static void free_machines_list(struct machine_info *machine_infos, int n) {
int i;
if (!machine_infos)
return;
- for (i = 0; i < n; i++) {
- free(machine_infos[i].name);
- free(machine_infos[i].state);
- free(machine_infos[i].control_group);
- }
+ for (i = 0; i < n; i++)
+ machine_info_clear(&machine_infos[i]);
free(machine_infos);
}
@@ -4402,7 +4408,7 @@ static int show_all(
static int show_system_status(sd_bus *bus) {
char since1[FORMAT_TIMESTAMP_RELATIVE_MAX], since2[FORMAT_TIMESTAMP_MAX];
_cleanup_free_ char *hn = NULL;
- struct machine_info mi = {};
+ _cleanup_(machine_info_clear) struct machine_info mi = {};
const char *on, *off;
int r;
@@ -4449,9 +4455,6 @@ static int show_system_status(sd_bus *bus) {
show_cgroup(SYSTEMD_CGROUP_CONTROLLER, strempty(mi.control_group), prefix, c, false, get_output_flags());
}
- free(mi.state);
- free(mi.control_group);
-
return 0;
}
@@ -5684,7 +5687,7 @@ static int create_edit_temp_file(const char *new_path, const char *original_path
assert(original_path);
assert(ret_tmp_fn);
- r = tempfn_random(new_path, &t);
+ r = tempfn_random(new_path, NULL, &t);
if (r < 0)
return log_error_errno(r, "Failed to determine temporary filename for \"%s\": %m", new_path);
diff --git a/src/test/test-fw-util.c b/src/test/test-firewall-util.c
index ab891aa0c4..d636e427c4 100644
--- a/src/test/test-fw-util.c
+++ b/src/test/test-firewall-util.c
@@ -20,7 +20,7 @@
***/
#include "log.h"
-#include "fw-util.h"
+#include "firewall-util.h"
#define MAKE_IN_ADDR_UNION(a,b,c,d) (union in_addr_union) { .in.s_addr = htobe32((uint32_t) (a) << 24 | (uint32_t) (b) << 16 | (uint32_t) (c) << 8 | (uint32_t) (d))}
diff --git a/src/test/test-netlink-manual.c b/src/test/test-netlink-manual.c
index 1498432971..2879d7450f 100644
--- a/src/test/test-netlink-manual.c
+++ b/src/test/test-netlink-manual.c
@@ -127,7 +127,7 @@ static int test_tunnel_configure(sd_netlink *rtnl) {
assert_se(sd_netlink_call(rtnl, n, -1, 0) == 1);
- assert_se((m = sd_netlink_message_unref(n)) == NULL);
+ assert_se((n = sd_netlink_message_unref(n)) == NULL);
return EXIT_SUCCESS;
}
diff --git a/src/test/test-pty.c b/src/test/test-pty.c
index f8807c9150..3f97a64ccd 100644
--- a/src/test/test-pty.c
+++ b/src/test/test-pty.c
@@ -129,7 +129,7 @@ int main(int argc, char *argv[]) {
log_parse_environment();
log_open();
- assert_se(sigprocmask_many(SIG_BLOCK, SIGCHLD, -1) >= 0);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGCHLD, -1) >= 0);
/* Oh, there're ugly races in the TTY layer regarding HUP vs IN. Turns
* out they appear only 10% of the time. I fixed all of them and
diff --git a/src/test/test-udev.c b/src/test/test-udev.c
index d1fe953071..2b765a3e90 100644
--- a/src/test/test-udev.c
+++ b/src/test/test-udev.c
@@ -116,7 +116,7 @@ int main(int argc, char *argv[]) {
event = udev_event_new(dev);
- assert_se(sigprocmask_many(SIG_BLOCK, SIGTERM, SIGINT, SIGHUP, SIGCHLD, -1) == 0);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, SIGHUP, SIGCHLD, -1) >= 0);
/* do what devtmpfs usually provides us */
if (udev_device_get_devnode(dev) != NULL) {
diff --git a/src/test/test-util.c b/src/test/test-util.c
index 9d5516a18d..ed8db45115 100644
--- a/src/test/test-util.c
+++ b/src/test/test-util.c
@@ -1507,6 +1507,42 @@ static void test_parse_mode(void) {
assert_se(parse_mode("0", &m) >= 0 && m == 0);
}
+static void test_tempfn(void) {
+ char *ret = NULL, *p;
+
+ assert_se(tempfn_xxxxxx("/foo/bar/waldo", NULL, &ret) >= 0);
+ assert_se(streq_ptr(ret, "/foo/bar/.#waldoXXXXXX"));
+ free(ret);
+
+ assert_se(tempfn_xxxxxx("/foo/bar/waldo", "[miau]", &ret) >= 0);
+ assert_se(streq_ptr(ret, "/foo/bar/.#[miau]waldoXXXXXX"));
+ free(ret);
+
+ assert_se(tempfn_random("/foo/bar/waldo", NULL, &ret) >= 0);
+ assert_se(p = startswith(ret, "/foo/bar/.#waldo"));
+ assert_se(strlen(p) == 16);
+ assert_se(in_charset(p, "0123456789abcdef"));
+ free(ret);
+
+ assert_se(tempfn_random("/foo/bar/waldo", "[wuff]", &ret) >= 0);
+ assert_se(p = startswith(ret, "/foo/bar/.#[wuff]waldo"));
+ assert_se(strlen(p) == 16);
+ assert_se(in_charset(p, "0123456789abcdef"));
+ free(ret);
+
+ assert_se(tempfn_random_child("/foo/bar/waldo", NULL, &ret) >= 0);
+ assert_se(p = startswith(ret, "/foo/bar/waldo/.#"));
+ assert_se(strlen(p) == 16);
+ assert_se(in_charset(p, "0123456789abcdef"));
+ free(ret);
+
+ assert_se(tempfn_random_child("/foo/bar/waldo", "[kikiriki]", &ret) >= 0);
+ assert_se(p = startswith(ret, "/foo/bar/waldo/.#[kikiriki]"));
+ assert_se(strlen(p) == 16);
+ assert_se(in_charset(p, "0123456789abcdef"));
+ free(ret);
+}
+
int main(int argc, char *argv[]) {
log_parse_environment();
log_open();
@@ -1582,6 +1618,7 @@ int main(int argc, char *argv[]) {
test_sparse_write();
test_shell_maybe_quote();
test_parse_mode();
+ test_tempfn();
return 0;
}
diff --git a/src/timedate/timedatectl.c b/src/timedate/timedatectl.c
index 61b6e765c7..195d5f3892 100644
--- a/src/timedate/timedatectl.c
+++ b/src/timedate/timedatectl.c
@@ -73,6 +73,13 @@ typedef struct StatusInfo {
bool ntp_synced;
} StatusInfo;
+static void status_info_clear(StatusInfo *info) {
+ if (info) {
+ free(info->timezone);
+ zero(*info);
+ }
+}
+
static void print_status_info(const StatusInfo *i) {
char a[FORMAT_TIMESTAMP_MAX];
struct tm tm;
@@ -155,7 +162,7 @@ static void print_status_info(const StatusInfo *i) {
}
static int show_status(sd_bus *bus, char **args, unsigned n) {
- StatusInfo info = {};
+ _cleanup_(status_info_clear) StatusInfo info = {};
static const struct bus_properties_map map[] = {
{ "Timezone", "s", NULL, offsetof(StatusInfo, timezone) },
{ "LocalRTC", "b", NULL, offsetof(StatusInfo, rtc_local) },
@@ -175,15 +182,11 @@ static int show_status(sd_bus *bus, char **args, unsigned n) {
"/org/freedesktop/timedate1",
map,
&info);
- if (r < 0) {
- log_error_errno(r, "Failed to query server: %m");
- goto fail;
- }
+ if (r < 0)
+ return log_error_errno(r, "Failed to query server: %m");
print_status_info(&info);
-fail:
- free(info.timezone);
return r;
}
diff --git a/src/timesync/timesyncd.c b/src/timesync/timesyncd.c
index d69129ee03..b030206948 100644
--- a/src/timesync/timesyncd.c
+++ b/src/timesync/timesyncd.c
@@ -117,7 +117,7 @@ int main(int argc, char *argv[]) {
if (setrlimit(RLIMIT_NPROC, &RLIMIT_MAKE_CONST(2)) < 0)
log_warning_errno(errno, "Failed to lower RLIMIT_NPROC to 2: %m");
- assert_se(sigprocmask_many(SIG_BLOCK, SIGTERM, SIGINT, -1) == 0);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1) >= 0);
r = manager_new(&m);
if (r < 0) {
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
index f7dad8491e..027a5c2ca8 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
@@ -1465,7 +1465,7 @@ static int remove_item_instance(Item *i, const char *instance) {
/* FIXME: we probably should use dir_cleanup() here
* instead of rm_rf() so that 'x' is honoured. */
log_debug("rm -rf \"%s\"", instance);
- r = rm_rf(instance, (i->type == RECURSIVE_REMOVE_PATH ? REMOVE_ROOT : 0) | REMOVE_PHYSICAL);
+ r = rm_rf(instance, (i->type == RECURSIVE_REMOVE_PATH ? REMOVE_ROOT|REMOVE_SUBVOLUME : 0) | REMOVE_PHYSICAL);
if (r < 0 && r != -ENOENT)
return log_error_errno(r, "rm_rf(%s): %m", instance);
diff --git a/src/tty-ask-password-agent/tty-ask-password-agent.c b/src/tty-ask-password-agent/tty-ask-password-agent.c
index 97251ef0aa..73b19d8e89 100644
--- a/src/tty-ask-password-agent/tty-ask-password-agent.c
+++ b/src/tty-ask-password-agent/tty-ask-password-agent.c
@@ -485,9 +485,9 @@ static int watch_passwords(void) {
if (inotify_add_watch(notify, "/run/systemd/ask-password", IN_CLOSE_WRITE|IN_MOVED_TO) < 0)
return -errno;
- assert_se(sigemptyset(&mask) == 0);
- sigset_add_many(&mask, SIGINT, SIGTERM, -1);
- assert_se(sigprocmask(SIG_SETMASK, &mask, NULL) == 0);
+ assert_se(sigemptyset(&mask) >= 0);
+ assert_se(sigset_add_many(&mask, SIGINT, SIGTERM, -1) >= 0);
+ assert_se(sigprocmask(SIG_SETMASK, &mask, NULL) >= 0);
signal_fd = signalfd(-1, &mask, SFD_NONBLOCK|SFD_CLOEXEC);
if (signal_fd < 0)
diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
index 7e16922c70..5516a792eb 100644
--- a/src/udev/udev-event.c
+++ b/src/udev/udev-event.c
@@ -42,6 +42,7 @@ typedef struct Spawn {
pid_t pid;
usec_t timeout_warn;
usec_t timeout;
+ bool accept_failure;
} Spawn;
struct udev_event *udev_event_new(struct udev_device *dev) {
@@ -583,23 +584,24 @@ static int on_spawn_sigchld(sd_event_source *s, const siginfo_t *si, void *userd
switch (si->si_code) {
case CLD_EXITED:
- if (si->si_status != 0)
- log_warning("process '%s' failed with exit code %i.", spawn->cmd, si->si_status);
- else {
- log_debug("process '%s' succeeded.", spawn->cmd);
+ if (si->si_status == 0) {
+ log_debug("Process '%s' succeeded.", spawn->cmd);
sd_event_exit(sd_event_source_get_event(s), 0);
return 1;
- }
+ } else if (spawn->accept_failure)
+ log_debug("Process '%s' failed with exit code %i.", spawn->cmd, si->si_status);
+ else
+ log_warning("Process '%s' failed with exit code %i.", spawn->cmd, si->si_status);
break;
case CLD_KILLED:
case CLD_DUMPED:
- log_warning("process '%s' terminated by signal %s.", spawn->cmd, signal_to_string(si->si_status));
+ log_warning("Process '%s' terminated by signal %s.", spawn->cmd, signal_to_string(si->si_status));
break;
default:
- log_error("process '%s' failed due to unknown reason.", spawn->cmd);
+ log_error("Process '%s' failed due to unknown reason.", spawn->cmd);
}
sd_event_exit(sd_event_source_get_event(s), -EIO);
@@ -610,10 +612,12 @@ static int on_spawn_sigchld(sd_event_source *s, const siginfo_t *si, void *userd
static int spawn_wait(struct udev_event *event,
usec_t timeout_usec,
usec_t timeout_warn_usec,
- const char *cmd, pid_t pid) {
+ const char *cmd, pid_t pid,
+ bool accept_failure) {
Spawn spawn = {
.cmd = cmd,
.pid = pid,
+ .accept_failure = accept_failure,
};
_cleanup_event_unref_ sd_event *e = NULL;
int r, ret;
@@ -698,6 +702,7 @@ out:
int udev_event_spawn(struct udev_event *event,
usec_t timeout_usec,
usec_t timeout_warn_usec,
+ bool accept_failure,
const char *cmd, char **envp,
char *result, size_t ressize) {
int outpipe[2] = {-1, -1};
@@ -773,7 +778,7 @@ int udev_event_spawn(struct udev_event *event,
outpipe[READ_END], errpipe[READ_END],
result, ressize);
- err = spawn_wait(event, timeout_usec, timeout_warn_usec, cmd, pid);
+ err = spawn_wait(event, timeout_usec, timeout_warn_usec, cmd, pid, accept_failure);
}
out:
@@ -930,7 +935,7 @@ void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_
udev_event_apply_format(event, cmd, program, sizeof(program));
envp = udev_device_get_properties_envp(event->dev);
- udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, NULL, 0);
+ udev_event_spawn(event, timeout_usec, timeout_warn_usec, false, program, envp, NULL, 0);
}
}
}
diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
index 7be9a2311a..8ebc061eb1 100644
--- a/src/udev/udev-rules.c
+++ b/src/udev/udev-rules.c
@@ -641,7 +641,7 @@ static int import_program_into_properties(struct udev_event *event,
int err;
envp = udev_device_get_properties_envp(dev);
- err = udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, result, sizeof(result));
+ err = udev_event_spawn(event, timeout_usec, timeout_warn_usec, true, program, envp, result, sizeof(result));
if (err < 0)
return err;
@@ -2131,7 +2131,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules,
rules_str(rules, rule->rule.filename_off),
rule->rule.filename_line);
- if (udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, result, sizeof(result)) < 0) {
+ if (udev_event_spawn(event, timeout_usec, timeout_warn_usec, true, program, envp, result, sizeof(result)) < 0) {
if (cur->key.op != OP_NOMATCH)
goto nomatch;
} else {
diff --git a/src/udev/udev.h b/src/udev/udev.h
index 59751b4c90..3dca72e499 100644
--- a/src/udev/udev.h
+++ b/src/udev/udev.h
@@ -84,6 +84,7 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string,
int udev_event_spawn(struct udev_event *event,
usec_t timeout_usec,
usec_t timeout_warn_usec,
+ bool accept_failure,
const char *cmd, char **envp,
char *result, size_t ressize);
void udev_event_execute_rules(struct udev_event *event,
diff --git a/src/udev/udevd.c b/src/udev/udevd.c
index 2b1dbb8bf1..d3797bb5e6 100644
--- a/src/udev/udevd.c
+++ b/src/udev/udevd.c
@@ -1547,7 +1547,7 @@ static int manager_new(Manager **ret, int fd_ctrl, int fd_uevent, const char *cg
udev_watch_restore(manager->udev);
/* block and listen to all signals on signalfd */
- assert_se(sigprocmask_many(SIG_BLOCK, SIGTERM, SIGINT, SIGHUP, SIGCHLD, -1) == 0);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, SIGHUP, SIGCHLD, -1) >= 0);
r = sd_event_default(&manager->event);
if (r < 0)
diff --git a/test/sysv-generator-test.py b/test/sysv-generator-test.py
index e74f8533c7..af0493b9a8 100644
--- a/test/sysv-generator-test.py
+++ b/test/sysv-generator-test.py
@@ -60,6 +60,7 @@ class SysvGeneratorTest(unittest.TestCase):
'''
env = os.environ.copy()
env['SYSTEMD_LOG_LEVEL'] = 'debug'
+ env['SYSTEMD_LOG_TARGET'] = 'console'
env['SYSTEMD_SYSVINIT_PATH'] = self.init_d_dir
env['SYSTEMD_SYSVRCND_PATH'] = self.rcnd_dir
env['SYSTEMD_UNIT_PATH'] = self.unit_dir
diff --git a/tmpfiles.d/systemd-nspawn.conf b/tmpfiles.d/systemd-nspawn.conf
new file mode 100644
index 0000000000..5a3124a0fc
--- /dev/null
+++ b/tmpfiles.d/systemd-nspawn.conf
@@ -0,0 +1,23 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+# See tmpfiles.d(5) for details
+
+v /var/lib/machines 0700 - - -
+
+# Remove old temporary snapshots, but only at boot. Ideally we'd have
+# "self-destroying" btrfs snapshots that go away if the last last
+# reference to it does. To mimic a scheme like this at least remove
+# the old snapshots on fresh boots, where we know they cannot be
+# referenced anymore. Note that we actually remove all temporary files
+# in /var/lib/machines/ at boot, which should be safe since the
+# directory has defined semantics. In the root directory (where
+# systemd-nspawn --ephemeral places snapshots) we are more strict, to
+# avoid removing unrelated temporary files.
+
+R! /var/lib/machines/.#*
+R! /.#machine.*
diff --git a/tmpfiles.d/var.conf b/tmpfiles.d/var.conf
index 814652a22c..472680c3bf 100644
--- a/tmpfiles.d/var.conf
+++ b/tmpfiles.d/var.conf
@@ -18,6 +18,5 @@ f /var/log/btmp 0600 root utmp -
d /var/cache 0755 - - -
d /var/lib 0755 - - -
-v /var/lib/machines 0700 - - -
d /var/spool 0755 - - -