From f3dca9e3c3373a5817582d4b583077b8f9358604 Mon Sep 17 00:00:00 2001 From: Sven Eden Date: Mon, 31 Jul 2017 08:28:21 +0200 Subject: General: Update build system to upstream support of meson+ninja. Upstream thinks, that the auto tools are too 'legacy', or that they are at least no longer fitting. We follow, as the classic auto tools files have been removed, so no other choice here... --- .vimrc | 20 - .ycm_extra_conf.py | 67 - LICENSE.MIT | 19 - Makefile-man.am | 1166 --------------- Makefile.am | 1654 --------------------- README | 4 +- autogen.sh | 56 - coccinelle/free_and_replace.cocci | 15 - configure.ac | 906 ------------ docs/Makefile | 1 - docs/gtk-doc.make | 1 - m4/arch.m4 | 13 - m4/attributes.m4 | 289 ---- m4/ax_normalize_path.m4 | 115 -- m4/gtk-doc.m4 | 88 -- man/Makefile | 1 - man/meson.build | 218 +++ man/rules/meson.build | 5 + meson.build | 2847 +++++++++++++++++++++++++++++++++++++ meson_options.txt | 306 ++++ po/LINGUAS | 3 + po/POTFILES.in | 7 + po/ca.po | 525 +++++++ po/cs.po | 546 +++++++ po/hr.po | 2 +- po/hu.po | 110 +- po/meson.build | 12 + po/pl.po | 58 +- po/pt_BR.po | 240 ++-- po/sk.po | 556 ++++++++ po/sv.po | 197 +-- shell-completion/Makefile | 1 - shell-completion/bash/Makefile | 1 - shell-completion/bash/meson.build | 54 + shell-completion/zsh/Makefile | 1 - shell-completion/zsh/meson.build | 51 + src/Makefile | 28 - src/basic/Makefile | 1 - src/basic/errno-to-name.awk | 9 + src/basic/generate-errno-list.sh | 4 + src/basic/generate-gperfs.py | 16 + src/basic/meson.build | 424 ++++++ src/cgroups-agent/Makefile | 1 - src/core/Makefile | 1 - src/core/meson.build | 248 ++++ src/libelogind/Makefile | 1 - src/libelogind/meson.build | 144 ++ src/libelogind/sd-bus/Makefile | 1 - src/libelogind/sd-daemon/Makefile | 1 - src/libelogind/sd-event/Makefile | 1 - src/libelogind/sd-id128/Makefile | 1 - src/libelogind/sd-login/Makefile | 1 - src/login/Makefile | 1 - src/login/meson.build | 181 +++ src/shared/Makefile | 1 - src/shared/meson.build | 198 +++ src/sleep/Makefile | 1 - src/sleep/meson.build | 4 + src/systemd/Makefile | 1 - src/systemd/meson.build | 75 + src/test/Makefile | 1 - src/test/generate-sym-test.py | 23 + src/test/meson.build | 975 +++++++++++++ src/test/test-hashmap-ordered.awk | 11 + src/update-utmp/Makefile | 1 - src/update-utmp/meson.build | 4 + tools/make-directive-index.py | 89 +- tools/make-man-index.py | 25 +- tools/make-man-rules.py | 98 +- tools/meson-check-compilation.sh | 3 + tools/meson-check-help.sh | 20 + tools/meson-get-cg-controller.sh | 18 + tools/meson-git-contrib.sh | 8 + tools/meson-link-test.c | 1 + tools/meson-make-symlink.sh | 11 + tools/xml_helper.py | 1 + 76 files changed, 7946 insertions(+), 4842 deletions(-) delete mode 100644 .vimrc delete mode 100644 .ycm_extra_conf.py delete mode 100644 LICENSE.MIT delete mode 100644 Makefile-man.am delete mode 100644 Makefile.am delete mode 100755 autogen.sh delete mode 100644 coccinelle/free_and_replace.cocci delete mode 100644 configure.ac delete mode 120000 docs/Makefile delete mode 120000 docs/gtk-doc.make delete mode 100644 m4/arch.m4 delete mode 100644 m4/attributes.m4 delete mode 100644 m4/ax_normalize_path.m4 delete mode 100644 m4/gtk-doc.m4 delete mode 120000 man/Makefile create mode 100644 man/meson.build create mode 100644 man/rules/meson.build create mode 100644 meson.build create mode 100644 meson_options.txt create mode 100644 po/ca.po create mode 100644 po/cs.po create mode 100644 po/meson.build create mode 100644 po/sk.po delete mode 120000 shell-completion/Makefile delete mode 120000 shell-completion/bash/Makefile create mode 100644 shell-completion/bash/meson.build delete mode 120000 shell-completion/zsh/Makefile create mode 100644 shell-completion/zsh/meson.build delete mode 100644 src/Makefile delete mode 120000 src/basic/Makefile create mode 100644 src/basic/errno-to-name.awk create mode 100755 src/basic/generate-errno-list.sh create mode 100755 src/basic/generate-gperfs.py create mode 100644 src/basic/meson.build delete mode 120000 src/cgroups-agent/Makefile delete mode 120000 src/core/Makefile create mode 100644 src/core/meson.build delete mode 120000 src/libelogind/Makefile create mode 100644 src/libelogind/meson.build delete mode 120000 src/libelogind/sd-bus/Makefile delete mode 120000 src/libelogind/sd-daemon/Makefile delete mode 120000 src/libelogind/sd-event/Makefile delete mode 120000 src/libelogind/sd-id128/Makefile delete mode 120000 src/libelogind/sd-login/Makefile delete mode 120000 src/login/Makefile create mode 100644 src/login/meson.build delete mode 120000 src/shared/Makefile create mode 100644 src/shared/meson.build delete mode 120000 src/sleep/Makefile create mode 100644 src/sleep/meson.build delete mode 120000 src/systemd/Makefile create mode 100644 src/systemd/meson.build delete mode 120000 src/test/Makefile create mode 100755 src/test/generate-sym-test.py create mode 100644 src/test/meson.build create mode 100644 src/test/test-hashmap-ordered.awk delete mode 120000 src/update-utmp/Makefile create mode 100644 src/update-utmp/meson.build create mode 100755 tools/meson-check-compilation.sh create mode 100755 tools/meson-check-help.sh create mode 100755 tools/meson-get-cg-controller.sh create mode 100755 tools/meson-git-contrib.sh create mode 100644 tools/meson-link-test.c create mode 100755 tools/meson-make-symlink.sh diff --git a/.vimrc b/.vimrc deleted file mode 100644 index 284bf8849..000000000 --- a/.vimrc +++ /dev/null @@ -1,20 +0,0 @@ -" 'set exrc' in ~/.vimrc will read .vimrc from the current directory -" Warning: Enabling exrc is dangerous! You can do nearly everything from a -" vimrc configuration file, including write operations and shell execution. -" You should consider setting 'set secure' as well, which is highly -" recommended! - -" Note that we set a line width of 119 for .c and XML files, but for everything -" else (such as journal catalog files, unit files, README files) we stick to a -" more conservative 79 characters. - -" NOTE: If you update this file make sure to update .dir-locals.el and -" .editorconfig, too. - -set tabstop=8 -set shiftwidth=8 -set expandtab -set makeprg=GCC_COLORS=\ make -set tw=79 -au BufRead,BufNewFile *.xml set tw=119 shiftwidth=2 smarttab -au FileType c set tw=119 diff --git a/.ycm_extra_conf.py b/.ycm_extra_conf.py deleted file mode 100644 index 4edd3c8a7..000000000 --- a/.ycm_extra_conf.py +++ /dev/null @@ -1,67 +0,0 @@ -import itertools -import os -import subprocess - -def GetFlagsFromMakefile(varname): - return subprocess.check_output([ - "make", "-s", "print-%s" % varname]).decode().split() - - -def Flatten(lists): - return list(itertools.chain.from_iterable(lists)) - - -def DirectoryOfThisScript(): - return os.path.dirname(os.path.abspath(__file__)) - - -def MakeRelativePathsInFlagsAbsolute(flags, working_directory): - if not working_directory: - return flags - new_flags = [] - make_next_absolute = False - path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ] - for flag in flags: - new_flag = flag - - if make_next_absolute: - make_next_absolute = False - if not flag.startswith('/'): - new_flag = os.path.join(working_directory, flag) - - for path_flag in path_flags: - if flag == path_flag: - make_next_absolute = True - break - - if flag.startswith(path_flag): - path = flag[ len(path_flag): ] - new_flag = path_flag + os.path.join(working_directory, path) - break - - if new_flag: - new_flags.append(new_flag) - return new_flags - - -def FlagsForFile(filename): - relative_to = DirectoryOfThisScript() - - return { - 'flags': MakeRelativePathsInFlagsAbsolute(flags, relative_to), - 'do_cache': True - } - -flags = Flatten(map(GetFlagsFromMakefile, [ - 'AM_CPPFLAGS', - 'CPPFLAGS', - 'AM_CFLAGS', - 'CFLAGS', -])) - -# these flags cause crashes in libclang, so remove them -flags.remove('-Wlogical-op') -flags.remove('-Wsuggest-attribute=noreturn') -flags.remove('-Wdate-time') - -# vim: set et ts=2 sw=2: diff --git a/LICENSE.MIT b/LICENSE.MIT deleted file mode 100644 index fd44f736e..000000000 --- a/LICENSE.MIT +++ /dev/null @@ -1,19 +0,0 @@ -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation files -(the "Software"), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of the Software, -and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/Makefile-man.am b/Makefile-man.am deleted file mode 100644 index 2355ff8a6..000000000 --- a/Makefile-man.am +++ /dev/null @@ -1,1166 +0,0 @@ -# Do not edit. Generated by make-man-rules.py. -# To regenerate: -# 1. Create, update, or remove source .xml files in man/ -# 2. Run 'make update-man-list' -# 3. Run 'make man' to generate manpages -# -# To make a man page conditional on a configure switch add -# attribute conditional="ENABLE_WHAT" or conditional="WITH_WHAT" -# to element. -MANPAGES += \ - man/elogind.8 \ - man/loginctl.1 \ - man/logind.conf.5 \ - man/sd-bus.3 \ - man/sd-event.3 \ - man/sd_booted.3 \ - man/sd_bus_add_match.3 \ - man/sd_bus_creds_get_pid.3 \ - man/sd_bus_creds_new_from_pid.3 \ - man/sd_bus_default.3 \ - man/sd_bus_error.3 \ - man/sd_bus_error_add_map.3 \ - man/sd_bus_get_fd.3 \ - man/sd_bus_message_append.3 \ - man/sd_bus_message_append_array.3 \ - man/sd_bus_message_append_basic.3 \ - man/sd_bus_message_append_strv.3 \ - man/sd_bus_message_read_basic.3 \ - man/sd_bus_negotiate_fds.3 \ - man/sd_bus_new.3 \ - man/sd_bus_process.3 \ - man/sd_bus_request_name.3 \ - man/sd_bus_track_add_name.3 \ - man/sd_bus_track_new.3 \ - man/sd_event_add_child.3 \ - man/sd_event_add_defer.3 \ - man/sd_event_add_io.3 \ - man/sd_event_add_signal.3 \ - man/sd_event_add_time.3 \ - man/sd_event_exit.3 \ - man/sd_event_new.3 \ - man/sd_event_now.3 \ - man/sd_event_run.3 \ - man/sd_event_set_watchdog.3 \ - man/sd_event_source_get_event.3 \ - man/sd_event_source_get_pending.3 \ - man/sd_event_source_set_description.3 \ - man/sd_event_source_set_enabled.3 \ - man/sd_event_source_set_prepare.3 \ - man/sd_event_source_set_priority.3 \ - man/sd_event_source_set_userdata.3 \ - man/sd_event_source_unref.3 \ - man/sd_event_wait.3 \ - man/sd_id128_get_machine.3 \ - man/sd_id128_randomize.3 \ - man/sd_id128_to_string.3 \ - man/sd_is_fifo.3 \ - man/sd_listen_fds.3 \ - man/sd_machine_get_class.3 \ - man/sd_notify.3 \ - man/sd_watchdog_enabled.3 -MANPAGES_ALIAS += \ - man/SD_BUS_ERROR_END.3 \ - man/SD_BUS_ERROR_MAKE_CONST.3 \ - man/SD_BUS_ERROR_MAP.3 \ - man/SD_BUS_ERROR_NULL.3 \ - man/SD_EVENT_ARMED.3 \ - man/SD_EVENT_EXITING.3 \ - man/SD_EVENT_FINISHED.3 \ - man/SD_EVENT_INITIAL.3 \ - man/SD_EVENT_OFF.3 \ - man/SD_EVENT_ON.3 \ - man/SD_EVENT_ONESHOT.3 \ - man/SD_EVENT_PENDING.3 \ - man/SD_EVENT_PREPARING.3 \ - man/SD_EVENT_PRIORITY_IDLE.3 \ - man/SD_EVENT_PRIORITY_IMPORTANT.3 \ - man/SD_EVENT_PRIORITY_NORMAL.3 \ - man/SD_EVENT_RUNNING.3 \ - man/SD_LISTEN_FDS_START.3 \ - man/sd_bus_creds_get_audit_login_uid.3 \ - man/sd_bus_creds_get_audit_session_id.3 \ - man/sd_bus_creds_get_augmented_mask.3 \ - man/sd_bus_creds_get_cgroup.3 \ - man/sd_bus_creds_get_cmdline.3 \ - man/sd_bus_creds_get_comm.3 \ - man/sd_bus_creds_get_description.3 \ - man/sd_bus_creds_get_egid.3 \ - man/sd_bus_creds_get_euid.3 \ - man/sd_bus_creds_get_exe.3 \ - man/sd_bus_creds_get_fsgid.3 \ - man/sd_bus_creds_get_fsuid.3 \ - man/sd_bus_creds_get_gid.3 \ - man/sd_bus_creds_get_mask.3 \ - man/sd_bus_creds_get_owner_uid.3 \ - man/sd_bus_creds_get_ppid.3 \ - man/sd_bus_creds_get_selinux_context.3 \ - man/sd_bus_creds_get_session.3 \ - man/sd_bus_creds_get_sgid.3 \ - man/sd_bus_creds_get_slice.3 \ - man/sd_bus_creds_get_suid.3 \ - man/sd_bus_creds_get_supplementary_gids.3 \ - man/sd_bus_creds_get_tid.3 \ - man/sd_bus_creds_get_tid_comm.3 \ - man/sd_bus_creds_get_tty.3 \ - man/sd_bus_creds_get_uid.3 \ - man/sd_bus_creds_get_unique_name.3 \ - man/sd_bus_creds_get_unit.3 \ - man/sd_bus_creds_get_user_slice.3 \ - man/sd_bus_creds_get_user_unit.3 \ - man/sd_bus_creds_get_well_known_names.3 \ - man/sd_bus_creds_has_bounding_cap.3 \ - man/sd_bus_creds_has_effective_cap.3 \ - man/sd_bus_creds_has_inheritable_cap.3 \ - man/sd_bus_creds_has_permitted_cap.3 \ - man/sd_bus_creds_ref.3 \ - man/sd_bus_creds_unref.3 \ - man/sd_bus_creds_unrefp.3 \ - man/sd_bus_default_system.3 \ - man/sd_bus_default_user.3 \ - man/sd_bus_error_copy.3 \ - man/sd_bus_error_free.3 \ - man/sd_bus_error_get_errno.3 \ - man/sd_bus_error_has_name.3 \ - man/sd_bus_error_is_set.3 \ - man/sd_bus_error_map.3 \ - man/sd_bus_error_set.3 \ - man/sd_bus_error_set_const.3 \ - man/sd_bus_error_set_errno.3 \ - man/sd_bus_error_set_errnof.3 \ - man/sd_bus_error_set_errnofv.3 \ - man/sd_bus_error_setf.3 \ - man/sd_bus_message_append_array_iovec.3 \ - man/sd_bus_message_append_array_memfd.3 \ - man/sd_bus_message_append_array_space.3 \ - man/sd_bus_message_appendv.3 \ - man/sd_bus_negotiate_creds.3 \ - man/sd_bus_negotiate_timestamp.3 \ - man/sd_bus_open.3 \ - man/sd_bus_open_system.3 \ - man/sd_bus_open_system_machine.3 \ - man/sd_bus_open_system_remote.3 \ - man/sd_bus_open_user.3 \ - man/sd_bus_ref.3 \ - man/sd_bus_release_name.3 \ - man/sd_bus_track_add_sender.3 \ - man/sd_bus_track_contains.3 \ - man/sd_bus_track_count.3 \ - man/sd_bus_track_count_name.3 \ - man/sd_bus_track_count_sender.3 \ - man/sd_bus_track_first.3 \ - man/sd_bus_track_get_bus.3 \ - man/sd_bus_track_get_recursive.3 \ - man/sd_bus_track_get_userdata.3 \ - man/sd_bus_track_next.3 \ - man/sd_bus_track_ref.3 \ - man/sd_bus_track_remove_name.3 \ - man/sd_bus_track_remove_sender.3 \ - man/sd_bus_track_set_recursive.3 \ - man/sd_bus_track_set_userdata.3 \ - man/sd_bus_track_unref.3 \ - man/sd_bus_track_unrefp.3 \ - man/sd_bus_unref.3 \ - man/sd_bus_unrefp.3 \ - man/sd_event.3 \ - man/sd_event_add_exit.3 \ - man/sd_event_add_post.3 \ - man/sd_event_child_handler_t.3 \ - man/sd_event_default.3 \ - man/sd_event_dispatch.3 \ - man/sd_event_get_exit_code.3 \ - man/sd_event_get_iteration.3 \ - man/sd_event_get_state.3 \ - man/sd_event_get_tid.3 \ - man/sd_event_get_watchdog.3 \ - man/sd_event_handler_t.3 \ - man/sd_event_io_handler_t.3 \ - man/sd_event_loop.3 \ - man/sd_event_prepare.3 \ - man/sd_event_ref.3 \ - man/sd_event_signal_handler_t.3 \ - man/sd_event_source.3 \ - man/sd_event_source_get_child_pid.3 \ - man/sd_event_source_get_description.3 \ - man/sd_event_source_get_enabled.3 \ - man/sd_event_source_get_io_events.3 \ - man/sd_event_source_get_io_fd.3 \ - man/sd_event_source_get_io_revents.3 \ - man/sd_event_source_get_priority.3 \ - man/sd_event_source_get_signal.3 \ - man/sd_event_source_get_time.3 \ - man/sd_event_source_get_time_accuracy.3 \ - man/sd_event_source_get_time_clock.3 \ - man/sd_event_source_get_userdata.3 \ - man/sd_event_source_ref.3 \ - man/sd_event_source_set_io_events.3 \ - man/sd_event_source_set_io_fd.3 \ - man/sd_event_source_set_time.3 \ - man/sd_event_source_set_time_accuracy.3 \ - man/sd_event_source_unrefp.3 \ - man/sd_event_time_handler_t.3 \ - man/sd_event_unref.3 \ - man/sd_event_unrefp.3 \ - man/sd_id128_from_string.3 \ - man/sd_id128_get_boot.3 \ - man/sd_id128_get_invocation.3 \ - man/sd_id128_get_machine_app_specific.3 \ - man/sd_is_mq.3 \ - man/sd_is_socket.3 \ - man/sd_is_socket_inet.3 \ - man/sd_is_socket_sockaddr.3 \ - man/sd_is_socket_unix.3 \ - man/sd_is_special.3 \ - man/sd_listen_fds_with_names.3 \ - man/sd_machine_get_ifindices.3 \ - man/sd_notifyf.3 \ - man/sd_pid_notify.3 \ - man/sd_pid_notify_with_fds.3 \ - man/sd_pid_notifyf.3 -man/SD_BUS_ERROR_END.3: man/sd_bus_error_add_map.3 -man/SD_BUS_ERROR_MAKE_CONST.3: man/sd_bus_error.3 -man/SD_BUS_ERROR_MAP.3: man/sd_bus_error_add_map.3 -man/SD_BUS_ERROR_NULL.3: man/sd_bus_error.3 -man/SD_EVENT_ARMED.3: man/sd_event_wait.3 -man/SD_EVENT_EXITING.3: man/sd_event_wait.3 -man/SD_EVENT_FINISHED.3: man/sd_event_wait.3 -man/SD_EVENT_INITIAL.3: man/sd_event_wait.3 -man/SD_EVENT_OFF.3: man/sd_event_source_set_enabled.3 -man/SD_EVENT_ON.3: man/sd_event_source_set_enabled.3 -man/SD_EVENT_ONESHOT.3: man/sd_event_source_set_enabled.3 -man/SD_EVENT_PENDING.3: man/sd_event_wait.3 -man/SD_EVENT_PREPARING.3: man/sd_event_wait.3 -man/SD_EVENT_PRIORITY_IDLE.3: man/sd_event_source_set_priority.3 -man/SD_EVENT_PRIORITY_IMPORTANT.3: man/sd_event_source_set_priority.3 -man/SD_EVENT_PRIORITY_NORMAL.3: man/sd_event_source_set_priority.3 -man/SD_EVENT_RUNNING.3: man/sd_event_wait.3 -man/SD_LISTEN_FDS_START.3: man/sd_listen_fds.3 -man/sd_bus_creds_get_audit_login_uid.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_audit_session_id.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_augmented_mask.3: man/sd_bus_creds_new_from_pid.3 -man/sd_bus_creds_get_cgroup.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_cmdline.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_comm.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_description.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_egid.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_euid.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_exe.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_fsgid.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_fsuid.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_gid.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_mask.3: man/sd_bus_creds_new_from_pid.3 -man/sd_bus_creds_get_owner_uid.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_ppid.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_selinux_context.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_session.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_sgid.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_slice.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_suid.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_supplementary_gids.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_tid.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_tid_comm.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_tty.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_uid.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_unique_name.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_unit.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_user_slice.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_user_unit.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_get_well_known_names.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_has_bounding_cap.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_has_effective_cap.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_has_inheritable_cap.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_has_permitted_cap.3: man/sd_bus_creds_get_pid.3 -man/sd_bus_creds_ref.3: man/sd_bus_creds_new_from_pid.3 -man/sd_bus_creds_unref.3: man/sd_bus_creds_new_from_pid.3 -man/sd_bus_creds_unrefp.3: man/sd_bus_creds_new_from_pid.3 -man/sd_bus_default_system.3: man/sd_bus_default.3 -man/sd_bus_default_user.3: man/sd_bus_default.3 -man/sd_bus_error_copy.3: man/sd_bus_error.3 -man/sd_bus_error_free.3: man/sd_bus_error.3 -man/sd_bus_error_get_errno.3: man/sd_bus_error.3 -man/sd_bus_error_has_name.3: man/sd_bus_error.3 -man/sd_bus_error_is_set.3: man/sd_bus_error.3 -man/sd_bus_error_map.3: man/sd_bus_error_add_map.3 -man/sd_bus_error_set.3: man/sd_bus_error.3 -man/sd_bus_error_set_const.3: man/sd_bus_error.3 -man/sd_bus_error_set_errno.3: man/sd_bus_error.3 -man/sd_bus_error_set_errnof.3: man/sd_bus_error.3 -man/sd_bus_error_set_errnofv.3: man/sd_bus_error.3 -man/sd_bus_error_setf.3: man/sd_bus_error.3 -man/sd_bus_message_append_array_iovec.3: man/sd_bus_message_append_array.3 -man/sd_bus_message_append_array_memfd.3: man/sd_bus_message_append_array.3 -man/sd_bus_message_append_array_space.3: man/sd_bus_message_append_array.3 -man/sd_bus_message_appendv.3: man/sd_bus_message_append.3 -man/sd_bus_negotiate_creds.3: man/sd_bus_negotiate_fds.3 -man/sd_bus_negotiate_timestamp.3: man/sd_bus_negotiate_fds.3 -man/sd_bus_open.3: man/sd_bus_default.3 -man/sd_bus_open_system.3: man/sd_bus_default.3 -man/sd_bus_open_system_machine.3: man/sd_bus_default.3 -man/sd_bus_open_system_remote.3: man/sd_bus_default.3 -man/sd_bus_open_user.3: man/sd_bus_default.3 -man/sd_bus_ref.3: man/sd_bus_new.3 -man/sd_bus_release_name.3: man/sd_bus_request_name.3 -man/sd_bus_track_add_sender.3: man/sd_bus_track_add_name.3 -man/sd_bus_track_contains.3: man/sd_bus_track_add_name.3 -man/sd_bus_track_count.3: man/sd_bus_track_add_name.3 -man/sd_bus_track_count_name.3: man/sd_bus_track_add_name.3 -man/sd_bus_track_count_sender.3: man/sd_bus_track_add_name.3 -man/sd_bus_track_first.3: man/sd_bus_track_add_name.3 -man/sd_bus_track_get_bus.3: man/sd_bus_track_new.3 -man/sd_bus_track_get_recursive.3: man/sd_bus_track_new.3 -man/sd_bus_track_get_userdata.3: man/sd_bus_track_new.3 -man/sd_bus_track_next.3: man/sd_bus_track_add_name.3 -man/sd_bus_track_ref.3: man/sd_bus_track_new.3 -man/sd_bus_track_remove_name.3: man/sd_bus_track_add_name.3 -man/sd_bus_track_remove_sender.3: man/sd_bus_track_add_name.3 -man/sd_bus_track_set_recursive.3: man/sd_bus_track_new.3 -man/sd_bus_track_set_userdata.3: man/sd_bus_track_new.3 -man/sd_bus_track_unref.3: man/sd_bus_track_new.3 -man/sd_bus_track_unrefp.3: man/sd_bus_track_new.3 -man/sd_bus_unref.3: man/sd_bus_new.3 -man/sd_bus_unrefp.3: man/sd_bus_new.3 -man/sd_event.3: man/sd_event_new.3 -man/sd_event_add_exit.3: man/sd_event_add_defer.3 -man/sd_event_add_post.3: man/sd_event_add_defer.3 -man/sd_event_child_handler_t.3: man/sd_event_add_child.3 -man/sd_event_default.3: man/sd_event_new.3 -man/sd_event_dispatch.3: man/sd_event_wait.3 -man/sd_event_get_exit_code.3: man/sd_event_exit.3 -man/sd_event_get_iteration.3: man/sd_event_wait.3 -man/sd_event_get_state.3: man/sd_event_wait.3 -man/sd_event_get_tid.3: man/sd_event_new.3 -man/sd_event_get_watchdog.3: man/sd_event_set_watchdog.3 -man/sd_event_handler_t.3: man/sd_event_add_defer.3 -man/sd_event_io_handler_t.3: man/sd_event_add_io.3 -man/sd_event_loop.3: man/sd_event_run.3 -man/sd_event_prepare.3: man/sd_event_wait.3 -man/sd_event_ref.3: man/sd_event_new.3 -man/sd_event_signal_handler_t.3: man/sd_event_add_signal.3 -man/sd_event_source.3: man/sd_event_add_io.3 -man/sd_event_source_get_child_pid.3: man/sd_event_add_child.3 -man/sd_event_source_get_description.3: man/sd_event_source_set_description.3 -man/sd_event_source_get_enabled.3: man/sd_event_source_set_enabled.3 -man/sd_event_source_get_io_events.3: man/sd_event_add_io.3 -man/sd_event_source_get_io_fd.3: man/sd_event_add_io.3 -man/sd_event_source_get_io_revents.3: man/sd_event_add_io.3 -man/sd_event_source_get_priority.3: man/sd_event_source_set_priority.3 -man/sd_event_source_get_signal.3: man/sd_event_add_signal.3 -man/sd_event_source_get_time.3: man/sd_event_add_time.3 -man/sd_event_source_get_time_accuracy.3: man/sd_event_add_time.3 -man/sd_event_source_get_time_clock.3: man/sd_event_add_time.3 -man/sd_event_source_get_userdata.3: man/sd_event_source_set_userdata.3 -man/sd_event_source_ref.3: man/sd_event_source_unref.3 -man/sd_event_source_set_io_events.3: man/sd_event_add_io.3 -man/sd_event_source_set_io_fd.3: man/sd_event_add_io.3 -man/sd_event_source_set_time.3: man/sd_event_add_time.3 -man/sd_event_source_set_time_accuracy.3: man/sd_event_add_time.3 -man/sd_event_source_unrefp.3: man/sd_event_source_unref.3 -man/sd_event_time_handler_t.3: man/sd_event_add_time.3 -man/sd_event_unref.3: man/sd_event_new.3 -man/sd_event_unrefp.3: man/sd_event_new.3 -man/sd_id128_from_string.3: man/sd_id128_to_string.3 -man/sd_id128_get_boot.3: man/sd_id128_get_machine.3 -man/sd_id128_get_invocation.3: man/sd_id128_get_machine.3 -man/sd_id128_get_machine_app_specific.3: man/sd_id128_get_machine.3 -man/sd_is_mq.3: man/sd_is_fifo.3 -man/sd_is_socket.3: man/sd_is_fifo.3 -man/sd_is_socket_inet.3: man/sd_is_fifo.3 -man/sd_is_socket_sockaddr.3: man/sd_is_fifo.3 -man/sd_is_socket_unix.3: man/sd_is_fifo.3 -man/sd_is_special.3: man/sd_is_fifo.3 -man/sd_listen_fds_with_names.3: man/sd_listen_fds.3 -man/sd_machine_get_ifindices.3: man/sd_machine_get_class.3 -man/sd_notifyf.3: man/sd_notify.3 -man/sd_pid_notify.3: man/sd_notify.3 -man/sd_pid_notify_with_fds.3: man/sd_notify.3 -man/sd_pid_notifyf.3: man/sd_notify.3 -man/SD_BUS_ERROR_END.html: man/sd_bus_error_add_map.html - $(html-alias) - -man/SD_BUS_ERROR_MAKE_CONST.html: man/sd_bus_error.html - $(html-alias) - -man/SD_BUS_ERROR_MAP.html: man/sd_bus_error_add_map.html - $(html-alias) - -man/SD_BUS_ERROR_NULL.html: man/sd_bus_error.html - $(html-alias) - -man/SD_EVENT_ARMED.html: man/sd_event_wait.html - $(html-alias) - -man/SD_EVENT_EXITING.html: man/sd_event_wait.html - $(html-alias) - -man/SD_EVENT_FINISHED.html: man/sd_event_wait.html - $(html-alias) - -man/SD_EVENT_INITIAL.html: man/sd_event_wait.html - $(html-alias) - -man/SD_EVENT_OFF.html: man/sd_event_source_set_enabled.html - $(html-alias) - -man/SD_EVENT_ON.html: man/sd_event_source_set_enabled.html - $(html-alias) - -man/SD_EVENT_ONESHOT.html: man/sd_event_source_set_enabled.html - $(html-alias) - -man/SD_EVENT_PENDING.html: man/sd_event_wait.html - $(html-alias) - -man/SD_EVENT_PREPARING.html: man/sd_event_wait.html - $(html-alias) - -man/SD_EVENT_PRIORITY_IDLE.html: man/sd_event_source_set_priority.html - $(html-alias) - -man/SD_EVENT_PRIORITY_IMPORTANT.html: man/sd_event_source_set_priority.html - $(html-alias) - -man/SD_EVENT_PRIORITY_NORMAL.html: man/sd_event_source_set_priority.html - $(html-alias) - -man/SD_EVENT_RUNNING.html: man/sd_event_wait.html - $(html-alias) - -man/SD_LISTEN_FDS_START.html: man/sd_listen_fds.html - $(html-alias) - -man/sd_bus_creds_get_audit_login_uid.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_audit_session_id.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_augmented_mask.html: man/sd_bus_creds_new_from_pid.html - $(html-alias) - -man/sd_bus_creds_get_cgroup.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_cmdline.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_comm.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_description.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_egid.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_euid.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_exe.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_fsgid.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_fsuid.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_gid.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_mask.html: man/sd_bus_creds_new_from_pid.html - $(html-alias) - -man/sd_bus_creds_get_owner_uid.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_ppid.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_selinux_context.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_session.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_sgid.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_slice.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_suid.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_supplementary_gids.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_tid.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_tid_comm.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_tty.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_uid.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_unique_name.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_unit.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_user_slice.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_user_unit.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_get_well_known_names.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_has_bounding_cap.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_has_effective_cap.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_has_inheritable_cap.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_has_permitted_cap.html: man/sd_bus_creds_get_pid.html - $(html-alias) - -man/sd_bus_creds_ref.html: man/sd_bus_creds_new_from_pid.html - $(html-alias) - -man/sd_bus_creds_unref.html: man/sd_bus_creds_new_from_pid.html - $(html-alias) - -man/sd_bus_creds_unrefp.html: man/sd_bus_creds_new_from_pid.html - $(html-alias) - -man/sd_bus_default_system.html: man/sd_bus_default.html - $(html-alias) - -man/sd_bus_default_user.html: man/sd_bus_default.html - $(html-alias) - -man/sd_bus_error_copy.html: man/sd_bus_error.html - $(html-alias) - -man/sd_bus_error_free.html: man/sd_bus_error.html - $(html-alias) - -man/sd_bus_error_get_errno.html: man/sd_bus_error.html - $(html-alias) - -man/sd_bus_error_has_name.html: man/sd_bus_error.html - $(html-alias) - -man/sd_bus_error_is_set.html: man/sd_bus_error.html - $(html-alias) - -man/sd_bus_error_map.html: man/sd_bus_error_add_map.html - $(html-alias) - -man/sd_bus_error_set.html: man/sd_bus_error.html - $(html-alias) - -man/sd_bus_error_set_const.html: man/sd_bus_error.html - $(html-alias) - -man/sd_bus_error_set_errno.html: man/sd_bus_error.html - $(html-alias) - -man/sd_bus_error_set_errnof.html: man/sd_bus_error.html - $(html-alias) - -man/sd_bus_error_set_errnofv.html: man/sd_bus_error.html - $(html-alias) - -man/sd_bus_error_setf.html: man/sd_bus_error.html - $(html-alias) - -man/sd_bus_message_append_array_iovec.html: man/sd_bus_message_append_array.html - $(html-alias) - -man/sd_bus_message_append_array_memfd.html: man/sd_bus_message_append_array.html - $(html-alias) - -man/sd_bus_message_append_array_space.html: man/sd_bus_message_append_array.html - $(html-alias) - -man/sd_bus_message_appendv.html: man/sd_bus_message_append.html - $(html-alias) - -man/sd_bus_negotiate_creds.html: man/sd_bus_negotiate_fds.html - $(html-alias) - -man/sd_bus_negotiate_timestamp.html: man/sd_bus_negotiate_fds.html - $(html-alias) - -man/sd_bus_open.html: man/sd_bus_default.html - $(html-alias) - -man/sd_bus_open_system.html: man/sd_bus_default.html - $(html-alias) - -man/sd_bus_open_system_machine.html: man/sd_bus_default.html - $(html-alias) - -man/sd_bus_open_system_remote.html: man/sd_bus_default.html - $(html-alias) - -man/sd_bus_open_user.html: man/sd_bus_default.html - $(html-alias) - -man/sd_bus_ref.html: man/sd_bus_new.html - $(html-alias) - -man/sd_bus_release_name.html: man/sd_bus_request_name.html - $(html-alias) - -man/sd_bus_track_add_sender.html: man/sd_bus_track_add_name.html - $(html-alias) - -man/sd_bus_track_contains.html: man/sd_bus_track_add_name.html - $(html-alias) - -man/sd_bus_track_count.html: man/sd_bus_track_add_name.html - $(html-alias) - -man/sd_bus_track_count_name.html: man/sd_bus_track_add_name.html - $(html-alias) - -man/sd_bus_track_count_sender.html: man/sd_bus_track_add_name.html - $(html-alias) - -man/sd_bus_track_first.html: man/sd_bus_track_add_name.html - $(html-alias) - -man/sd_bus_track_get_bus.html: man/sd_bus_track_new.html - $(html-alias) - -man/sd_bus_track_get_recursive.html: man/sd_bus_track_new.html - $(html-alias) - -man/sd_bus_track_get_userdata.html: man/sd_bus_track_new.html - $(html-alias) - -man/sd_bus_track_next.html: man/sd_bus_track_add_name.html - $(html-alias) - -man/sd_bus_track_ref.html: man/sd_bus_track_new.html - $(html-alias) - -man/sd_bus_track_remove_name.html: man/sd_bus_track_add_name.html - $(html-alias) - -man/sd_bus_track_remove_sender.html: man/sd_bus_track_add_name.html - $(html-alias) - -man/sd_bus_track_set_recursive.html: man/sd_bus_track_new.html - $(html-alias) - -man/sd_bus_track_set_userdata.html: man/sd_bus_track_new.html - $(html-alias) - -man/sd_bus_track_unref.html: man/sd_bus_track_new.html - $(html-alias) - -man/sd_bus_track_unrefp.html: man/sd_bus_track_new.html - $(html-alias) - -man/sd_bus_unref.html: man/sd_bus_new.html - $(html-alias) - -man/sd_bus_unrefp.html: man/sd_bus_new.html - $(html-alias) - -man/sd_event.html: man/sd_event_new.html - $(html-alias) - -man/sd_event_add_exit.html: man/sd_event_add_defer.html - $(html-alias) - -man/sd_event_add_post.html: man/sd_event_add_defer.html - $(html-alias) - -man/sd_event_child_handler_t.html: man/sd_event_add_child.html - $(html-alias) - -man/sd_event_default.html: man/sd_event_new.html - $(html-alias) - -man/sd_event_dispatch.html: man/sd_event_wait.html - $(html-alias) - -man/sd_event_get_exit_code.html: man/sd_event_exit.html - $(html-alias) - -man/sd_event_get_iteration.html: man/sd_event_wait.html - $(html-alias) - -man/sd_event_get_state.html: man/sd_event_wait.html - $(html-alias) - -man/sd_event_get_tid.html: man/sd_event_new.html - $(html-alias) - -man/sd_event_get_watchdog.html: man/sd_event_set_watchdog.html - $(html-alias) - -man/sd_event_handler_t.html: man/sd_event_add_defer.html - $(html-alias) - -man/sd_event_io_handler_t.html: man/sd_event_add_io.html - $(html-alias) - -man/sd_event_loop.html: man/sd_event_run.html - $(html-alias) - -man/sd_event_prepare.html: man/sd_event_wait.html - $(html-alias) - -man/sd_event_ref.html: man/sd_event_new.html - $(html-alias) - -man/sd_event_signal_handler_t.html: man/sd_event_add_signal.html - $(html-alias) - -man/sd_event_source.html: man/sd_event_add_io.html - $(html-alias) - -man/sd_event_source_get_child_pid.html: man/sd_event_add_child.html - $(html-alias) - -man/sd_event_source_get_description.html: man/sd_event_source_set_description.html - $(html-alias) - -man/sd_event_source_get_enabled.html: man/sd_event_source_set_enabled.html - $(html-alias) - -man/sd_event_source_get_io_events.html: man/sd_event_add_io.html - $(html-alias) - -man/sd_event_source_get_io_fd.html: man/sd_event_add_io.html - $(html-alias) - -man/sd_event_source_get_io_revents.html: man/sd_event_add_io.html - $(html-alias) - -man/sd_event_source_get_priority.html: man/sd_event_source_set_priority.html - $(html-alias) - -man/sd_event_source_get_signal.html: man/sd_event_add_signal.html - $(html-alias) - -man/sd_event_source_get_time.html: man/sd_event_add_time.html - $(html-alias) - -man/sd_event_source_get_time_accuracy.html: man/sd_event_add_time.html - $(html-alias) - -man/sd_event_source_get_time_clock.html: man/sd_event_add_time.html - $(html-alias) - -man/sd_event_source_get_userdata.html: man/sd_event_source_set_userdata.html - $(html-alias) - -man/sd_event_source_ref.html: man/sd_event_source_unref.html - $(html-alias) - -man/sd_event_source_set_io_events.html: man/sd_event_add_io.html - $(html-alias) - -man/sd_event_source_set_io_fd.html: man/sd_event_add_io.html - $(html-alias) - -man/sd_event_source_set_time.html: man/sd_event_add_time.html - $(html-alias) - -man/sd_event_source_set_time_accuracy.html: man/sd_event_add_time.html - $(html-alias) - -man/sd_event_source_unrefp.html: man/sd_event_source_unref.html - $(html-alias) - -man/sd_event_time_handler_t.html: man/sd_event_add_time.html - $(html-alias) - -man/sd_event_unref.html: man/sd_event_new.html - $(html-alias) - -man/sd_event_unrefp.html: man/sd_event_new.html - $(html-alias) - -man/sd_id128_from_string.html: man/sd_id128_to_string.html - $(html-alias) - -man/sd_id128_get_boot.html: man/sd_id128_get_machine.html - $(html-alias) - -man/sd_id128_get_invocation.html: man/sd_id128_get_machine.html - $(html-alias) - -man/sd_id128_get_machine_app_specific.html: man/sd_id128_get_machine.html - $(html-alias) - -man/sd_is_mq.html: man/sd_is_fifo.html - $(html-alias) - -man/sd_is_socket.html: man/sd_is_fifo.html - $(html-alias) - -man/sd_is_socket_inet.html: man/sd_is_fifo.html - $(html-alias) - -man/sd_is_socket_sockaddr.html: man/sd_is_fifo.html - $(html-alias) - -man/sd_is_socket_unix.html: man/sd_is_fifo.html - $(html-alias) - -man/sd_is_special.html: man/sd_is_fifo.html - $(html-alias) - -man/sd_listen_fds_with_names.html: man/sd_listen_fds.html - $(html-alias) - -man/sd_machine_get_ifindices.html: man/sd_machine_get_class.html - $(html-alias) - -man/sd_notifyf.html: man/sd_notify.html - $(html-alias) - -man/sd_pid_notify.html: man/sd_notify.html - $(html-alias) - -man/sd_pid_notify_with_fds.html: man/sd_notify.html - $(html-alias) - -man/sd_pid_notifyf.html: man/sd_notify.html - $(html-alias) - - -if HAVE_PAM -MANPAGES += \ - man/pam_elogind.8 \ - man/sd_get_seats.3 \ - man/sd_login_monitor_new.3 \ - man/sd_pid_get_session.3 \ - man/sd_seat_get_active.3 \ - man/sd_session_is_active.3 \ - man/sd_uid_get_state.3 -MANPAGES_ALIAS += \ - man/sd_get_machine_names.3 \ - man/sd_get_sessions.3 \ - man/sd_get_uids.3 \ - man/sd_login_monitor.3 \ - man/sd_login_monitor_flush.3 \ - man/sd_login_monitor_get_events.3 \ - man/sd_login_monitor_get_fd.3 \ - man/sd_login_monitor_get_timeout.3 \ - man/sd_login_monitor_unref.3 \ - man/sd_login_monitor_unrefp.3 \ - man/sd_peer_get_cgroup.3 \ - man/sd_peer_get_machine_name.3 \ - man/sd_peer_get_owner_uid.3 \ - man/sd_peer_get_session.3 \ - man/sd_peer_get_slice.3 \ - man/sd_peer_get_unit.3 \ - man/sd_peer_get_user_slice.3 \ - man/sd_peer_get_user_unit.3 \ - man/sd_pid_get_cgroup.3 \ - man/sd_pid_get_machine_name.3 \ - man/sd_pid_get_owner_uid.3 \ - man/sd_pid_get_slice.3 \ - man/sd_pid_get_unit.3 \ - man/sd_pid_get_user_slice.3 \ - man/sd_pid_get_user_unit.3 \ - man/sd_seat_can_graphical.3 \ - man/sd_seat_can_multi_session.3 \ - man/sd_seat_can_tty.3 \ - man/sd_seat_get_sessions.3 \ - man/sd_session_get_class.3 \ - man/sd_session_get_desktop.3 \ - man/sd_session_get_display.3 \ - man/sd_session_get_remote_host.3 \ - man/sd_session_get_remote_user.3 \ - man/sd_session_get_seat.3 \ - man/sd_session_get_service.3 \ - man/sd_session_get_state.3 \ - man/sd_session_get_tty.3 \ - man/sd_session_get_type.3 \ - man/sd_session_get_uid.3 \ - man/sd_session_get_vt.3 \ - man/sd_session_is_remote.3 \ - man/sd_uid_get_display.3 \ - man/sd_uid_get_seats.3 \ - man/sd_uid_get_sessions.3 \ - man/sd_uid_is_on_seat.3 -man/sd_get_machine_names.3: man/sd_get_seats.3 -man/sd_get_sessions.3: man/sd_get_seats.3 -man/sd_get_uids.3: man/sd_get_seats.3 -man/sd_login_monitor.3: man/sd_login_monitor_new.3 -man/sd_login_monitor_flush.3: man/sd_login_monitor_new.3 -man/sd_login_monitor_get_events.3: man/sd_login_monitor_new.3 -man/sd_login_monitor_get_fd.3: man/sd_login_monitor_new.3 -man/sd_login_monitor_get_timeout.3: man/sd_login_monitor_new.3 -man/sd_login_monitor_unref.3: man/sd_login_monitor_new.3 -man/sd_login_monitor_unrefp.3: man/sd_login_monitor_new.3 -man/sd_peer_get_cgroup.3: man/sd_pid_get_session.3 -man/sd_peer_get_machine_name.3: man/sd_pid_get_session.3 -man/sd_peer_get_owner_uid.3: man/sd_pid_get_session.3 -man/sd_peer_get_session.3: man/sd_pid_get_session.3 -man/sd_peer_get_slice.3: man/sd_pid_get_session.3 -man/sd_peer_get_unit.3: man/sd_pid_get_session.3 -man/sd_peer_get_user_slice.3: man/sd_pid_get_session.3 -man/sd_peer_get_user_unit.3: man/sd_pid_get_session.3 -man/sd_pid_get_cgroup.3: man/sd_pid_get_session.3 -man/sd_pid_get_machine_name.3: man/sd_pid_get_session.3 -man/sd_pid_get_owner_uid.3: man/sd_pid_get_session.3 -man/sd_pid_get_slice.3: man/sd_pid_get_session.3 -man/sd_pid_get_unit.3: man/sd_pid_get_session.3 -man/sd_pid_get_user_slice.3: man/sd_pid_get_session.3 -man/sd_pid_get_user_unit.3: man/sd_pid_get_session.3 -man/sd_seat_can_graphical.3: man/sd_seat_get_active.3 -man/sd_seat_can_multi_session.3: man/sd_seat_get_active.3 -man/sd_seat_can_tty.3: man/sd_seat_get_active.3 -man/sd_seat_get_sessions.3: man/sd_seat_get_active.3 -man/sd_session_get_class.3: man/sd_session_is_active.3 -man/sd_session_get_desktop.3: man/sd_session_is_active.3 -man/sd_session_get_display.3: man/sd_session_is_active.3 -man/sd_session_get_remote_host.3: man/sd_session_is_active.3 -man/sd_session_get_remote_user.3: man/sd_session_is_active.3 -man/sd_session_get_seat.3: man/sd_session_is_active.3 -man/sd_session_get_service.3: man/sd_session_is_active.3 -man/sd_session_get_state.3: man/sd_session_is_active.3 -man/sd_session_get_tty.3: man/sd_session_is_active.3 -man/sd_session_get_type.3: man/sd_session_is_active.3 -man/sd_session_get_uid.3: man/sd_session_is_active.3 -man/sd_session_get_vt.3: man/sd_session_is_active.3 -man/sd_session_is_remote.3: man/sd_session_is_active.3 -man/sd_uid_get_display.3: man/sd_uid_get_state.3 -man/sd_uid_get_seats.3: man/sd_uid_get_state.3 -man/sd_uid_get_sessions.3: man/sd_uid_get_state.3 -man/sd_uid_is_on_seat.3: man/sd_uid_get_state.3 -man/sd_get_machine_names.html: man/sd_get_seats.html - $(html-alias) - -man/sd_get_sessions.html: man/sd_get_seats.html - $(html-alias) - -man/sd_get_uids.html: man/sd_get_seats.html - $(html-alias) - -man/sd_login_monitor.html: man/sd_login_monitor_new.html - $(html-alias) - -man/sd_login_monitor_flush.html: man/sd_login_monitor_new.html - $(html-alias) - -man/sd_login_monitor_get_events.html: man/sd_login_monitor_new.html - $(html-alias) - -man/sd_login_monitor_get_fd.html: man/sd_login_monitor_new.html - $(html-alias) - -man/sd_login_monitor_get_timeout.html: man/sd_login_monitor_new.html - $(html-alias) - -man/sd_login_monitor_unref.html: man/sd_login_monitor_new.html - $(html-alias) - -man/sd_login_monitor_unrefp.html: man/sd_login_monitor_new.html - $(html-alias) - -man/sd_peer_get_cgroup.html: man/sd_pid_get_session.html - $(html-alias) - -man/sd_peer_get_machine_name.html: man/sd_pid_get_session.html - $(html-alias) - -man/sd_peer_get_owner_uid.html: man/sd_pid_get_session.html - $(html-alias) - -man/sd_peer_get_session.html: man/sd_pid_get_session.html - $(html-alias) - -man/sd_peer_get_slice.html: man/sd_pid_get_session.html - $(html-alias) - -man/sd_peer_get_unit.html: man/sd_pid_get_session.html - $(html-alias) - -man/sd_peer_get_user_slice.html: man/sd_pid_get_session.html - $(html-alias) - -man/sd_peer_get_user_unit.html: man/sd_pid_get_session.html - $(html-alias) - -man/sd_pid_get_cgroup.html: man/sd_pid_get_session.html - $(html-alias) - -man/sd_pid_get_machine_name.html: man/sd_pid_get_session.html - $(html-alias) - -man/sd_pid_get_owner_uid.html: man/sd_pid_get_session.html - $(html-alias) - -man/sd_pid_get_slice.html: man/sd_pid_get_session.html - $(html-alias) - -man/sd_pid_get_unit.html: man/sd_pid_get_session.html - $(html-alias) - -man/sd_pid_get_user_slice.html: man/sd_pid_get_session.html - $(html-alias) - -man/sd_pid_get_user_unit.html: man/sd_pid_get_session.html - $(html-alias) - -man/sd_seat_can_graphical.html: man/sd_seat_get_active.html - $(html-alias) - -man/sd_seat_can_multi_session.html: man/sd_seat_get_active.html - $(html-alias) - -man/sd_seat_can_tty.html: man/sd_seat_get_active.html - $(html-alias) - -man/sd_seat_get_sessions.html: man/sd_seat_get_active.html - $(html-alias) - -man/sd_session_get_class.html: man/sd_session_is_active.html - $(html-alias) - -man/sd_session_get_desktop.html: man/sd_session_is_active.html - $(html-alias) - -man/sd_session_get_display.html: man/sd_session_is_active.html - $(html-alias) - -man/sd_session_get_remote_host.html: man/sd_session_is_active.html - $(html-alias) - -man/sd_session_get_remote_user.html: man/sd_session_is_active.html - $(html-alias) - -man/sd_session_get_seat.html: man/sd_session_is_active.html - $(html-alias) - -man/sd_session_get_service.html: man/sd_session_is_active.html - $(html-alias) - -man/sd_session_get_state.html: man/sd_session_is_active.html - $(html-alias) - -man/sd_session_get_tty.html: man/sd_session_is_active.html - $(html-alias) - -man/sd_session_get_type.html: man/sd_session_is_active.html - $(html-alias) - -man/sd_session_get_uid.html: man/sd_session_is_active.html - $(html-alias) - -man/sd_session_get_vt.html: man/sd_session_is_active.html - $(html-alias) - -man/sd_session_is_remote.html: man/sd_session_is_active.html - $(html-alias) - -man/sd_uid_get_display.html: man/sd_uid_get_state.html - $(html-alias) - -man/sd_uid_get_seats.html: man/sd_uid_get_state.html - $(html-alias) - -man/sd_uid_get_sessions.html: man/sd_uid_get_state.html - $(html-alias) - -man/sd_uid_is_on_seat.html: man/sd_uid_get_state.html - $(html-alias) - -endif - -if HAVE_PYTHON -MANPAGES += \ - man/elogind.directives.7 \ - man/elogind.index.7 -MANPAGES_ALIAS += \ - # - - -endif - -# Really, do not edit this file. - -EXTRA_DIST += \ - man/elogind.xml \ - man/less-variables.xml \ - man/libelogind-pkgconfig.xml \ - man/loginctl.xml \ - man/logind.conf.xml \ - man/pam_elogind.xml \ - man/sd-bus.xml \ - man/sd-event.xml \ - man/sd_booted.xml \ - man/sd_bus_add_match.xml \ - man/sd_bus_creds_get_pid.xml \ - man/sd_bus_creds_new_from_pid.xml \ - man/sd_bus_default.xml \ - man/sd_bus_error.xml \ - man/sd_bus_error_add_map.xml \ - man/sd_bus_get_fd.xml \ - man/sd_bus_message_append.xml \ - man/sd_bus_message_append_array.xml \ - man/sd_bus_message_append_basic.xml \ - man/sd_bus_message_append_strv.xml \ - man/sd_bus_message_read_basic.xml \ - man/sd_bus_negotiate_fds.xml \ - man/sd_bus_new.xml \ - man/sd_bus_process.xml \ - man/sd_bus_request_name.xml \ - man/sd_bus_track_add_name.xml \ - man/sd_bus_track_new.xml \ - man/sd_event_add_child.xml \ - man/sd_event_add_defer.xml \ - man/sd_event_add_io.xml \ - man/sd_event_add_signal.xml \ - man/sd_event_add_time.xml \ - man/sd_event_exit.xml \ - man/sd_event_new.xml \ - man/sd_event_now.xml \ - man/sd_event_run.xml \ - man/sd_event_set_watchdog.xml \ - man/sd_event_source_get_event.xml \ - man/sd_event_source_get_pending.xml \ - man/sd_event_source_set_description.xml \ - man/sd_event_source_set_enabled.xml \ - man/sd_event_source_set_prepare.xml \ - man/sd_event_source_set_priority.xml \ - man/sd_event_source_set_userdata.xml \ - man/sd_event_source_unref.xml \ - man/sd_event_wait.xml \ - man/sd_get_seats.xml \ - man/sd_id128_get_machine.xml \ - man/sd_id128_randomize.xml \ - man/sd_id128_to_string.xml \ - man/sd_is_fifo.xml \ - man/sd_listen_fds.xml \ - man/sd_login_monitor_new.xml \ - man/sd_machine_get_class.xml \ - man/sd_notify.xml \ - man/sd_pid_get_session.xml \ - man/sd_seat_get_active.xml \ - man/sd_session_is_active.xml \ - man/sd_uid_get_state.xml \ - man/sd_watchdog_enabled.xml \ - man/standard-conf.xml \ - man/standard-options.xml \ - man/user-system-options.xml diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index cbcfbe0fd..000000000 --- a/Makefile.am +++ /dev/null @@ -1,1654 +0,0 @@ -# -*- Mode: makefile; indent-tabs-mode: t -*- -# -# This file is part of elogind. -# -# Copyright 2010-2012 Lennart Poettering -# Copyright 2010-2012 Kay Sievers -# Copyright 2013 Zbigniew Jędrzejewski-Szmek -# Copyright 2013 David Strauss -# -# elogind 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. -# -# elogind 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 elogind; If not, see . - -ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} -AM_MAKEFLAGS = --no-print-directory -AUTOMAKE_OPTIONS = color-tests parallel-tests - -GCC_COLORS ?= 'ooh, shiny!' -export GCC_COLORS - -SUBDIRS = . po - -# remove targets if the command fails -.DELETE_ON_ERROR: - -# keep intermediate files -.SECONDARY: - -# Keep the test-suite.log -.PRECIOUS: $(TEST_SUITE_LOG) Makefile - -LIBELOGIND_CURRENT=19 -LIBELOGIND_REVISION=1 -LIBELOGIND_AGE=19 - -# Dirs of external packages -dbuspolicydir=@dbuspolicydir@ -dbussystemservicedir=@dbussystemservicedir@ -pamlibdir=@pamlibdir@ -pamconfdir=@pamconfdir@ -pkgconfigdatadir=$(datadir)/pkgconfig -pkgconfiglibdir=$(libdir)/pkgconfig -polkitpolicydir=$(datadir)/polkit-1/actions -polkitrulesdir=$(datadir)/polkit-1/rules.d -polkitpkladir=$(localstatedir)/lib/polkit-1/localauthority/10-vendor.d -bashcompletiondir=@bashcompletiondir@ -zshcompletiondir=@zshcompletiondir@ - -CGROUP_CONTROLLER=@cgroup_controller@ -PKTTYAGENT=$(bindir)/pkttyagent - -# Our own, non-special dirs -pkgsysconfdir=$(sysconfdir)/elogind -pkgincludedir=$(includedir)/elogind/systemd -udevrulesdir=@udevrulesdir@ -udevbindir=@udevbindir@ -udevlibexecdir=$(udevbindir) -udevhomedir=$(udevlibexecdir) -factory_pamdir = $(datadir)/factory/etc/pam.d - -# And these are the special ones for / - -rootprefix=@rootprefix@ -rootbindir=$(rootprefix)/bin -rootlibdir=@rootlibdir@ -rootlibexecdir=@rootlibexecdir@ -systemshutdowndir=$(rootlibexecdir)/system-shutdown -systemsleepdir=$(rootlibexecdir)/system-sleep - -EXTRA_DIST = -BUILT_SOURCES = -INSTALL_EXEC_HOOKS = -UNINSTALL_EXEC_HOOKS = -DISTCLEAN_LOCAL_HOOKS = -CLEAN_LOCAL_HOOKS = -pkginclude_HEADERS = -noinst_LTLIBRARIES = -lib_LTLIBRARIES = -noinst_DATA = -pkgconfiglib_DATA = -polkitpolicy_in_files = -polkitpolicy_files = -polkitrules_files = -polkitpkla_files = -dist_udevrules_DATA = -nodist_udevrules_DATA = -dist_pkgsysconf_DATA = -nodist_pkgsysconf_DATA = -dist_dbuspolicy_DATA = -dist_dbussystemservice_DATA = -check_PROGRAMS = -check_DATA = -dist_rootlibexec_DATA = -rootlib_LTLIBRARIES = -tests= -manual_tests = -TEST_DATA_FILES = -if ENABLE_TESTS -noinst_PROGRAMS = $(manual_tests) $(tests) $(unsafe_tests) -TESTS = $(tests) -if ENABLE_UNSAFE_TESTS -TESTS += \ - $(unsafe_tests) -endif -else -noinst_PROGRAMS = -TESTS = -endif - -if ENABLE_BASH_COMPLETION -dist_bashcompletion_DATA = $(dist_bashcompletion_data) -endif -if ENABLE_ZSH_COMPLETION -dist_zshcompletion_DATA = $(dist_zshcompletion_data) -endif - -in_files = $(filter %.in,$(EXTRA_DIST)) -in_in_files = $(filter %.in.in, $(in_files)) -m4_files = $(filter %.m4,$(EXTRA_DIST) $(in_files:.m4.in=.m4)) - -CLEANFILES = $(BUILT_SOURCES) \ - $(pkgconfiglib_DATA) \ - $(in_files:.in=) $(in_in_files:.in.in=) \ - $(m4_files:.m4=) - -.PHONY: $(INSTALL_EXEC_HOOKS) $(UNINSTALL_EXEC_HOOKS) \ - $(DISTCLEAN_LOCAL_HOOKS) $(CLEAN_LOCAL_HOOKS) - -AM_CPPFLAGS = \ - -include $(top_builddir)/config.h \ - -DPKGSYSCONFDIR=\"$(pkgsysconfdir)\" \ - -DSYSTEMD_CGROUP_CONTROLLER=\"_$(CGROUP_CONTROLLER)\" \ - -DSYSTEMD_CGROUP_CONTROLLER_LEGACY=\"name=$(CGROUP_CONTROLLER)\" \ - -DSYSTEMD_CGROUP_CONTROLLER_HYBRID=\"name=$(CGROUP_CONTROLLER)\" \ - -DSYSTEMD_CGROUP_AGENT_PATH=\"$(rootlibexecdir)/elogind-cgroups-agent\" \ - -DSYSTEMD_BINARY_PATH=\"$(rootlibexecdir)/elogind\" \ - -DUDEVLIBEXECDIR=\"$(udevlibexecdir)\" \ - -DPOLKIT_AGENT_BINARY_PATH=\"$(PKTTYAGENT)\" \ - -DSYSTEM_SLEEP_PATH=\"$(systemsleepdir)\" \ - -DSYSTEM_SHUTDOWN_PATH=\"$(systemshutdowndir)\" \ - -DHALT=\"$(HALT)\" \ - -DREBOOT=\"$(REBOOT)\" \ - -DKEXEC=\"$(KEXEC)\" \ - -DLIBDIR=\"$(libdir)\" \ - -DROOTLIBDIR=\"$(rootlibdir)\" \ - -DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \ - -DTEST_DIR=\"$(abs_top_srcdir)/test\" \ - -I $(top_srcdir)/src \ - -I $(top_builddir)/src/basic \ - -I $(top_srcdir)/src/basic \ - -I $(top_srcdir)/src/core \ - -I $(top_srcdir)/src/shared \ - -I $(top_builddir)/src/shared \ - -I $(top_srcdir)/src/login \ - -I $(top_srcdir)/src/systemd \ - -I $(top_srcdir)/src/libelogind/sd-bus \ - -I $(top_srcdir)/src/libelogind/sd-event \ - -I $(top_srcdir)/src/libelogind/sd-login \ - -I $(top_srcdir)/src/libelogind/sd-id128 \ - -I $(top_srcdir)/src/update-utmp \ - -I $(top_srcdir)/src/sleep \ - -DABS_SRC_DIR=\"$(abs_top_srcdir)\" \ - -DABS_BUILD_DIR=\"$(abs_top_builddir)\" \ - $(OUR_CPPFLAGS) - -AM_CFLAGS = $(OUR_CFLAGS) -AM_LDFLAGS = $(OUR_LDFLAGS) - -# ------------------------------------------------------------------------------ -install-touch-usr-hook: - touch -c $(DESTDIR)/$(prefix) - -INSTALL_EXEC_HOOKS += \ - install-touch-usr-hook - - -# ------------------------------------------------------------------------------ -AM_V_M4 = $(AM_V_M4_$(V)) -AM_V_M4_ = $(AM_V_M4_$(AM_DEFAULT_VERBOSITY)) -AM_V_M4_0 = @echo " M4 " $@; - -AM_V_XSLT = $(AM_V_XSLT_$(V)) -AM_V_XSLT_ = $(AM_V_XSLT_$(AM_DEFAULT_VERBOSITY)) -AM_V_XSLT_0 = @echo " XSLT " $@; - -AM_V_GPERF = $(AM_V_GPERF_$(V)) -AM_V_GPERF_ = $(AM_V_GPERF_$(AM_DEFAULT_VERBOSITY)) -AM_V_GPERF_0 = @echo " GPERF " $@; - -AM_V_LN = $(AM_V_LN_$(V)) -AM_V_LN_ = $(AM_V_LN_$(AM_DEFAULT_VERBOSITY)) -AM_V_LN_0 = @echo " LN " $@; - -AM_V_RM = $(AM_V_RM_$(V)) -AM_V_RM_ = $(AM_V_RM_$(AM_DEFAULT_VERBOSITY)) -AM_V_RM_0 = @echo " RM " $@; - -# ------------------------------------------------------------------------------ -rootbin_PROGRAMS = -rootlibexec_PROGRAMS = - -dist_doc_DATA = \ - README \ - NEWS \ - LICENSE.LGPL2.1 \ - LICENSE.GPL2 - -@INTLTOOL_POLICY_RULE@ - -# ------------------------------------------------------------------------------ - -MANPAGES = -MANPAGES_ALIAS = - -include Makefile-man.am - -.PHONY: man update-man-list -man: $(MANPAGES) $(MANPAGES_ALIAS) $(HTML_FILES) $(HTML_ALIAS) - -XML_FILES = \ - ${patsubst %.1,%.xml,${patsubst %.3,%.xml,${patsubst %.5,%.xml,${patsubst %.7,%.xml,${patsubst %.8,%.xml,$(MANPAGES)}}}}} -HTML_FILES = \ - ${XML_FILES:.xml=.html} -HTML_ALIAS = \ - ${patsubst %.1,%.html,${patsubst %.3,%.html,${patsubst %.5,%.html,${patsubst %.7,%.html,${patsubst %.8,%.html,$(MANPAGES_ALIAS)}}}}} - -if ENABLE_MANPAGES -man_MANS = \ - $(MANPAGES) \ - $(MANPAGES_ALIAS) - -noinst_DATA += \ - $(HTML_FILES) \ - $(HTML_ALIAS) \ - docs/html/man -endif - -CLEANFILES += \ - $(man_MANS) \ - $(HTML_FILES) \ - $(HTML_ALIAS) \ - docs/html/man - -docs/html/man: - $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_LN)$(LN_S) -f ../../man $@ - -man/index.html: man/elogind.index.html - $(AM_V_LN)$(LN_S) -f elogind.index.html $@ - -if HAVE_PYTHON -if ENABLE_MANPAGES -noinst_DATA += \ - man/index.html -endif -endif - -CLEANFILES += \ - man/index.html - -XML_GLOB := $(wildcard $(top_srcdir)/man/*.xml) -DIRECTIVE_FILE := man/elogind.directives.xml -INDEX_XML_FILE := man/elogind.index.xml -NON_INDEX_XML_FILES := $(DIRECTIVE_FILE) $(filter-out $(INDEX_XML_FILE) $(DIRECTIVE_FILE),$(XML_FILES)) -ALL_XML_FILES := $(INDEX_XML_FILE) $(DIRECTIVE_FILE) $(filter-out $(INDEX_XML_FILE) $(DIRECTIVE_FILE),$(XML_GLOB)) -SOURCE_XML_FILES := ${patsubst %,$(top_srcdir)/%,$(filter-out $(DIRECTIVE_FILE),$(NON_INDEX_XML_FILES))} - -# This target should only be run manually. It recreates Makefile-man.am -# file in the source directory based on all man/*.xml files. Run it after -# adding, removing, or changing the conditional in a man page. -update-man-list: $(top_srcdir)/tools/make-man-rules.py $(ALL_XML_FILES) man/custom-entities.ent - $(AM_V_GEN)$(PYTHON) $< $(ALL_XML_FILES) > $(top_srcdir)/Makefile-man.tmp - $(AM_V_at)mv $(top_srcdir)/Makefile-man.tmp $(top_srcdir)/Makefile-man.am - @echo "Makefile-man.am has been regenerated" - -$(INDEX_XML_FILE): $(top_srcdir)/tools/make-man-index.py $(NON_INDEX_XML_FILES) - $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_GEN)$(PYTHON) $< $@ $(filter-out $<,$^) - -$(DIRECTIVE_FILE): $(top_srcdir)/tools/make-directive-index.py man/custom-entities.ent $(SOURCE_XML_FILES) - $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_GEN)$(PYTHON) $< $@ $(SOURCE_XML_FILES) - -CLEANFILES += \ - $(INDEX_XML_FILE) \ - $(DIRECTIVE_FILE) - -EXTRA_DIST += \ - $(filter-out $(DIRECTIVE_FILE) $(INDEX_XML_FILE),$(XML_FILES)) \ - tools/make-man-index.py \ - tools/make-man-rules.py \ - tools/make-directive-index.py \ - tools/xml_helper.py \ - man/glib-event-glue.c - -# ------------------------------------------------------------------------------ -noinst_LTLIBRARIES += \ - libbasic.la - -libbasic_la_SOURCES = \ - src/basic/missing.h \ - src/basic/capability-util.c \ - src/basic/capability-util.h \ - src/basic/conf-files.c \ - src/basic/conf-files.h \ - src/basic/stdio-util.h \ - src/basic/hostname-util.h \ - src/basic/hostname-util.c \ - src/basic/unit-name.c \ - src/basic/unit-name.h \ - src/basic/unaligned.h \ - src/basic/util.c \ - src/basic/util.h \ - src/basic/io-util.c \ - src/basic/io-util.h \ - src/basic/string-util.c \ - src/basic/string-util.h \ - src/basic/parse-util.c \ - src/basic/parse-util.h \ - src/basic/fd-util.c \ - src/basic/fd-util.h \ - src/basic/user-util.c \ - src/basic/user-util.h \ - src/basic/dirent-util.c \ - src/basic/dirent-util.h \ - src/basic/xattr-util.c \ - src/basic/xattr-util.h \ - src/basic/proc-cmdline.c \ - src/basic/proc-cmdline.h \ - src/basic/fs-util.c \ - src/basic/fs-util.h \ - src/basic/syslog-util.c \ - src/basic/syslog-util.h \ - src/basic/stat-util.c \ - src/basic/stat-util.h \ - src/basic/mount-util.c \ - src/basic/mount-util.h \ - src/basic/hexdecoct.c \ - src/basic/hexdecoct.h \ - src/basic/extract-word.c \ - src/basic/extract-word.h \ - src/basic/escape.c \ - src/basic/escape.h \ - src/basic/path-util.c \ - src/basic/path-util.h \ - src/basic/parse-printf-format.c \ - src/basic/parse-printf-format.h \ - src/basic/time-util.c \ - src/basic/time-util.h \ - src/basic/locale-util.c \ - src/basic/locale-util.h \ - src/basic/umask-util.h \ - src/basic/signal-util.c \ - src/basic/signal-util.h \ - src/basic/string-table.c \ - src/basic/string-table.h \ - src/basic/mempool.c \ - src/basic/mempool.h \ - src/basic/hashmap.c \ - src/basic/hashmap.h \ - src/basic/hash-funcs.c \ - src/basic/hash-funcs.h \ - src/basic/siphash24.c \ - src/basic/siphash24.h \ - src/basic/prioq.c \ - src/basic/prioq.h \ - src/basic/strv.c \ - src/basic/strv.h \ - src/basic/env-util.c \ - src/basic/env-util.h \ - src/basic/log.c \ - src/basic/log.h \ - src/basic/bus-label.c \ - src/basic/bus-label.h \ - src/basic/exec-util.c \ - src/basic/exec-util.h \ - src/basic/virt.c \ - src/basic/virt.h \ - src/basic/smack-util.c \ - src/basic/smack-util.h \ - src/basic/utf8.c \ - src/basic/utf8.h \ - src/basic/gunicode.c \ - src/basic/gunicode.h \ - src/basic/socket-util.c \ - src/basic/socket-util.h \ - src/basic/fileio.c \ - src/basic/fileio.h \ - src/basic/mkdir.c \ - src/basic/mkdir.h \ - src/basic/cgroup-util.c \ - src/basic/cgroup-util.h \ - src/basic/errno-list.c \ - src/basic/errno-list.h \ - src/basic/terminal-util.c \ - src/basic/terminal-util.h \ - src/basic/login-util.h \ - src/basic/login-util.c \ - src/basic/audit-util.c \ - src/basic/audit-util.h \ - src/basic/memfd-util.c \ - src/basic/memfd-util.h \ - src/basic/process-util.c \ - src/basic/process-util.h \ - src/basic/random-util.c \ - src/basic/random-util.h \ - src/basic/verbs.c \ - src/basic/verbs.h \ - src/basic/label.c \ - src/basic/label.h \ - src/basic/selinux-util.c \ - src/basic/selinux-util.h \ - src/basic/mkdir-label.c \ - src/basic/fileio-label.c \ - src/basic/fileio-label.h \ - src/basic/rm-rf.c \ - src/basic/rm-rf.h \ - src/basic/copy.c \ - src/basic/copy.h \ - src/basic/alloc-util.h \ - src/basic/alloc-util.c \ - src/basic/format-util.h \ - src/basic/khash.h \ - src/basic/khash.c - -nodist_libbasic_la_SOURCES = \ - src/basic/errno-from-name.h \ - src/basic/errno-to-name.h - -libbasic_la_CFLAGS = \ - $(AM_CFLAGS) \ - $(SELINUX_CFLAGS) \ - $(CAP_CFLAGS) \ - -pthread - -libbasic_la_LDFLAGS = \ - $(CAP_LDFLAGS) - -libbasic_la_LIBADD = \ - $(SELINUX_LIBS) \ - $(CAP_LIBS) \ - -ldl \ - -lm - -# ----------------------------------------------------------------------------- -noinst_LTLIBRARIES += \ - libshared.la - -libshared_la_SOURCES = \ - src/shared/udev-util.h \ - src/shared/udev-util.c \ - src/shared/bus-util.c \ - src/shared/bus-util.h \ - src/shared/clean-ipc.c \ - src/shared/clean-ipc.h \ - src/shared/conf-parser.c \ - src/shared/conf-parser.h \ - src/shared/musl_missing.h \ - src/shared/musl_missing.c \ - src/shared/pager.c \ - src/shared/pager.h \ - src/shared/sleep-config.c \ - src/shared/sleep-config.h \ - src/shared/spawn-polkit-agent.c \ - src/shared/spawn-polkit-agent.h \ - src/shared/tests.h \ - src/shared/tests.c \ - src/shared/nsflags.h \ - src/shared/nsflags.c - -if HAVE_ACL -libshared_la_SOURCES += \ - src/shared/acl-util.c \ - src/shared/acl-util.h -endif - -libshared_la_CFLAGS = \ - $(AM_CFLAGS) \ - $(ACL_CFLAGS) - -libshared_la_LIBADD = \ - libelogind-internal.la \ - libbasic.la \ - $(UDEV_LIBS) \ - $(ACL_LIBS) - -noinst_LTLIBRARIES += \ - libelogind-shared.la - -libelogind_shared_la_SOURCES = \ - $(libbasic_la_SOURCES) \ - $(libshared_la_SOURCES) \ - $(libelogind_internal_la_SOURCES) - -libelogind_shared_la_CFLAGS = \ - $(AM_CFLAGS) \ - $(libbasic_la_CFLAGS) \ - $(libshared_la_CFLAGS) \ - $(libelogind_internal_la_CFLAGS) \ - $(libelogind_journal_internal_la_CFLAGS) \ - $(libudev_internal_la_CFLAGS) \ - $(ACL_CFLAGS) \ - $(SECCOMP_CFLAGS) \ - -fvisibility=default - -# We can't use libshared_la_LIBADD here because it would -# pull in libelogind*-internal.la -libelogind_shared_la_LIBADD = \ - $(libbasic_la_LIBADD) \ - $(libelogind_internal_la_LIBADD) \ - $(UDEV_LIBS) \ - $(ACL_LIBS) \ - $(SECCOMP_LIBS) - -libelogind_shared_la_LDFLAGS = \ - $(AM_LDFLAGS) - # ----------------------------------------------------------------------------- -gperf_txt_sources = \ - src/basic/errno-list.txt - -BUILT_SOURCES += \ - $(gperf_gperf_m4_sources:-gperf.gperf.m4=-gperf.c) \ - $(gperf_gperf_sources:-gperf.gperf=-gperf.c) \ - $(gperf_txt_sources:-list.txt=-from-name.h) \ - $(gperf_txt_sources:-list.txt=-to-name.h) - -CLEANFILES += \ - $(gperf_txt_sources:-list.txt=-from-name.gperf) -DISTCLEANFILES = \ - $(gperf_txt_sources) - -EXTRA_DIST += \ - $(gperf_gperf_m4_sources) \ - $(gperf_gperf_sources) - -CLEANFILES += \ - $(gperf_txt_sources) - -%-from-name.gperf: %-list.txt - $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct $(notdir $*)_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, %s\n", $$1, $$1 }' <$< >$@ - -%-from-name.h: %-from-name.gperf - $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_GPERF)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_$(notdir $*) -H hash_$(notdir $*)_name -p -C <$< >$@ - - -src/basic/errno-list.txt: - $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - $@ - -src/basic/errno-to-name.h: src/basic/errno-list.txt - $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} !/EDEADLOCK/ && !/EWOULDBLOCK/ && !/ENOTSUP/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' <$< >$@ - -# ------------------------------------------------------------------------------ - -manual_tests += \ - test-cgroup - -unsafe_tests = \ - test-ipcrm - -tests += \ - test-log \ - test-path-util \ - test-siphash24 \ - test-utf8 \ - test-ellipsize \ - test-util \ - test-exec-util \ - test-hexdecoct \ - test-escape \ - test-alloc-util \ - test-proc-cmdline \ - test-io-util \ - test-fs-util \ - test-stat-util \ - test-fd-util \ - test-string-util \ - test-extract-word \ - test-parse-util \ - test-user-util \ - test-process-util \ - test-strip-tab-ansi \ - test-prioq \ - test-hashmap \ - test-set \ - test-list \ - test-unaligned \ - test-conf-files \ - test-random-util \ - test-conf-parser \ - test-locale-util \ - test-copy \ - test-verbs \ - test-signal-util \ - test-selinux \ - test-sizeof - -TEST_DATA_FILES += \ - test/bus-policy/hello.conf \ - test/bus-policy/methods.conf \ - test/bus-policy/ownerships.conf \ - test/bus-policy/signals.conf \ - test/bus-policy/check-own-rules.conf \ - test/bus-policy/many-rules.conf \ - test/bus-policy/test.conf - - -EXTRA_DIST += \ - src/test/test-helper.h - -test_utf8_SOURCES = \ - src/test/test-utf8.c - -test_utf8_LDADD = \ - libelogind-shared.la - -test_locale_util_SOURCES = \ - src/test/test-locale-util.c - -test_locale_util_LDADD = \ - libelogind-shared.la - -test_copy_SOURCES = \ - src/test/test-copy.c - -# Link statically to ensure file is large -test_copy_LDADD = \ - libshared.la - -test_random_util_SOURCES = \ - src/test/test-random-util.c - -test_random_util_LDADD = \ - libelogind-shared.la - -test_util_SOURCES = \ - src/test/test-util.c - -test_util_LDADD = \ - libelogind-shared.la - -test_exec_util_SOURCES = \ - src/test/test-exec-util.c - -test_exec_util_LDADD = \ - libelogind-shared.la - -test_hexdecoct_SOURCES = \ - src/test/test-hexdecoct.c - -test_hexdecoct_LDADD = \ - libelogind-shared.la - -test_alloc_util_SOURCES = \ - src/test/test-alloc-util.c - -test_alloc_util_LDADD = \ - libelogind-shared.la - -test_io_util_SOURCES = \ - src/test/test-io-util.c - -test_io_util_LDADD = \ - libelogind-shared.la - -test_fs_util_SOURCES = \ - src/test/test-fs-util.c - -test_fs_util_LDADD = \ - libelogind-shared.la - -test_proc_cmdline_SOURCES = \ - src/test/test-proc-cmdline.c - -test_proc_cmdline_LDADD = \ - libelogind-shared.la - -test_fd_util_SOURCES = \ - src/test/test-fd-util.c - -test_fd_util_LDADD = \ - libelogind-shared.la - -test_stat_util_SOURCES = \ - src/test/test-stat-util.c - -test_stat_util_LDADD = \ - libelogind-shared.la - -test_escape_SOURCES = \ - src/test/test-escape.c - -test_escape_LDADD = \ - libelogind-shared.la - -test_string_util_SOURCES = \ - src/test/test-string-util.c - -test_string_util_LDADD = \ - libelogind-shared.la - -test_extract_word_SOURCES = \ - src/test/test-extract-word.c - -test_extract_word_LDADD = \ - libelogind-shared.la - -test_parse_util_SOURCES = \ - src/test/test-parse-util.c - -test_parse_util_LDADD = \ - libelogind-shared.la - -test_user_util_SOURCES = \ - src/test/test-user-util.c - -test_user_util_LDADD = \ - libelogind-shared.la - -test_process_util_SOURCES = \ - src/test/test-process-util.c - -test_process_util_LDADD = \ - libelogind-shared.la - -test_verbs_SOURCES = \ - src/test/test-verbs.c - -test_verbs_LDADD = \ - libelogind-shared.la - -test_signal_util_SOURCES = \ - src/test/test-signal-util.c - -test_signal_util_LDADD = \ - libelogind-shared.la - -test_selinux_SOURCES = \ - src/test/test-selinux.c - -test_selinux_LDADD = \ - libelogind-shared.la - -test_sizeof_SOURCES = \ - src/test/test-sizeof.c - -BUILT_SOURCES += \ - src/test/test-hashmap-ordered.c - -src/test/test-hashmap-ordered.c: src/test/test-hashmap-plain.c - $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_GEN)$(AWK) 'BEGIN { print "/* GENERATED FILE */\n#define ORDERED" } \ - { if (!match($$0, "^#include")) \ - gsub(/hashmap/, "ordered_hashmap"); \ - gsub(/HASHMAP/, "ORDERED_HASHMAP"); \ - gsub(/Hashmap/, "OrderedHashmap"); \ - print }' <$< >$@ - -nodist_test_hashmap_SOURCES = \ - src/test/test-hashmap-ordered.c - -test_hashmap_SOURCES = \ - src/test/test-hashmap.c \ - src/test/test-hashmap-plain.c - -test_hashmap_LDADD = \ - libelogind-shared.la - -test_set_SOURCES = \ - src/test/test-set.c - -test_set_LDADD = \ - libelogind-shared.la - -test_list_SOURCES = \ - src/test/test-list.c - -test_list_LDADD = \ - libelogind-shared.la - -test_unaligned_LDADD = \ - libelogind-shared.la - -test_unaligned_SOURCES = \ - src/test/test-unaligned.c - -test_prioq_SOURCES = \ - src/test/test-prioq.c - -test_prioq_LDADD = \ - libelogind-shared.la - -test_log_SOURCES = \ - src/test/test-log.c - -test_log_LDADD = \ - libelogind-shared.la - -test_ipcrm_SOURCES = \ - src/test/test-ipcrm.c - -test_ipcrm_LDADD = \ - libelogind-shared.la - -test_ellipsize_SOURCES = \ - src/test/test-ellipsize.c - -test_ellipsize_LDADD = \ - libelogind-shared.la - -test_strip_tab_ansi_SOURCES = \ - src/test/test-strip-tab-ansi.c - -test_strip_tab_ansi_LDADD = \ - libelogind-shared.la - -test_cgroup_SOURCES = \ - src/test/test-cgroup.c - -test_cgroup_LDADD = \ - libelogind-shared.la - -test_path_util_SOURCES = \ - src/test/test-path-util.c - -test_path_util_LDADD = \ - libelogind-shared.la - -test_siphash24_SOURCES = \ - src/test/test-siphash24.c - -test_siphash24_LDADD = \ - libelogind-shared.la - -test_conf_files_SOURCES = \ - src/test/test-conf-files.c - -test_conf_files_LDADD = \ - libelogind-shared.la - -test_conf_parser_SOURCES = \ - src/test/test-conf-parser.c - -test_conf_parser_LDADD = \ - libelogind-shared.la - -# ------------------------------------------------------------------------------ -## .PHONY so it always rebuilds it -.PHONY: coverage lcov-run lcov-report coverage-sync - -# run lcov from scratch, always -coverage: all - $(MAKE) lcov-run - $(MAKE) lcov-report - -coverage_dir = coverage -coverage_opts = --base-directory $(srcdir) --directory $(builddir) --rc 'geninfo_adjust_src_path=$(abspath $(srcdir))=>$(abspath $(builddir))' - -if ENABLE_COVERAGE -# reset run coverage tests -lcov-run: - @rm -rf $(coverage_dir) - lcov $(coverage_opts) --zerocounters - -$(MAKE) check - -# generate report based on current coverage data -lcov-report: - $(MKDIR_P) $(coverage_dir) - lcov $(coverage_opts) --compat-libtool --capture --no-external \ - | sed 's|$(abspath $(builddir))|$(abspath $(srcdir))|' > $(coverage_dir)/.lcov.info - lcov --remove $(coverage_dir)/.lcov.info --output-file $(coverage_dir)/.lcov-clean.info 'test-*' - genhtml -t "systemd test coverage" -o $(coverage_dir) $(coverage_dir)/.lcov-clean.info - @echo "Coverage report generated in $(abs_builddir)/$(coverage_dir)/index.html" - -# lcov doesn't work properly with vpath builds, make sure that bad -# output is not uploaded by mistake. -coverage-sync: coverage - test "$(builddir)" = "$(srcdir)" - rsync -rlv --delete --omit-dir-times coverage/ $(www_target)/coverage - -else -lcov-run lcov-report: - echo "Need to reconfigure with --enable-coverage" -endif - -# ------------------------------------------------------------------------------ - -if HAVE_PAM -dist_factory_pam_DATA = \ - factory/etc/pam.d/system-auth \ - factory/etc/pam.d/other -endif - -# ------------------------------------------------------------------------------ -rootlibexec_PROGRAMS += \ - elogind-cgroups-agent - -elogind_cgroups_agent_SOURCES = \ - src/cgroups-agent/cgroups-agent.c - -elogind_cgroups_agent_LDADD = \ - libelogind-shared.la - -# ------------------------------------------------------------------------------ -libelogind_internal_la_SOURCES = \ - src/systemd/sd-bus.h \ - src/systemd/sd-bus-protocol.h \ - src/systemd/sd-bus-vtable.h \ - src/systemd/sd-event.h \ - src/systemd/sd-login.h \ - src/systemd/sd-id128.h \ - src/systemd/sd-daemon.h \ - src/libelogind/libelogind.sym \ - src/libelogind/sd-bus/sd-bus.c \ - src/libelogind/sd-bus/bus-control.c \ - src/libelogind/sd-bus/bus-control.h \ - src/libelogind/sd-bus/bus-error.c \ - src/libelogind/sd-bus/bus-error.h \ - src/libelogind/sd-bus/bus-common-errors.h \ - src/libelogind/sd-bus/bus-common-errors.c \ - src/libelogind/sd-bus/bus-internal.c \ - src/libelogind/sd-bus/bus-internal.h \ - src/libelogind/sd-bus/bus-socket.c \ - src/libelogind/sd-bus/bus-socket.h \ - src/libelogind/sd-bus/bus-kernel.c \ - src/libelogind/sd-bus/bus-kernel.h \ - src/libelogind/sd-bus/bus-container.c \ - src/libelogind/sd-bus/bus-container.h \ - src/libelogind/sd-bus/bus-message.c \ - src/libelogind/sd-bus/bus-message.h \ - src/libelogind/sd-bus/bus-creds.c \ - src/libelogind/sd-bus/bus-creds.h \ - src/libelogind/sd-bus/bus-signature.c \ - src/libelogind/sd-bus/bus-signature.h \ - src/libelogind/sd-bus/bus-type.c \ - src/libelogind/sd-bus/bus-type.h \ - src/libelogind/sd-bus/bus-match.c \ - src/libelogind/sd-bus/bus-match.h \ - src/libelogind/sd-bus/bus-bloom.c \ - src/libelogind/sd-bus/bus-bloom.h \ - src/libelogind/sd-bus/bus-introspect.c \ - src/libelogind/sd-bus/bus-introspect.h \ - src/libelogind/sd-bus/bus-objects.c \ - src/libelogind/sd-bus/bus-objects.h \ - src/libelogind/sd-bus/bus-gvariant.c \ - src/libelogind/sd-bus/bus-gvariant.h \ - src/libelogind/sd-bus/bus-convenience.c \ - src/libelogind/sd-bus/bus-track.c \ - src/libelogind/sd-bus/bus-track.h \ - src/libelogind/sd-bus/bus-slot.c \ - src/libelogind/sd-bus/bus-slot.h \ - src/libelogind/sd-bus/bus-protocol.h \ - src/libelogind/sd-event/sd-event.c \ - src/libelogind/sd-id128/sd-id128.c \ - src/libelogind/sd-id128/id128-util.h \ - src/libelogind/sd-id128/id128-util.c \ - src/libelogind/sd-daemon/sd-daemon.c \ - src/libelogind/sd-login/sd-login.c - -noinst_LTLIBRARIES += \ - libelogind-internal.la - -EXTRA_DIST += \ - src/libelogind/libelogind.pc.in \ - src/libelogind/sd-bus/GVARIANT-SERIALIZATION - -libelogind_la_SOURCES = - -libelogind_la_LDFLAGS = \ - $(AM_LDFLAGS) \ - -version-info $(LIBELOGIND_CURRENT):$(LIBELOGIND_REVISION):$(LIBELOGIND_AGE) \ - -Wl,--version-script=$(top_srcdir)/src/libelogind/libelogind.sym - -libelogind_la_LIBADD = \ - libelogind-internal.la \ - libbasic.la - -pkgconfiglib_DATA += \ - src/libelogind/libelogind.pc - -pkginclude_HEADERS += \ - src/systemd/sd-login.h \ - src/systemd/sd-messages.h \ - src/systemd/sd-id128.h \ - src/systemd/_sd-common.h - -header-install-hook: - $(MKDIR_P) $(DESTDIR)/$(pkgincludedir) - cd $(DESTDIR)/$(includedir)/elogind && \ - for hdr in $(notdir $(pkginclude_HEADERS)) ; do \ - rm -f $$hdr ; \ - $(LN_S) systemd/$$hdr $$hdr ; \ - done - -header-uninstall-hook: - m -f $(DESTDIR)/$(includedir)/elogind/*.h - -INSTALL_EXEC_HOOKS += header-install-hook -UNINSTALL_EXEC_HOOKS += header-uninstall-hook - -rootlib_LTLIBRARIES += \ - libelogind.la - -tests += \ - test-bus-signature \ - test-bus-server \ - test-bus-match \ - test-bus-introspect \ - test-bus-vtable \ - test-bus-error \ - test-event - -test_bus_signature_SOURCES = \ - src/libelogind/sd-bus/test-bus-signature.c - -test_bus_signature_LDADD = \ - libelogind-shared.la - -test_bus_server_SOURCES = \ - src/libelogind/sd-bus/test-bus-server.c - -test_bus_server_LDADD = \ - libelogind-shared.la - -test_bus_vtable_SOURCES = \ - src/libelogind/sd-bus/test-bus-vtable.c - -test_bus_vtable_LDADD = \ - libelogind-shared.la - -test_bus_error_SOURCES = \ - src/libelogind/sd-bus/test-bus-error.c - -# Link statically because this test uses BUS_ERROR_MAP_ELF_REGISTER -test_bus_error_LDADD = \ - libshared.la - -test_bus_match_SOURCES = \ - src/libelogind/sd-bus/test-bus-match.c - -test_bus_match_LDADD = \ - libelogind-shared.la - -test_bus_introspect_SOURCES = \ - src/libelogind/sd-bus/test-bus-introspect.c - -test_bus_introspect_LDADD = \ - libelogind-shared.la - -test_event_SOURCES = \ - src/libelogind/sd-event/test-event.c - -test_event_LDADD = \ - libelogind-shared.la - -# ------------------------------------------------------------------------------ -test_id128_SOURCES = \ - src/test/test-id128.c - -test_id128_LDADD = \ - libelogind-shared.la - -tests += \ - test-id128 - -# ------------------------------------------------------------------------------ -test_hash_SOURCES = \ - src/test/test-hash.c - -test_hash_LDADD = \ - libelogind-shared.la - -tests += \ - test-hash - -# ------------------------------------------------------------------------------ -elogind_SOURCES = \ - src/login/logind.c \ - src/login/logind.h - -nodist_elogind_SOURCES = \ - src/login/logind-gperf.c - -elogind_LDADD = \ - libelogind-core.la - -libelogind_core_la_SOURCES = \ - src/core/cgroup.h \ - src/core/cgroup.c \ - src/core/mount-setup.h \ - src/core/mount-setup.c \ - src/login/elogind.c \ - src/login/elogind.h \ - src/login/elogind-dbus.c \ - src/login/elogind-dbus.h \ - src/login/logind-core.c \ - src/login/logind-device.c \ - src/login/logind-device.h \ - src/login/logind-button.c \ - src/login/logind-button.h \ - src/login/logind-action.c \ - src/login/logind-action.h \ - src/login/logind-seat.c \ - src/login/logind-seat.h \ - src/login/logind-session.c \ - src/login/logind-session.h \ - src/login/logind-session-device.c \ - src/login/logind-session-device.h \ - src/login/logind-user.c \ - src/login/logind-user.h \ - src/login/logind-inhibit.c \ - src/login/logind-inhibit.h \ - src/login/logind-dbus.c \ - src/login/logind-session-dbus.c \ - src/login/logind-seat-dbus.c \ - src/login/logind-user-dbus.c \ - src/login/logind-utmp.c \ - src/login/logind-acl.h \ - src/sleep/sleep.c \ - src/sleep/sleep.h - -if HAVE_UTMP -libelogind_core_la_SOURCES += \ - src/shared/utmp-wtmp.c \ - src/update-utmp/update-utmp.c -endif - -libelogind_core_la_LIBADD = \ - libelogind-shared.la - -if HAVE_ACL -libelogind_core_la_SOURCES += \ - src/login/logind-acl.c -endif - -noinst_LTLIBRARIES += \ - libelogind-core.la - -rootlibexec_PROGRAMS += \ - elogind - -loginctl_SOURCES = \ - src/login/eloginctl.c \ - src/login/eloginctl.h \ - src/login/loginctl.c \ - src/login/sysfs-show.h \ - src/login/sysfs-show.c - -loginctl_LDADD = \ - libelogind-shared.la - -rootbin_PROGRAMS += \ - loginctl - -dist_bashcompletion_data = \ - shell-completion/bash/loginctl - -dist_zshcompletion_data = \ - shell-completion/zsh/_loginctl \ - shell-completion/zsh/_elogind-inhibit - -elogind_inhibit_SOURCES = \ - src/login/inhibit.c - -elogind_inhibit_LDADD = \ - libelogind-shared.la - -rootbin_PROGRAMS += \ - elogind-inhibit - -test_login_SOURCES = \ - src/libelogind/sd-login/test-login.c - -test_login_LDADD = \ - libelogind-shared.la - -test_login_shared_SOURCES = \ - src/login/test-login-shared.c - -test_login_shared_LDADD = \ - libelogind-shared.la - -test_inhibit_SOURCES = \ - src/login/test-inhibit.c - -test_inhibit_LDADD = \ - libelogind-shared.la - -test_login_tables_SOURCES = \ - src/login/test-login-tables.c - -test_login_tables_LDADD = \ - libelogind-core.la - -manual_tests += \ - test-inhibit - -tests += \ - test-login \ - test-login-tables \ - test-login-shared - -if HAVE_PAM -pam_elogind_la_SOURCES = \ - src/login/pam_elogind.sym \ - src/login/pam_elogind.c - -pam_elogind_la_CFLAGS = \ - $(AM_CFLAGS) \ - $(PAM_CFLAGS) - -pam_elogind_la_LDFLAGS = \ - $(AM_LDFLAGS) \ - -module \ - -export-dynamic \ - -avoid-version \ - -shared \ - -Wl,--version-script=$(top_srcdir)/src/login/pam_elogind.sym - -pam_elogind_la_LIBADD = \ - libshared.la \ - $(PAM_LIBS) - -pamlib_LTLIBRARIES = \ - pam_elogind.la - -if ENABLE_PAM_CONFIG -dist_pamconf_DATA = \ - src/login/elogind-user -endif - -EXTRA_DIST += \ - src/login/elogind-user.m4 -endif - -dist_dbussystemservice_DATA += \ - src/login/org.freedesktop.login1.service - -dist_dbuspolicy_DATA += \ - src/login/org.freedesktop.login1.conf - -nodist_pkgsysconf_DATA += \ - src/login/logind.conf - -polkitpolicy_files += \ - src/login/org.freedesktop.login1.policy - -dist_udevrules_DATA += \ - src/login/70-uaccess.rules \ - src/login/70-power-switch.rules - -nodist_udevrules_DATA += \ - src/login/71-seat.rules \ - src/login/73-seat-late.rules - -polkitpolicy_in_files += \ - src/login/org.freedesktop.login1.policy.in - -gperf_gperf_sources = \ - src/login/logind-gperf.gperf - -EXTRA_DIST += \ - src/login/71-seat.rules.in \ - src/login/73-seat-late.rules.in \ - src/login/logind.conf.in - -# ------------------------------------------------------------------------------ -substitutions = \ - '|rootlibdir=$(rootlibdir)|' \ - '|rootlibexecdir=$(rootlibexecdir)|' \ - '|rootbindir=$(rootbindir)|' \ - '|bindir=$(bindir)|' \ - '|pkgsysconfdir=$(pkgsysconfdir)|' \ - '|pkgdatadir=$(pkgdatadir)|' \ - '|udevrulesdir=$(udevrulesdir)|' \ - '|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \ - '|PACKAGE_NAME=$(PACKAGE_NAME)|' \ - '|PACKAGE_URL=$(PACKAGE_URL)|' \ - '|prefix=$(prefix)|' \ - '|exec_prefix=$(exec_prefix)|' \ - '|libdir=$(libdir)|' \ - '|includedir=$(includedir)|' \ - '|rootprefix=$(rootprefix)|' \ - '|udevlibexecdir=$(udevlibexecdir)|' \ - '|KILL=$(KILL)|' \ - '|MKDIR_P=$(MKDIR_P)|' \ - '|KILL_USER_PROCESSES=$(KILL_USER_PROCESSES)|' \ - '|systemuidmax=$(SYSTEM_UID_MAX)|' \ - '|systemgidmax=$(SYSTEM_GID_MAX)|' - -SED_PROCESS = \ - $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ - $(SED) $(subst '|,-e 's|@,$(subst =,\@|,$(subst |',|g',$(substitutions)))) \ - -e '/^\#\# /d' \ - < $< > $@ - -man/%: man/%.in - $(SED_PROCESS) - -sysctl.d/%: sysctl.d/%.in - $(SED_PROCESS) - -%.pc: %.pc.in - $(SED_PROCESS) - -shell-completion/%: shell-completion/%.in - $(SED_PROCESS) - -%.rules: %.rules.in - $(SED_PROCESS) - -%.conf: %.conf.in - $(SED_PROCESS) - -%.sh: %.sh.in - $(SED_PROCESS) - $(AM_V_GEN)chmod +x $@ - -src/%.c: src/%.gperf - $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_GPERF)$(GPERF) < $< > $@ - -src/%: src/%.m4 - $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_M4)$(M4) -P $(M4_DEFINES) < $< > $@ - -sysusers.d/%: sysusers.d/%.m4 - $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_M4)$(M4) -P $(M4_DEFINES) < $< > $@ - -tmpfiles.d/%: tmpfiles.d/%.m4 - $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_M4)$(M4) -P $(M4_DEFINES) < $< > $@ - - -units/%: units/%.m4 - $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_M4)$(M4) -P $(M4_DEFINES) -DFOR_SYSTEM=1 < $< > $@ - -units/user/%: units/user/%.m4 - $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_M4)$(M4) -P $(M4_DEFINES) -DFOR_USER=1 < $< > $@ - -if ENABLE_POLKIT -nodist_polkitpolicy_DATA = \ - $(polkitpolicy_files) -polkitrules_DATA = $(polkitrules_files) -if ENABLE_POLKIT_PKLA -polkitpkla_DATA = $(polkitpkla_files) -endif -endif - -EXTRA_DIST += \ - $(polkitpolicy_in_files) - -# ------------------------------------------------------------------------------ -if ENABLE_MANPAGES -man/custom-entities.ent: configure.ac - $(AM_V_GEN)$(MKDIR_P) $(dir $@) - $(AM_V_GEN)(echo '' && \ - printf '$(subst '|,\n,$(substitutions))))') \ - > $@ # ' - -CLEANFILES += \ - man/custom-entities.ent - -XSLTPROC_FLAGS = \ - --nonet \ - --xinclude \ - --stringparam man.output.quietly 1 \ - --stringparam funcsynopsis.style ansi \ - --stringparam man.authors.section.enabled 0 \ - --stringparam man.copyright.section.enabled 0 \ - --stringparam elogind.version $(PACKAGE_VERSION) \ - --path '$(builddir)/man:$(srcdir)/man' - -XSLTPROC_PROCESS_MAN = \ - $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-man.xsl $< - -XSLTPROC_PROCESS_HTML = \ - $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $< - -man/%.1: man/%.xml man/custom-man.xsl man/custom-entities.ent - $(XSLTPROC_PROCESS_MAN) - -man/%.3: man/%.xml man/custom-man.xsl man/custom-entities.ent - $(XSLTPROC_PROCESS_MAN) - -man/%.5: man/%.xml man/custom-man.xsl man/custom-entities.ent - $(XSLTPROC_PROCESS_MAN) - -man/%.7: man/%.xml man/custom-man.xsl man/custom-entities.ent - $(XSLTPROC_PROCESS_MAN) - -man/%.8: man/%.xml man/custom-man.xsl man/custom-entities.ent - $(XSLTPROC_PROCESS_MAN) - -man/%.html: man/%.xml man/custom-html.xsl man/custom-entities.ent - $(XSLTPROC_PROCESS_HTML) - -define html-alias - $(AM_V_LN)$(LN_S) -f $(notdir $<) $@ -endef - -endif - -EXTRA_DIST += \ - man/custom-html.xsl \ - man/custom-man.xsl - -install-exec-hook: $(INSTALL_EXEC_HOOKS) - -uninstall-hook: $(UNINSTALL_EXEC_HOOKS) - -distclean-local: $(DISTCLEAN_LOCAL_HOOKS) - -clean-local: $(CLEAN_LOCAL_HOOKS) - rm -rf $(abs_srcdir)/install-tree - rm -f $(abs_srcdir)/hwdb/usb.ids $(abs_srcdir)/hwdb/pci.ids $(abs_srcdir)/hwdb/oui.txt \ - $(abs_srcdir)/hwdb/iab.txt - -DISTCHECK_CONFIGURE_FLAGS = \ - --with-dbuspolicydir=$$dc_install_base/$(dbuspolicydir) \ - --with-dbussystemservicedir=$$dc_install_base/$(dbussystemservicedir) \ - --with-bashcompletiondir=$$dc_install_base/$(bashcompletiondir) \ - --with-zshcompletiondir=$$dc_install_base/$(zshcompletiondir) \ - --with-pamlibdir=$$dc_install_base/$(pamlibdir) \ - --with-pamconfdir=$$dc_install_base/$(pamconfdir) \ - --with-rootprefix=$$dc_install_base - -if ENABLE_SPLIT_USR -DISTCHECK_CONFIGURE_FLAGS += \ - --enable-split-usr -else -DISTCHECK_CONFIGURE_FLAGS += \ - --disable-split-usr -endif - -.PHONY: dist-check-help -dist-check-help: $(rootbin_PROGRAMS) - for i in $(abspath $^); do \ - if $$i --help | grep -v 'default:' | grep -E -q '.{80}.' ; then \ - echo "$(basename $$i) --help output is too wide:"; \ - $$i --help | awk 'length > 80' | grep -E --color=yes '.{80}'; \ - exit 1; \ - fi; done - -include_compilers = "$(CC)" "$(CC) -ansi" "$(CC) -std=iso9899:1990" -public_headers = $(filter-out src/systemd/_sd-common.h, $(pkginclude_HEADERS) $(include_HEADERS)) -.PHONY: dist-check-includes -dist-check-includes: $(public_headers) - @res=0; \ - for i in $(abspath $^); do \ - for cc in $(include_compilers); do \ - echo "$$cc -o/dev/null -c -x c -include "$$i" - elogind-$(PACKAGE_VERSION)/$$f ; \ - chmod `stat -c '%a' elogind-$(PACKAGE_VERSION)-raw/$$f` \ - elogind-$(PACKAGE_VERSION)/$$f ; \ - done ; \ - for l in `find elogind-$(PACKAGE_VERSION)-raw/ -type l | \ - cut -d '/' -f 2-` ; do \ - $(MKDIR_P) elogind-$(PACKAGE_VERSION)/`dirname $$l` ; \ - cp -P elogind-$(PACKAGE_VERSION)-raw/$$l \ - elogind-$(PACKAGE_VERSION)/$$l ; \ - done ; \ - tar czf elogind-$(PACKAGE_VERSION).tar.gz elogind-$(PACKAGE_VERSION) ; \ - rm -rf elogind-$(PACKAGE_VERSION) elogind-$(PACKAGE_VERSION)-raw) ; \ - $(AM_V_at)mv /var/tmp/elogind-$(PACKAGE_VERSION).tar.gz ./ - -.PHONY: install-tree -install-tree: all - rm -rf $(abs_srcdir)/install-tree - $(MAKE) install DESTDIR=$(abs_srcdir)/install-tree - tree $(abs_srcdir)/install-tree - -# Let's run all tests of the test suite, but under valgrind. Let's -# exclude perl/python/shell scripts we have in there -.PHONY: valgrind-tests -valgrind-tests: $(TESTS) - $(AM_V_GEN)for f in $(filter-out %.pl %.py, $^); do \ - if $(LIBTOOL) --mode=execute file $$f | grep -q shell; then \ - echo -e "$${x}Skipping non-binary $$f"; else \ - echo -e "$${x}Running $$f"; \ - $(AM_TESTS_ENVIRONMENT) $(LIBTOOL) --mode=execute valgrind -q --leak-check=full --max-stackframe=5242880 --error-exitcode=55 $(builddir)/$$f ; fi; \ - x="\n\n"; \ - done - -exported-%: % - $(AM_V_GEN)$(NM) -g --defined-only $(builddir)/.libs/$(<:.la=.so) 2>&1 /dev/null | grep " T " | cut -d" " -f3 > $@ - -exported: $(addprefix exported-, $(rootlib_LTLIBRARIES)) - $(AM_V_GEN)cat $^ > $@ - -.PHONY: check-api-docs -check-api-docs: exported man - $(AM_V_GEN)for symbol in `cat exported` ; do \ - if test -f $(builddir)/man/$$symbol.html ; then \ - echo " Symbol $$symbol() is documented." ; \ - else \ - echo "‣ Symbol $$symbol() lacks documentation." ; \ - fi ; \ - done - -OBJECT_VARIABLES:=$(filter %_OBJECTS,$(.VARIABLES)) -ALL_OBJECTS:=$(foreach v,$(OBJECT_VARIABLES),$($(v))) - -undefined defined: $(ALL_OBJECTS) - $(AM_V_GEN)for f in $(ALL_OBJECTS) ; do \ - $(NM) -g --$@-only `echo $(builddir)/"$$f" | sed -e 's,\([^/]*\).lo$$,.libs/\1.o,'` ; \ - done | cut -c 20- | cut -d @ -f 1 | sort -u > $@ - -CLEANFILES += \ - defined \ - undefined - -.PHONY: check-api-unused -check-api-unused: defined undefined exported - ( cat exported undefined ) | sort -u | diff -u - defined | grep ^+ | grep -v ^+++ | cut -c2- - -.PHONY: check-includes -check-includes: $(top_srcdir)/tools/check-includes.pl - $(AM_V_GEN) find * -name '*.[hcS]' -type f -print | sort -u \ - | xargs $(top_srcdir)/tools/check-includes.pl - -EXTRA_DIST += \ - $(top_srcdir)/tools/check-includes.pl - -# Stupid test that everything purported to be exported really is -define generate-sym-test - $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_at)printf '#include \n' > $@ - $(AM_V_at)printf '#include "%s"\n' $(notdir $(filter %.h, $^)) >> $@ - $(AM_V_at)printf 'void* functions[] = {\n' >> $@ - $(AM_V_GEN)sed -r -n 's/^ +([a-zA-Z0-9_]+);/\1,/p' $< >> $@ - $(AM_V_at)printf '};\nint main(void) {\n' >> $@ - $(AM_V_at)printf 'unsigned i; for (i=0;i> $@ - $(AM_V_at)printf 'return 0; }\n' >> $@ -endef - -test-libelogind-sym.c: \ - $(top_builddir)/src/libelogind/libelogind.sym \ - src/systemd/sd-daemon.h \ - src/systemd/sd-login.h \ - src/systemd/sd-bus.h \ - src/systemd/sd-event.h - $(generate-sym-test) - -test_libelogind_sym_SOURCES = \ - test-libelogind-sym.c -test_libelogind_sym_LDADD = \ - libelogind.la - -BUILT_SOURCES += \ - $(test_libelogind_sym_SOURCES) - -tests += \ - test-libelogind-sym - -.PHONY: install-tests -install-tests: $(tests) $(TEST_DATA_FILES) - for f in $(tests); do \ - if [ -x $(top_builddir)/.libs/$$f ]; then \ - install -D -m 755 $(top_builddir)/.libs/$$f $(DESTDIR)/$(testsdir)/$$f; \ - else \ - install -D -m 755 $(top_builddir)/$$f $(DESTDIR)/$(testsdir)/$$f; \ - fi; \ - done - for f in $(TEST_DATA_FILES); do \ - install -D -m 644 $(top_srcdir)/$$f $(DESTDIR)/$(testsdir)/testdata/$${f#test/}; \ - done - -.PHONY: cccc cppcheck -cccc: all - cccc --outdir=$(top_builddir)/cccc \ - `find $(top_srcdir)/src/ -name '*.h' -or -name '*.c'` - -cppcheck: - cppcheck --enable=all -q \ - -I $(top_srcdir)/src \ - -I $(top_builddir)/src/basic \ - -I $(top_srcdir)/src/basic \ - -I $(top_srcdir)/src/core \ - -I $(top_srcdir)/src/shared \ - -I $(top_builddir)/src/shared \ - -I $(top_srcdir)/src/login \ - -I $(top_srcdir)/src/systemd \ - -I $(top_srcdir)/src/libelogind/sd-bus \ - -I $(top_srcdir)/src/libelogind/sd-event \ - -I $(top_srcdir)/src/libelogind/sd-login \ - -I $(top_srcdir)/src/libelogind/sd-id128 \ - -I $(top_srcdir)/src/update-utmp \ - -I $(top_srcdir)/src/sleep \ - --force \ - $(top_srcdir) - -# Used to extract compile flags for YCM. -print-%: - @echo $($*) - -git-contrib: - @git shortlog -s `git describe --abbrev=0`.. | cut -c8- | sed 's/ / /g' | awk '{ print $$0 "," }' | sort -u - -EXTRA_DIST += \ - tools/gdb-sd_dump_hashmaps.py - -list-keys: - gpg --verbose --no-options --no-default-keyring --no-auto-key-locate --batch --trust-model=always --keyring=$(srcdir)/src/import/import-pubring.gpg --list-keys - -add-key: - gpg --verbose --no-options --no-default-keyring --no-auto-key-locate --batch --trust-model=always --keyring=$(srcdir)/src/import/import-pubring.gpg --import - diff --git a/README b/README index 0cd868ade..fcf93b690 100644 --- a/README +++ b/README @@ -147,9 +147,7 @@ License LGPLv2.1+ for all code - - except src/shared/MurmurHash2.c which is Public Domain - - except src/shared/siphash24.c which is CC0 Public Domain - - except src/journal/lookup3.c which is Public Domain + - except src/basic/siphash24.c which is CC0 Public Domain Dependencies ------------ diff --git a/autogen.sh b/autogen.sh deleted file mode 100755 index 7f9bbfc16..000000000 --- a/autogen.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh - -# This file is part of elogind -# -# elogind 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. -# -# elogind 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 elogind; If not, see . - -set -e - -oldpwd=$(pwd) -topdir=$(dirname $0) -cd $topdir - -intltoolize --force --automake -autoreconf --force --install --symlink - -libdir() { - echo $(cd "$1/$(gcc -print-multi-os-directory)"; pwd) -} - -args="\ ---sysconfdir=/etc \ ---localstatedir=/var \ ---libdir=$(libdir /usr/lib) \ -" - -if [ -f "$topdir/.config.args" ]; then - args="$args $(cat $topdir/.config.args)" -fi - -if [ ! -L /bin ]; then -args="$args \ ---with-rootprefix=/ \ ---with-rootlibdir=$(libdir /lib) \ -" -fi - -cd $oldpwd - -echo -echo "----------------------------------------------------------------" -echo "Initialized build system. For a common configuration please run:" -echo "----------------------------------------------------------------" -echo -echo "$topdir/configure CFLAGS='-g -O0 -ftrapv' --enable-kdbus $args" -echo diff --git a/coccinelle/free_and_replace.cocci b/coccinelle/free_and_replace.cocci deleted file mode 100644 index 9dcdbf4d4..000000000 --- a/coccinelle/free_and_replace.cocci +++ /dev/null @@ -1,15 +0,0 @@ -@@ -expression p, q; -@@ -- free(p); -- p = q; -- q = NULL; -- return 0; -+ return free_and_replace(p, q); -@@ -expression p, q; -@@ -- free(p); -- p = q; -- q = NULL; -+ free_and_replace(p, q); diff --git a/configure.ac b/configure.ac deleted file mode 100644 index 7106d3682..000000000 --- a/configure.ac +++ /dev/null @@ -1,906 +0,0 @@ -# -# This file is part of elogind. -# -# Copyright 2010-2012 Lennart Poettering -# Copyright 2010-2012 Kay Sievers -# -# elogind 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. -# -# elogind 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 . - -AC_PREREQ([2.64]) - -AC_INIT([elogind], - [234.1], - [https://github.com/elogind/elogind/issues], - [elogind], - [https://github.com/elogind/elogind]) - -AC_CONFIG_SRCDIR([src/login/logind.c]) -AC_CONFIG_MACRO_DIR([m4]) -AC_CONFIG_HEADERS([config.h]) -AC_CONFIG_AUX_DIR([build-aux]) - -AC_USE_SYSTEM_EXTENSIONS -AC_SYS_LARGEFILE -AC_PREFIX_DEFAULT([/usr]) -AM_MAINTAINER_MODE([enable]) -AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax no-dist-gzip dist-xz subdir-objects parallel-tests]) -AM_SILENT_RULES([yes]) -AC_CANONICAL_HOST -AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.]) - -AC_PROG_CC_C99 - -AX_COMPILER_VENDOR -AS_IF([test "x$ax_cv_c_compiler_vendor" = "xgnu"], [ - AC_CHECK_TOOLS([AR], [gcc-ar ar], [:]) - AC_CHECK_TOOLS([NM], [gcc-nm nm], [:]) - AC_CHECK_TOOLS([RANLIB], [gcc-ranlib ranlib], [:]) -]) - -LT_PREREQ(2.2) -LT_INIT([disable-static]) - -AS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not supported by elogind])]) -AS_IF([test "x$enable_largefile" = "xno"], [AC_MSG_ERROR([--disable-largefile is not supported by elogind])]) - -SET_ARCH(X86_64, x86_64*) -SET_ARCH(IA32, i*86*) -SET_ARCH(MIPS, mips*) -SET_ARCH(AARCH64, aarch64*) - -# i18n stuff for the PolicyKit policy files, check whether intltool can be found, disable NLS otherwise -AC_CHECK_PROG(intltool_found, [intltool-merge], [yes], [no]) -AS_IF([test x"$intltool_found" != xyes], - [AS_IF([test x"$enable_nls" = xyes], - [AC_MSG_ERROR([--enable-nls requested but intltool not found])], - [AS_IF([test x"$enable_nls" != xno], - [AC_MSG_WARN([*** Disabling NLS support because intltool was not found]) - enable_nls=no]) - ]) - ]) - -AM_NLS -AS_IF([test x"$enable_nls" != xno -o "x$enable_polkit" != xno], [ - # intltoolize greps for '^(AC|IT)_PROG_INTLTOOL', so it needs to be on its own line -IT_PROG_INTLTOOL([0.40.0]) -]) - -AS_IF([test -z "$INTLTOOL_POLICY_RULE"], [ - # If intltool is not available, provide a dummy rule to fail generation of %.policy files with a meaningful error message - INTLTOOL_POLICY_RULE='%.policy: %.policy.in ; @echo " ITMRG " $@ && echo "*** intltool support required to build target $@" && false' - AC_SUBST(INTLTOOL_POLICY_RULE) -]) - -GETTEXT_PACKAGE=elogind -AC_SUBST(GETTEXT_PACKAGE) -AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [elogind]) - -AC_PROG_MKDIR_P -AC_PROG_LN_S -AC_PROG_SED -AC_PROG_GREP -AC_PROG_AWK - -AC_PATH_PROG([M4], [m4]) -AC_PATH_PROG([XSLTPROC], [xsltproc]) - -AC_PATH_PROG([HALT], [halt], [halt]) -AC_PATH_PROG([REBOOT], [reboot], [reboot]) -AC_PATH_PROG([KEXEC], [kexec], [/usr/sbin/kexec], [$PATH:/usr/sbin:/sbin]) - -AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't support --relative ***])]) - -M4_DEFINES= - -AC_CHECK_TOOL(OBJCOPY, objcopy) -AC_CHECK_TOOL(GPERF, gperf) -if test -z "$GPERF" ; then - AC_MSG_ERROR([*** gperf not found]) -fi - - -# ------------------------------------------------------------------------------ -# Let users set the cgroup controller to use, in case the target controller -# isn't currently running the show. -# Example: Gentoo Linux, user wants to switch from systemd to openrc+elogind, -# and emerges elogind before having booted the machine with openrc. -# See: https://github.com/elogind/elogind/issues/18 -with_cgroupctrl= -AC_ARG_WITH([cgroup-controller], - AS_HELP_STRING([--with-cgroup-controller=name], - [Set the name of the cgroup controller to use. - Use this when the autodetection fails, or you plan to use your system with a different controller than the one in place now. - The value 'auto' (default) detects the running controller. - The values 'none' and 'elogind' will cause elogind to be its own (very limited) controller. - When elogind shall be its own controller, there *MUST NOT* be any other controller running! - Another popular controller would be 'openrc'.]), - [with_cgroupctrl=$withval], - [with_cgroupctrl=auto]) - -# ------------------------------------------------------------------------------ -# Find running cgroup controller, if none was set -AS_IF( [test "x$with_cgroupctrl" = "xauto"], [ - AS_IF([test -f /proc/self/cgroup], [ - # If the init system is a cgroup controler, it will be position 1. - # Secondary controllers, like cgmanager, do not work. - with_cgroupctrl=`grep "^1:name=" /proc/self/cgroup | \ - sed -n 's/.*=//p' | sed -e 's/:.*$//'` - AS_IF( [test -z "$with_cgroupctrl"], [ - # Try to be our own cgroup controller - with_cgroupctrl="elogind" - ]) - ], [ - # 'auto' but no cgroup fs is a problem. - with_cgroupctrl="" - ]) -]) - -# If the user specified 'none', switch to 'elogind'. -# 'none' is allowed, as this means "there is no controller now" -AS_IF( [test "x$with_cgroupctrl" = "xnone"], [with_cgroupctrl=elogind]) - -# If this was not possible, /proc/self/cgroup not mounted yet, and 'auto' -# chosen, error out. -AS_IF( [test -z "$with_cgroupctrl"], - AC_MSG_ERROR([No running cgroup controller found])) - -# ------------------------------------------------------------------------------ -address_sanitizer_cflags= -address_sanitizer_cppflags= -address_sanitizer_ldflags= -AC_ARG_ENABLE(address-sanitizer, AS_HELP_STRING([--enable-address-sanitizer], [enable -fsanitize=address])) -AS_IF([test "x$enable_address_sanitizer" = "xyes"], [ - CC_CHECK_FLAG_APPEND([with_as_cflags], [CFLAGS], [-fsanitize=address]) - AS_IF([test -z "$with_as_cflags"], - [AC_MSG_ERROR([*** -fsanitize=address is not supported])]) - address_sanitizer_cflags="$with_as_cflags -fno-omit-frame-pointer -DVALGRIND=1" - address_sanitizer_cppflags="-DVALGRIND=1" - address_sanitizer_ldflags="-Wc,-fsanitize=address" - ]) - -undefined_sanitizer_cflags= -undefined_sanitizer_cppflags= -undefined_sanitizer_ldflags= -AC_ARG_ENABLE(undefined-sanitizer, AS_HELP_STRING([--enable-undefined-sanitizer], [enable -fsanitize=undefined])) -AS_IF([test "x$enable_undefined_sanitizer" = "xyes"], [ - CC_CHECK_FLAG_APPEND([with_us_cflags], [CFLAGS], [-fsanitize=undefined]) - AS_IF([test -z "$with_us_cflags"], - [AC_MSG_ERROR([*** -fsanitize=undefined is not supported])]) - undefined_sanitizer_cflags="$with_us_cflags -fno-omit-frame-pointer -DVALGRIND=1" - undefined_sanitizer_cppflags="-DVALGRIND=1" - undefined_sanitizer_ldflags="-Wc,-fsanitize=undefined" - ]) - -sanitizer_cflags="$address_sanitizer_cflags $undefined_sanitizer_cflags" -sanitizer_cppflags="$address_sanitizer_cppflags $undefined_sanitizer_cppflags" -sanitizer_ldflags="$address_sanitizer_ldflags $undefined_sanitizer_ldflags" - -CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ - -pipe \ - -Wall \ - -Wextra \ - -Wundef \ - -Wlogical-op \ - -Wmissing-include-dirs \ - -Wold-style-definition \ - -Wpointer-arith \ - -Winit-self \ - -Wdeclaration-after-statement \ - -Wfloat-equal \ - -Wsuggest-attribute=noreturn \ - -Werror=missing-prototypes \ - -Werror=implicit-function-declaration \ - -Werror=missing-declarations \ - -Werror=return-type \ - -Werror=incompatible-pointer-types \ - -Werror=format=2 \ - -Wstrict-prototypes \ - -Wredundant-decls \ - -Wmissing-noreturn \ - -Wshadow \ - -Wendif-labels \ - -Wstrict-aliasing=2 \ - -Wwrite-strings \ - -Wno-unused-parameter \ - -Wno-missing-field-initializers \ - -Wno-unused-result \ - -Wno-format-signedness \ - -Werror=overflow \ - -Wdate-time \ - -Wnested-externs \ - -ffast-math \ - -fno-common \ - -fdiagnostics-show-option \ - -fno-strict-aliasing \ - -fvisibility=hidden \ - -fstack-protector \ - -fstack-protector-strong \ - -fPIE \ - --param=ssp-buffer-size=4]) - -CC_CHECK_FLAG_APPEND([with_cflags], [CFLAGS], [-Werror=shadow], [ -#include -#include -typedef uint64_t usec_t; -usec_t now(clockid_t clock); -int main(void) { - struct timespec now; - return 0; -} -]) - -AS_CASE([$CC], [*clang*], - [CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\ - -Wno-typedef-redefinition \ - -Wno-gnu-variable-sized-type-not-at-end \ - ])]) - -# ------------------------------------------------------------------------------ -have_lto=no -AC_ARG_ENABLE([lto], [AS_HELP_STRING([--disable-lto], [disable -flto])], - [], [enable_lto=yes]) -AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], - [AS_IF([test "x$enable_lto" = "xyes"], [have_lto=yes], - [AC_MSG_RESULT([disabling -flto as requested])])], - [AC_MSG_RESULT([skipping -flto, optimization not enabled])]) - -AS_IF([test "x$have_lto" = "xyes"], - [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], - [-flto -fuse-linker-plugin])]) - -AS_CASE([$with_cflags], [*-flto*], [], [have_lto=no]) - -# ------------------------------------------------------------------------------ -AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], - [CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\ - -Wp,-D_FORTIFY_SOURCE=2])], - [AC_MSG_RESULT([skipping -D_FORTIFY_SOURCE, optimization not enabled])]) - -# ------------------------------------------------------------------------------ -AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], - [CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\ - -Wl,--gc-sections])], - [AC_MSG_RESULT([skipping --gc-sections, optimization not enabled])]) - -# ------------------------------------------------------------------------------ -AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], - [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ - -ffunction-sections -fdata-sections])], - [AC_MSG_RESULT([skipping -ffunction/data-section, optimization not enabled])]) - -# ------------------------------------------------------------------------------ -CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\ - -Wl,--as-needed \ - -Wl,--no-undefined \ - -Wl,-z,relro \ - -Wl,-z,now \ - -pie]) -AS_IF([test "x$have_lto" = "xyes"], - [CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [-Wl,-fuse-ld=gold])]) - -# ------------------------------------------------------------------------------ -AC_SUBST([OUR_CPPFLAGS], "$with_cppflags $sanitizer_cppflags") -AC_SUBST([OUR_CFLAGS], "-D__SANE_USERSPACE_TYPES__ $with_cflags $sanitizer_cflags") -AC_SUBST([OUR_LDFLAGS], "$with_ldflags $sanitizer_ldflags") - -# ------------------------------------------------------------------------------ -AC_CHECK_SIZEOF(pid_t) -AC_CHECK_SIZEOF(uid_t) -AC_CHECK_SIZEOF(gid_t) -AC_CHECK_SIZEOF(time_t) -AC_CHECK_SIZEOF(dev_t) -AC_CHECK_SIZEOF(ino_t) -AC_CHECK_SIZEOF(rlim_t,,[ - #include - #include -]) - -GPERF_TEST="$(echo foo,bar | ${GPERF} -L ANSI-C)" -save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS -Wno-error" -AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([ - #include - const char * in_word_set(const char *, size_t); - $GPERF_TEST] - )], - [GPERF_LEN_TYPE=size_t], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([ - #include - const char * in_word_set(const char *, unsigned); - $GPERF_TEST] - )], - [GPERF_LEN_TYPE=unsigned], - [AC_MSG_ERROR([** unable to determine gperf len type])] - )] -) -CFLAGS="$save_CFLAGS" - -AC_DEFINE_UNQUOTED([GPERF_LEN_TYPE], [$GPERF_LEN_TYPE], [gperf len type]) - -# ------------------------------------------------------------------------------ -# we use python to build the man page index -have_python=no -AC_ARG_WITH([python], - [AS_HELP_STRING([--without-python], [disable building the man page index and systemd-python (default: test)])]) - -have_lxml=no -AS_IF([test "x$with_python" != "xno"], [ - AM_PATH_PYTHON([3],, [:]) - AS_IF([test "x$PYTHON" != "x:"], [ - AC_MSG_CHECKING([for python lxml module]) - AS_IF(["$PYTHON" -c 'import lxml' 2>/dev/null], [have_lxml=yes]) - AC_MSG_RESULT([$have_lxml]) - AS_IF([test "x$have_lxml" = "xyes"], [have_python=yes], - [AC_MSG_WARN([*** python support requires python-lxml module installed])]) - ]) -]) -AS_IF([test "$have_python" != "yes"], [ - AS_IF([test "$with_python" = "yes"], - [AC_MSG_ERROR([*** python support requested but python support not found])]) - AS_IF([test "$with_python" != "no"], - [AC_MSG_WARN([*** python support not found, some documentation cannot be built])]) -]) -AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"]) - -# ------------------------------------------------------------------------------ - -AC_CHECK_HEADERS([sys/capability.h], [], [AC_MSG_ERROR([*** POSIX caps headers not found])]) -AC_CHECK_HEADERS([linux/memfd.h], [], []) -AC_CHECK_HEADERS([linux/vm_sockets.h], [], [], [#include ]) - -AC_CHECK_HEADERS([printf.h], [have_printf_h=yes], [have_printf_h=no]) -AS_IF([test x$have_printf_h = xyes], [ - AC_DEFINE(HAVE_PRINTF_H, 1, [Define if printf.h was found]) -]) - - - -# unconditionally pull-in librt with old glibc versions -dnl AC_SEARCH_LIBS([clock_gettime], [rt], [], []) -dnl AC_SEARCH_LIBS([mq_unlink], [rt], [], []) - -save_LIBS="$LIBS" -LIBS= -AC_SEARCH_LIBS([cap_init], [cap], [], [AC_MSG_ERROR([*** POSIX caps library not found])]) -CAP_LIBS="$LIBS" -AC_SUBST(CAP_LIBS) - -AC_CHECK_FUNCS([__secure_getenv secure_getenv]) -AC_CHECK_DECLS([ - memfd_create, - gettid, - pivot_root, - name_to_handle_at, - setns, - renameat2, - kcmp, - keyctl, - LO_FLAGS_PARTSCAN, - copy_file_range, - explicit_bzero], - [], [], [[ -#include -#include -#include -#include -#include -#include -#include -]]) - -AC_CHECK_DECLS([getrandom], - [AC_DEFINE([USE_SYS_RANDOM_H], [], [sys/random.h is usable])], - [AC_CHECK_DECLS([getrandom], [], [], [[ -#include -]])], [[ -#include -]]) - -AC_CHECK_TYPES([char16_t, char32_t, key_serial_t], - [], [], [[ -#include -]]) - -AC_CHECK_DECLS([IFLA_INET6_ADDR_GEN_MODE, - IN6_ADDR_GEN_MODE_STABLE_PRIVACY, - IFLA_VRF_TABLE, - IFLA_MACVLAN_FLAGS, - IFLA_IPVLAN_MODE, - IFLA_VTI_REMOTE, - IFLA_PHYS_PORT_ID, - IFLA_BOND_AD_INFO, - IFLA_VLAN_PROTOCOL, - IFLA_VXLAN_GPE, - IFLA_GENEVE_LABEL, - IFLA_IPTUN_ENCAP_DPORT, - IFLA_GRE_ENCAP_DPORT, - IFLA_BRIDGE_VLAN_INFO, - IFLA_BRPORT_PROXYARP, - IFLA_BRPORT_LEARNING_SYNC, - IFLA_BR_VLAN_DEFAULT_PVID, - NDA_IFINDEX, - IFA_FLAGS], -[], [], [[ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -]]) - -# This makes sure pkg.m4 is available. -m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config]) - - -# ------------------------------------------------------------------------------ -PKG_CHECK_MODULES(UDEV, [libudev]) -dnl -AC_ARG_WITH([udevrulesdir], - AS_HELP_STRING([--with-udevrulesdir=DIR], [Directory for udev rules files]), - [], - [with_udevrulesdir=$($PKG_CONFIG --variable=udevdir udev)/rules.d]) -AC_SUBST([udevrulesdir], [$with_udevrulesdir]) - -AC_ARG_WITH([udevbindir], - AS_HELP_STRING([--with-udevbindir=DIR], [Directory for udev binary files]), - [], - [with_udevbindir=$($PKG_CONFIG --variable=udevdir udev)]) -AC_SUBST([udevbindir], [$with_udevbindir]) - -# ------------------------------------------------------------------------------ -have_glib=no -AC_ARG_ENABLE(glib, AS_HELP_STRING([--disable-glib], [disable usage of glib,gobject,gio in tests])) -AS_IF([test "x$enable_glib" != "xno"], [ - PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.22.0 gobject-2.0 >= 2.22.0 gio-2.0], - [AC_DEFINE(HAVE_GLIB, 1, [Define if glib,gobject,gio are available]) have_glib=yes], - [have_glib=no]) - AS_IF([test "x$have_glib" = "xno" -a "x$enable_glib" = "xyes"], - [AC_MSG_ERROR([*** glib support requested but libraries not found])])]) - -# ------------------------------------------------------------------------------ -have_utmp=yes -AC_ARG_ENABLE([utmp], AS_HELP_STRING([--disable-utmp], [disable utmp/wtmp log handling]), - AS_CASE("x${enableval}", - [xyes], [have_utmp=yes], - [xno], [have_utmp=no], - AC_MSG_ERROR(bad value ${enableval} for --enable-utmp))) -AS_IF([test "x$have_utmp" = "xyes"], [ - AC_DEFINE(HAVE_UTMP, 1, [Define if utmp/wtmp support is enabled]) - have_utmp=yes - M4_DEFINES="$M4_DEFINES -DHAVE_UTMP"], - [have_utmp=no]) -AM_CONDITIONAL([HAVE_UTMP], [test "x$have_utmp" = "xyes"]) - -# ------------------------------------------------------------------------------ -have_coverage=no -AC_ARG_ENABLE(coverage, AS_HELP_STRING([--enable-coverage], [enable test coverage])) -if test "x$enable_coverage" = "xyes" ; then - AC_CHECK_PROG(lcov_found, [lcov], [yes], [no]) - if test "x$lcov_found" = xno ; then - AC_MSG_ERROR([*** lcov support requested but the program was not found]) - else - lcov_version_major="`lcov --version | cut -d ' ' -f 4 | cut -d '.' -f 1`" - lcov_version_minor="`lcov --version | cut -d ' ' -f 4 | cut -d '.' -f 2`" - if test "$lcov_version_major" -eq 1 -a "$lcov_version_minor" -lt 10; then - AC_MSG_ERROR([*** lcov version is too old. 1.10 required]) - else - have_coverage=yes - CC_CHECK_FLAGS_APPEND([with_coverage_cflags], [CFLAGS], [\ - -fprofile-arcs \ - -ftest-coverage]) - AC_SUBST([OUR_CFLAGS], "$with_cflags $with_coverage_cflags") - fi - fi -fi -AM_CONDITIONAL(ENABLE_COVERAGE, [test "$have_coverage" = "yes"]) - -# ------------------------------------------------------------------------------ -have_selinux=no -AC_ARG_ENABLE(selinux, AS_HELP_STRING([--disable-selinux], [disable optional SELINUX support])) -if test "x$enable_selinux" != "xno"; then - PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.1.9], - [AC_DEFINE(HAVE_SELINUX, 1, [Define if SELinux is available]) - have_selinux=yes - M4_DEFINES="$M4_DEFINES -DHAVE_SELINUX"], - [have_selinux=no]) - if test "x$have_selinux" = xno -a "x$enable_selinux" = xyes; then - AC_MSG_ERROR([*** SELinux support requested but libraries not found]) - fi -fi -AM_CONDITIONAL(HAVE_SELINUX, [test "$have_selinux" = "yes"]) - -# ------------------------------------------------------------------------------ -AC_ARG_WITH([kill-user-processes], - [AS_HELP_STRING([--without-kill-user-processes], [Set elogind's KillUserProcesses=no by default])]) -AS_IF([test "$with_kill_user_processes" != "no"], - [kill_user_processes=true - KILL_USER_PROCESSES=yes], - [kill_user_processes=false - KILL_USER_PROCESSES=no]) -AC_DEFINE_UNQUOTED(KILL_USER_PROCESSES, [$kill_user_processes], [Default KillUserProcesses setting]) -AC_SUBST(KILL_USER_PROCESSES) - -# ------------------------------------------------------------------------------ -# We do not really support systemd hybrid or unified mode, but set the default -# to 'legacy' here. That is currently the only cgroup mode supported by elogind. -#AC_ARG_WITH(default-hierarchy, -# AS_HELP_STRING([--with-default-hierarchy=MODE], -# [default cgroup hierarchy, defaults to "hybrid"]), -# [DEFAULT_HIERARCHY="$withval"], -# [DEFAULT_HIERARCHY="hybrid"]) -DEFAULT_HIERARCHY=legacy - -AS_CASE("$DEFAULT_HIERARCHY", - [legacy], [mode=CGROUP_UNIFIED_NONE], - [hybrid], [mode=CGROUP_UNIFIED_SYSTEMD], - [unified], [mode=CGROUP_UNIFIED_ALL], - AC_MSG_ERROR(Bad default hierarchy mode ${DEFAULT_HIERARCHY})) -AC_DEFINE_UNQUOTED(DEFAULT_HIERARCHY, [$mode], [Default cgroup hierarchy]) -AC_DEFINE_UNQUOTED(DEFAULT_HIERARCHY_NAME, ["$DEFAULT_HIERARCHY"], - [Default cgroup hierarchy as string]) - -# ------------------------------------------------------------------------------ -AC_ARG_ENABLE([pam], - AS_HELP_STRING([--disable-pam],[disable optional PAM support]), - [case "${enableval}" in - yes) have_pam=yes ;; - no) have_pam=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --disable-pam) ;; - esac], - [have_pam=auto]) - -if test "x${have_pam}" != xno ; then - AC_CHECK_HEADERS( - [security/pam_modules.h security/pam_modutil.h security/pam_ext.h], - [have_pam=yes], - [if test "x$have_pam" = xyes ; then - AC_MSG_ERROR([*** PAM headers not found.]) - fi]) - - AC_CHECK_LIB( - [pam], - [pam_syslog], - [have_pam=yes], - [if test "x$have_pam" = xyes ; then - AC_MSG_ERROR([*** libpam not found.]) - fi]) - - if test "x$have_pam" = xyes ; then - PAM_LIBS="-lpam -lpam_misc" - AC_DEFINE(HAVE_PAM, 1, [PAM available]) - M4_DEFINES="$M4_DEFINES -DHAVE_PAM" - else - have_pam=no - fi -else - PAM_LIBS= -fi -AC_SUBST(PAM_LIBS) -AM_CONDITIONAL([HAVE_PAM], [test "x$have_pam" != xno]) - -# ------------------------------------------------------------------------------ -AC_ARG_ENABLE([acl], - AS_HELP_STRING([--disable-acl],[disable optional ACL support]), - [case "${enableval}" in - yes) have_acl=yes ;; - no) have_acl=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --disable-acl) ;; - esac], - [have_acl=auto]) - -if test "x${have_acl}" != xno ; then - AC_CHECK_HEADERS( - [sys/acl.h acl/libacl.h], - [have_acl=yes], - [if test "x$have_acl" = xyes ; then - AC_MSG_ERROR([*** ACL headers not found.]) - fi]) - - AC_CHECK_LIB( - [acl], - [acl_get_file], - [have_acl=yes], - [if test "x$have_acl" = xyes ; then - AC_MSG_ERROR([*** libacl not found.]) - fi]) - - if test "x$have_acl" = xyes ; then - ACL_LIBS="-lacl" - AC_DEFINE(HAVE_ACL, 1, [ACL available]) - M4_DEFINES="$M4_DEFINES -DHAVE_ACL" - else - have_acl=no - fi -else - ACL_LIBS= -fi -AC_SUBST(ACL_LIBS) -AM_CONDITIONAL([HAVE_ACL], [test "x$have_acl" != xno]) - -# ------------------------------------------------------------------------------ -AC_ARG_ENABLE([smack], AS_HELP_STRING([--disable-smack],[disable optional SMACK support]), - [case "${enableval}" in - yes) have_smack=yes ;; - no) have_smack=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --disable-smack) ;; - esac], - [have_smack=auto]) - -if test "x${have_smack}" != xno; then - AC_DEFINE(HAVE_SMACK, 1, [Define if SMACK is available]) - M4_DEFINES="$M4_DEFINES -DHAVE_SMACK" - have_smack=yes -fi - -AM_CONDITIONAL([HAVE_SMACK], [test "x$have_smack" = "xyes"]) - -have_smack_run_label=no -AC_ARG_WITH(smack-run-label, -AS_HELP_STRING([--with-smack-run-label=STRING], - [run systemd --system itself with a specific SMACK label]), - [AC_DEFINE_UNQUOTED(SMACK_RUN_LABEL, ["$withval"], [Run systemd itself with SMACK label]) have_smack_run_label=yes], - []) - -if test "x${have_smack_run_label}" = xyes; then - M4_DEFINES="$M4_DEFINES -DHAVE_SMACK_RUN_LABEL" -fi - -AC_ARG_WITH(smack-default-process-label, -AS_HELP_STRING([--with-smack-default-process-label=STRING], - [default SMACK label for executed processes]), - [AC_DEFINE_UNQUOTED(SMACK_DEFAULT_PROCESS_LABEL, ["$withval"], [Default SMACK label for executed processes])], - []) - -# ------------------------------------------------------------------------------ -AC_ARG_WITH(system-uid-max, - AS_HELP_STRING([--with-system-uid-max=UID] - [Maximum UID for system users]), - [SYSTEM_UID_MAX="$withval"], - [SYSTEM_UID_MAX="`awk 'BEGIN { uid=999 } /^\s*SYS_UID_MAX\s+/ { uid=$2 } END { print uid }' /etc/login.defs 2>/dev/null || echo 999`"]) - -AC_DEFINE_UNQUOTED(SYSTEM_UID_MAX, [$SYSTEM_UID_MAX], [Maximum System UID]) -AC_SUBST(SYSTEM_UID_MAX) - -# ------------------------------------------------------------------------------ -AC_ARG_WITH(system-gid-max, - AS_HELP_STRING([--with-system-gid-max=GID] - [Maximum GID for system groups]), - [SYSTEM_GID_MAX="$withval"], - [SYSTEM_GID_MAX="`awk 'BEGIN { gid=999 } /^\s*SYS_GID_MAX\s+/ { gid=$2 } END { print gid }' /etc/login.defs 2>/dev/null || echo 999`"]) - -AC_DEFINE_UNQUOTED(SYSTEM_GID_MAX, [$SYSTEM_GID_MAX], [Maximum System GID]) -AC_SUBST(SYSTEM_GID_MAX) - -# ------------------------------------------------------------------------------ -have_polkit=no -AC_ARG_ENABLE(polkit, AS_HELP_STRING([--disable-polkit], [disable PolicyKit support])) -if test "x$enable_polkit" != "xno"; then - AC_DEFINE(ENABLE_POLKIT, 1, [Define if PolicyKit support is to be enabled]) - have_polkit=yes - - # also enable support for *.pkla files on old polkit - PKG_CHECK_MODULES(POLKIT, [ polkit-gobject-1 < 0.106 ], - [polkit_pkla=yes], - [polkit_pkla=no]) -fi -AM_CONDITIONAL(ENABLE_POLKIT, [test "x$have_polkit" = "xyes"]) -AM_CONDITIONAL(ENABLE_POLKIT_PKLA, [test "x$polkit_pkla" = "xyes"]) - -# ------------------------------------------------------------------------------ -AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h valgrind/valgrind.h]) - -# ------------------------------------------------------------------------------ -have_manpages=no -AC_ARG_ENABLE(manpages, AS_HELP_STRING([--disable-manpages], [disable manpages])) -AC_PATH_PROG([XSLTPROC], [xsltproc]) -AS_IF([test "x$enable_manpages" != xno], [have_manpages=yes]) -AM_CONDITIONAL(ENABLE_MANPAGES, [test "x$have_manpages" = "xyes"]) - -# ------------------------------------------------------------------------------ -AC_SUBST(M4_DEFINES) - -AC_ARG_WITH([dbuspolicydir], - AS_HELP_STRING([--with-dbuspolicydir=DIR], [D-Bus policy directory]), - [], - [with_dbuspolicydir=${datadir}/dbus-1/system.d]) -AX_NORMALIZE_PATH([with_dbuspolicydir]) - -AC_ARG_WITH([dbussystemservicedir], - AS_HELP_STRING([--with-dbussystemservicedir=DIR], [D-Bus system service directory]), - [], - [with_dbussystemservicedir=${datadir}/dbus-1/system-services]) -AX_NORMALIZE_PATH([with_dbussystemservicedir]) - -AC_ARG_WITH([bashcompletiondir], - AS_HELP_STRING([--with-bashcompletiondir=DIR], [bash completions directory]), - [], - [AS_IF([$($PKG_CONFIG --exists bash-completion)], [ - with_bashcompletiondir=$($PKG_CONFIG --variable=completionsdir bash-completion) - ] , [ - with_bashcompletiondir=${datadir}/bash-completion/completions - ])]) -AM_CONDITIONAL(ENABLE_BASH_COMPLETION, [test "$with_bashcompletiondir" != "no"]) -AX_NORMALIZE_PATH([with_bashcompletiondir]) - -AC_ARG_WITH([zshcompletiondir], - AS_HELP_STRING([--with-zshcompletiondir=DIR], [zsh completions directory]), - [], [with_zshcompletiondir=${datadir}/zsh/site-functions]) -AM_CONDITIONAL(ENABLE_ZSH_COMPLETION, [test "$with_zshcompletiondir" != "no"]) -AX_NORMALIZE_PATH([with_zshcompletiondir]) - -AC_ARG_WITH([rootprefix], - AS_HELP_STRING([--with-rootprefix=DIR], [rootfs directory prefix for config files and kernel modules]), - [], [with_rootprefix=${ac_default_prefix}]) -# --with-rootprefix= (empty) should default to "/" but AX_NORMALIZE_PATH -# defaults those to ".", solve that here for now until we can find a suitable -# fix for AX_NORMALIZE_PATH upstream at autoconf-archive. -# See: https://github.com/systemd/systemd/issues/54 -if test "x${with_rootprefix}" = "x"; then - with_rootprefix="/" -fi -AX_NORMALIZE_PATH([with_rootprefix]) - -AC_ARG_WITH([rootlibdir], - AS_HELP_STRING([--with-rootlibdir=DIR], [root directory for libraries necessary for boot]), - [], - [with_rootlibdir=${libdir}]) -AX_NORMALIZE_PATH([with_rootlibdir]) - -AC_ARG_WITH([rootlibexecdir], - AS_HELP_STRING([--with-rootlibexecdir=DIR], [Root directory for executables necessary for boot]), - [], - [with_rootlibexecdir=${libdir}/libexec]) -AX_NORMALIZE_PATH([with_rootlibexecdir]) - -AC_ARG_WITH([pamlibdir], - AS_HELP_STRING([--with-pamlibdir=DIR], [directory for PAM modules]), - [], - [with_pamlibdir=${with_rootlibdir}/security]) -AX_NORMALIZE_PATH([with_pamlibdir]) - -AC_ARG_WITH([pamconfdir], - AS_HELP_STRING([--with-pamconfdir=DIR], [directory for PAM configuration (pass no to disable installing)]), - [], - [with_pamconfdir=${sysconfdir}/pam.d]) -AM_CONDITIONAL(ENABLE_PAM_CONFIG, [test "$with_pamconfdir" != "no"]) -AX_NORMALIZE_PATH([with_pamconfdir]) - -AC_ARG_ENABLE([split-usr], - AS_HELP_STRING([--enable-split-usr], [assume that /bin, /sbin aren\'t symlinks into /usr]), - [], - [AS_IF([test "x${ac_default_prefix}" != "x${with_rootprefix}"], [ - enable_split_usr=yes - ], [ - enable_split_usr=no - ])]) - -AS_IF([test "x${enable_split_usr}" = "xyes"], [ - AC_DEFINE(HAVE_SPLIT_USR, 1, [Define if /bin, /sbin aren't symlinks into /usr]) -]) -AM_CONDITIONAL(ENABLE_SPLIT_USR, [test "x${enable_split_usr}" = "xyes"]) - -# work around intltool-update issues during 'make distcheck' -AS_IF([test "x$0" != "x./configure"], [ - AC_SUBST([INTLTOOL_UPDATE], [/usr/bin/env true]) -]) - -AC_ARG_ENABLE(tests, - [AC_HELP_STRING([--disable-tests], [disable tests, or enable extra tests with =unsafe])], - enable_tests=$enableval, enable_tests=yes) -AM_CONDITIONAL(ENABLE_TESTS, [test x$enable_tests = xyes -o x$enable_tests = xunsafe]) -AM_CONDITIONAL(ENABLE_UNSAFE_TESTS, [test x$enable_tests = xunsafe]) - -AC_ARG_ENABLE(debug, - [AC_HELP_STRING([--enable-debug@<:@=LIST@:>@], [enable extra debugging (elogind,hashmap,mmap-cache)])], - [if test "x$enableval" = "xyes"; then - enableval="elogind,hashmap,mmap-cache" - fi - saved_ifs="$IFS" - IFS="$IFS$PATH_SEPARATOR," - for name in $enableval; do - case $name in - elogind) - enable_debug_elogind=yes - ;; - hashmap) - enable_debug_hashmap=yes - ;; - mmap-cache) - enable_debug_mmap_cache=yes - ;; - esac - done - IFS="$saved_ifs"],[]) - -enable_debug="" -AS_IF([test x$enable_debug_elogind = xyes], [ - AC_DEFINE(ENABLE_DEBUG_ELOGIND, 1, [Define if elogind debugging is to be enabled]) - enable_debug="elogind $enable_debug" -]) -AS_IF([test x$enable_debug_hashmap = xyes], [ - AC_DEFINE(ENABLE_DEBUG_HASHMAP, 1, [Define if hashmap debugging is to be enabled]) - enable_debug="hashmap $enable_debug" -]) -AS_IF([test x$enable_debug_mmap_cache = xyes], [ - AC_DEFINE(ENABLE_DEBUG_MMAP_CACHE, 1, [Define if mmap cache debugging is to be enabled]) - enable_debug="mmap-cache $enable_debug" -]) -test -z "$enable_debug" && enable_debug="none" - -AC_SUBST([dbuspolicydir], [$with_dbuspolicydir]) -AC_SUBST([dbussystemservicedir], [$with_dbussystemservicedir]) -AC_SUBST([bashcompletiondir], [$with_bashcompletiondir]) -AC_SUBST([zshcompletiondir], [$with_zshcompletiondir]) -AC_SUBST([pamlibdir], [$with_pamlibdir]) -AC_SUBST([pamconfdir], [$with_pamconfdir]) -AC_SUBST([rootprefix], [$with_rootprefix]) -AC_SUBST([rootlibdir], [$with_rootlibdir]) -AC_SUBST([rootlibexecdir], [$with_rootlibexecdir]) -AC_SUBST([cgroup_controller], [$with_cgroupctrl]) - -AC_CONFIG_FILES([ - Makefile - po/Makefile.in -]) - -AC_OUTPUT -AC_MSG_RESULT([ - $PACKAGE_NAME $PACKAGE_VERSION - - PAM: . . . . . . . . . . . . . . . ${have_pam} - SELinux: . . . . . . . . . . . . . ${have_selinux} - SMACK: . . . . . . . . . . . . . . ${have_smack} - ACL: . . . . . . . . . . . . . . . ${have_acl} - default cgroup hierarchy: . . . . ${DEFAULT_HIERARCHY} - default KillUserProcesses setting: ${KILL_USER_PROCESSES} - polkit: . . . . . . . . . . . . . ${have_polkit} (legacy pkla support: ${polkit_pkla}) - glib: . . . . . . . . . . . . . . ${have_glib} - Python: . . . . . . . . . . . . . ${have_python} - man pages: . . . . . . . . . . . . ${have_manpages} - test coverage: . . . . . . . . . . ${have_coverage} - Split /usr: . . . . . . . . . . . ${enable_split_usr} - utmp/wtmp support: . . . . . . . . ${have_utmp} - Link time optimization: . . . . . ${have_lto} - extra debugging: . . . . . . . . . ${enable_debug} - cgroup controller: . . . . . . . . ${with_cgroupctrl} - - prefix: . . . . . . . . . . . . . ${prefix} - rootprefix: . . . . . . . . . . . ${with_rootprefix} - sysconf dir: . . . . . . . . . . . ${sysconfdir} - datarootdir: . . . . . . . . . . . ${datarootdir} - includedir: . . . . . . . . . . . ${includedir} - lib dir: . . . . . . . . . . . . . ${libdir} - rootlib dir: . . . . . . . . . . . ${with_rootlibdir} - rootlibexec dir: . . . . . . . . . ${with_rootlibexecdir} - PAM modules dir: . . . . . . . . . ${with_pamlibdir} - PAM configuration dir: . . . . . . ${with_pamconfdir} - D-Bus policy dir: . . . . . . . . ${with_dbuspolicydir} - D-Bus system dir: . . . . . . . . ${with_dbussystemservicedir} - bash completions dir: . . . . . . ${with_bashcompletiondir} - zsh completions dir: . . . . . . . ${with_zshcompletiondir} - maximum system UID: . . . . . . . ${SYSTEM_UID_MAX} - maximum system GID: . . . . . . . ${SYSTEM_GID_MAX} - - CFLAGS: . . . . . . . . . . . . . ${OUR_CFLAGS} ${CFLAGS} - CPPFLAGS: . . . . . . . . . . . . ${OUR_CPPFLAGS} ${CPPFLAGS} - LDFLAGS: . . . . . . . . . . . . . ${OUR_LDFLAGS} ${LDFLAGS} -]) diff --git a/docs/Makefile b/docs/Makefile deleted file mode 120000 index bd1047548..000000000 --- a/docs/Makefile +++ /dev/null @@ -1 +0,0 @@ -../src/Makefile \ No newline at end of file diff --git a/docs/gtk-doc.make b/docs/gtk-doc.make deleted file mode 120000 index 3ee6bad7f..000000000 --- a/docs/gtk-doc.make +++ /dev/null @@ -1 +0,0 @@ -/usr/share/gtk-doc/data/gtk-doc.notmpl.make \ No newline at end of file diff --git a/m4/arch.m4 b/m4/arch.m4 deleted file mode 100644 index f17b4278e..000000000 --- a/m4/arch.m4 +++ /dev/null @@ -1,13 +0,0 @@ - -dnl SET_ARCH(ARCHNAME, PATTERN) -dnl -dnl Define ARCH_ condition if the pattern match with the current -dnl architecture -dnl -AC_DEFUN([SET_ARCH], [ - cpu_$1=false - case "$host" in - $2) cpu_$1=true ;; - esac - AM_CONDITIONAL(AS_TR_CPP(ARCH_$1), [test "x$cpu_$1" = xtrue]) -]) diff --git a/m4/attributes.m4 b/m4/attributes.m4 deleted file mode 100644 index 4b0fcdce3..000000000 --- a/m4/attributes.m4 +++ /dev/null @@ -1,289 +0,0 @@ -dnl Macros to check the presence of generic (non-typed) symbols. -dnl Copyright (c) 2006-2008 Diego Pettenò -dnl Copyright (c) 2006-2008 xine project -dnl Copyright (c) 2012 Lucas De Marchi -dnl -dnl This program is free software; you can redistribute it and/or modify -dnl it under the terms of the GNU General Public License as published by -dnl the Free Software Foundation; either version 2, or (at your option) -dnl any later version. -dnl -dnl This program is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -dnl GNU General Public License for more details. -dnl -dnl You should have received a copy of the GNU General Public License -dnl along with this program; if not, write to the Free Software -dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -dnl 02110-1301, USA. -dnl -dnl As a special exception, the copyright owners of the -dnl macro gives unlimited permission to copy, distribute and modify the -dnl configure scripts that are the output of Autoconf when processing the -dnl Macro. You need not follow the terms of the GNU General Public -dnl License when using or distributing such scripts, even though portions -dnl of the text of the Macro appear in them. The GNU General Public -dnl License (GPL) does govern all other use of the material that -dnl constitutes the Autoconf Macro. -dnl -dnl This special exception to the GPL applies to versions of the -dnl Autoconf Macro released by this project. When you make and -dnl distribute a modified version of the Autoconf Macro, you may extend -dnl this special exception to the GPL to apply to your modified version as -dnl well. - -dnl Check if FLAG in ENV-VAR is supported by compiler and append it -dnl to WHERE-TO-APPEND variable. Note that we invert -Wno-* checks to -dnl -W* as gcc cannot test for negated warnings. -dnl CC_CHECK_FLAG_APPEND([WHERE-TO-APPEND], [ENV-VAR], [FLAG]) - -AC_DEFUN([CC_CHECK_FLAG_APPEND], [ - AC_CACHE_CHECK([if $CC supports flag $3 in envvar $2], - AS_TR_SH([cc_cv_$2_$3]), - [eval "AS_TR_SH([cc_save_$2])='${$2}'" - eval "AS_TR_SH([$2])='-Werror `echo "$3" | sed 's/^-Wno-/-W/'`'" - AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) { return 0; } ])], - [eval "AS_TR_SH([cc_cv_$2_$3])='yes'"], - [eval "AS_TR_SH([cc_cv_$2_$3])='no'"]) - eval "AS_TR_SH([$2])='$cc_save_$2'"]) - - AS_IF([eval test x$]AS_TR_SH([cc_cv_$2_$3])[ = xyes], - [eval "$1='${$1} $3'"]) -]) - -dnl CC_CHECK_FLAGS_APPEND([WHERE-TO-APPEND], [ENV-VAR], [FLAG1 FLAG2]) -AC_DEFUN([CC_CHECK_FLAGS_APPEND], [ - for flag in [$3]; do - CC_CHECK_FLAG_APPEND([$1], [$2], $flag) - done -]) - -dnl Check if the flag is supported by linker (cacheable) -dnl CC_CHECK_LDFLAGS([FLAG], [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) - -AC_DEFUN([CC_CHECK_LDFLAGS], [ - AC_CACHE_CHECK([if $CC supports $1 flag], - AS_TR_SH([cc_cv_ldflags_$1]), - [ac_save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $1" - AC_LINK_IFELSE([int main() { return 1; }], - [eval "AS_TR_SH([cc_cv_ldflags_$1])='yes'"], - [eval "AS_TR_SH([cc_cv_ldflags_$1])="]) - LDFLAGS="$ac_save_LDFLAGS" - ]) - - AS_IF([eval test x$]AS_TR_SH([cc_cv_ldflags_$1])[ = xyes], - [$2], [$3]) -]) - -dnl define the LDFLAGS_NOUNDEFINED variable with the correct value for -dnl the current linker to avoid undefined references in a shared object. -AC_DEFUN([CC_NOUNDEFINED], [ - dnl We check $host for which systems to enable this for. - AC_REQUIRE([AC_CANONICAL_HOST]) - - case $host in - dnl FreeBSD (et al.) does not complete linking for shared objects when pthreads - dnl are requested, as different implementations are present; to avoid problems - dnl use -Wl,-z,defs only for those platform not behaving this way. - *-freebsd* | *-openbsd*) ;; - *) - dnl First of all check for the --no-undefined variant of GNU ld. This allows - dnl for a much more readable command line, so that people can understand what - dnl it does without going to look for what the heck -z defs does. - for possible_flags in "-Wl,--no-undefined" "-Wl,-z,defs"; do - CC_CHECK_LDFLAGS([$possible_flags], [LDFLAGS_NOUNDEFINED="$possible_flags"]) - break - done - ;; - esac - - AC_SUBST([LDFLAGS_NOUNDEFINED]) -]) - -dnl Check for a -Werror flag or equivalent. -Werror is the GCC -dnl and ICC flag that tells the compiler to treat all the warnings -dnl as fatal. We usually need this option to make sure that some -dnl constructs (like attributes) are not simply ignored. -dnl -dnl Other compilers don't support -Werror per se, but they support -dnl an equivalent flag: -dnl - Sun Studio compiler supports -errwarn=%all -AC_DEFUN([CC_CHECK_WERROR], [ - AC_CACHE_CHECK( - [for $CC way to treat warnings as errors], - [cc_cv_werror], - [CC_CHECK_CFLAGS_SILENT([-Werror], [cc_cv_werror=-Werror], - [CC_CHECK_CFLAGS_SILENT([-errwarn=%all], [cc_cv_werror=-errwarn=%all])]) - ]) -]) - -AC_DEFUN([CC_CHECK_ATTRIBUTE], [ - AC_REQUIRE([CC_CHECK_WERROR]) - AC_CACHE_CHECK([if $CC supports __attribute__(( ifelse([$2], , [$1], [$2]) ))], - AS_TR_SH([cc_cv_attribute_$1]), - [ac_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $cc_cv_werror" - AC_COMPILE_IFELSE([AC_LANG_SOURCE([$3])], - [eval "AS_TR_SH([cc_cv_attribute_$1])='yes'"], - [eval "AS_TR_SH([cc_cv_attribute_$1])='no'"]) - CFLAGS="$ac_save_CFLAGS" - ]) - - AS_IF([eval test x$]AS_TR_SH([cc_cv_attribute_$1])[ = xyes], - [AC_DEFINE( - AS_TR_CPP([SUPPORT_ATTRIBUTE_$1]), 1, - [Define this if the compiler supports __attribute__(( ifelse([$2], , [$1], [$2]) ))] - ) - $4], - [$5]) -]) - -AC_DEFUN([CC_ATTRIBUTE_CONSTRUCTOR], [ - CC_CHECK_ATTRIBUTE( - [constructor],, - [void __attribute__((constructor)) ctor() { int a; }], - [$1], [$2]) -]) - -AC_DEFUN([CC_ATTRIBUTE_FORMAT], [ - CC_CHECK_ATTRIBUTE( - [format], [format(printf, n, n)], - [void __attribute__((format(printf, 1, 2))) printflike(const char *fmt, ...) { fmt = (void *)0; }], - [$1], [$2]) -]) - -AC_DEFUN([CC_ATTRIBUTE_FORMAT_ARG], [ - CC_CHECK_ATTRIBUTE( - [format_arg], [format_arg(printf)], - [char *__attribute__((format_arg(1))) gettextlike(const char *fmt) { fmt = (void *)0; }], - [$1], [$2]) -]) - -AC_DEFUN([CC_ATTRIBUTE_VISIBILITY], [ - CC_CHECK_ATTRIBUTE( - [visibility_$1], [visibility("$1")], - [void __attribute__((visibility("$1"))) $1_function() { }], - [$2], [$3]) -]) - -AC_DEFUN([CC_ATTRIBUTE_NONNULL], [ - CC_CHECK_ATTRIBUTE( - [nonnull], [nonnull()], - [void __attribute__((nonnull())) some_function(void *foo, void *bar) { foo = (void*)0; bar = (void*)0; }], - [$1], [$2]) -]) - -AC_DEFUN([CC_ATTRIBUTE_UNUSED], [ - CC_CHECK_ATTRIBUTE( - [unused], , - [void some_function(void *foo, __attribute__((unused)) void *bar);], - [$1], [$2]) -]) - -AC_DEFUN([CC_ATTRIBUTE_SENTINEL], [ - CC_CHECK_ATTRIBUTE( - [sentinel], , - [void some_function(void *foo, ...) __attribute__((sentinel));], - [$1], [$2]) -]) - -AC_DEFUN([CC_ATTRIBUTE_DEPRECATED], [ - CC_CHECK_ATTRIBUTE( - [deprecated], , - [void some_function(void *foo, ...) __attribute__((deprecated));], - [$1], [$2]) -]) - -AC_DEFUN([CC_ATTRIBUTE_ALIAS], [ - CC_CHECK_ATTRIBUTE( - [alias], [weak, alias], - [void other_function(void *foo) { } - void some_function(void *foo) __attribute__((weak, alias("other_function")));], - [$1], [$2]) -]) - -AC_DEFUN([CC_ATTRIBUTE_MALLOC], [ - CC_CHECK_ATTRIBUTE( - [malloc], , - [void * __attribute__((malloc)) my_alloc(int n);], - [$1], [$2]) -]) - -AC_DEFUN([CC_ATTRIBUTE_PACKED], [ - CC_CHECK_ATTRIBUTE( - [packed], , - [struct astructure { char a; int b; long c; void *d; } __attribute__((packed));], - [$1], [$2]) -]) - -AC_DEFUN([CC_ATTRIBUTE_CONST], [ - CC_CHECK_ATTRIBUTE( - [const], , - [int __attribute__((const)) twopow(int n) { return 1 << n; } ], - [$1], [$2]) -]) - -AC_DEFUN([CC_FLAG_VISIBILITY], [ - AC_REQUIRE([CC_CHECK_WERROR]) - AC_CACHE_CHECK([if $CC supports -fvisibility=hidden], - [cc_cv_flag_visibility], - [cc_flag_visibility_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $cc_cv_werror" - CC_CHECK_CFLAGS_SILENT([-fvisibility=hidden], - cc_cv_flag_visibility='yes', - cc_cv_flag_visibility='no') - CFLAGS="$cc_flag_visibility_save_CFLAGS"]) - - AS_IF([test "x$cc_cv_flag_visibility" = "xyes"], - [AC_DEFINE([SUPPORT_FLAG_VISIBILITY], 1, - [Define this if the compiler supports the -fvisibility flag]) - $1], - [$2]) -]) - -AC_DEFUN([CC_FUNC_EXPECT], [ - AC_REQUIRE([CC_CHECK_WERROR]) - AC_CACHE_CHECK([if compiler has __builtin_expect function], - [cc_cv_func_expect], - [ac_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $cc_cv_werror" - AC_COMPILE_IFELSE([AC_LANG_SOURCE( - [int some_function() { - int a = 3; - return (int)__builtin_expect(a, 3); - }])], - [cc_cv_func_expect=yes], - [cc_cv_func_expect=no]) - CFLAGS="$ac_save_CFLAGS" - ]) - - AS_IF([test "x$cc_cv_func_expect" = "xyes"], - [AC_DEFINE([SUPPORT__BUILTIN_EXPECT], 1, - [Define this if the compiler supports __builtin_expect() function]) - $1], - [$2]) -]) - -AC_DEFUN([CC_ATTRIBUTE_ALIGNED], [ - AC_REQUIRE([CC_CHECK_WERROR]) - AC_CACHE_CHECK([highest __attribute__ ((aligned ())) supported], - [cc_cv_attribute_aligned], - [ac_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $cc_cv_werror" - for cc_attribute_align_try in 64 32 16 8 4 2; do - AC_COMPILE_IFELSE([AC_LANG_SOURCE([ - int main() { - static char c __attribute__ ((aligned($cc_attribute_align_try))) = 0; - return c; - }])], [cc_cv_attribute_aligned=$cc_attribute_align_try; break]) - done - CFLAGS="$ac_save_CFLAGS" - ]) - - if test "x$cc_cv_attribute_aligned" != "x"; then - AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX], [$cc_cv_attribute_aligned], - [Define the highest alignment supported]) - fi -]) diff --git a/m4/ax_normalize_path.m4 b/m4/ax_normalize_path.m4 deleted file mode 100644 index e8f9973e3..000000000 --- a/m4/ax_normalize_path.m4 +++ /dev/null @@ -1,115 +0,0 @@ -# =========================================================================== -# http://www.gnu.org/software/autoconf-archive/ax_normalize_path.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_NORMALIZE_PATH(VARNAME, [REFERENCE_STRING]) -# -# DESCRIPTION -# -# Perform some cleanups on the value of $VARNAME (interpreted as a path): -# -# - empty paths are changed to '.' -# - trailing slashes are removed -# - repeated slashes are squeezed except a leading doubled slash '//' -# (which might indicate a networked disk on some OS). -# -# REFERENCE_STRING is used to turn '/' into '\' and vice-versa: if -# REFERENCE_STRING contains some backslashes, all slashes and backslashes -# are turned into backslashes, otherwise they are all turned into slashes. -# -# This makes processing of DOS filenames quite easier, because you can -# turn a filename to the Unix notation, make your processing, and turn it -# back to original notation. -# -# filename='A:\FOO\\BAR\' -# old_filename="$filename" -# # Switch to the unix notation -# AX_NORMALIZE_PATH([filename], ["/"]) -# # now we have $filename = 'A:/FOO/BAR' and we can process it as if -# # it was a Unix path. For instance let's say that you want -# # to append '/subpath': -# filename="$filename/subpath" -# # finally switch back to the original notation -# AX_NORMALIZE_PATH([filename], ["$old_filename"]) -# # now $filename equals to 'A:\FOO\BAR\subpath' -# -# One good reason to make all path processing with the unix convention is -# that backslashes have a special meaning in many cases. For instance -# -# expr 'A:\FOO' : 'A:\Foo' -# -# will return 0 because the second argument is a regex in which -# backslashes have to be backslashed. In other words, to have the two -# strings to match you should write this instead: -# -# expr 'A:\Foo' : 'A:\\Foo' -# -# Such behavior makes DOS filenames extremely unpleasant to work with. So -# temporary turn your paths to the Unix notation, and revert them to the -# original notation after the processing. See the macro -# AX_COMPUTE_RELATIVE_PATHS for a concrete example of this. -# -# REFERENCE_STRING defaults to $VARIABLE, this means that slashes will be -# converted to backslashes if $VARIABLE already contains some backslashes -# (see $thirddir below). -# -# firstdir='/usr/local//share' -# seconddir='C:\Program Files\\' -# thirddir='C:\home/usr/' -# AX_NORMALIZE_PATH([firstdir]) -# AX_NORMALIZE_PATH([seconddir]) -# AX_NORMALIZE_PATH([thirddir]) -# # $firstdir = '/usr/local/share' -# # $seconddir = 'C:\Program Files' -# # $thirddir = 'C:\home\usr' -# -# LICENSE -# -# Copyright (c) 2008 Alexandre Duret-Lutz -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation; either version 2 of the License, or (at your -# option) any later version. -# -# This program 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 General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 5 - -AU_ALIAS([ADL_NORMALIZE_PATH], [AX_NORMALIZE_PATH]) -AC_DEFUN([AX_NORMALIZE_PATH], -[case ":[$]$1:" in -# change empty paths to '.' - ::) $1='.' ;; -# strip trailing slashes - :*[[\\/]]:) $1=`echo "[$]$1" | sed 's,[[\\/]]*[$],,'` ;; - :*:) ;; -esac -# squeze repeated slashes -case ifelse($2,,"[$]$1",$2) in -# if the path contains any backslashes, turn slashes into backslashes - *\\*) $1=`echo "[$]$1" | sed 's,\(.\)[[\\/]][[\\/]]*,\1\\\\,g'` ;; -# if the path contains slashes, also turn backslashes into slashes - *) $1=`echo "[$]$1" | sed 's,\(.\)[[\\/]][[\\/]]*,\1/,g'` ;; -esac]) diff --git a/m4/gtk-doc.m4 b/m4/gtk-doc.m4 deleted file mode 100644 index 36755432b..000000000 --- a/m4/gtk-doc.m4 +++ /dev/null @@ -1,88 +0,0 @@ -dnl -*- mode: autoconf -*- - -# serial 2 - -dnl Usage: -dnl GTK_DOC_CHECK([minimum-gtk-doc-version]) -AC_DEFUN([GTK_DOC_CHECK], -[ - AC_REQUIRE([PKG_PROG_PKG_CONFIG]) - AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first - AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first - - ifelse([$1],[],[gtk_doc_requires="gtk-doc"],[gtk_doc_requires="gtk-doc >= $1"]) - AC_MSG_CHECKING([for gtk-doc]) - PKG_CHECK_EXISTS([$gtk_doc_requires],[have_gtk_doc=yes],[have_gtk_doc=no]) - AC_MSG_RESULT($have_gtk_doc) - - if test "$have_gtk_doc" = "no"; then - AC_MSG_WARN([ - You will not be able to create source packages with 'make dist' - because $gtk_doc_requires is not found.]) - fi - - dnl check for tools we added during development - dnl Use AC_CHECK_PROG to avoid the check target using an absolute path that - dnl may not be writable by the user. Currently, automake requires that the - dnl test name must end in '.test'. - dnl https://bugzilla.gnome.org/show_bug.cgi?id=701638 - AC_CHECK_PROG([GTKDOC_CHECK],[gtkdoc-check],[gtkdoc-check.test]) - AC_PATH_PROG([GTKDOC_CHECK_PATH],[gtkdoc-check]) - AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true]) - AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf]) - - dnl for overriding the documentation installation directory - AC_ARG_WITH([html-dir], - AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),, - [with_html_dir='${datadir}/gtk-doc/html']) - HTML_DIR="$with_html_dir" - AC_SUBST([HTML_DIR]) - - dnl enable/disable documentation building - AC_ARG_ENABLE([gtk-doc], - AS_HELP_STRING([--enable-gtk-doc], - [use gtk-doc to build documentation [[default=no]]]),, - [enable_gtk_doc=no]) - - AC_MSG_CHECKING([whether to build gtk-doc documentation]) - AC_MSG_RESULT($enable_gtk_doc) - - if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then - AC_MSG_ERROR([ - You must have $gtk_doc_requires installed to build documentation for - $PACKAGE_NAME. Please install gtk-doc or disable building the - documentation by adding '--disable-gtk-doc' to '[$]0'.]) - fi - - dnl don't check for glib if we build glib - if test "x$PACKAGE_NAME" != "xglib"; then - dnl don't fail if someone does not have glib - PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0,,[:]) - fi - - dnl enable/disable output formats - AC_ARG_ENABLE([gtk-doc-html], - AS_HELP_STRING([--enable-gtk-doc-html], - [build documentation in html format [[default=yes]]]),, - [enable_gtk_doc_html=yes]) - AC_ARG_ENABLE([gtk-doc-pdf], - AS_HELP_STRING([--enable-gtk-doc-pdf], - [build documentation in pdf format [[default=no]]]),, - [enable_gtk_doc_pdf=no]) - - if test -z "$GTKDOC_MKPDF"; then - enable_gtk_doc_pdf=no - fi - - if test -z "$AM_DEFAULT_VERBOSITY"; then - AM_DEFAULT_VERBOSITY=1 - fi - AC_SUBST([AM_DEFAULT_VERBOSITY]) - - AM_CONDITIONAL([HAVE_GTK_DOC], [test x$have_gtk_doc = xyes]) - AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes]) - AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes]) - AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes]) - AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"]) - AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"]) -]) diff --git a/man/Makefile b/man/Makefile deleted file mode 120000 index bd1047548..000000000 --- a/man/Makefile +++ /dev/null @@ -1 +0,0 @@ -../src/Makefile \ No newline at end of file diff --git a/man/meson.build b/man/meson.build new file mode 100644 index 000000000..8fdb512f6 --- /dev/null +++ b/man/meson.build @@ -0,0 +1,218 @@ +# This is lame, I know, but meson has no other include mechanism +subdir('rules') + +want_man = get_option('man') +want_html = get_option('html') +xsltproc = find_program('xsltproc', + required : want_man == 'true' or want_html == 'true') +want_man = want_man != 'false' and xsltproc.found() +want_html = want_html != 'false' and xsltproc.found() + +xsltproc_flags = [ + '--nonet', + '--xinclude', + '--stringparam', 'man.output.quietly', '1', + '--stringparam', 'funcsynopsis.style', 'ansi', + '--stringparam', 'man.authors.section.enabled', '0', + '--stringparam', 'man.copyright.section.enabled', '0', + '--stringparam', 'elogind.version', '@0@'.format(meson.project_version()), + '--path', + '@0@:@1@'.format(meson.current_build_dir(), meson.current_source_dir())] + +custom_man_xsl = files('custom-man.xsl') +custom_html_xsl = files('custom-html.xsl') +xslt_cmd = [xsltproc, '-o', '@OUTPUT0@'] + xsltproc_flags + +#if 0 /// UNNEEDED by elogind +# custom_entities_ent = configure_file( +# input : 'custom-entities.ent.in', +# output : 'custom-entities.ent', +# configuration : conf) +#endif // 0 + +man_pages = [] +html_pages = [] +source_xml_files = [] +foreach tuple : manpages + stem = tuple[0] + section = tuple[1] + aliases = tuple[2] + condition = tuple[3] + + xml = stem + '.xml' + html = stem + '.html' + man = stem + '.' + section + + manaliases = [] + htmlaliases = [] + foreach alias : aliases + manaliases += [alias + '.' + section] + htmlaliases += [alias + '.html'] + endforeach + + mandirn = join_paths(get_option('mandir'), 'man' + section) + + if condition == '' or conf.get(condition, false) + p1 = custom_target( + man, + input : xml, + output : [man] + manaliases, + command : xslt_cmd + [custom_man_xsl, '@INPUT@'], +#if 0 /// UNNEEDED by elogind +# depend_files : custom_entities_ent, +#endif // 0 + install : want_man, + install_dir : mandirn) + man_pages += [p1] + + p2 = [] + foreach htmlalias : htmlaliases + link = custom_target( + htmlalias, + input : p2, + output : htmlalias, + command : ['ln', '-fs', html, '@OUTPUT@']) + if want_html + dst = join_paths(docdir, 'html', htmlalias) + cmd = 'ln -fs @0@ $DESTDIR@1@'.format(html, dst) + meson.add_install_script('sh', '-c', cmd) + p2 += [link] + endif + html_pages += [link] + endforeach + + p3 = custom_target( + html, + input : xml, + output : html, + command : xslt_cmd + [custom_html_xsl, '@INPUT@'], +#if 0 /// UNNEEDED by elogind +# depend_files : custom_entities_ent, +#endif // 0 + depends : p2, + install : want_html, + install_dir : join_paths(docdir, 'html')) + html_pages += [p3] + + source_xml_files += files(tuple[0] + '.xml') + else + message('Skipping @0@.@1@ because @2@ is false'.format(stem, section, condition)) + endif +endforeach + +############################################################ + +have_lxml = run_command(xml_helper_py).returncode() == 0 +if not have_lxml + message('python-lxml not available, not making man page indices') +endif + +elogind_directives_xml = custom_target( + 'elogind.directives.xml', + input : source_xml_files, + output : 'elogind.directives.xml', + command : [make_directive_index_py, '@OUTPUT@'] + source_xml_files) + +nonindex_xml_files = source_xml_files + [elogind_directives_xml] +elogind_index_xml = custom_target( + 'elogind.index.xml', + input : nonindex_xml_files, + output : 'elogind.index.xml', + command : [make_man_index_py, '@OUTPUT@'] + nonindex_xml_files) + +foreach tuple : [['elogind.directives', '7', elogind_directives_xml], + ['elogind.index', '7', elogind_index_xml]] + stem = tuple[0] + section = tuple[1] + xml = tuple[2] + + html = stem + '.html' + man = stem + '.' + section + + mandirn = join_paths(get_option('mandir'), 'man' + section) + + p1 = custom_target( + man, + input : xml, + output : man, + command : xslt_cmd + [custom_man_xsl, '@INPUT@'], + install : want_man and have_lxml, + install_dir : mandirn) + man_pages += [p1] + + p2 = [] + if html == 'elogind.index.html' + htmlalias = 'index.html' + link = custom_target( + htmlalias, + input : p2, + output : htmlalias, + command : ['ln', '-fs', html, '@OUTPUT@']) + if want_html + dst = join_paths(docdir, 'html', htmlalias) + cmd = 'ln -fs @0@ $DESTDIR@1@'.format(html, dst) + meson.add_install_script('sh', '-c', cmd) + p2 += [link] + endif + html_pages += [link] + endif + + p3 = custom_target( + html, + input : xml, + output : html, + command : xslt_cmd + [custom_html_xsl, '@INPUT@'], +#if 0 /// UNNEEDED by elogind +# depend_files : custom_entities_ent, +#endif // 0 + depends : p2, + install : want_html and have_lxml, + install_dir : join_paths(docdir, 'html')) + html_pages += [p3] +endforeach + +# cannot use run_target until https://github.com/mesonbuild/meson/issues/1644 is resolved +man = custom_target( + 'man', + output : 'man', + depends : man_pages, + command : ['echo']) + +html = run_target( + 'html', + depends : html_pages, + output : 'html', + command : ['echo']) + +#if 0 /// UNNEEDED in elogind +# run_target( +# 'doc-sync', +# depends : man_pages + html_pages, +# command : ['rsync', '-rlv', +# '--delete-excluded', +# '--include=man', +# '--include=*.html', +# '--exclude=*', +# '--omit-dir-times', +# meson.current_build_dir(), +# get_option('www-target')]) +#endif // 0 + +############################################################ + +if git.found() + run_target( + 'update-man-rules', + # slightly strange syntax because of + # https://github.com/mesonbuild/meson/issues/1643 + # and https://github.com/mesonbuild/meson/issues/1512 + command : ['sh', '-c', + 'cd @0@ && '.format(meson.build_root()) + + 'python3 @0@/tools/make-man-rules.py `git ls-files ":/man/*.xml"` >t && '.format(meson.source_root()) + + 'mv t @0@/rules/meson.build'.format(meson.current_source_dir())], +#if 0 /// UNNEEDED by elogind +# depend_files : custom_entities_ent) +#else + ) +#endif // 0 +endif diff --git a/man/rules/meson.build b/man/rules/meson.build new file mode 100644 index 000000000..605bc35dd --- /dev/null +++ b/man/rules/meson.build @@ -0,0 +1,5 @@ +# Do not edit. Generated by make-man-rules.py. +manpages = [ + +] +# Really, do not edit. diff --git a/meson.build b/meson.build new file mode 100644 index 000000000..e9f2e48fd --- /dev/null +++ b/meson.build @@ -0,0 +1,2847 @@ +project('elogind', 'c', + version : '234', + license : 'LGPLv2+', + default_options: [ + 'c_std=gnu99', + 'prefix=/usr', + 'sysconfdir=/etc', + 'localstatedir=/var', + ], + meson_version : '>= 0.40', + ) + +# We need the same data in three different formats, ugh! +# Also, for hysterical reasons, we use different variable +# names, sometimes. Not all variables are included in every +# set. Ugh, ugh, ugh! +conf = configuration_data() +conf.set_quoted('PACKAGE_STRING', meson.project_name() + ' ' + meson.project_version()) +conf.set_quoted('PACKAGE_VERSION', meson.project_version()) + +substs = configuration_data() +substs.set('PACKAGE_URL', 'https://github.com/elogind/elogind') +substs.set('PACKAGE_VERSION', meson.project_version()) + +m4_defines = [] + +##################################################################### +#if 0 /// elogind does not need this +# elogind Note: We use precompiler masks for two reasons: +# 1) The masking is consistent with the sources +# 2) The git patch creator we use for preparing upstream patches +# manipulates commits to not take those masks out. Therefore +# it can be used to add commits updating the meson files, too. +# # Try to install the git pre-commit hook +# git_hook = run_command(join_paths(meson.source_root(), 'tools/add-git-hook.sh')) +# if git_hook.returncode() == 0 +# message(git_hook.stdout().strip()) +# endif +#endif // 0 +##################################################################### + +rootprefixdir = get_option('rootprefix') +if get_option('split-usr') + conf.set('HAVE_SPLIT_USR', true) + rootprefixdir = rootprefixdir != '' ? rootprefixdir : '/' +else + rootprefixdir = rootprefixdir != '' ? rootprefixdir : '/usr' +endif + +#if 0 /// UNNEEDED by elogind +# sysvinit_path = get_option('sysvinit-path') +# sysvrcnd_path = get_option('sysvrcnd-path') +# if sysvinit_path != '' or sysvrcnd_path != '' +# conf.set('HAVE_SYSV_COMPAT', true, +# description : 'SysV init scripts and rcN.d links are supported') +# m4_defines += ['-DHAVE_SYSV_COMPAT'] +# endif +#endif // 0 + +# join_paths ignore the preceding arguments if an absolute component is +# encountered, so this should canonicalize various paths when they are +# absolute or relative. +prefixdir = get_option('prefix') +if not prefixdir.startswith('/') + error('Prefix is not absolute: "@0@"'.format(prefixdir)) +endif +bindir = join_paths(prefixdir, get_option('bindir')) +libdir = join_paths(prefixdir, get_option('libdir')) +sysconfdir = join_paths(prefixdir, get_option('sysconfdir')) +includedir = join_paths(prefixdir, get_option('includedir')) +datadir = join_paths(prefixdir, get_option('datadir')) +localstatedir = join_paths('/', get_option('localstatedir')) + +rootbindir = join_paths(rootprefixdir, 'bin') +#if 0 /// elogind has a different default +# rootlibexecdir = join_paths(rootprefixdir, 'lib/systemd') +#else +rootlibexecdir = get_option('rootlibexecdir') +rootlibexecdir = rootlibexecdir != '' ? rootlibexecdir : join_paths(rootprefixdir, 'lib/libexec') +#endif // 0 + +rootlibdir = get_option('rootlibdir') +if rootlibdir == '' + rootlibdir = join_paths(rootprefixdir, libdir.split('/')[-1]) +endif + +# Dirs of external packages +pkgconfigdatadir = join_paths(datadir, 'pkgconfig') +pkgconfiglibdir = join_paths(libdir, 'pkgconfig') +polkitpolicydir = join_paths(datadir, 'polkit-1/actions') +polkitrulesdir = join_paths(datadir, 'polkit-1/rules.d') +polkitpkladir = join_paths(localstatedir, 'lib/polkit-1/localauthority/10-vendor.d') +varlogdir = join_paths(localstatedir, 'log') +#if 0 /// UNNEEDED by elogind +# xinitrcdir = join_paths(sysconfdir, 'X11/xinit/xinitrc.d') +# rpmmacrosdir = get_option('rpmmacrosdir') +#endif // 0 + +# Our own paths +#if 0 /// elogind has a bit different layout and does not need all of theses +# pkgdatadir = join_paths(datadir, 'systemd') +# environmentdir = join_paths(prefixdir, 'lib/environment.d') +# pkgsysconfdir = join_paths(sysconfdir, 'systemd') +# userunitdir = join_paths(prefixdir, 'lib/systemd/user') +# userpresetdir = join_paths(prefixdir, 'lib/systemd/user-preset') +# tmpfilesdir = join_paths(prefixdir, 'lib/tmpfiles.d') +# sysusersdir = join_paths(prefixdir, 'lib/sysusers.d') +# sysctldir = join_paths(prefixdir, 'lib/sysctl.d') +# binfmtdir = join_paths(prefixdir, 'lib/binfmt.d') +# modulesloaddir = join_paths(prefixdir, 'lib/modules-load.d') +# networkdir = join_paths(rootprefixdir, 'lib/systemd/network') +# pkgincludedir = join_paths(includedir, 'systemd') +# systemgeneratordir = join_paths(rootlibexecdir, 'system-generators') +# usergeneratordir = join_paths(prefixdir, 'lib/systemd/user-generators') +# systemenvgeneratordir = join_paths(prefixdir, 'lib/systemd/system-environment-generators') +# userenvgeneratordir = join_paths(prefixdir, 'lib/systemd/user-environment-generators') +# systemshutdowndir = join_paths(rootlibexecdir, 'system-shutdown') +# systemsleepdir = join_paths(rootlibexecdir, 'system-sleep') +# systemunitdir = join_paths(rootprefixdir, 'lib/systemd/system') +# systempresetdir = join_paths(rootprefixdir, 'lib/systemd/system-preset') +# udevlibexecdir = join_paths(rootprefixdir, 'lib/udev') +# udevhomedir = udevlibexecdir +# udevrulesdir = join_paths(udevlibexecdir, 'rules.d') +# udevhwdbdir = join_paths(udevlibexecdir, 'hwdb.d') +# catalogdir = join_paths(prefixdir, 'lib/systemd/catalog') +# kernelinstalldir = join_paths(prefixdir, 'lib/kernel/install.d') +# factorydir = join_paths(datadir, 'factory') +# docdir = join_paths(datadir, 'doc/systemd') +# bootlibdir = join_paths(prefixdir, 'lib/systemd/boot/efi') +# testsdir = join_paths(prefixdir, 'lib/systemd/tests') +# systemdstatedir = join_paths(localstatedir, 'lib/systemd') +# catalogstatedir = join_paths(systemdstatedir, 'catalog') +# randomseeddir = join_paths(localstatedir, 'lib/systemd') +#else +pkgdatadir = join_paths(datadir, 'elogind') +pkgsysconfdir = join_paths(sysconfdir, 'elogind') +pkgincludedir = join_paths(includedir, 'elogind/systemd') +systemshutdowndir = join_paths(rootlibexecdir, 'system-shutdown') +systemsleepdir = join_paths(rootlibexecdir, 'system-sleep') + +# in elogind, udev is external and hus configurable +udevlibexecdir = get_option('udevbindir') +udevlibexecdir = udevlibexecdir != '' ? udevlibexecdir : join_paths(rootprefixdir, 'lib/udev') +udevrulesdir = get_option('udevrulesdir') +udevrulesdir = udevrulesdir != '' ? udevrulesdir : join_paths(udevlibexecdir, 'rules.d') +udevhomedir = udevlibexecdir +factorydir = join_paths(datadir, 'factory') +docdir = '-'.join([join_paths(datadir, 'doc/elogind'), + meson.project_version()]) +testsdir = join_paths(prefixdir, 'lib/elogind/tests') +systemdstatedir = join_paths(localstatedir, 'lib/elogind') +randomseeddir = join_paths(localstatedir, 'lib/elogind') +#endif // 0 + +dbuspolicydir = get_option('dbuspolicydir') +if dbuspolicydir == '' + dbuspolicydir = join_paths(datadir, 'dbus-1/system.d') +endif + +dbussessionservicedir = get_option('dbussessionservicedir') +if dbussessionservicedir == '' + dbussessionservicedir = join_paths(datadir, 'dbus-1/services') +endif + +dbussystemservicedir = get_option('dbussystemservicedir') +if dbussystemservicedir == '' + dbussystemservicedir = join_paths(datadir, 'dbus-1/system-services') +endif + +pamlibdir = get_option('pamlibdir') +if pamlibdir == '' + pamlibdir = join_paths(rootlibdir, 'security') +endif + +pamconfdir = get_option('pamconfdir') +if pamconfdir == '' + pamconfdir = join_paths(sysconfdir, 'pam.d') +endif + +conf.set_quoted('PKGSYSCONFDIR', pkgsysconfdir) +conf.set_quoted('SYSTEM_CONFIG_UNIT_PATH', join_paths(pkgsysconfdir, 'system')) +#if 0 /// UNNEEDED by elogind +# conf.set_quoted('SYSTEM_DATA_UNIT_PATH', systemunitdir) +# conf.set_quoted('SYSTEM_SYSVINIT_PATH', sysvinit_path) +# conf.set_quoted('SYSTEM_SYSVRCND_PATH', sysvrcnd_path) +# conf.set_quoted('RC_LOCAL_SCRIPT_PATH_START', get_option('rc-local')) +# conf.set_quoted('RC_LOCAL_SCRIPT_PATH_STOP', get_option('halt-local')) +# conf.set_quoted('USER_CONFIG_UNIT_PATH', join_paths(pkgsysconfdir, 'user')) +# conf.set_quoted('USER_DATA_UNIT_PATH', userunitdir) +# conf.set_quoted('CERTIFICATE_ROOT', get_option('certificate-root')) +# conf.set_quoted('CATALOG_DATABASE', join_paths(catalogstatedir, 'database')) +#endif // 0 +# conf.set_quoted('SYSTEMD_CGROUP_AGENT_PATH', join_paths(rootlibexecdir, 'systemd-cgroups-agent')) +# conf.set_quoted('SYSTEMD_BINARY_PATH', join_paths(rootlibexecdir, 'systemd')) +# conf.set_quoted('SYSTEMD_FSCK_PATH', join_paths(rootlibexecdir, 'systemd-fsck')) +# conf.set_quoted('SYSTEMD_SHUTDOWN_BINARY_PATH', join_paths(rootlibexecdir, 'systemd-shutdown')) +# conf.set_quoted('SYSTEMD_SLEEP_BINARY_PATH', join_paths(rootlibexecdir, 'systemd-sleep')) +# conf.set_quoted('SYSTEMCTL_BINARY_PATH', join_paths(rootbindir, 'systemctl')) +# conf.set_quoted('SYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH', join_paths(rootbindir, 'systemd-tty-ask-password-agent')) +# conf.set_quoted('SYSTEMD_STDIO_BRIDGE_BINARY_PATH', join_paths(bindir, 'systemd-stdio-bridge')) +#else +conf.set_quoted('SYSTEMD_CGROUP_AGENT_PATH', join_paths(rootlibexecdir, 'elogind-cgroups-agent')) +conf.set_quoted('SYSTEMD_BINARY_PATH', join_paths(rootlibexecdir, 'elogind')) +#endif // 0 +conf.set_quoted('ROOTPREFIX', rootprefixdir) +#if 0 /// UNNEEDED by elogind +# conf.set_quoted('RANDOM_SEED_DIR', randomseeddir) +# conf.set_quoted('RANDOM_SEED', join_paths(randomseeddir, 'random-seed')) +# conf.set_quoted('SYSTEMD_CRYPTSETUP_PATH', join_paths(rootlibexecdir, 'systemd-cryptsetup')) +# conf.set_quoted('SYSTEM_GENERATOR_PATH', systemgeneratordir) +# conf.set_quoted('USER_GENERATOR_PATH', usergeneratordir) +# conf.set_quoted('SYSTEM_ENV_GENERATOR_PATH', systemenvgeneratordir) +# conf.set_quoted('USER_ENV_GENERATOR_PATH', userenvgeneratordir) +#endif // 0 +conf.set_quoted('SYSTEM_SHUTDOWN_PATH', systemshutdowndir) +conf.set_quoted('SYSTEM_SLEEP_PATH', systemsleepdir) +#if 0 /// UNNEEDED by elogind +# conf.set_quoted('SYSTEMD_KBD_MODEL_MAP', join_paths(pkgdatadir, 'kbd-model-map')) +# conf.set_quoted('SYSTEMD_LANGUAGE_FALLBACK_MAP', join_paths(pkgdatadir, 'language-fallback-map')) +#endif // 0 +conf.set_quoted('UDEVLIBEXECDIR', udevlibexecdir) +conf.set_quoted('POLKIT_AGENT_BINARY_PATH', join_paths(bindir, 'pkttyagent')) +conf.set_quoted('LIBDIR', libdir) +conf.set_quoted('ROOTLIBDIR', rootlibdir) +conf.set_quoted('ROOTLIBEXECDIR', rootlibexecdir) +#if 0 /// UNNEEDED by elogind +# conf.set_quoted('BOOTLIBDIR', bootlibdir) +# conf.set_quoted('SYSTEMD_PULL_PATH', join_paths(rootlibexecdir, 'systemd-pull')) +# conf.set_quoted('SYSTEMD_IMPORT_PATH', join_paths(rootlibexecdir, 'systemd-import')) +# conf.set_quoted('SYSTEMD_EXPORT_PATH', join_paths(rootlibexecdir, 'systemd-export')) +# conf.set_quoted('VENDOR_KEYRING_PATH', join_paths(rootlibexecdir, 'import-pubring.gpg')) +# conf.set_quoted('USER_KEYRING_PATH', join_paths(pkgsysconfdir, 'import-pubring.gpg')) +# conf.set_quoted('DOCUMENT_ROOT', join_paths(pkgdatadir, 'gatewayd')) +#endif // 0 + +conf.set_quoted('ABS_BUILD_DIR', meson.build_root()) +conf.set_quoted('ABS_SRC_DIR', meson.source_root()) + +substs.set('prefix', prefixdir) +substs.set('exec_prefix', prefixdir) +substs.set('libdir', libdir) +substs.set('rootlibdir', rootlibdir) +substs.set('includedir', includedir) +substs.set('pkgsysconfdir', pkgsysconfdir) +substs.set('bindir', bindir) +substs.set('rootbindir', rootbindir) +substs.set('rootlibexecdir', rootlibexecdir) +#if 0 /// UNNEEDED by elogind +# substs.set('systemunitdir', systemunitdir) +# substs.set('userunitdir', userunitdir) +# substs.set('systempresetdir', systempresetdir) +# substs.set('userpresetdir', userpresetdir) +# substs.set('udevhwdbdir', udevhwdbdir) +#endif // 0 +substs.set('udevrulesdir', udevrulesdir) +substs.set('udevlibexecdir', udevlibexecdir) +#if 0 /// UNNEEDED by elogind +# substs.set('catalogdir', catalogdir) +# substs.set('tmpfilesdir', tmpfilesdir) +# substs.set('sysusersdir', sysusersdir) +# substs.set('sysctldir', sysctldir) +# substs.set('binfmtdir', binfmtdir) +# substs.set('modulesloaddir', modulesloaddir) +# substs.set('systemgeneratordir', systemgeneratordir) +# substs.set('usergeneratordir', usergeneratordir) +# substs.set('systemenvgeneratordir', systemenvgeneratordir) +# substs.set('userenvgeneratordir', userenvgeneratordir) +#endif // 0 +substs.set('systemshutdowndir', systemshutdowndir) +substs.set('systemsleepdir', systemsleepdir) +substs.set('VARLOGDIR', varlogdir) +#if 0 /// UNNEEDED by elogind +# substs.set('CERTIFICATEROOT', get_option('certificate-root')) +# substs.set('SYSTEMCTL', join_paths(rootbindir, 'systemctl')) +# substs.set('RANDOM_SEED', join_paths(randomseeddir, 'random-seed')) +# substs.set('SYSTEM_SYSVINIT_PATH', sysvinit_path) +# substs.set('SYSTEM_SYSVRCND_PATH', sysvrcnd_path) +# substs.set('RC_LOCAL_SCRIPT_PATH_START', get_option('rc-local')) +# substs.set('RC_LOCAL_SCRIPT_PATH_STOP', get_option('halt-local')) +#endif // 0 + +##################################################################### + +cc = meson.get_compiler('c') +pkgconfig = import('pkgconfig') +check_compilation_sh = find_program('tools/meson-check-compilation.sh') + +cxx = find_program('c++', required : false) +if cxx.found() + # Used only for tests + add_languages('cpp') +endif + +foreach arg : ['-Wextra', + '-Wundef', + '-Wlogical-op', + '-Wmissing-include-dirs', + '-Wold-style-definition', + '-Wpointer-arith', + '-Winit-self', + '-Wdeclaration-after-statement', + '-Wfloat-equal', + '-Wsuggest-attribute=noreturn', + '-Werror=missing-prototypes', + '-Werror=implicit-function-declaration', + '-Werror=missing-declarations', + '-Werror=return-type', + '-Werror=incompatible-pointer-types', + '-Werror=format=2', + '-Wstrict-prototypes', + '-Wredundant-decls', + '-Wmissing-noreturn', + '-Wshadow', + '-Wendif-labels', + '-Wstrict-aliasing=2', + '-Wwrite-strings', + '-Werror=overflow', + '-Wdate-time', + '-Wnested-externs', + '-ffast-math', + '-fno-common', + '-fdiagnostics-show-option', + '-fno-strict-aliasing', + '-fvisibility=hidden', + '-fstack-protector', + '-fstack-protector-strong', + '-fPIE', + '--param=ssp-buffer-size=4', + ] + if cc.has_argument(arg) + add_project_arguments(arg, language : 'c') + endif +endforeach + +# "negative" arguments: gcc on purpose does not return an error for "-Wno-" +# arguments, just emits a warnings. So test for the "positive" version instead. +foreach arg : ['unused-parameter', + 'missing-field-initializers', + 'unused-result', + 'format-signedness'] + if cc.has_argument('-W' + arg) + add_project_arguments('-Wno-' + arg, language : 'c') + endif +endforeach + +if cc.compiles(' + #include + #include + typedef uint64_t usec_t; + usec_t now(clockid_t clock); + int main(void) { + struct timespec now; + return 0; + } +', name : '-Werror=shadow with local shadowing') + add_project_arguments('-Werror=shadow', language : 'c') +endif + +if cc.get_id() == 'clang' + foreach arg : ['-Wno-typedef-redefinition', + '-Wno-gnu-variable-sized-type-not-at-end', + ] + if cc.has_argument(arg, + name : '@0@ is supported'.format(arg)) + add_project_arguments(arg, language : 'c') + endif + endforeach +endif + +link_test_c = files('tools/meson-link-test.c') + +# --as-needed and --no-undefined are provided by meson by default, +# run mesonconf to see what is enabled +foreach arg : ['-Wl,-z,relro', + '-Wl,-z,now', + '-pie', + ] + + have = run_command(check_compilation_sh, + cc.cmd_array(), '-x', 'c', arg, + '-include', link_test_c).returncode() == 0 + message('Linking with @0@ supported: @1@'.format(arg, have ? 'yes' : 'no')) + if have + add_project_link_arguments(arg, language : 'c') + endif +endforeach + +if get_option('buildtype') != 'debug' + foreach arg : ['-ffunction-sections', + '-fdata-sections'] + if cc.has_argument(arg, + name : '@0@ is supported'.format(arg)) + add_project_arguments(arg, language : 'c') + endif + endforeach + + foreach arg : ['-Wl,--gc-sections'] + have = run_command(check_compilation_sh, + cc.cmd_array(), '-x', 'c', arg, + '-include', link_test_c).returncode() == 0 + message('Linking with @0@ supported: @1@'.format(arg, have ? 'yes' : 'no')) + if have + add_project_link_arguments(arg, language : 'c') + endif + endforeach +endif + +cpp = ' '.join(cc.cmd_array()) + ' -E' + +##################################################################### +# compilation result tests + +conf.set('_GNU_SOURCE', true) +conf.set('__SANE_USERSPACE_TYPES__', true) + +conf.set('SIZEOF_PID_T', cc.sizeof('pid_t', prefix : '#include ')) +conf.set('SIZEOF_UID_T', cc.sizeof('uid_t', prefix : '#include ')) +conf.set('SIZEOF_GID_T', cc.sizeof('gid_t', prefix : '#include ')) +conf.set('SIZEOF_DEV_T', cc.sizeof('dev_t', prefix : '#include ')) +conf.set('SIZEOF_INO_T', cc.sizeof('ino_t', prefix : '#include ')) +conf.set('SIZEOF_TIME_T', cc.sizeof('time_t', prefix : '#include ')) +conf.set('SIZEOF_RLIM_T', cc.sizeof('rlim_t', prefix : '#include ')) + +decl_headers = ''' +#include +#include +''' +# FIXME: key_serial_t is only defined in keyutils.h, this is bound to fail + +foreach decl : ['char16_t', + 'char32_t', + 'key_serial_t', + 'struct ethtool_link_settings', + ] + + # We get -1 if the size cannot be determined + have = cc.sizeof(decl, prefix : decl_headers) > 0 + conf.set('HAVE_' + decl.underscorify().to_upper(), have) +endforeach + +foreach decl : [['IFLA_INET6_ADDR_GEN_MODE', 'linux/if_link.h'], + ['IN6_ADDR_GEN_MODE_STABLE_PRIVACY', 'linux/if_link.h'], + ['IFLA_VRF_TABLE', 'linux/if_link.h'], + ['IFLA_MACVLAN_FLAGS', 'linux/if_link.h'], + ['IFLA_IPVLAN_MODE', 'linux/if_link.h'], + ['IFLA_PHYS_PORT_ID', 'linux/if_link.h'], + ['IFLA_BOND_AD_INFO', 'linux/if_link.h'], + ['IFLA_VLAN_PROTOCOL', 'linux/if_link.h'], + ['IFLA_VXLAN_REMCSUM_NOPARTIAL', 'linux/if_link.h'], + ['IFLA_VXLAN_GPE', 'linux/if_link.h'], + ['IFLA_GENEVE_LABEL', 'linux/if_link.h'], + # if_tunnel.h is buggy and cannot be included on its own + ['IFLA_VTI_REMOTE', 'linux/if_tunnel.h', '#include '], + ['IFLA_IPTUN_ENCAP_DPORT', 'linux/if_tunnel.h', '#include '], + ['IFLA_GRE_ENCAP_DPORT', 'linux/if_tunnel.h', '#include '], + ['IFLA_BRIDGE_VLAN_INFO', 'linux/if_bridge.h'], + ['IFLA_BRPORT_PROXYARP', 'linux/if_link.h'], + ['IFLA_BRPORT_LEARNING_SYNC', 'linux/if_link.h'], + ['IFLA_BR_VLAN_DEFAULT_PVID', 'linux/if_link.h'], + ['NDA_IFINDEX', 'linux/neighbour.h'], + ['IFA_FLAGS', 'linux/if_addr.h'], + ['LO_FLAGS_PARTSCAN', 'linux/loop.h'], + ] + prefix = decl.length() > 2 ? decl[2] : '' + have = cc.has_header_symbol(decl[1], decl[0], prefix : prefix) + conf.set10('HAVE_DECL_' + decl[0], have) +endforeach + +skip = false +foreach ident : ['secure_getenv', '__secure_getenv'] + if not skip and cc.has_function(ident) + conf.set('HAVE_' + ident.to_upper(), true) + skip = true + endif +endforeach + +foreach ident : [ + ['memfd_create', '''#include '''], + ['gettid', '''#include '''], + ['pivot_root', '''#include '''], # no known header declares pivot_root + ['name_to_handle_at', '''#define _GNU_SOURCE + #include + #include + #include '''], + ['setns', '''#define _GNU_SOURCE + #include '''], + ['renameat2', '''#include '''], + ['kcmp', '''#include '''], + ['keyctl', '''#include + #include '''], + ['copy_file_range', '''#include + #include '''], + ['explicit_bzero' , '''#include '''], +] + + have = cc.has_function(ident[0], prefix : ident[1]) + conf.set10('HAVE_DECL_' + ident[0].to_upper(), have) +endforeach + +if cc.has_function('getrandom', prefix : '''#include ''') + conf.set('USE_SYS_RANDOM_H', true) + conf.set10('HAVE_DECL_GETRANDOM', true) +else + have = cc.has_function('getrandom', prefix : '''#include ''') + conf.set10('HAVE_DECL_GETRANDOM', have) +endif + +##################################################################### + +sed = find_program('sed') +grep = find_program('grep') +awk = find_program('awk') +m4 = find_program('m4') +stat = find_program('stat') +git = find_program('git', required : false) + +meson_make_symlink = meson.source_root() + '/tools/meson-make-symlink.sh' +mkdir_p = 'mkdir -p $DESTDIR/@0@' +#if 0 /// unneeded by elogind +# test_efi_create_disk_sh = find_program('test/test-efi-create-disk.sh') +# splash_bmp = files('test/splash.bmp') +#endif // 0 + +# if -Dxxx-path option is found, use that. Otherwise, check in $PATH, +# /usr/sbin, /sbin, and fall back to the default from middle column. +#if 0 /// elogind has a bit different list and some adaptions +# progs = [['telinit', '/lib/sysvinit/telinit'], +# ['quotaon', '/usr/sbin/quotaon' ], +# ['quotacheck', '/usr/sbin/quotacheck' ], +# ['kill', '/usr/bin/kill' ], +# ['kmod', '/usr/bin/kmod' ], +# ['kexec', '/usr/sbin/kexec' ], +# ['sulogin', '/usr/sbin/sulogin' ], +# ['mount', '/usr/bin/mount', 'MOUNT_PATH'], +# ['umount', '/usr/bin/umount', 'UMOUNT_PATH'], +# ['loadkeys', '/usr/bin/loadkeys', 'KBD_LOADKEYS'], +# ['setfont', '/usr/bin/setfont', 'KBD_SETFONT'], +# ] +#else +progs = [['kexec', '/usr/sbin/kexec', 'KEXEC'], + ['reboot', '/sbin/reboot', 'REBOOT'], + ['halt', '/sbin/halt', 'HALT'], + ] +#endif // 0 +foreach prog : progs + path = get_option(prog[0] + '-path') + if path != '' + message('Using @1@ for @0@'.format(prog[0], path)) + else + exe = find_program(prog[0], + '/usr/sbin/' + prog[0], + '/sbin/' + prog[0], + required: false) + path = exe.found() ? exe.path() : prog[1] + endif + name = prog.length() > 2 ? prog[2] : prog[0].to_upper() + conf.set_quoted(name, path) + substs.set(name, path) +endforeach + +if run_command('ln', '--relative', '--help').returncode() != 0 + error('ln does not support --relative') +endif + +############################################################ + +gperf = find_program('gperf') + +gperf_test_format = ''' +#include +const char * in_word_set(const char *, @0@); +@1@ +''' +gperf_snippet_format = 'echo foo,bar | @0@ -L ANSI-C' +gperf_snippet = run_command('sh', '-c', gperf_snippet_format.format(gperf.path())) +gperf_test = gperf_test_format.format('size_t', gperf_snippet.stdout()) +if cc.compiles(gperf_test) + gperf_len_type = 'size_t' +else + gperf_test = gperf_test_format.format('unsigned', gperf_snippet.stdout()) + if cc.compiles(gperf_test) + gperf_len_type = 'unsigned' + else + error('unable to determine gperf len type') + endif +endif +message('gperf len type is @0@'.format(gperf_len_type)) +conf.set('GPERF_LEN_TYPE', gperf_len_type, + description : 'The type of gperf "len" parameter') + +############################################################ + +if not cc.has_header('sys/capability.h') + error('POSIX caps headers not found') +endif +foreach header : ['linux/btrfs.h', + 'linux/memfd.h', + 'linux/vm_sockets.h', + 'valgrind/memcheck.h', + 'valgrind/valgrind.h', + ] + + conf.set('HAVE_' + header.underscorify().to_upper(), + cc.has_header(header)) +endforeach + +############################################################ + +conf.set_quoted('FALLBACK_HOSTNAME', get_option('fallback-hostname')) + +default_hierarchy = get_option('default-hierarchy') +conf.set_quoted('DEFAULT_HIERARCHY_NAME', default_hierarchy, + description : 'default cgroup hierarchy as string') +if default_hierarchy == 'legacy' + conf.set('DEFAULT_HIERARCHY', 'CGROUP_UNIFIED_NONE') +elif default_hierarchy == 'hybrid' + conf.set('DEFAULT_HIERARCHY', 'CGROUP_UNIFIED_SYSTEMD') +else + conf.set('DEFAULT_HIERARCHY', 'CGROUP_UNIFIED_ALL') +endif + +#if 0 /// UNNEEDED by elogind +# time_epoch = get_option('time-epoch') +# if time_epoch == '' +# NEWS = files('NEWS') +# time_epoch = run_command(stat, '-c', '%Y', NEWS).stdout() +# endif +# time_epoch = time_epoch.to_int() +# conf.set('TIME_EPOCH', time_epoch) +#else +############################################################ +# elogind needs to know which cgroups controller to follow. +get_cg_ctrl_sh = find_program('tools/meson-get-cg-controller.sh') +with_cgroupctrl = get_option('cgroup-controller') +if with_cgroupctrl == '' or with_cgroupctrl == 'auto' + with_cgroupctrl = run_command(get_cg_ctrl_sh, []).stdout().strip() +elif with_cgroupctrl == 'none' + with_cgroupctrl = 'elogind' +endif + +# No controller now is a problem: +if with_cgroupctrl == '' + error('Unable to determine cgroup controller, but cgroups support is mandatory!') +endif + +conf.set_quoted('SYSTEMD_CGROUP_CONTROLLER', '_'.join(['',with_cgroupctrl]), + description : 'name of the cgroup controller to use') +conf.set_quoted('SYSTEMD_CGROUP_CONTROLLER_LEGACY', + '='.join(['name', with_cgroupctrl])) +conf.set_quoted('SYSTEMD_CGROUP_CONTROLLER_HYBRID', + '='.join(['name', with_cgroupctrl])) +############################################################ +#endif // 0 + +system_uid_max = get_option('system-uid-max') +if system_uid_max == '' + system_uid_max = run_command( + awk, + 'BEGIN { uid=999 } /^\s*SYS_UID_MAX\s+/ { uid=$2 } END { print uid }', + '/etc/login.defs').stdout() +endif +system_uid_max = system_uid_max.to_int() +conf.set('SYSTEM_UID_MAX', system_uid_max) +substs.set('systemuidmax', system_uid_max) +message('maximum system UID is @0@'.format(system_uid_max)) + +#if 0 /// UNNEEDED by elogind +# conf.set_quoted('NOBODY_USER_NAME', get_option('nobody-user')) +# conf.set_quoted('NOBODY_GROUP_NAME', get_option('nobody-group')) +#endif // 0 + +system_gid_max = get_option('system-gid-max') +if system_gid_max == '' + system_gid_max = run_command( + awk, + 'BEGIN { gid=999 } /^\s*SYS_GID_MAX\s+/ { gid=$2 } END { print gid }', + '/etc/login.defs').stdout() +endif +system_gid_max = system_gid_max.to_int() +conf.set('SYSTEM_GID_MAX', system_gid_max) +substs.set('systemgidmax', system_gid_max) +message('maximum system GID is @0@'.format(system_gid_max)) + +tty_gid = get_option('tty-gid') +conf.set('TTY_GID', tty_gid) +substs.set('TTY_GID', tty_gid) + +#if 0 /// UNNEEDED by elogind +# if get_option('adm-group') +# m4_defines += ['-DENABLE_ADM_GROUP'] +# endif +# +# if get_option('wheel-group') +# m4_defines += ['-DENABLE_WHEEL_GROUP'] +# endif +# +# substs.set('DEV_KVM_MODE', get_option('dev-kvm-mode')) +#endif // 0 + +kill_user_processes = get_option('default-kill-user-processes') +conf.set10('KILL_USER_PROCESSES', kill_user_processes) +substs.set('KILL_USER_PROCESSES', kill_user_processes ? 'yes' : 'no') + +#if 0 /// UNNEEDED by elogind +# dns_servers = get_option('dns-servers') +# conf.set_quoted('DNS_SERVERS', dns_servers) +# substs.set('DNS_SERVERS', dns_servers) +# +# ntp_servers = get_option('ntp-servers') +# conf.set_quoted('NTP_SERVERS', ntp_servers) +# substs.set('NTP_SERVERS', ntp_servers) +#endif // 0 + +conf.set_quoted('GETTEXT_PACKAGE', meson.project_name()) + +#if 0 /// UNNEEDED by elogind +# substs.set('SUSHELL', get_option('debug-shell')) +# substs.set('DEBUGTTY', get_option('debug-tty')) +#endif // 0 + +debug = get_option('debug') +if debug != '' + foreach name : debug.split(',') + if name == 'hashmap' + conf.set('ENABLE_DEBUG_HASHMAP', true) + elif name == 'mmap-cache' + conf.set('ENABLE_DEBUG_MMAP_CACHE', true) +#if 1 /// additional elogind debug mode + elif name == 'elogind' + conf.set('ENABLE_DEBUG_ELOGIND', true) +#endif // 1 + else + message('unknown debug option "@0@", ignoring'.format(name)) + endif + endforeach +endif + +##################################################################### + +threads = dependency('threads') +librt = cc.find_library('rt') +libm = cc.find_library('m') +libdl = cc.find_library('dl') +libcrypt = cc.find_library('crypt') + +libcap = dependency('libcap', required : false) +if not libcap.found() + # Compat with Ubuntu 14.04 which ships libcap w/o .pc file + libcap = cc.find_library('cap') +endif + +#if 0 /// UNNEEDED by elogind +# libmount = dependency('mount', +# version : '>= 2.27') +# +# want_seccomp = get_option('seccomp') +# if want_seccomp != 'false' +# libseccomp = dependency('libseccomp', +# version : '>= 2.3.1', +# required : want_seccomp == 'true') +# if libseccomp.found() +# conf.set('HAVE_SECCOMP', true) +# m4_defines += ['-DHAVE_SECCOMP'] +# endif +# else +# libseccomp = [] +# endif +#else +libseccomp = [] +#endif // 0 + +want_selinux = get_option('selinux') +if want_selinux != 'false' + libselinux = dependency('libselinux', + version : '>= 2.1.9', + required : want_selinux == 'true') + if libselinux.found() + conf.set('HAVE_SELINUX', true) + m4_defines += ['-DHAVE_SELINUX'] + endif +else + libselinux = [] +endif + +#if 0 /// UNNEEDED by elogind +# want_apparmor = get_option('apparmor') +# if want_apparmor != 'false' +# libapparmor = dependency('libapparmor', +# required : want_apparmor == 'true') +# if libapparmor.found() +# conf.set('HAVE_APPARMOR', true) +# m4_defines += ['-DHAVE_APPARMOR'] +# endif +# else +# libapparmor = [] +# endif +#else +libapparmor = [] +#endif // 0 + +smack_run_label = get_option('smack-run-label') +if smack_run_label != '' + conf.set_quoted('SMACK_RUN_LABEL', smack_run_label) + m4_defines += ['-DHAVE_SMACK_RUN_LABEL'] +endif + +want_polkit = get_option('polkit') +install_polkit = false +install_polkit_pkla = false +if want_polkit != 'false' + conf.set('ENABLE_POLKIT', true) + install_polkit = true + + libpolkit = dependency('polkit-gobject-1', + required : false) + if libpolkit.found() and libpolkit.version().version_compare('< 0.106') + message('Old polkit detected, will install pkla files') + install_polkit_pkla = true + endif +endif + +want_acl = get_option('acl') +if want_acl != 'false' + libacl = cc.find_library('acl', required : want_acl == 'true') + if libacl.found() + conf.set('HAVE_ACL', true) + m4_defines += ['-DHAVE_ACL'] + endif +else + libacl = [] +endif + +want_audit = get_option('audit') +if want_audit != 'false' + libaudit = dependency('audit', required : want_audit == 'true') + conf.set('HAVE_AUDIT', libaudit.found()) +else + libaudit = [] +endif + +#if 0 /// UNNEEDED by elogind +# want_blkid = get_option('blkid') +# if want_blkid != 'false' +# libblkid = dependency('blkid', required : want_blkid == 'true') +# conf.set('HAVE_BLKID', libblkid.found()) +# else +# libblkid = [] +# endif +# +# want_kmod = get_option('kmod') +# if want_kmod != 'false' +# libkmod = dependency('libkmod', +# version : '>= 15', +# required : want_kmod == 'true') +# conf.set('HAVE_KMOD', libkmod.found()) +# else +# libkmod = [] +# endif +#else +libblkid = [] +libkmod = [] +#endif // 0 + +want_pam = get_option('pam') +if want_pam != 'false' + libpam = cc.find_library('pam', required : want_pam == 'true') + libpam_misc = cc.find_library('pam_misc', required : want_pam == 'true') + if libpam.found() and libpam_misc.found() + conf.set('HAVE_PAM', true) + m4_defines += ['-DHAVE_PAM'] + endif +else + libpam = [] + libpam_misc = [] +endif + +#if 0 /// UNNEEDED by elogind +# want_microhttpd = get_option('microhttpd') +# if want_microhttpd != 'false' +# libmicrohttpd = dependency('libmicrohttpd', +# version : '>= 0.9.33', +# required : want_microhttpd == 'true') +# if libmicrohttpd.found() +# conf.set('HAVE_MICROHTTPD', true) +# m4_defines += ['-DHAVE_MICROHTTPD'] +# endif +# else +# libmicrohttpd = [] +# endif +# +# want_libcryptsetup = get_option('libcryptsetup') +# if want_libcryptsetup != 'false' +# libcryptsetup = dependency('libcryptsetup', +# version : '>= 1.6.0', +# required : want_libcryptsetup == 'true') +# conf.set('HAVE_LIBCRYPTSETUP', libcryptsetup.found()) +# else +# libcryptsetup = [] +# endif +# +# want_libcurl = get_option('libcurl') +# if want_libcurl != 'false' +# libcurl = dependency('libcurl', +# version : '>= 7.32.0', +# required : want_libcurl == 'true') +# if libcurl.found() +# conf.set('HAVE_LIBCURL', true) +# m4_defines += ['-DHAVE_LIBCURL'] +# endif +# else +# libcurl = [] +# endif +# +# want_libidn = get_option('libidn') +# want_libidn2 = get_option('libidn2') +# if want_libidn == 'true' and want_libidn2 == 'true' +# error('libidn and libidn2 cannot be requested simultaneously') +# endif +# +# if want_libidn != 'false' and want_libidn2 != 'true' +# libidn = dependency('libidn', +# required : want_libidn == 'true') +# if libidn.found() +# conf.set('HAVE_LIBIDN', true) +# m4_defines += ['-DHAVE_LIBIDN'] +# endif +# else +# libidn = [] +# endif +# if not conf.get('HAVE_LIBIDN', false) and want_libidn2 != 'false' +# # libidn is used for both libidn and libidn2 objects +# libidn = dependency('libidn2', +# required : want_libidn2 == 'true') +# if libidn.found() +# conf.set('HAVE_LIBIDN2', true) +# m4_defines += ['-DHAVE_LIBIDN2'] +# endif +# endif +# +# want_libiptc = get_option('libiptc') +# if want_libiptc != 'false' +# libiptc = dependency('libiptc', +# required : want_libiptc == 'true') +# if libiptc.found() +# conf.set('HAVE_LIBIPTC', true) +# m4_defines += ['-DHAVE_LIBIPTC'] +# endif +# else +# libiptc = [] +# endif +# +# want_qrencode = get_option('qrencode') +# if want_qrencode != 'false' +# libqrencode = dependency('libqrencode', +# required : want_qrencode == 'true') +# conf.set('HAVE_QRENCODE', libqrencode.found()) +# else +# libqrencode = [] +# endif +# +# want_gcrypt = get_option('gcrypt') +# if want_gcrypt != 'false' +# libgcrypt = cc.find_library('gcrypt', required : want_gcrypt == 'true') +# libgpg_error = cc.find_library('gpg-error', required : want_gcrypt == 'true') +# +# have_deps = libgcrypt.found() and libgpg_error.found() +# conf.set('HAVE_GCRYPT', have_deps) +# if not have_deps +# # link to neither of the libs if one is not found +# libgcrypt = [] +# libgpg_error = [] +# endif +# else +# libgcrypt = [] +# libgpg_error = [] +# endif +# +# want_gnutls = get_option('gnutls') +# if want_gnutls != 'false' +# libgnutls = dependency('gnutls', +# version : '>= 3.1.4', +# required : want_gnutls == 'true') +# conf.set('HAVE_GNUTLS', libgnutls.found()) +# else +# libgnutls = [] +# endif +# +# want_elfutils = get_option('elfutils') +# if want_elfutils != 'false' +# libdw = dependency('libdw', +# required : want_elfutils == 'true') +# conf.set('HAVE_ELFUTILS', libdw.found()) +# else +# libdw = [] +# endif +# +# want_zlib = get_option('zlib') +# if want_zlib != 'false' +# libz = dependency('zlib', +# required : want_zlib == 'true') +# conf.set('HAVE_ZLIB', libz.found()) +# else +# libz = [] +# endif +# +# want_bzip2 = get_option('bzip2') +# if want_bzip2 != 'false' +# libbzip2 = cc.find_library('bz2', +# required : want_bzip2 == 'true') +# conf.set('HAVE_BZIP2', libbzip2.found()) +# else +# libbzip2 = [] +# endif +# +# want_xz = get_option('xz') +# if want_xz != 'false' +# libxz = dependency('liblzma', +# required : want_xz == 'true') +# conf.set('HAVE_XZ', libxz.found()) +# else +# libxz = [] +# endif +# +# want_lz4 = get_option('lz4') +# if want_lz4 != 'false' +# liblz4 = dependency('liblz4', +# required : want_lz4 == 'true') +# conf.set('HAVE_LZ4', liblz4.found()) +# else +# liblz4 = [] +# endif +# +# want_xkbcommon = get_option('xkbcommon') +# if want_xkbcommon != 'false' +# libxkbcommon = dependency('xkbcommon', +# version : '>= 0.3.0', +# required : want_xkbcommon == 'true') +# conf.set('HAVE_XKBCOMMON', libxkbcommon.found()) +# else +# libxkbcommon = [] +# endif +#else +libmicrohttpd = [] +libcryptsetup = [] +libcurl = [] +libidn = [] +libiptc = [] +libqrencode = [] +libgcrypt = [] +libgpg_error = [] +libgnutls = [] +libdw = [] +libz = [] +libbzip2 = [] +libxz = [] +liblz4 = [] +libxkbcommon = [] +#endif // 0 + +want_glib = get_option('glib') +if want_glib != 'false' + libglib = dependency('glib-2.0', + version : '>= 2.22.0', + required : want_glib == 'true') + libgobject = dependency('gobject-2.0', + version : '>= 2.22.0', + required : want_glib == 'true') + libgio = dependency('gio-2.0', + required : want_glib == 'true') + have = libglib.found() and libgobject.found() and libgio.found() + conf.set('HAVE_GLIB', have) +else + libglib = [] + libgobject = [] + libgio = [] +endif + +want_dbus = get_option('dbus') +if want_dbus != 'false' + libdbus = dependency('dbus-1', + version : '>= 1.3.2', + required : want_dbus == 'true') + conf.set('HAVE_DBUS', libdbus.found()) +else + libdbus = [] +endif + +#if 0 /// UNNEEDED by elogind +# default_dnssec = get_option('default-dnssec') +# if default_dnssec != 'no' and not conf.get('HAVE_GCRYPT', false) +# message('default-dnssec cannot be set to yes or allow-downgrade when gcrypt is disabled. Setting default-dnssec to no.') +# default_dnssec = 'no' +# endif +# conf.set('DEFAULT_DNSSEC_MODE', +# 'DNSSEC_' + default_dnssec.underscorify().to_upper()) +# substs.set('DEFAULT_DNSSEC_MODE', default_dnssec) +# +# want_importd = get_option('importd') +# if want_importd != 'false' +# have_deps = (conf.get('HAVE_LIBCURL', false) and +# conf.get('HAVE_ZLIB', false) and +# conf.get('HAVE_BZIP2', false) and +# conf.get('HAVE_XZ', false) and +# conf.get('HAVE_GCRYPT', false)) +# conf.set('ENABLE_IMPORTD', have_deps) +# if want_importd == 'true' and not have_deps +# error('importd support was requested, but dependencies are not available') +# endif +# endif +# +# want_remote = get_option('remote') +# if want_remote != 'false' +# have_deps = [conf.get('HAVE_MICROHTTPD', false), +# conf.get('HAVE_LIBCURL', false)] +# # sd-j-remote requires µhttpd, and sd-j-upload requires libcurl, so +# # it's possible to build one without the other. Complain only if +# # support was explictly requested. The auxiliary files like sysusers +# # config should be installed when any of the programs are built. +# if want_remote == 'true' and not (have_deps[0] and have_deps[1]) +# error('remote support was requested, but dependencies are not available') +# endif +# conf.set('ENABLE_REMOTE', have_deps[0] or have_deps[1]) +# endif +#endif // 0 + +foreach pair : [['utmp', 'HAVE_UTMP'], +#if 0 /// UNNEEDED by elogind +# ['hibernate', 'ENABLE_HIBERNATE'], +# ['environment-d', 'ENABLE_ENVIRONMENT_D'], +# ['binfmt', 'ENABLE_BINFMT'], +# ['coredump', 'ENABLE_COREDUMP'], +# ['resolve', 'ENABLE_RESOLVED'], +# ['logind', 'ENABLE_LOGIND'], +# ['hostnamed', 'ENABLE_HOSTNAMED'], +# ['localed', 'ENABLE_LOCALED'], +# ['machined', 'ENABLE_MACHINED'], +# ['networkd', 'ENABLE_NETWORKD'], +# ['timedated', 'ENABLE_TIMEDATED'], +# ['timesyncd', 'ENABLE_TIMESYNCD'], +# ['myhostname', 'HAVE_MYHOSTNAME'], +# ['firstboot', 'ENABLE_FIRSTBOOT'], +# ['randomseed', 'ENABLE_RANDOMSEED'], +# ['backlight', 'ENABLE_BACKLIGHT'], +# ['vconsole', 'ENABLE_VCONSOLE'], +# ['quotacheck', 'ENABLE_QUOTACHECK'], +# ['sysusers', 'ENABLE_SYSUSERS'], +# ['tmpfiles', 'ENABLE_TMPFILES'], +# ['hwdb', 'ENABLE_HWDB'], +# ['rfkill', 'ENABLE_RFKILL'], +# ['ldconfig', 'ENABLE_LDCONFIG'], +# ['efi', 'ENABLE_EFI'], +# ['tpm', 'ENABLE_TPM'], +# ['ima', 'HAVE_IMA'], +#endif // 0 + ['smack', 'HAVE_SMACK'], +#if 0 /// UNNEEDED by elogind +# ['gshadow', 'ENABLE_GSHADOW'], +# ['idn', 'ENABLE_IDN'], +# ['nss-systemd', 'ENABLE_NSS_SYSTEMD'], +#endif // 0 + ] + + if get_option(pair[0]) + conf.set(pair[1], true) + m4_defines += ['-D' + pair[1]] + endif +endforeach + +want_tests = get_option('tests') +install_tests = get_option('install-tests') +tests = [] + +conf.set10('SYSTEMD_SLOW_TESTS_DEFAULT', get_option('slow-tests')) + +##################################################################### + +#if 0 /// UNNEEDED by elogind +# if get_option('efi') +# efi_arch = host_machine.cpu_family() +# +# if efi_arch == 'x86' +# EFI_MACHINE_TYPE_NAME = 'ia32' +# gnu_efi_arch = 'ia32' +# elif efi_arch == 'x86_64' +# EFI_MACHINE_TYPE_NAME = 'x64' +# gnu_efi_arch = 'x86_64' +# elif efi_arch == 'arm' +# EFI_MACHINE_TYPE_NAME = 'arm' +# gnu_efi_arch = 'arm' +# elif efi_arch == 'aarch64' +# EFI_MACHINE_TYPE_NAME = 'aa64' +# gnu_efi_arch = 'aarch64' +# else +# EFI_MACHINE_TYPE_NAME = '' +# gnu_efi_arch = '' +# endif +# +# conf.set('ENABLE_EFI', true) +# conf.set_quoted('EFI_MACHINE_TYPE_NAME', EFI_MACHINE_TYPE_NAME) +# +# conf.set('SD_TPM_PCR', get_option('tpm-pcrindex').to_int()) +# endif +#endif // 0 + +##################################################################### + +config_h = configure_file( + output : 'config.h', + configuration : conf) + +includes = include_directories('src/basic', + 'src/shared', + 'src/systemd', +#if 0 /// UNNEEDED by elogind +# 'src/journal', +# 'src/resolve', +# 'src/timesync', +#endif // 0 + 'src/login', +#if 0 /// UNNEEDED by elogind +# 'src/udev', +# 'src/libudev', +#endif // 0 + 'src/core', +#if 0 /// elogind has a different list +# 'src/libsystemd/sd-bus', +# 'src/libsystemd/sd-device', +# 'src/libsystemd/sd-hwdb', +# 'src/libsystemd/sd-id128', +# 'src/libsystemd/sd-netlink', +# 'src/libsystemd/sd-network', +# 'src/libsystemd-network', +#else + 'src/libelogind/sd-bus', + 'src/libelogind/sd-id128', + 'src/sleep', + 'src/update-utmp', +#endif // 0 + ) + +add_project_arguments('-include', 'config.h', language : 'c') + +#if 0 /// UNNEEDED by elogind +# gcrypt_util_sources = files('src/shared/gcrypt-util.h', +# 'src/shared/gcrypt-util.c') +#endif // 0 + +subdir('po') +#if 0 /// UNNEEDED by elogind +# subdir('catalog') +#endif // 0 +subdir('src/systemd') +subdir('src/basic') +#if 0 /// UNNEEDED by elogind +# subdir('src/libsystemd') +# subdir('src/libsystemd-network') +# subdir('src/journal') +#else +subdir('src/core') +subdir('src/libelogind') +subdir('src/sleep') +subdir('src/update-utmp') +#endif // 0 +subdir('src/login') + +#if 0 /// UNNEEDED by elogind +# libjournal_core = static_library( +# 'journal-core', +# libjournal_core_sources, +# journald_gperf_c, +# include_directories : includes, +# install : false) +# +# libsystemd_sym_path = '@0@/@1@'.format(meson.current_source_dir(), libsystemd_sym) +# libsystemd = shared_library( +# 'systemd', +# libsystemd_internal_sources, +# journal_internal_sources, +# version : '0.19.0', +# include_directories : includes, +# link_args : ['-shared', +# '-Wl,--version-script=' + libsystemd_sym_path], +# link_with : [libbasic], +# dependencies : [threads, +# libgcrypt, +# librt, +# libxz, +# liblz4], +# link_depends : libsystemd_sym, +# install : true, +# install_dir : rootlibdir) +#else +libelogind_sym_path = '@0@/@1@'.format(meson.current_source_dir(), libelogind_sym) +libelogind = shared_library( + 'elogind', + libelogind_internal_sources, + version : '0.19.0', + include_directories : includes, + link_args : ['-shared', + '-Wl,--version-script=' + libelogind_sym_path], + link_with : [libbasic], + dependencies : [threads], + link_depends : libelogind_sym, + install : true, + install_dir : rootlibdir) +#endif // 0 + +############################################################ + +# binaries that have --help and are intended for use by humans, +# usually, but not always, installed in /bin. +public_programs = [] + +#if 0 /// UNNEEDED by elogind +# subdir('src/libudev') +#else +# elogind depends on external libudev: +libudev = dependency('libudev', required : true) +#endif // 0 +subdir('src/shared') +#if 0 /// UNNEEDED by elogind +# subdir('src/core') +# subdir('src/udev') +# subdir('src/network') +# +# subdir('src/analyze') +# subdir('src/journal-remote') +# subdir('src/coredump') +# subdir('src/hostname') +# subdir('src/import') +# subdir('src/kernel-install') +# subdir('src/locale') +# subdir('src/machine') +# subdir('src/nspawn') +# subdir('src/resolve') +# subdir('src/timedate') +# subdir('src/timesync') +# subdir('src/vconsole') +# subdir('src/sulogin-shell') +# subdir('src/boot/efi') +#endif // 0 + +subdir('src/test') +#if 0 /// UNNEEDED in elogind +# subdir('test') +#endif // 0 + +############################################################ + +# only static linking apart from libdl, to make sure that the +# module is linked to all libraries that it uses. +#if 0 /// UNNEEDED by elogind +# test_dlopen = executable( +# 'test-dlopen', +# test_dlopen_c, +# include_directories : includes, +# link_with : [libbasic], +# dependencies : [libdl]) +# +# foreach tuple : [['myhostname', 'HAVE_MYHOSTNAME'], +# ['systemd', 'ENABLE_NSS_SYSTEMD'], +# ['mymachines', 'ENABLE_MACHINED'], +# ['resolve', 'ENABLE_RESOLVED']] +# +# condition = tuple[1] == '' or conf.get(tuple[1], false) +# if condition +# module = tuple[0] +# +# sym = 'src/nss-@0@/nss-@0@.sym'.format(module) +# version_script_arg = join_paths(meson.current_source_dir(), sym) +# +# nss = shared_library( +# 'nss_' + module, +# 'src/nss-@0@/nss-@0@.c'.format(module), +# version : '2', +# include_directories : includes, +# link_args : ['-shared', +# '-Wl,--version-script=' + version_script_arg, +# '-Wl,--undefined'], +# link_with : [libsystemd_internal, +# libbasic], +# dependencies : [threads, +# librt], +# link_depends : sym, +# install : true, +# install_dir : rootlibdir) +# +# # We cannot use shared_module because it does not support version suffix. +# # Unfortunately shared_library insists on creating the symlink… +# meson.add_install_script('sh', '-c', +# 'rm $DESTDIR@0@/libnss_@1@.so' +# .format(rootlibdir, module)) +# +# test('dlopen-nss_' + module, +# test_dlopen, +# args : [nss.full_path()]) # path to dlopen must include a slash +# endif +# endforeach +#endif // 0 + +############################################################ + +#if 0 /// UNNEEDED by elogind +# executable('systemd', +# systemd_sources, +# include_directories : includes, +# link_with : [libcore, +# libshared], +# dependencies : [threads, +# librt, +# libseccomp, +# libselinux, +# libmount, +# libblkid], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# exe = executable('systemd-analyze', +# systemd_analyze_sources, +# include_directories : includes, +# link_with : [libcore, +# libshared], +# dependencies : [threads, +# librt, +# libseccomp, +# libselinux, +# libmount, +# libblkid], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# +# executable('systemd-journald', +# systemd_journald_sources, +# include_directories : includes, +# link_with : [libjournal_core, +# libshared], +# dependencies : [threads, +# libxz, +# liblz4, +# libselinux], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# exe = executable('systemd-cat', +# systemd_cat_sources, +# include_directories : includes, +# link_with : [libjournal_core, +# libshared], +# dependencies : [threads], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# +# exe = executable('journalctl', +# journalctl_sources, +# include_directories : includes, +# link_with : [libshared], +# dependencies : [threads, +# libqrencode, +# libxz, +# liblz4], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootbindir) +# public_programs += [exe] +# +# executable('systemd-getty-generator', +# 'src/getty-generator/getty-generator.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : systemgeneratordir) +# +# executable('systemd-debug-generator', +# 'src/debug-generator/debug-generator.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : systemgeneratordir) +# +# executable('systemd-fstab-generator', +# 'src/fstab-generator/fstab-generator.c', +# 'src/core/mount-setup.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : systemgeneratordir) +# +# if conf.get('ENABLE_ENVIRONMENT_D', false) +# executable('30-systemd-environment-d-generator', +# 'src/environment-d-generator/environment-d-generator.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : userenvgeneratordir) +# +# meson.add_install_script(meson_make_symlink, +# join_paths(sysconfdir, 'environment'), +# join_paths(environmentdir, '99-environment.conf')) +# endif +# +# if conf.get('ENABLE_HIBERNATE', false) +# executable('systemd-hibernate-resume-generator', +# 'src/hibernate-resume/hibernate-resume-generator.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : systemgeneratordir) +# +# executable('systemd-hibernate-resume', +# 'src/hibernate-resume/hibernate-resume.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# endif +# +# if conf.get('HAVE_BLKID', false) +# executable('systemd-gpt-auto-generator', +# 'src/gpt-auto-generator/gpt-auto-generator.c', +# 'src/basic/blkid-util.h', +# include_directories : includes, +# link_with : [libshared], +# dependencies : libblkid, +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : systemgeneratordir) +# +# exe = executable('systemd-dissect', +# 'src/dissect/dissect.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# public_programs += [exe] +# endif +# +# if conf.get('ENABLE_RESOLVED', false) +# executable('systemd-resolved', +# systemd_resolved_sources, +# gcrypt_util_sources, +# include_directories : includes, +# link_with : [libshared], +# dependencies : [threads, +# libgcrypt, +# libgpg_error, +# libm, +# libidn], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# exe = executable('systemd-resolve', +# systemd_resolve_sources, +# gcrypt_util_sources, +# include_directories : includes, +# link_with : [libshared], +# dependencies : [threads, +# libgcrypt, +# libgpg_error, +# libm, +# libidn], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# endif +# +# if conf.get('ENABLE_LOGIND', false) +# executable('systemd-logind', +# systemd_logind_sources, +# include_directories : includes, +# link_with : [liblogind_core, +# libshared], +# dependencies : [threads, +# libacl], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# exe = executable('loginctl', +# loginctl_sources, +# include_directories : includes, +# link_with : [libshared], +# dependencies : [threads, +# liblz4, +# libxz], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootbindir) +# public_programs += [exe] +# +# exe = executable('systemd-inhibit', +# 'src/login/inhibit.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootbindir) +# public_programs += [exe] +# +# if conf.get('HAVE_PAM', false) +# version_script_arg = join_paths(meson.current_source_dir(), pam_systemd_sym) +# pam_systemd = shared_library( +# 'pam_systemd', +# pam_systemd_c, +# name_prefix : '', +# include_directories : includes, +# link_args : ['-shared', +# '-Wl,--version-script=' + version_script_arg], +# link_with : [libsystemd_internal, +# libshared_static], +# dependencies : [threads, +# libpam, +# libpam_misc], +# link_depends : pam_systemd_sym, +# install : true, +# install_dir : pamlibdir) +# +# test('dlopen-pam_systemd', +# test_dlopen, +# args : [pam_systemd.full_path()]) # path to dlopen must include a slash +# endif +# endif +#else + +executable('elogind', + elogind_sources, + include_directories : includes, + link_with : [liblogind_core, + libelogind, + libshared_static], + dependencies : [threads, + libacl, + libaudit], + install_rpath : rootlibexecdir, + install : true, + install_dir : rootlibexecdir) + +exe = executable('loginctl', + loginctl_sources, + include_directories : includes, + link_with : [libelogind, + libshared_static], + dependencies : [threads], + install_rpath : rootlibexecdir, + install : true, + install_dir : rootbindir) +public_programs += [exe] + +exe = executable('elogind-inhibit', + 'src/login/inhibit.c', + include_directories : includes, + link_with : [libshared_static], + dependencies : [threads], + install_rpath : rootlibexecdir, + install : true, + install_dir : rootbindir) +public_programs += [exe] + +if conf.get('HAVE_PAM', false) + version_script_arg = join_paths(meson.current_source_dir(), pam_elogind_sym) + pam_elogind = shared_library( + 'pam_elogind', + pam_elogind_c, + name_prefix : '', + include_directories : includes, + link_args : ['-shared', + '-Wl,--version-script=' + version_script_arg], + link_with : [libelogind, + libshared_static], + dependencies : [threads, + libpam, + libpam_misc], + link_depends : pam_elogind_sym, + install : true, + install_dir : pamlibdir) +endif +#endif // 0 + +#if 0 /// UNNEEDED by elogind +# if conf.get('HAVE_PAM', false) +# executable('systemd-user-sessions', +# 'src/user-sessions/user-sessions.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# endif +# +# if conf.get('ENABLE_EFI', false) and conf.get('HAVE_BLKID', false) +# exe = executable('bootctl', +# 'src/boot/bootctl.c', +# include_directories : includes, +# link_with : [libshared], +# dependencies : [libblkid], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# endif +# +# exe = executable('systemd-socket-activate', 'src/activate/activate.c', +# include_directories : includes, +# link_with : [libshared], +# dependencies : [threads], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# +# exe = executable('systemctl', 'src/systemctl/systemctl.c', +# include_directories : includes, +# link_with : [libshared], +# dependencies : [threads, +# libcap, +# libselinux, +# libxz, +# liblz4], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootbindir) +# public_programs += [exe] +# +# if conf.get('ENABLE_BACKLIGHT', false) +# executable('systemd-backlight', +# 'src/backlight/backlight.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# endif +# +# if conf.get('ENABLE_RFKILL', false) +# executable('systemd-rfkill', +# 'src/rfkill/rfkill.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# endif +# +# executable('systemd-system-update-generator', +# 'src/system-update-generator/system-update-generator.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : systemgeneratordir) +# +# if conf.get('HAVE_LIBCRYPTSETUP', false) +# executable('systemd-cryptsetup', +# 'src/cryptsetup/cryptsetup.c', +# include_directories : includes, +# link_with : [libshared], +# dependencies : [libcryptsetup], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# executable('systemd-cryptsetup-generator', +# 'src/cryptsetup/cryptsetup-generator.c', +# include_directories : includes, +# link_with : [libshared], +# dependencies : [libcryptsetup], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : systemgeneratordir) +# +# executable('systemd-veritysetup', +# 'src/veritysetup/veritysetup.c', +# include_directories : includes, +# link_with : [libshared], +# dependencies : [libcryptsetup], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# executable('systemd-veritysetup-generator', +# 'src/veritysetup/veritysetup-generator.c', +# include_directories : includes, +# link_with : [libshared], +# dependencies : [libcryptsetup], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : systemgeneratordir) +# endif +# +# if conf.get('HAVE_SYSV_COMPAT', false) +# executable('systemd-sysv-generator', +# 'src/sysv-generator/sysv-generator.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : systemgeneratordir) +# +# executable('systemd-rc-local-generator', +# 'src/rc-local-generator/rc-local-generator.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : systemgeneratordir) +# endif +# +# if conf.get('ENABLE_HOSTNAMED', false) +# executable('systemd-hostnamed', +# 'src/hostname/hostnamed.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# exe = executable('hostnamectl', +# 'src/hostname/hostnamectl.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# endif +# +# if conf.get('ENABLE_LOCALED', false) +# if conf.get('HAVE_XKBCOMMON', false) +# # logind will load libxkbcommon.so dynamically on its own +# deps = [libdl] +# else +# deps = [] +# endif +# +# executable('systemd-localed', +# systemd_localed_sources, +# include_directories : includes, +# link_with : [libshared], +# dependencies : deps, +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# exe = executable('localectl', +# localectl_sources, +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# endif +# +# if conf.get('ENABLE_TIMEDATED', false) +# executable('systemd-timedated', +# 'src/timedate/timedated.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# exe = executable('timedatectl', +# 'src/timedate/timedatectl.c', +# include_directories : includes, +# install_rpath : rootlibexecdir, +# link_with : [libshared], +# install : true) +# public_programs += [exe] +# endif +# +# if conf.get('ENABLE_TIMESYNCD', false) +# executable('systemd-timesyncd', +# systemd_timesyncd_sources, +# include_directories : includes, +# link_with : [libshared], +# dependencies : [threads, +# libm], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# endif +# +# if conf.get('ENABLE_MACHINED', false) +# executable('systemd-machined', +# systemd_machined_sources, +# include_directories : includes, +# link_with : [libmachine_core, +# libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# exe = executable('machinectl', +# 'src/machine/machinectl.c', +# include_directories : includes, +# link_with : [libshared], +# dependencies : [threads, +# libxz, +# liblz4], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootbindir) +# public_programs += [exe] +# endif +# +# if conf.get('ENABLE_IMPORTD', false) +# executable('systemd-importd', +# systemd_importd_sources, +# include_directories : includes, +# link_with : [libshared], +# dependencies : [threads], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# systemd_pull = executable('systemd-pull', +# systemd_pull_sources, +# include_directories : includes, +# link_with : [libshared], +# dependencies : [libcurl, +# libz, +# libbzip2, +# libxz, +# libgcrypt], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# systemd_import = executable('systemd-import', +# systemd_import_sources, +# include_directories : includes, +# link_with : [libshared], +# dependencies : [libcurl, +# libz, +# libbzip2, +# libxz], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# systemd_export = executable('systemd-export', +# systemd_export_sources, +# include_directories : includes, +# link_with : [libshared], +# dependencies : [libcurl, +# libz, +# libbzip2, +# libxz], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# public_programs += [systemd_pull, systemd_import, systemd_export] +# endif +# +# if conf.get('ENABLE_REMOTE', false) and conf.get('HAVE_LIBCURL', false) +# exe = executable('systemd-journal-upload', +# systemd_journal_upload_sources, +# include_directories : includes, +# link_with : [libshared], +# dependencies : [threads, +# libcurl, +# libgnutls, +# libxz, +# liblz4], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# public_programs += [exe] +# endif +# +# if conf.get('ENABLE_REMOTE', false) and conf.get('HAVE_MICROHTTPD', false) +# s_j_remote = executable('systemd-journal-remote', +# systemd_journal_remote_sources, +# include_directories : includes, +# link_with : [libshared], +# dependencies : [threads, +# libmicrohttpd, +# libgnutls, +# libxz, +# liblz4], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# s_j_gatewayd = executable('systemd-journal-gatewayd', +# systemd_journal_gatewayd_sources, +# include_directories : includes, +# link_with : [libshared], +# dependencies : [threads, +# libmicrohttpd, +# libgnutls, +# libxz, +# liblz4], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# public_programs += [s_j_remote, s_j_gatewayd] +# endif +# +# if conf.get('ENABLE_COREDUMP', false) +# executable('systemd-coredump', +# systemd_coredump_sources, +# include_directories : includes, +# link_with : [libshared], +# dependencies : [threads, +# libacl, +# libdw, +# libxz, +# liblz4], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# exe = executable('coredumpctl', +# coredumpctl_sources, +# include_directories : includes, +# link_with : [libshared], +# dependencies : [threads, +# libxz, +# liblz4], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# endif +# +# if conf.get('ENABLE_BINFMT', false) +# exe = executable('systemd-binfmt', +# 'src/binfmt/binfmt.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# public_programs += [exe] +# +# meson.add_install_script('sh', '-c', +# mkdir_p.format(binfmtdir)) +# meson.add_install_script('sh', '-c', +# mkdir_p.format(join_paths(sysconfdir, 'binfmt.d'))) +# endif +# +# if conf.get('ENABLE_VCONSOLE', false) +# executable('systemd-vconsole-setup', +# 'src/vconsole/vconsole-setup.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# endif +# +# if conf.get('ENABLE_RANDOMSEED', false) +# executable('systemd-random-seed', +# 'src/random-seed/random-seed.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# endif +# +# if conf.get('ENABLE_FIRSTBOOT', false) +# executable('systemd-firstboot', +# 'src/firstboot/firstboot.c', +# include_directories : includes, +# link_with : [libshared], +# dependencies : [libcrypt], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootbindir) +# endif +# +# executable('systemd-remount-fs', +# 'src/remount-fs/remount-fs.c', +# 'src/core/mount-setup.c', +# 'src/core/mount-setup.h', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# executable('systemd-machine-id-setup', +# 'src/machine-id-setup/machine-id-setup-main.c', +# 'src/core/machine-id-setup.c', +# 'src/core/machine-id-setup.h', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootbindir) +# +# executable('systemd-fsck', +# 'src/fsck/fsck.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# executable('systemd-sleep', +# 'src/sleep/sleep.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# exe = executable('systemd-sysctl', +# 'src/sysctl/sysctl.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# public_programs += [exe] +# +# executable('systemd-ac-power', +# 'src/ac-power/ac-power.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# exe = executable('systemd-detect-virt', +# 'src/detect-virt/detect-virt.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# +# exe = executable('systemd-delta', +# 'src/delta/delta.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# +# exe = executable('systemd-escape', +# 'src/escape/escape.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootbindir) +# public_programs += [exe] +# +# exe = executable('systemd-notify', +# 'src/notify/notify.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootbindir) +# public_programs += [exe] +# +# executable('systemd-volatile-root', +# 'src/volatile-root/volatile-root.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# executable('systemd-cgroups-agent', +# 'src/cgroups-agent/cgroups-agent.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +#else +executable('elogind-cgroups-agent', + 'src/cgroups-agent/cgroups-agent.c', + include_directories : includes, + link_with : [libshared_static], + install_rpath : rootlibexecdir, + install : true, + install_dir : rootlibexecdir) +#endif // 0 + +#if 0 /// UNNEEDED by elogind +# exe = executable('systemd-path', +# 'src/path/path.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# +# exe = executable('systemd-ask-password', +# 'src/ask-password/ask-password.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootbindir) +# public_programs += [exe] +# +# executable('systemd-reply-password', +# 'src/reply-password/reply-password.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# exe = executable('systemd-tty-ask-password-agent', +# 'src/tty-ask-password-agent/tty-ask-password-agent.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootbindir) +# public_programs += [exe] +# +# exe = executable('systemd-cgls', +# 'src/cgls/cgls.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# +# exe = executable('systemd-cgtop', +# 'src/cgtop/cgtop.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# +# executable('systemd-initctl', +# 'src/initctl/initctl.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# exe = executable('systemd-mount', +# 'src/mount/mount-tool.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# +# meson.add_install_script(meson_make_symlink, +# 'systemd-mount', join_paths(bindir, 'systemd-umount')) +# +# exe = executable('systemd-run', +# 'src/run/run.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# +# exe = executable('systemd-stdio-bridge', +# 'src/stdio-bridge/stdio-bridge.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# +# exe = executable('busctl', +# 'src/busctl/busctl.c', +# 'src/busctl/busctl-introspect.c', +# 'src/busctl/busctl-introspect.h', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# +# if conf.get('ENABLE_SYSUSERS', false) +# exe = executable('systemd-sysusers', +# 'src/sysusers/sysusers.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootbindir) +# public_programs += [exe] +# endif +# +# if conf.get('ENABLE_TMPFILES', false) +# exe = executable('systemd-tmpfiles', +# 'src/tmpfiles/tmpfiles.c', +# include_directories : includes, +# link_with : [libshared], +# dependencies : [libacl], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootbindir) +# public_programs += [exe] +# endif +# +# if conf.get('ENABLE_HWDB', false) +# exe = executable('systemd-hwdb', +# 'src/hwdb/hwdb.c', +# 'src/libsystemd/sd-hwdb/hwdb-internal.h', +# include_directories : includes, +# link_with : [libudev_internal], +# install_rpath : udev_rpath, +# install : true, +# install_dir : rootbindir) +# public_programs += [exe] +# endif +# +# if conf.get('ENABLE_QUOTACHECK', false) +# executable('systemd-quotacheck', +# 'src/quotacheck/quotacheck.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# endif +# +# exe = executable('systemd-socket-proxyd', +# 'src/socket-proxy/socket-proxyd.c', +# include_directories : includes, +# link_with : [libshared], +# dependencies : [threads], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# public_programs += [exe] +# +# exe = executable('systemd-udevd', +# systemd_udevd_sources, +# include_directories : includes, +# c_args : ['-DLOG_REALM=LOG_REALM_UDEV'], +# link_with : [libudev_core, +# libsystemd_network, +# libudev_internal], +# dependencies : [threads, +# libkmod, +# libidn, +# libacl, +# libblkid], +# install_rpath : udev_rpath, +# install : true, +# install_dir : rootlibexecdir) +# public_programs += [exe] +# +# exe = executable('udevadm', +# udevadm_sources, +# include_directories : includes, +# link_with : [libudev_core, +# libsystemd_network, +# libudev_internal], +# dependencies : [threads, +# libkmod, +# libidn, +# libacl, +# libblkid], +# install_rpath : udev_rpath, +# install : true, +# install_dir : rootbindir) +# public_programs += [exe] +# +# executable('systemd-shutdown', +# systemd_shutdown_sources, +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# executable('systemd-update-done', +# 'src/update-done/update-done.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# executable('systemd-update-utmp', +# 'src/update-utmp/update-utmp.c', +# include_directories : includes, +# link_with : [libshared], +# dependencies : [libaudit], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# if conf.get('HAVE_KMOD', false) +# executable('systemd-modules-load', +# 'src/modules-load/modules-load.c', +# include_directories : includes, +# link_with : [libshared], +# dependencies : [libkmod], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# meson.add_install_script('sh', '-c', +# mkdir_p.format(modulesloaddir)) +# meson.add_install_script('sh', '-c', +# mkdir_p.format(join_paths(sysconfdir, 'modules-load.d'))) +# endif +# +# exe = executable('systemd-nspawn', +# systemd_nspawn_sources, +# 'src/core/mount-setup.c', # FIXME: use a variable? +# 'src/core/mount-setup.h', +# 'src/core/loopback-setup.c', +# 'src/core/loopback-setup.h', +# include_directories : [includes, include_directories('src/nspawn')], +# link_with : [libshared], +# dependencies : [libacl, +# libblkid, +# libseccomp, +# libselinux], +# install_rpath : rootlibexecdir, +# install : true) +# public_programs += [exe] +# +# if conf.get('ENABLE_NETWORKD', false) +# executable('systemd-networkd', +# systemd_networkd_sources, +# include_directories : includes, +# link_with : [libnetworkd_core, +# libsystemd_network, +# libudev_internal, +# libshared], +# dependencies : [threads], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# executable('systemd-networkd-wait-online', +# systemd_networkd_wait_online_sources, +# include_directories : includes, +# link_with : [libnetworkd_core, +# libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# endif +# +# exe = executable('networkctl', +# networkctl_sources, +# include_directories : includes, +# link_with : [libsystemd_network, +# libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootbindir) +# public_programs += [exe] +#endif // 0 + +############################################################ + +foreach tuple : tests + sources = tuple[0] + link_with = tuple[1].length() > 0 ? tuple[1] : [libshared] + dependencies = tuple[2] + condition = tuple.length() >= 4 ? tuple[3] : '' + type = tuple.length() >= 5 ? tuple[4] : '' + defs = tuple.length() >= 6 ? tuple[5] : [] + incs = tuple.length() >= 7 ? tuple[6] : includes + timeout = 30 + + name = sources[0].split('/')[-1].split('.')[0] + if type.startswith('timeout=') + timeout = type.split('=')[1].to_int() + type = '' + endif + + if condition == '' or conf.get(condition, false) + exe = executable( + name, + sources, + include_directories : incs, + link_with : link_with, + dependencies : dependencies, + c_args : defs, + install_rpath : rootlibexecdir, + install : install_tests, + install_dir : join_paths(testsdir, type)) + + if type == 'manual' + message('@0@ is a manual test'.format(name)) + elif type == 'unsafe' and want_tests != 'unsafe' + message('@0@ is an unsafe test'.format(name)) + else + test(name, exe, + env : test_env, + timeout : timeout) + endif + else + message('Not compiling @0@ because @1@ is not true'.format(name, condition)) + endif +endforeach + +#if 0 /// UNNEEDED by elogind +# test_libsystemd_sym = executable( +# 'test-libsystemd-sym', +# test_libsystemd_sym_c, +# include_directories : includes, +# link_with : [libsystemd], +# install : install_tests, +# install_dir : testsdir) +# test('test-libsystemd-sym', +# test_libsystemd_sym) +# +# test_libudev_sym = executable( +# 'test-libudev-sym', +# test_libudev_sym_c, +# include_directories : includes, +# c_args : ['-Wno-deprecated-declarations'], +# link_with : [libudev], +# install : install_tests, +# install_dir : testsdir) +# test('test-libudev-sym', +# test_libudev_sym) +#else +test_libelogind_sym = executable( + 'test-libelogind-sym', + test_libelogind_sym_c, + include_directories : includes, + link_with : [libelogind], + install : install_tests, + install_dir : testsdir) +test('test-libelogind-sym', + test_libelogind_sym) +#endif // 0 + +############################################################ + +make_directive_index_py = find_program('tools/make-directive-index.py') +make_man_index_py = find_program('tools/make-man-index.py') +xml_helper_py = find_program('tools/xml_helper.py') +#if 0 /// UNNEEDED by elogind +# hwdb_update_sh = find_program('tools/meson-hwdb-update.sh') +# +# subdir('units') +# subdir('sysctl.d') +# subdir('sysusers.d') +# subdir('tmpfiles.d') +# subdir('rules') +# subdir('hwdb') +# subdir('network') +#endif // 0 +subdir('man') +subdir('shell-completion/bash') +subdir('shell-completion/zsh') +#if 0 /// UNNEEDED by elogind +# subdir('docs/sysvinit') +# subdir('docs/var-log') +#endif // 0 + +# FIXME: figure out if the warning is true: +# https://github.com/mesonbuild/meson/wiki/Reference-manual#install_subdir +install_subdir('factory/etc', + install_dir : factorydir) + +#if 0 /// UNNEEDED by elogind +# install_data('xorg/50-systemd-user.sh', +# install_dir : xinitrcdir) +# install_data('system-preset/90-systemd.preset', +# install_dir : systempresetdir) +#endif // 0 +install_data('README', + 'NEWS', + 'CODING_STYLE', +#if 0 /// UNNEEDED by elogind +# 'DISTRO_PORTING', +# 'ENVIRONMENT.md', +#endif // 0 + 'LICENSE.GPL2', + 'LICENSE.LGPL2.1', + 'src/libelogind/sd-bus/GVARIANT-SERIALIZATION', + install_dir : docdir) + +meson.add_install_script('sh', '-c', mkdir_p.format(systemdstatedir)) +meson.add_install_script('sh', '-c', 'touch $DESTDIR@0@'.format(prefixdir)) + +############################################################ + +meson_check_help = find_program('tools/meson-check-help.sh') + +foreach exec : public_programs + name = exec.full_path().split('/')[-1] + test('check-help-' + name, + meson_check_help, + args : [exec.full_path()]) +endforeach + +############################################################ + +if git.found() + all_files = run_command( + git, + ['--git-dir=@0@/.git'.format(meson.source_root()), + 'ls-files', + ':/*.[ch]']) + all_files = files(all_files.stdout().split()) + + run_target( + 'tags', + input : all_files, + command : ['env', 'etags', '-o', '@0@/TAGS'.format(meson.source_root())] + all_files) + run_target( + 'ctags', + input : all_files, + command : ['env', 'ctags', '-o', '@0@/tags'.format(meson.source_root())] + all_files) +endif + +if git.found() + meson_git_contrib_sh = find_program('tools/meson-git-contrib.sh') + run_target( + 'git-contrib', + command : [meson_git_contrib_sh]) +endif + +if git.found() + git_head = run_command( + git, + ['--git-dir=@0@/.git'.format(meson.source_root()), + 'rev-parse', 'HEAD']).stdout().strip() + git_head_short = run_command( + git, + ['--git-dir=@0@/.git'.format(meson.source_root()), + 'rev-parse', '--short=7', 'HEAD']).stdout().strip() + + run_target( + 'git-snapshot', + command : ['git', 'archive', + '-o', '@0@/systemd-@1@.tar.gz'.format(meson.source_root(), + git_head_short), + '--prefix', 'systemd-@0@/'.format(git_head), + 'HEAD']) +endif + +############################################################ + +status = [ + '@0@ @1@'.format(meson.project_name(), meson.project_version()), + + 'prefix: @0@'.format(prefixdir), + 'rootprefix: @0@'.format(rootprefixdir), + 'sysconf dir: @0@'.format(sysconfdir), + 'includedir: @0@'.format(includedir), + 'lib dir: @0@'.format(libdir), + 'rootlib dir: @0@'.format(rootlibdir), +#if 0 /// UNSUPPORTED by elogind +# 'SysV init scripts: @0@'.format(sysvinit_path), +# 'SysV rc?.d directories: @0@'.format(sysvrcnd_path), +#endif // 0 + 'PAM modules dir: @0@'.format(pamlibdir), + 'PAM configuration dir: @0@'.format(pamconfdir), +#if 0 /// UNSUPPORTED by elogind +# 'RPM macros dir: @0@'.format(rpmmacrosdir), +#endif // 0 + 'D-Bus policy dir: @0@'.format(dbuspolicydir), + 'D-Bus session dir: @0@'.format(dbussessionservicedir), + 'D-Bus system dir: @0@'.format(dbussystemservicedir), + 'bash completions dir: @0@'.format(bashcompletiondir), + 'zsh completions dir: @0@'.format(zshcompletiondir), +#if 0 /// UNSUPPORTED by elogind +# 'extra start script: @0@'.format(get_option('rc-local')), +# 'extra stop script: @0@'.format(get_option('halt-local')), +# 'debug shell: @0@ @ @1@'.format(get_option('debug-shell'), +# get_option('debug-tty')), +#endif // 0 + 'TTY GID: @0@'.format(tty_gid), + 'maximum system UID: @0@'.format(system_uid_max), + 'maximum system GID: @0@'.format(system_gid_max), +#if 0 /// UNSUPPORTED by elogind +# '/dev/kvm access mode: @0@'.format(get_option('dev-kvm-mode')), +# 'certificate root: @0@'.format(get_option('certificate-root')), +# 'support URL: @0@'.format(support_url), +# 'nobody user name: @0@'.format(get_option('nobody-user')), +# 'nobody group name: @0@'.format(get_option('nobody-group')), +# 'fallback hostname: @0@'.format(get_option('fallback-hostname')), +# +# 'default DNSSEC mode: @0@'.format(default_dnssec), +# 'default cgroup hierarchy: @0@'.format(default_hierarchy), +#endif // 0 + 'default KillUserProcesses setting: @0@'.format(kill_user_processes)] + +#if 0 /// UNSUPPORTED by elogind +# alt_dns_servers = '\n '.join(dns_servers.split(' ')) +# alt_ntp_servers = '\n '.join(ntp_servers.split(' ')) +# status += [ +# 'default DNS servers: @0@'.format(alt_dns_servers), +# 'default NTP servers: @0@'.format(alt_ntp_servers)] +# +# alt_time_epoch = run_command('date', '-Is', '-u', '-d', +# '@@0@'.format(time_epoch)).stdout().strip() +# status += [ +# 'time epoch: @0@ (@1@)'.format(time_epoch, alt_time_epoch)] +#endif // 0 + +# TODO: +# CFLAGS: ${OUR_CFLAGS} ${CFLAGS} +# CPPFLAGS: ${OUR_CPPFLAGS} ${CPPFLAGS} +# LDFLAGS: ${OUR_LDFLAGS} ${LDFLAGS} + +#if 0 /// UNNEEDED by elogind +# if conf.get('ENABLE_EFI', false) +# status += [ +# 'efi arch: @0@'.format(efi_arch)] +# +# if have_gnu_efi +# status += [ +# 'EFI machine type: @0@'.format(EFI_MACHINE_TYPE_NAME), +# 'EFI CC @0@'.format(efi_cc), +# 'EFI libdir: @0@'.format(efi_libdir), +# 'EFI ldsdir: @0@'.format(efi_ldsdir), +# 'EFI includedir: @0@'.format(efi_incdir)] +# endif +# endif +#endif // 0 + +found = [] +missing = [] + +foreach tuple : [ +#if 0 /// UNNEEDED by elogind +# ['libcryptsetup'], +#endif // 0 + ['PAM'], + ['AUDIT'], +#if 0 /// UNNEEDED by elogind +# ['IMA'], +# ['AppArmor'], +#endif // 0 + ['SELinux'], +#if 0 /// UNNEEDED by elogind +# ['SECCOMP'], +#endif // 0 + ['SMACK'], +#if 0 /// UNNEEDED by elogind +# ['zlib'], +# ['xz'], +# ['lz4'], +# ['bzip2'], +#endif // 0 + ['ACL'], +#if 0 /// UNNEEDED by elogind +# ['gcrypt'], +# ['qrencode'], +# ['microhttpd'], +# ['gnutls'], +# ['libcurl'], +# ['idn'], +# ['libidn2'], +# ['libidn'], +# ['nss-systemd'], +# ['libiptc'], +# ['elfutils'], +# ['binfmt'], +# ['vconsole'], +# ['quotacheck'], +# ['tmpfiles'], +# ['environment.d'], +# ['sysusers'], +# ['firstboot'], +# ['randomseed'], +# ['backlight'], +# ['rfkill'], +# ['logind'], +# ['machined'], +# ['importd'], +# ['hostnamed'], +# ['timedated'], +# ['timesyncd'], +# ['localed'], +# ['networkd'], +# ['resolved'], +# ['coredump'], +#endif // 0 + ['polkit'], + ['legacy pkla', install_polkit_pkla], +#if 0 /// UNNEEDED by elogind +# ['efi'], +# ['gnu-efi', have_gnu_efi], +# ['kmod'], +# ['xkbcommon'], +# ['blkid'], +#endif // 0 + ['dbus'], + ['glib'], +#if 0 /// UNNEEDED by elogind +# ['nss-myhostname', conf.get('HAVE_MYHOSTNAME', false)], +# ['hwdb'], +# ['tpm'], +#endif // 0 + ['man pages', want_man], + ['html pages', want_html], + ['man page indices', want_man and have_lxml], + ['split /usr', conf.get('HAVE_SPLIT_USR', false)], +#if 0 /// UNNEEDED by elogind +# ['SysV compat'], +#endif // 0 + ['utmp'], +#if 0 /// UNNEEDED by elogind +# ['ldconfig'], +# ['hibernate'], +# ['adm group', get_option('adm-group')], +# ['wheel group', get_option('wheel-group')], +# ['gshadow'], +#else + ['debug elogind'], +#endif // 0 + ['debug hashmap'], + ['debug mmap cache'], +] + + cond = tuple.get(1, '') + if cond == '' + ident1 = 'HAVE_' + tuple[0].underscorify().to_upper() + ident2 = 'ENABLE_' + tuple[0].underscorify().to_upper() + cond = conf.get(ident1, false) or conf.get(ident2, false) + endif + if cond + found += [tuple[0]] + else + missing += [tuple[0]] + endif +endforeach + +status += [ + '', + 'enabled features: @0@'.format(', '.join(found)), + '', + 'disabled features: @0@'.format(', '.join(missing)), + ''] +message('\n '.join(status)) diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 000000000..3ec87540b --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,306 @@ +# -*- mode: meson -*- + +option('split-usr', type : 'boolean', value : false, + description : '''assume that /bin, /sbin aren't symlinks into /usr''') +option('rootlibdir', type : 'string', + description : '''[/usr]/lib/x86_64-linux-gnu or such''') +option('rootprefix', type : 'string', + description : '''override the root prefix''') +#if 0 /// UNNEEDED by elogind +# Note: See meson.build why we use precompiler masks +# option('link-udev-shared', type : 'boolean', +# description : 'link systemd-udev and its helpers to libsystemd-shared.so') +# +# option('sysvinit-path', type : 'string', value : '/etc/init.d', +# description : 'the directory where the SysV init scripts are located') +# option('sysvrcnd-path', type : 'string', value : '/etc/rc.d', +# description : 'the base directory for SysV rcN.d directories') +# option('telinit-path', type : 'string', description : 'path to telinit') +# option('rc-local', type : 'string', +# value : '/etc/rc.local') +# option('halt-local', type : 'string', +# value : '/usr/sbin/halt.local') +# +# option('quotaon-path', type : 'string', description : 'path to quotaon') +# option('quotacheck-path', type : 'string', description : 'path to quotacheck') +# option('kill-path', type : 'string', description : 'path to kill') +# option('kmod-path', type : 'string', description : 'path to kmod') +#else +# elogind must have a configurable rootlibexecdir +option('rootlibexecdir', type : 'string', + description : '''override the root libexec directory path''') + +# And because elogind depends on external udev, it must be +# configurable as well. +option('udevrulesdir', type : 'string', + description : '''directory for udev rules files''') + +option('udevbindir', type : 'string', + description : '''directory for udev binary files''') + +# We have no systemd-shutdown binary, so we need 'halt' and 'reboot' +option('halt-path', type : 'string', description : 'path to halt') +option('reboot-path', type : 'string', description : 'path to reboot') +#endif // 0 +option('kexec-path', type : 'string', description : 'path to kexec') +#if 0 /// UNNEEDED by elogind +# option('sulogin-path', type : 'string', description : 'path to sulogin') +# option('mount-path', type : 'string', description : 'path to mount') +# option('umount-path', type : 'string', description : 'path to umount') +# option('loadkeys-path', type : 'string', description : 'path to loadkeys') +# option('setfont-path', type : 'string', description : 'path to setfont') +# +# option('debug-shell', type : 'string', value : '/bin/sh', +# description : 'path to debug shell binary') +# option('debug-tty', type : 'string', value : '/dev/tty9', +# description : 'specify the tty device for debug shell') +# option('debug', type : 'string', +# description : 'enable extra debugging (hashmap,mmap-cache)') +#else +option('debug', type : 'string', + description : 'enable extra debugging (elogind,hashmap,mmap-cache)') +#endif // 0 + +option('utmp', type : 'boolean', + description : 'support for utmp/wtmp log handling') +#if 0 /// UNNEEDED by elogind +# option('hibernate', type : 'boolean', +# description : 'support for hibernation') +# option('ldconfig', type : 'boolean', +# description : 'support for dynamic linker cache creation') +# option('resolve', type : 'boolean', +# description : 'systemd-resolved stack') +# option('efi', type : 'boolean', +# description : 'enable systemd-boot and bootctl') +# option('tpm', type : 'boolean', +# description : 'TPM should be used to log events and extend the registers') +# option('environment-d', type : 'boolean', +# description : 'support for environment.d') +# option('binfmt', type : 'boolean', +# description : 'support for custom binary formats') +# option('coredump', type : 'boolean', +# description : 'install the coredump handler') +# option('logind', type : 'boolean', +# description : 'install the systemd-logind stack') +# option('hostnamed', type : 'boolean', +# description : 'install the systemd-hostnamed stack') +# option('localed', type : 'boolean', +# description : 'install the systemd-localed stack') +# option('machined', type : 'boolean', +# description : 'install the systemd-machined stack') +# option('networkd', type : 'boolean', +# description : 'install the systemd-networkd stack') +# option('timedated', type : 'boolean', +# description : 'install the systemd-timedated daemon') +# option('timesyncd', type : 'boolean', +# description : 'install the systemd-timesyncd daemon') +# option('remote', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'support for "journal over the network"') +# option('myhostname', type : 'boolean', +# description : 'nss-myhostname support') +# option('firstboot', type : 'boolean', +# description : 'support for firstboot mechanism') +# option('randomseed', type : 'boolean', +# description : 'support for restoring random seed') +# option('backlight', type : 'boolean', +# description : 'support for restoring backlight state') +# option('vconsole', type : 'boolean', +# description : 'support for vconsole configuration') +# option('quotacheck', type : 'boolean', +# description : 'support for the quotacheck tools') +# option('sysusers', type : 'boolean', +# description : 'support for the sysusers configuration') +# option('tmpfiles', type : 'boolean', +# description : 'support for tmpfiles.d') +# option('importd', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'install the systemd-importd daemon') +# option('hwdb', type : 'boolean', +# description : 'support for the hardware database') +# option('rfkill', type : 'boolean', +# description : 'support for the rfkill tools') +#endif // 0 +option('man', type : 'combo', choices : ['auto', 'true', 'false'], + description : 'build and install man pages') +option('html', type : 'combo', choices : ['auto', 'true', 'false'], + value : 'false', + description : 'build and install html pages') + +#if 0 /// UNNEEDED by elogind +# option('certificate-root', type : 'string', value : '/etc/ssl', +# description : 'the prefix for TLS certificates') +#endif // 0 +option('dbuspolicydir', type : 'string', + description : 'D-Bus policy directory') +option('dbussessionservicedir', type : 'string', + description : 'D-Bus session service directory') +option('dbussystemservicedir', type : 'string', + description : 'D-Bus system service directory') +option('pkgconfigdatadir', type : 'string', value : 'share/pkgconfig', + description : 'directory for ') +option('pkgconfiglibdir', type : 'string', value : '', + description : 'directory for ') +#if 0 /// UNNEEDED by elogind +# option('rpmmacrosdir', type : 'string', value : 'lib/rpm/macros.d', +# description : 'directory for rpm macros ["no" disables]') +#endif // 0 +option('pamlibdir', type : 'string', + description : 'directory for PAM modules') +option('pamconfdir', type : 'string', + description : 'directory for PAM configuration ["no" disables]') + +option('fallback-hostname', type : 'string', value : 'localhost', + description : 'the hostname used if none configured') +option('default-hierarchy', type : 'combo', + choices : ['legacy', 'hybrid', 'unified'], value : 'hybrid', + description : 'default cgroup hierarchy') + +#if 0 /// UNNEEDED by elogind +# option('time-epoch', type : 'string', +# description : 'time epoch for time clients') +#else +option('cgroup-controller', type : 'string', + description : 'Name of the cgroup controller to use') +#endif // 0 +option('system-uid-max', type : 'string', + description : 'maximum system UID') +option('system-gid-max', type : 'string', + description : 'maximum system GID') +option('tty-gid', type : 'string', + description : 'the numeric GID of the "tty" group', + value : '5') +#if 0 /// UNNEEDED by elogind +# option('adm-group', type : 'boolean', +# description : 'the ACL for adm group should be added') +# option('wheel-group', type : 'boolean', +# description : 'the ACL for wheel group should be added') +# option('nobody-user', type : 'string', +# description : 'The name of the nobody user (the one with UID 65534)', +# value : 'nobody') +# option('nobody-group', type : 'string', +# description : 'The name of the nobody group (the one with GID 65534)', +# value : 'nobody') +# option('dev-kvm-mode', type : 'string', value : '0660', +# description : '/dev/kvm access mode') +#endif // 0 +option('default-kill-user-processes', type : 'boolean', + description : 'the default value for KillUserProcesses= setting') +option('gshadow', type : 'boolean', + description : 'support for shadow group') + +#if 0 /// UNNEEDED by elogind +# option('default-dnssec', type : 'combo', +# description : 'default DNSSEC mode', +# choices : ['yes', 'allow-downgrade', 'no'], +# value : 'allow-downgrade') +# option('dns-servers', type : 'string', +# description : 'space-separated list of default DNS servers', +# value : '8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844') +# option('ntp-servers', type : 'string', +# description : 'space-separated list of default NTP servers', +# value : 'time1.google.com time2.google.com time3.google.com time4.google.com') +# option('support-url', type : 'string', +# description : 'the support URL to show in catalog entries included in systemd', +# value : 'https://lists.freedesktop.org/mailman/listinfo/systemd-devel') +# option('www-target', type : 'string', +# description : 'the address and dir to upload docs too', +# value : 'www.freedesktop.org:/srv/www.freedesktop.org/www/software/systemd') +# +# option('seccomp', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'SECCOMP support') +#endif // 0 +option('selinux', type : 'combo', choices : ['auto', 'true', 'false'], + description : 'SELinux support') +#if 0 /// UNNEEDED by elogind +# option('apparmor', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'AppArmor support') +#endif // 0 +option('smack', type : 'boolean', + description : 'SMACK support') +option('smack-run-label', type : 'string', + description : 'run systemd --system itself with a specific SMACK label') +option('polkit', type : 'combo', choices : ['auto', 'true', 'false'], + description : 'PolicyKit support') +option('ima', type : 'boolean', + description : 'IMA support') + +option('acl', type : 'combo', choices : ['auto', 'true', 'false'], + description : 'libacl support') +option('audit', type : 'combo', choices : ['auto', 'true', 'false'], + description : 'libaudit support') +#if 0 /// UNNEEDED by elogind +# option('blkid', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'libblkid support') +# option('kmod', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'support for loadable modules') +#endif // 0 +option('pam', type : 'combo', choices : ['auto', 'true', 'false'], + description : 'PAM support') +#if 0 /// UNNEEDED by elogind +# option('microhttpd', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'libµhttpd support') +# option('libcryptsetup', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'libcryptsetup support') +# option('libcurl', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'libcurl support') +# option('idn', type : 'boolean', +# description : 'use IDN when printing host names') +# option('libidn2', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'libidn2 support') +# option('libidn', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'libidn support') +# option('nss-systemd', type : 'boolean', +# description : 'enable nss-systemd') +# option('libiptc', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'libiptc support') +# option('qrencode', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'libqrencode support') +# option('gcrypt', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'gcrypt support') +# option('gnutls', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'gnutls support') +# option('elfutils', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'elfutils support') +# option('zlib', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'zlib compression support') +# option('bzip2', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'bzip2 compression support') +# option('xz', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'xz compression support') +# option('lz4', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'lz4 compression support') +# option('xkbcommon', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'xkbcommon keymap support') +#endif // 0 +option('glib', type : 'combo', choices : ['auto', 'true', 'false'], + description : 'libglib support (for tests only)') +option('dbus', type : 'combo', choices : ['auto', 'true', 'false'], + description : 'libdbus support (for tests only)') + +#if 0 /// UNNEEDED BY elogind +# option('gnu-efi', type : 'combo', choices : ['auto', 'true', 'false'], +# description : 'gnu-efi support for sd-boot') +# option('efi-cc', type : 'string', value : 'gcc', +# description : 'the compiler to use for EFI modules') +# option('efi-ld', type : 'string', value : 'ld', +# description : 'the linker to use for EFI modules') +# option('efi-libdir', type : 'string', +# description : 'path to the EFI lib directory') +# option('efi-ldsdir', type : 'string', +# description : 'path to the EFI lds directory') +# option('efi-includedir', type : 'string', value : '/usr/include/efi', +# description : 'path to the EFI header directory') +# option('tpm-pcrindex', type : 'string', value : '8', +# description : 'TPM PCR register number to use') +#endif // 0 + +option('bashcompletiondir', type : 'string', + description : 'directory for bash completion scripts ["no" disables]') +option('zshcompletiondir', type : 'string', + description : 'directory for zsh completion scripts ["no" disables]') + +option('tests', type : 'combo', choices : ['true', 'unsafe'], + description : 'enable extra tests with =unsafe') +option('slow-tests', type : 'boolean', value : 'false', + description : 'run the slow tests by default') +option('install-tests', type : 'boolean', value : 'false', + description : 'install test executables') diff --git a/po/LINGUAS b/po/LINGUAS index 2f1ba199a..cc64eab99 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -1,6 +1,8 @@ be be@latin bg +ca +cs da de el @@ -15,6 +17,7 @@ ko pl pt_BR ru +sk sr sv tr diff --git a/po/POTFILES.in b/po/POTFILES.in index ffb5c0b5f..f33c53fb4 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1 +1,8 @@ +src/core/org.freedesktop.systemd1.policy.in.in +src/hostname/org.freedesktop.hostname1.policy.in +src/import/org.freedesktop.import1.policy.in +src/locale/org.freedesktop.locale1.policy.in src/login/org.freedesktop.login1.policy.in +src/machine/org.freedesktop.machine1.policy.in +src/timedate/org.freedesktop.timedate1.policy.in +src/core/dbus-unit.c diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 000000000..f9c07299b --- /dev/null +++ b/po/ca.po @@ -0,0 +1,525 @@ +# Catalan translation for systemd. +# Copyright (C) 2015 systemd's COPYRIGHT HOLDER +# This file is distributed under the same license as the systemd package. +# Walter Garcia-Fontes , 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: systemd master\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-22 16:37+0100\n" +"PO-Revision-Date: 2016-12-29 09:02+0100\n" +"Last-Translator: Walter Garcia-Fontes \n" +"Language-Team: Català \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"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.8.7.1\n" + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 +# msgid "Send passphrase back to system" +# msgstr "Retornar la contrasenya al 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 "Es requereix autenticació per retornar la contrasenya entrada al sistema." + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3 +# msgid "Manage system services or other units" +# msgstr "Administrar serveis del sistema o d'altres unitats." + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4 +# msgid "Authentication is required to manage system services or other units." +# msgstr "Es requereix autenticació per administrar els serveis de sistemes o d'altres unitats." + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:5 +# msgid "Manage system service or unit files" +# msgstr "Gestiona un servei de sistema o fitxers d'unitat" + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:6 +# msgid "Authentication is required to manage system service or unit files." +# msgstr "Cal autenticació per gestionar un servei de sistema o fitxers d'unitat." + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:7 +# msgid "Set or unset system and service manager environment variables" +# msgstr "Administrar variables de entorno del sistema y del gestor de servicios" + +# #: ../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 "Cal autenticació per establir o cancel·lar variables d'entorn de sistema o del gestor de serveis." + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:9 +# msgid "Reload the systemd state" +# msgstr "Recarrega l'estat del systemd" + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:10 +# msgid "Authentication is required to reload the systemd state." +# msgstr "Cal autenticació per establir el nom de l'ordinador local." + +# #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1 +# msgid "Set host name" +# msgstr "Estableix el nom de l'ordinador" + +# #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2 +# msgid "Authentication is required to set the local host name." +# msgstr "Cal autenticació per establir el nom de l'ordinador local." + +# #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3 +# msgid "Set static host name" +# msgstr "Estableix el nom estàtic de l'ordinador" + +# #: ../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 "Cal autenticació per establir el nom configurat estàticament de l'ordinador local, així com el nom de l'ordinador de nivell superior." + +# #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5 +# msgid "Set machine information" +# msgstr "Estableix la informació de l'ordinador" + +# #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6 +# msgid "Authentication is required to set local machine information." +# msgstr "Cal autenticació per establir la informació de l'ordinador local." + +# #: ../src/import/org.freedesktop.import1.policy.in.h:1 +# msgid "Import a VM or container image" +# msgstr "Importa una màquina virtual o una imatge de contenidor" + +# #: ../src/import/org.freedesktop.import1.policy.in.h:2 +# msgid "Authentication is required to import a VM or container image" +# msgstr "Cal autenticació per importar una màquina virtual o una imatge de contenidor" + +# #: ../src/import/org.freedesktop.import1.policy.in.h:3 +# msgid "Export a VM or container image" +# msgstr "Exporta una màquina virtual o una imatge de contenidor" + +# #: ../src/import/org.freedesktop.import1.policy.in.h:4 +# msgid "Authentication is required to export a VM or container image" +# msgstr "Cal autenticació per exportar una màquina virtual o una imatge de contenidor" + +# #: ../src/import/org.freedesktop.import1.policy.in.h:5 +# msgid "Download a VM or container image" +# msgstr "Descarrega una màquina virtual o una imatge de contenidor" + +# #: ../src/import/org.freedesktop.import1.policy.in.h:6 +# msgid "Authentication is required to download a VM or container image" +# msgstr "Cal autenticació per descarregar una màquina virtual o una imatge de contenidor" + +# #: ../src/locale/org.freedesktop.locale1.policy.in.h:1 +# msgid "Set system locale" +# msgstr "Estableix la regió del sistema" + +# #: ../src/locale/org.freedesktop.locale1.policy.in.h:2 +# msgid "Authentication is required to set the system locale." +# msgstr "Cal autenticació per establir la regió del sistema." + +# #: ../src/locale/org.freedesktop.locale1.policy.in.h:3 +# msgid "Set system keyboard settings" +# msgstr "Estableix la configuració del teclat del sistema." + +# #: ../src/locale/org.freedesktop.locale1.policy.in.h:4 +# msgid "Authentication is required to set the system keyboard settings." +# msgstr "Cal autenticació per establir la configuració del teclat del sistema." + +#: ../src/login/org.freedesktop.login1.policy.in.h:1 +msgid "Allow applications to inhibit system shutdown" +msgstr "Permet a les aplicacions inhibir l'apagada del sistema" + +#: ../src/login/org.freedesktop.login1.policy.in.h:2 +msgid "" +"Authentication is required for an application to inhibit system shutdown." +msgstr "Cal autenticació perquè una aplicació inhibeixi l'apagada del sistema." + +#: ../src/login/org.freedesktop.login1.policy.in.h:3 +msgid "Allow applications to delay system shutdown" +msgstr "Permet a les aplicacions endarrerir l'apagada del sistema" + +#: ../src/login/org.freedesktop.login1.policy.in.h:4 +msgid "Authentication is required for an application to delay system shutdown." +msgstr "Cal autenticació perquè una aplicació endarrereixi l'apagada del sistema." + +#: ../src/login/org.freedesktop.login1.policy.in.h:5 +msgid "Allow applications to inhibit system sleep" +msgstr "Permet a les aplicacions inhibir la hibernació del sistema" + +#: ../src/login/org.freedesktop.login1.policy.in.h:6 +msgid "Authentication is required for an application to inhibit system sleep." +msgstr "Cal autenticació perquè una aplicació inhibeixi la hibernació del sistema." + +#: ../src/login/org.freedesktop.login1.policy.in.h:7 +msgid "Allow applications to delay system sleep" +msgstr "Permet a les aplicacions endarrerir la hibernació del sistema" + +#: ../src/login/org.freedesktop.login1.policy.in.h:8 +msgid "Authentication is required for an application to delay system sleep." +msgstr "Cal autenticació perquè una aplicació endarrereixi la hibernació del sistema." + +#: ../src/login/org.freedesktop.login1.policy.in.h:9 +msgid "Allow applications to inhibit automatic system suspend" +msgstr "Permet a les aplicacions inhibir la suspensió automàtica del sistema" + +#: ../src/login/org.freedesktop.login1.policy.in.h:10 +msgid "" +"Authentication is required for an application to inhibit automatic system " +"suspend." +msgstr "Cal autenticació perquè una aplicació inhibeixi la suspensió automàtica del sistema." + +#: ../src/login/org.freedesktop.login1.policy.in.h:11 +msgid "Allow applications to inhibit system handling of the power key" +msgstr "Permet a les aplicacions inhibir la gestió de la tecla d'encesa per part del sistema" + +#: ../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 "Cal autenticació perquè una aplicació inhibeixi la gestió de la tecla d'encesa per part del sistema." + +#: ../src/login/org.freedesktop.login1.policy.in.h:13 +msgid "Allow applications to inhibit system handling of the suspend key" +msgstr "Permet a les aplicacions inhibir la tecla de suspensió per part del sistema" + +#: ../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 "Cal autenticació perquè una aplicació inhibeixi la gestió de la tecla de suspensió per part del sistema." + +#: ../src/login/org.freedesktop.login1.policy.in.h:15 +msgid "Allow applications to inhibit system handling of the hibernate key" +msgstr "Permet a les aplicacions inhibir la gestió de la tecla d'hibernació per part del sistema" + +#: ../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 "Cal autenticació perquè una aplicació inhibeixi la gestió de la tecla d'hibernació per part del sistema." + +#: ../src/login/org.freedesktop.login1.policy.in.h:17 +msgid "Allow applications to inhibit system handling of the lid switch" +msgstr "Permet a les aplicacions la gestió del tancament de la tapa per part del sistema" + +#: ../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 "Cal autenticació perquè una aplicació inhibeixi la gestió del tancament de la tapa per part del sistema." + +#: ../src/login/org.freedesktop.login1.policy.in.h:19 +msgid "Allow non-logged-in users to run programs" +msgstr "Permet l'execució de programes als usuaris sense inici de sessió" + +#: ../src/login/org.freedesktop.login1.policy.in.h:20 +msgid "Authentication is required to run programs as a non-logged-in user." +msgstr "Cal autenticació per a la execució de programes per part d'usuaris sense inici de sessió" + +#: ../src/login/org.freedesktop.login1.policy.in.h:21 +msgid "Allow attaching devices to seats" +msgstr "Permet l'annexió de dispositius als llocs de treball" + +#: ../src/login/org.freedesktop.login1.policy.in.h:22 +msgid "Authentication is required for attaching a device to a seat." +msgstr "Cal autenticació per annexar un dispositiu a un lloc de treball." + +#: ../src/login/org.freedesktop.login1.policy.in.h:23 +msgid "Flush device to seat attachments" +msgstr "Allibera les annexions de dispositius a llocs de treball" + +#: ../src/login/org.freedesktop.login1.policy.in.h:24 +msgid "" +"Authentication is required for resetting how devices are attached to seats." +msgstr "Cal autenticació per restablir les annexions dels dispositius als llocs de treball." + +#: ../src/login/org.freedesktop.login1.policy.in.h:25 +msgid "Power off the system" +msgstr "Apaga el sistema" + +#: ../src/login/org.freedesktop.login1.policy.in.h:26 +msgid "Authentication is required for powering off the system." +msgstr "Cal autenticació per apagar el sistema" + +#: ../src/login/org.freedesktop.login1.policy.in.h:27 +msgid "Power off the system while other users are logged in" +msgstr "Apaga el sistema mentre que altres usuaris tenen sessió iniciada" + +#: ../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 "Cal autenticació per apagar el sistema mentre que altres usuaris tenen sessió iniciada." + +#: ../src/login/org.freedesktop.login1.policy.in.h:29 +msgid "Power off the system while an application asked to inhibit it" +msgstr "Apaga el sistema mentre que una aplicació ha demanat inhibir-lo" + +#: ../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 "Cal autenticació per apagar el sistema mentre que una aplicació ha demanat inhibir-lo." + +#: ../src/login/org.freedesktop.login1.policy.in.h:31 +msgid "Reboot the system" +msgstr "Reinicia el sistema" + +#: ../src/login/org.freedesktop.login1.policy.in.h:32 +msgid "Authentication is required for rebooting the system." +msgstr "Cal autenticació per reiniciar el sistema." + +#: ../src/login/org.freedesktop.login1.policy.in.h:33 +msgid "Reboot the system while other users are logged in" +msgstr "Reinicia el sistema mentre hi ha usuaris amb sessió iniciada" + +#: ../src/login/org.freedesktop.login1.policy.in.h:34 +msgid "" +"Authentication is required for rebooting the system while other users are " +"logged in." +msgstr "Cal autenticació per reiniciar el sistema mentre hi ha usuaris amb sessió iniciada." + +#: ../src/login/org.freedesktop.login1.policy.in.h:35 +msgid "Reboot the system while an application asked to inhibit it" +msgstr "Reinicia el sistema malgrat hi ha una aplicació que ho impedeix" + +#: ../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 "Cal autenticació per reiniciar el sistema malgrat hi ha una aplicació que ho impedeix." + +#: ../src/login/org.freedesktop.login1.policy.in.h:37 +msgid "Suspend the system" +msgstr "Suspèn el sistema" + +#: ../src/login/org.freedesktop.login1.policy.in.h:38 +msgid "Authentication is required for suspending the system." +msgstr "Cal autenticació per suspendre el sistema" + +#: ../src/login/org.freedesktop.login1.policy.in.h:39 +msgid "Suspend the system while other users are logged in" +msgstr "Suspèn el sistema mentre hi ha altres usuaris amb sessió iniciada" + +#: ../src/login/org.freedesktop.login1.policy.in.h:40 +msgid "" +"Authentication is required for suspending the system while other users are " +"logged in." +msgstr "Cal autenticació per reiniciar el sistema mentre hi ha usuaris amb sessió iniciada." + +#: ../src/login/org.freedesktop.login1.policy.in.h:41 +msgid "Suspend the system while an application asked to inhibit it" +msgstr "Suspèn el sistema mentre una aplicació ha demanat d'inhibir-lo" + +#: ../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 "Cal autenticació per suspendre el sistema mentre una aplicació ha demanat d'inhibir-lo." + +#: ../src/login/org.freedesktop.login1.policy.in.h:43 +msgid "Hibernate the system" +msgstr "Hiberna el sistema" + +#: ../src/login/org.freedesktop.login1.policy.in.h:44 +msgid "Authentication is required for hibernating the system." +msgstr "Cal autenticació per hibernar el sistema." + +#: ../src/login/org.freedesktop.login1.policy.in.h:45 +msgid "Hibernate the system while other users are logged in" +msgstr "Hiberna el sistema mentre hi ha altres usuaris amb sessió iniciada" + +#: ../src/login/org.freedesktop.login1.policy.in.h:46 +msgid "" +"Authentication is required for hibernating the system while other users are " +"logged in." +msgstr "Cal autenticació per hibernar el sistema mentre hi ha altres usuaris amb sessió iniciada." + +#: ../src/login/org.freedesktop.login1.policy.in.h:47 +msgid "Hibernate the system while an application asked to inhibit it" +msgstr "Hiberna el sistema mentre una aplicació ha demanat inhibir-ho" + +#: ../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 "Cal autenticació per hibernar el sistema mentre una aplicació ha demanat inhibir-ho." + +#: ../src/login/org.freedesktop.login1.policy.in.h:49 +msgid "Manage active sessions, users and seats" +msgstr "Gestiona les sessions, usuaris i llocs de treball actius" + +#: ../src/login/org.freedesktop.login1.policy.in.h:50 +msgid "" +"Authentication is required for managing active sessions, users and seats." +msgstr "Cal autenticació per administrar les sessions, usuaris i llocs de treball actius." + +#: ../src/login/org.freedesktop.login1.policy.in.h:51 +msgid "Lock or unlock active sessions" +msgstr "Bloqueja o desbloqueja les sessions actives" + +#: ../src/login/org.freedesktop.login1.policy.in.h:52 +msgid "Authentication is required to lock or unlock active sessions." +msgstr "Cal autenticació per bloquejar o desbloquejar les sessions actives." + +#: ../src/login/org.freedesktop.login1.policy.in.h:53 +msgid "Allow indication to the firmware to boot to setup interface" +msgstr "Permet una indicació al microprogramari per iniciar a la interfície de configuració" + +#: ../src/login/org.freedesktop.login1.policy.in.h:54 +msgid "" +"Authentication is required to indicate to the firmware to boot to setup " +"interface." +msgstr "Cal autenticació per indicar al microprogramari que iniciï a la interfície de configuració." + +#: ../src/login/org.freedesktop.login1.policy.in.h:55 +msgid "Set a wall message" +msgstr "Estableix un missatge de mur" + +#: ../src/login/org.freedesktop.login1.policy.in.h:56 +msgid "Authentication is required to set a wall message" +msgstr "Cal autenticació per establir un text de mur" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:1 +# msgid "Log into a local container" +# msgstr "Inicia sessió a un contenidor local" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:2 +# msgid "Authentication is required to log into a local container." +# msgstr "Cal autenticació per iniciar sessió a un contenidor local." + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:3 +# msgid "Log into the local host" +# msgstr "Inicia sessió a l'ordinador local" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:4 +# msgid "Authentication is required to log into the local host." +# msgstr "Cal autenticació per iniciar sessió a l'ordinador local." + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:5 +# msgid "Acquire a shell in a local container" +# msgstr "Adquireix un intèrpret d'ordres a un contenidor local" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:6 +# msgid "Authentication is required to acquire a shell in a local container." +# msgstr "Cal autenticació per adquirir un intèrpret d'ordres a un contenidor local." + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:7 +# msgid "Acquire a shell on the local host" +# msgstr "Adquireix un intèrpret d'ordres a l'ordinador local" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:8 +# msgid "Authentication is required to acquire a shell on the local host." +# msgstr "Cal autenticació per adquirir un intèrpret d'ordres a l'ordinador local." + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:9 +# msgid "Acquire a pseudo TTY in a local container" +# msgstr "Adquireix un pseudo-terminal al contenidor local" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:10 +# msgid "" +# "Authentication is required to acquire a pseudo TTY in a local container." +# msgstr "Cal autenticació per adquirir una pseudo-terminal al contenidor local." + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:11 +# msgid "Acquire a pseudo TTY on the local host" +# msgstr "Adquireix una pseudo-terminal a l'ordinador local" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:12 +# msgid "Authentication is required to acquire a pseudo TTY on the local host." +# msgstr "Cal autenticació per adquirir una pseudo-terminal a l'ordinador local." + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:13 +# msgid "Manage local virtual machines and containers" +# msgstr "Gestiona les màquines virtuals i els contenidors locals " + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:14 +# msgid "" +# "Authentication is required to manage local virtual machines and containers." +# msgstr "Cal autenticació per gestionar les màquines virtuals i els contenidors locals." + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:15 +# msgid "Manage local virtual machine and container images" +# msgstr "Gestiona les imatges locals de màquines virtuals i contenidors" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:16 +# msgid "" +# "Authentication is required to manage local virtual machine and container " +# "images." +# msgstr "Cal autenticació per gestionar les imatges locals de màquines virtuals i contenidors." + +# #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1 +# msgid "Set system time" +# msgstr "Estableix la data i l'hora del sistema" + +# #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2 +# msgid "Authentication is required to set the system time." +# msgstr "Cal autenticació per establir la data i l'hora del sistema." + +# #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3 +# msgid "Set system timezone" +# msgstr "Estableix la zona horària del sistema" + +# #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4 +# msgid "Authentication is required to set the system timezone." +# msgstr "Cal autenticació per establir la zona horària del sistema." + +# #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5 +# msgid "Set RTC to local timezone or UTC" +# msgstr "Estableix el rellotge del sistema a la zona horària local o a UTC" + +# #: ../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 "Cal autenticació per controlar si el rellotge del sistema emmagatzema la data i l'hora locals o UTC." + +# #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7 +# msgid "Turn network time synchronization on or off" +# msgstr "Activa o desactiva la sincronització de data i hora de xarxa" + +# #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8 +# msgid "" +# "Authentication is required to control whether network time synchronization " +# "shall be enabled." +# msgstr "Cal autenticació per controlar si s'ha d'activar la sincronització de data i hora de xarxa." + +# #: ../src/core/dbus-unit.c:428 +# msgid "Authentication is required to start '$(unit)'." +# msgstr "Cal autenticació per iniciar «$(unit)»." + +# #: ../src/core/dbus-unit.c:429 +# msgid "Authentication is required to stop '$(unit)'." +# msgstr "Cal autenticació per aturar «$(unit)»." + +# #: ../src/core/dbus-unit.c:430 +# msgid "Authentication is required to reload '$(unit)'." +# msgstr "Cal autenticació per tornar a carregar «$(unit)»." + +# #: ../src/core/dbus-unit.c:431 ../src/core/dbus-unit.c:432 +# msgid "Authentication is required to restart '$(unit)'." +# msgstr "Cal autenticació per tornar a reiniciar «$(unit)»." + +# #: ../src/core/dbus-unit.c:535 +# msgid "Authentication is required to kill '$(unit)'." +# msgstr "Cal autenticació per matar a «$(unit)»." + +# #: ../src/core/dbus-unit.c:565 +# msgid "Authentication is required to reset the \"failed" state of '$(unit)'." +# msgstr "Cal autenticació per reiniciar l'estat «fallat» de «$(unit)»." + +# #: ../src/core/dbus-unit.c:597 +# msgid "Authentication is required to set properties on '$(unit)'." +# msgstr "Cal autenticació per establir propietats a «$(unit)»." + +#~ 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 "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/cs.po b/po/cs.po new file mode 100644 index 000000000..206fde372 --- /dev/null +++ b/po/cs.po @@ -0,0 +1,546 @@ +# Czech translation for systemd. +# Copyright (C) 2016-2017 systemd's author and translators. +# This file is distributed under the same license as the systemd package. +# Daniel Maixner , 2016. +# Daniel Rusek , 2016, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: systemd master\n" +"Report-Msgid-Bugs-To: https://github.com/systemd/systemd/issues\n" +"POT-Creation-Date: 2016-04-23 14:24+0200\n" +"PO-Revision-Date: 2017-04-20 23:00+0200\n" +"Last-Translator: Daniel Rusek \n" +"Language: cs\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==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n" +"%100>=20) ? 1 : 2);\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 +# msgid "Send passphrase back to system" +# msgstr "Odeslat heslo zpět do systému" + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2 +# msgid "Authentication is required to send the entered passphrase back to the system." +# msgstr "Pro odeslání zadaného hesla do systému je vyžadováno ověření." + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3 +# msgid "Manage system services or other units" +# msgstr "Spravovat systémové služby nebo další jednotky" + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4 +# msgid "Authentication is required to manage system services or other units." +# msgstr "Pro správu systémových služeb nebo dalších jednotek je vyžadováno ověření." + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:5 +# msgid "Manage system service or unit files" +# msgstr "Spravovat systémové služby nebo soubory jednotek" + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:6 +# msgid "Authentication is required to manage system service or unit files." +# msgstr "Pro správu systémových služeb nebo souborů jednotek je vyžadováno ověření." + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:7 +# msgid "Set or unset system and service manager environment variables" +# msgstr "Nastavit nebo rušit proměnné správce systému a služeb" + +# #: ../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 "" +# "Pro nastavení nebo rušení proměnných správce systému a služeb je vyžadováno " +# "ověření." + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:9 +# msgid "Reload the systemd state" +# msgstr "Znovu načíst stav systemd" + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:10 +# msgid "Authentication is required to reload the systemd state." +# msgstr "Pro znovu načtení stavu systemd je vyžadováno ověření." + +# #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1 +# msgid "Set host name" +# msgstr "Nastavit název stroje" + +# #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2 +# msgid "Authentication is required to set the local host name." +# msgstr "Pro nastavení lokálního názvu stroje je vyžadováno ověření." + +# #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3 +# msgid "Set static host name" +# msgstr "Nastavit statický název stoje" + +# #: ../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 "" +# "Pro nastavení staticky konfigurovaného názvu lokálního stroje, stejně tak pro " +# "změnu uživatelsky přívětivého jména je vyžadováno ověření." + +# #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5 +# msgid "Set machine information" +# msgstr "Nastavit informace o stroji" + +# #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6 +# msgid "Authentication is required to set local machine information." +# msgstr "Pro nastavení informací o stroji je vyžadováno ověření." + +# #: ../src/import/org.freedesktop.import1.policy.in.h:1 +# msgid "Import a VM or container image" +# msgstr "Importovat obraz virtuální stroje nebo kontejneru" + +# #: ../src/import/org.freedesktop.import1.policy.in.h:2 +# msgid "Authentication is required to import a VM or container image" +# msgstr "Pro import obrazu virtuálního stroje nebo kontejneru je vyžadováno ověření" + +# #: ../src/import/org.freedesktop.import1.policy.in.h:3 +# msgid "Export a VM or container image" +# msgstr "Exportovat obraz virtuálního stroje nebo kontejneru" + +# #: ../src/import/org.freedesktop.import1.policy.in.h:4 +# msgid "Authentication is required to export a VM or container image" +# msgstr "Pro export obrazu virtuálního stroje nebo kontejneru je vyžadováno ověření" + +# #: ../src/import/org.freedesktop.import1.policy.in.h:5 +# msgid "Download a VM or container image" +# msgstr "Stáhnout obraz virtuálního stroje nebo kontejneru" + +# #: ../src/import/org.freedesktop.import1.policy.in.h:6 +# msgid "Authentication is required to download a VM or container image" +# msgstr "Pro stažení obrazu virtuálního stroje nebo kontejneru je vyžadováno ověření" + +# #: ../src/locale/org.freedesktop.locale1.policy.in.h:1 +# msgid "Set system locale" +# msgstr "Nastavit lokalizaci systému" + +# #: ../src/locale/org.freedesktop.locale1.policy.in.h:2 +# msgid "Authentication is required to set the system locale." +# msgstr "Pro nastavení lokalizace systému je vyžadováno ověření." + +# #: ../src/locale/org.freedesktop.locale1.policy.in.h:3 +# msgid "Set system keyboard settings" +# msgstr "Nastavit systémovou konfiguraci klávesnice" + +# #: ../src/locale/org.freedesktop.locale1.policy.in.h:4 +# msgid "Authentication is required to set the system keyboard settings." +# msgstr "Pro nastavení systémové konfigurace klávesnice je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:1 +msgid "Allow applications to inhibit system shutdown" +msgstr "Povolit aplikacím zakázat vypnutí systému" + +#: ../src/login/org.freedesktop.login1.policy.in.h:2 +msgid "Authentication is required for an application to inhibit system shutdown." +msgstr "Pro povolení aplikacím zakázat vypnutí systému je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:3 +msgid "Allow applications to delay system shutdown" +msgstr "Povolit aplikacím odložit vypnutí systému" + +#: ../src/login/org.freedesktop.login1.policy.in.h:4 +msgid "Authentication is required for an application to delay system shutdown." +msgstr "Pro povolení aplikacím odložit vypnutí systému je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:5 +msgid "Allow applications to inhibit system sleep" +msgstr "Povolit aplikacím zakázat uspání systému" + +#: ../src/login/org.freedesktop.login1.policy.in.h:6 +msgid "Authentication is required for an application to inhibit system sleep." +msgstr "Pro povolení aplikacím zakázat uspání systému je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:7 +msgid "Allow applications to delay system sleep" +msgstr "Povolit aplikacím odložit uspání systému" + +#: ../src/login/org.freedesktop.login1.policy.in.h:8 +msgid "Authentication is required for an application to delay system sleep." +msgstr "Pro povolení aplikacím odložit uspání systému je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:9 +msgid "Allow applications to inhibit automatic system suspend" +msgstr "Povolit aplikacím zakázat automatické vypnutí systému" + +#: ../src/login/org.freedesktop.login1.policy.in.h:10 +msgid "" +"Authentication is required for an application to inhibit automatic system suspend." +msgstr "" +"Pro povolení aplikacím zakázat automatické vypnutí systému je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:11 +msgid "Allow applications to inhibit system handling of the power key" +msgstr "Povolit aplikacím zakázat chovaní systému na stisknutí vypínacího tlačítka" + +#: ../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 "" +"Pro povolení aplikacím zakázat chovaní systému na stisknutí vypínacího tlačítka je " +"vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:13 +msgid "Allow applications to inhibit system handling of the suspend key" +msgstr "Povolit aplikacím zakázat chovaní systému na stisknutí uspávacího tlačítka" + +#: ../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 "" +"Pro povolení aplikacím zakázat chovaní systému na stisknutí uspávacího tlačítka je " +"vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:15 +msgid "Allow applications to inhibit system handling of the hibernate key" +msgstr "Povolit aplikacím zakázat chovaní systému na stisknutí tlačítka hibernace" + +#: ../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 "" +"Pro povolení aplikacím zakázat chovaní systému na stisknutí tlačítka hibernace je " +"vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:17 +msgid "Allow applications to inhibit system handling of the lid switch" +msgstr "Povolit aplikacím zakázat chovaní systému na zavření víka" + +#: ../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 "" +"Pro povolení aplikacím zakázat chovaní systému na zavření víka je vyžadováno " +"ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:19 +msgid "Allow non-logged-in user to run programs" +msgstr "Povolit nepřihlášenému uživateli spouštět programy" + +#: ../src/login/org.freedesktop.login1.policy.in.h:20 +msgid "Explicit request is required to run programs as a non-logged-in user." +msgstr "" +"Ke spuštění programů jako nepřihlášený uživatel je třeba speciální požadavek." + +#: ../src/login/org.freedesktop.login1.policy.in.h:21 +msgid "Allow non-logged-in users to run programs" +msgstr "Povolit nepřihlášeným uživatelům spouštět programy" + +#: ../src/login/org.freedesktop.login1.policy.in.h:22 +msgid "Authentication is required to run programs as a non-logged-in user." +msgstr "Ke spuštění programů jako nepřihlášený uživatel je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:23 +msgid "Allow attaching devices to seats" +msgstr "Povolit připojování zařízení ke stanovištím" + +#: ../src/login/org.freedesktop.login1.policy.in.h:24 +msgid "Authentication is required for attaching a device to a seat." +msgstr "Pro připojování zařízení ke stanovišti je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:25 +msgid "Flush device to seat attachments" +msgstr "Odstranit přiřazení zařízení ke stanovištím" + +#: ../src/login/org.freedesktop.login1.policy.in.h:26 +msgid "Authentication is required for resetting how devices are attached to seats." +msgstr "" +"Pro reset způsobu jak jsou zařízení přiřazována ke stanovištím je vyžadováno " +"ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:27 +msgid "Power off the system" +msgstr "Vypnout systém" + +#: ../src/login/org.freedesktop.login1.policy.in.h:28 +msgid "Authentication is required for powering off the system." +msgstr "Pro vypnutí systému je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:29 +msgid "Power off the system while other users are logged in" +msgstr "Vypnout systém, i když jsou přihlášeni další uživatelé" + +#: ../src/login/org.freedesktop.login1.policy.in.h:30 +msgid "" +"Authentication is required for powering off the system while other users are " +"logged in." +msgstr "" +"Pro vypnutí systému, když jsou přihlášeni další uživatelé je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:31 +msgid "Power off the system while an application asked to inhibit it" +msgstr "Vypnout systém, i když aplikace požádala o zákaz vypnutí" + +#: ../src/login/org.freedesktop.login1.policy.in.h:32 +msgid "" +"Authentication is required for powering off the system while an application asked " +"to inhibit it." +msgstr "" +"Pro vypnutí systému, když aplikace požádala o zákaz vypnutí je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:33 +msgid "Reboot the system" +msgstr "Restartovat systém" + +#: ../src/login/org.freedesktop.login1.policy.in.h:34 +msgid "Authentication is required for rebooting the system." +msgstr "Pro restartování systému je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:35 +msgid "Reboot the system while other users are logged in" +msgstr "Restartovat systém, i když jsou přihlášeni další uživatelé" + +#: ../src/login/org.freedesktop.login1.policy.in.h:36 +msgid "" +"Authentication is required for rebooting the system while other users are logged " +"in." +msgstr "" +"Pro restartování systému, když jsou přihlášeni další uživatelé je vyžadováno " +"ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:37 +msgid "Reboot the system while an application asked to inhibit it" +msgstr "Restartovat systém, i když aplikace požádala o zákaz restartu" + +#: ../src/login/org.freedesktop.login1.policy.in.h:38 +msgid "" +"Authentication is required for rebooting the system while an application asked to " +"inhibit it." +msgstr "" +"Pro restartování systému, když aplikace požádala o zákaz restartu je vyžadováno " +"ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:39 +msgid "Suspend the system" +msgstr "Uspat systém" + +#: ../src/login/org.freedesktop.login1.policy.in.h:40 +msgid "Authentication is required for suspending the system." +msgstr "Pro uspání systému je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:41 +msgid "Suspend the system while other users are logged in" +msgstr "Uspat systém, i když jsou přihlášeni další uživatelé" + +#: ../src/login/org.freedesktop.login1.policy.in.h:42 +msgid "" +"Authentication is required for suspending the system while other users are logged " +"in." +msgstr "" +"Pro uspání systému, když jsou přihlášeni další uživatelé je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:43 +msgid "Suspend the system while an application asked to inhibit it" +msgstr "Uspat systém, i když aplikace požádala o zákaz uspání" + +#: ../src/login/org.freedesktop.login1.policy.in.h:44 +msgid "" +"Authentication is required for suspending the system while an application asked to " +"inhibit it." +msgstr "" +"Pro uspání systému, když aplikace požádala o zákaz uspání je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:45 +msgid "Hibernate the system" +msgstr "Hibernovat systém" + +#: ../src/login/org.freedesktop.login1.policy.in.h:46 +msgid "Authentication is required for hibernating the system." +msgstr "Pro hibernaci systému je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:47 +msgid "Hibernate the system while other users are logged in" +msgstr "Hibernovat systém, i když jsou přihlášeni další uživatelé" + +#: ../src/login/org.freedesktop.login1.policy.in.h:48 +msgid "" +"Authentication is required for hibernating the system while other users are logged " +"in." +msgstr "" +"Pro hibernaci systému, když jsou přihlášeni další uživatelé je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:49 +msgid "Hibernate the system while an application asked to inhibit it" +msgstr "Hibernovat systém, i když aplikace požádala o zákaz hibernace" + +#: ../src/login/org.freedesktop.login1.policy.in.h:50 +msgid "" +"Authentication is required for hibernating the system while an application asked " +"to inhibit it." +msgstr "" +"Pro hibernaci systému, když aplikace požádala o zákaz hibernace je vyžadováno " +"ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:51 +msgid "Manage active sessions, users and seats" +msgstr "Spravovat aktivní sezení, uživatele a stanoviště" + +#: ../src/login/org.freedesktop.login1.policy.in.h:52 +msgid "Authentication is required for managing active sessions, users and seats." +msgstr "Pro správu aktivních sezení, uživatelů a stanovišť je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:53 +msgid "Lock or unlock active sessions" +msgstr "Zamknout nebo odemknout aktivní sezení" + +#: ../src/login/org.freedesktop.login1.policy.in.h:54 +msgid "Authentication is required to lock or unlock active sessions." +msgstr "Pro zamčení nebo odemčení aktivních sezení je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:55 +msgid "Allow indication to the firmware to boot to setup interface" +msgstr "Povolit indikaci firmwaru bootovat instalační prostředí" + +#: ../src/login/org.freedesktop.login1.policy.in.h:56 +msgid "" +"Authentication is required to indicate to the firmware to boot to setup interface." +msgstr "" +"K povolení indikace firmwaru bootovat instalační prostředí je vyžadováno ověření." + +#: ../src/login/org.freedesktop.login1.policy.in.h:57 +msgid "Set a wall message" +msgstr "Nastavit zprávu všem uživatelům" + +#: ../src/login/org.freedesktop.login1.policy.in.h:58 +msgid "Authentication is required to set a wall message" +msgstr "K nastavení zprávy všem uživatelům je vyžadováno ověření" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:1 +# msgid "Log into a local container" +# msgstr "Přihlásit se do lokálního kontejneru" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:2 +# msgid "Authentication is required to log into a local container." +# msgstr "Pro přihlášení do lokálního kontejneru je vyžadováno ověření." + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:3 +# msgid "Log into the local host" +# msgstr "Přihlásit se na lokální stroj" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:4 +# msgid "Authentication is required to log into the local host." +# msgstr "Pro přihlášení k lokálnímu stroji je vyžadováno ověření." + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:5 +# msgid "Acquire a shell in a local container" +# msgstr "Získat shell v lokálním kontejneru" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:6 +# msgid "Authentication is required to acquire a shell in a local container." +# msgstr "Pro získání shellu v lokálním kontejneru je vyžadováno ověření." + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:7 +# msgid "Acquire a shell on the local host" +# msgstr "Získat shell na lokálním stroji" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:8 +# msgid "Authentication is required to acquire a shell on the local host." +# msgstr "Pro získání shellu na lokálním stroji je vyžadováno ověření." + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:9 +# msgid "Acquire a pseudo TTY in a local container" +# msgstr "Získat pseudo TTY v lokálním kontejneru" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:10 +# msgid "Authentication is required to acquire a pseudo TTY in a local container." +# msgstr "Pro získání pseudo TTY v lokálním kontejneru je vyžadováno ověření." + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:11 +# msgid "Acquire a pseudo TTY on the local host" +# msgstr "Získat pseudo TTY na lokálním stroji" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:12 +# msgid "Authentication is required to acquire a pseudo TTY on the local host." +# msgstr "Pro získání pseudo TTY na lokálním stroji je vyžadováno ověření." + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:13 +# msgid "Manage local virtual machines and containers" +# msgstr "Spravovat lokální virtuální stroje a kontejnery" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:14 +# msgid "Authentication is required to manage local virtual machines and containers." +# msgstr "Pro správu lokálních virtuálních strojů a kontejnerů je vyžadováno ověření." + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:15 +# msgid "Manage local virtual machine and container images" +# msgstr "Spravovat lokální obrazy virtuálních strojů a kontejnerů" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:16 +# msgid "" +# "Authentication is required to manage local virtual machine and container images." +# msgstr "" +# "Pro správu obrazů lokálních virtuálních strojů a kontejnerů je vyžadováno ověření." + +# #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1 +# msgid "Set system time" +# msgstr "Nastavit systémový čas" + +# #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2 +# msgid "Authentication is required to set the system time." +# msgstr "Pro nastavení systémového času je vyžadováno ověření." + +# #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3 +# msgid "Set system timezone" +# msgstr "Nastavit systémovou časovou zónu" + +# #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4 +# msgid "Authentication is required to set the system timezone." +# msgstr "Pro nastavení systémové časové zóny je vyžadováno ověření." + +# #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5 +# msgid "Set RTC to local timezone or UTC" +# msgstr "Nastavit RTC na lokální časovou zónu nebo UTC" + +# #: ../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 "" +# "Pro kontrolu jestli RTC ukládá lokální časovou zónu nebo UTC čas je vyžadováno " +# "ověření." + +# #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7 +# msgid "Turn network time synchronization on or off" +# msgstr "Zapnout nebo vypnout synchronizaci s časem ze sítě" + +# #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8 +# msgid "" +# "Authentication is required to control whether network time synchronization shall " +# "be enabled." +# msgstr "Pro kontrolu synchronizace času ze sítě je vyžadováno ověření." + +# #: ../src/core/dbus-unit.c:459 +# msgid "Authentication is required to start '$(unit)'." +# msgstr "Pro spuštění „$(unit)” je vyžadováno ověření." + +# #: ../src/core/dbus-unit.c:460 +# msgid "Authentication is required to stop '$(unit)'." +# msgstr "Pro vypnutí „$(unit)” je vyžadováno ověření." + +# #: ../src/core/dbus-unit.c:461 +# msgid "Authentication is required to reload '$(unit)'." +# msgstr "Pro znovu načtení „$(unit)” je vyžadováno ověření." + +# #: ../src/core/dbus-unit.c:462 ../src/core/dbus-unit.c:463 +# msgid "Authentication is required to restart '$(unit)'." +# msgstr "Pro restart „$(unit)” je vyžadováno ověření." + +# #: ../src/core/dbus-unit.c:570 +# msgid "Authentication is required to kill '$(unit)'." +# msgstr "Pro ukončení „$(unit)” je vyžadováno ověření." + +# #: ../src/core/dbus-unit.c:601 +# msgid "Authentication is required to reset the \"failed" state of '$(unit)'." +# msgstr "Pro resetování chybného stavu „$(unit)” je vyžadováno ověření." + +# #: ../src/core/dbus-unit.c:634 +# msgid "Authentication is required to set properties on '$(unit)'." +# msgstr "Pro nastavení vlastností na „$(unit)” je vyžadováno ověření." diff --git a/po/hr.po b/po/hr.po index e30ab72de..8b1f361d8 100644 --- a/po/hr.po +++ b/po/hr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: systemd master\n" "Report-Msgid-Bugs-To: https://github.com/systemd/systemd/issues\n" -"POT-Creation-Date: 2016-27-04 11:57+0100\n" +"POT-Creation-Date: 2016-04-27 11:57+0100\n" "PO-Revision-Date: 2016-04-27 12:11+0200\n" "Language-Team: \n" "MIME-Version: 1.0\n" diff --git a/po/hu.po b/po/hu.po index 4f8d9eb95..f96f501a4 100644 --- a/po/hu.po +++ b/po/hu.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the systemd package. # # Gabor Kelemen , 2015, 2016. +# Balázs Úr , 2016. msgid "" msgstr "" "Project-Id-Version: systemd master\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-02 13:41+0100\n" -"PO-Revision-Date: 2016-01-02 13:45+0100\n" -"Last-Translator: Gabor Kelemen \n" +"Report-Msgid-Bugs-To: https://github.com/systemd/systemd/issues\n" +"POT-Creation-Date: 2016-04-24 12:53+0000\n" +"PO-Revision-Date: 2016-08-23 18:03+0100\n" +"Last-Translator: Balázs Úr \n" "Language-Team: Hungarian \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 1.5\n" +"X-Generator: Lokalize 2.0\n" # #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 # msgid "Send passphrase back to system" @@ -241,50 +242,60 @@ msgstr "" "kezelésének meggátlásához." #: ../src/login/org.freedesktop.login1.policy.in.h:19 +msgid "Allow non-logged-in user to run programs" +msgstr "Programfuttatás engedélyezése be nem jelentkezett felhasználó számára" + +#: ../src/login/org.freedesktop.login1.policy.in.h:20 +msgid "Explicit request is required to run programs as a non-logged-in user." +msgstr "" +"Határozott kérés szükséges a programfuttatáshoz be nem jelentkezett " +"felhasználóként." + +#: ../src/login/org.freedesktop.login1.policy.in.h:21 msgid "Allow non-logged-in users to run programs" msgstr "Programfuttatás engedélyezése be nem jelentkezett felhasználók számára" -#: ../src/login/org.freedesktop.login1.policy.in.h:20 +#: ../src/login/org.freedesktop.login1.policy.in.h:22 msgid "Authentication is required to run programs as a non-logged-in user." msgstr "" "Hitelesítés szükséges a programfuttatáshoz be nem jelentkezett " "felhasználóként." -#: ../src/login/org.freedesktop.login1.policy.in.h:21 +#: ../src/login/org.freedesktop.login1.policy.in.h:23 msgid "Allow attaching devices to seats" msgstr "Eszközök csatolásának engedélyezése munkaállomásokhoz" -#: ../src/login/org.freedesktop.login1.policy.in.h:22 +#: ../src/login/org.freedesktop.login1.policy.in.h:24 msgid "Authentication is required for attaching a device to a seat." 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:23 +#: ../src/login/org.freedesktop.login1.policy.in.h:25 msgid "Flush device to seat attachments" msgstr "Eszközök és munkaállomások csatolásainak törlése" -#: ../src/login/org.freedesktop.login1.policy.in.h:24 +#: ../src/login/org.freedesktop.login1.policy.in.h:26 msgid "" "Authentication is required for resetting how devices are attached to seats." msgstr "" "Hitelesítés szükséges az eszközök munkaállomásokhoz csatolásainak " "alaphelyzetbe állításához." -#: ../src/login/org.freedesktop.login1.policy.in.h:25 +#: ../src/login/org.freedesktop.login1.policy.in.h:27 msgid "Power off the system" msgstr "A rendszer kikapcsolása" -#: ../src/login/org.freedesktop.login1.policy.in.h:26 +#: ../src/login/org.freedesktop.login1.policy.in.h:28 msgid "Authentication is required for powering off the system." msgstr "Hitelesítés szükséges a rendszer kikapcsolásához." -#: ../src/login/org.freedesktop.login1.policy.in.h:27 +#: ../src/login/org.freedesktop.login1.policy.in.h:29 msgid "Power off the system while other users are logged in" msgstr "" "A rendszer kikapcsolása miközben be vannak jelentkezve más felhasználók" -#: ../src/login/org.freedesktop.login1.policy.in.h:28 +#: ../src/login/org.freedesktop.login1.policy.in.h:30 msgid "" "Authentication is required for powering off the system while other users are " "logged in." @@ -292,12 +303,12 @@ msgstr "" "Hitelesítés szükséges a rendszer kikapcsolásához miközben be vannak " "jelentkezve más felhasználók." -#: ../src/login/org.freedesktop.login1.policy.in.h:29 +#: ../src/login/org.freedesktop.login1.policy.in.h:31 msgid "Power off the system while an application asked to inhibit it" msgstr "" "A rendszer kikapcsolása miközben egy alkalmazás ennek meggátlását kérte" -#: ../src/login/org.freedesktop.login1.policy.in.h:30 +#: ../src/login/org.freedesktop.login1.policy.in.h:32 msgid "" "Authentication is required for powering off the system while an application " "asked to inhibit it." @@ -305,19 +316,19 @@ msgstr "" "Hitelesítés szükséges a rendszer kikapcsolásához miközben egy alkalmazás " "ennek meggátlását kérte." -#: ../src/login/org.freedesktop.login1.policy.in.h:31 +#: ../src/login/org.freedesktop.login1.policy.in.h:33 msgid "Reboot the system" msgstr "A rendszer újraindítása" -#: ../src/login/org.freedesktop.login1.policy.in.h:32 +#: ../src/login/org.freedesktop.login1.policy.in.h:34 msgid "Authentication is required for rebooting the system." msgstr "Hitelesítés szükséges a rendszer újraindításához." -#: ../src/login/org.freedesktop.login1.policy.in.h:33 +#: ../src/login/org.freedesktop.login1.policy.in.h:35 msgid "Reboot the system while other users are logged in" msgstr "A rendszer újraindítása mialatt be vannak jelentkezve más felhasználók" -#: ../src/login/org.freedesktop.login1.policy.in.h:34 +#: ../src/login/org.freedesktop.login1.policy.in.h:36 msgid "" "Authentication is required for rebooting the system while other users are " "logged in." @@ -325,12 +336,12 @@ msgstr "" "Hitelesítés szükséges a rendszer újraindításához miközben be vannak " "jelentkezve más felhasználók." -#: ../src/login/org.freedesktop.login1.policy.in.h:35 +#: ../src/login/org.freedesktop.login1.policy.in.h:37 msgid "Reboot the system while an application asked to inhibit it" msgstr "" "A rendszer újraindítása miközben egy alkalmazás ennek meggátlását kérte" -#: ../src/login/org.freedesktop.login1.policy.in.h:36 +#: ../src/login/org.freedesktop.login1.policy.in.h:38 msgid "" "Authentication is required for rebooting the system while an application " "asked to inhibit it." @@ -338,20 +349,20 @@ msgstr "" "Hitelesítés szükséges a rendszer újraindításához miközben egy alkalmazás " "ennek meggátlását kérte." -#: ../src/login/org.freedesktop.login1.policy.in.h:37 +#: ../src/login/org.freedesktop.login1.policy.in.h:39 msgid "Suspend the system" msgstr "A rendszer felfüggesztése" -#: ../src/login/org.freedesktop.login1.policy.in.h:38 +#: ../src/login/org.freedesktop.login1.policy.in.h:40 msgid "Authentication is required for suspending the system." msgstr "Hitelesítés szükséges a rendszer felfüggesztéséhez." -#: ../src/login/org.freedesktop.login1.policy.in.h:39 +#: ../src/login/org.freedesktop.login1.policy.in.h:41 msgid "Suspend the system while other users are logged in" msgstr "" "A rendszer felfüggesztése mialatt be vannak jelentkezve más felhasználók" -#: ../src/login/org.freedesktop.login1.policy.in.h:40 +#: ../src/login/org.freedesktop.login1.policy.in.h:42 msgid "" "Authentication is required for suspending the system while other users are " "logged in." @@ -359,12 +370,12 @@ msgstr "" "Hitelesítés szükséges a rendszer felfüggesztéséhez miközben be vannak " "jelentkezve más felhasználók." -#: ../src/login/org.freedesktop.login1.policy.in.h:41 +#: ../src/login/org.freedesktop.login1.policy.in.h:43 msgid "Suspend the system while an application asked to inhibit it" msgstr "" "A rendszer felfüggesztése miközben egy alkalmazás ennek meggátlását kérte" -#: ../src/login/org.freedesktop.login1.policy.in.h:42 +#: ../src/login/org.freedesktop.login1.policy.in.h:44 msgid "" "Authentication is required for suspending the system while an application " "asked to inhibit it." @@ -372,19 +383,19 @@ msgstr "" "Hitelesítés szükséges a rendszer felfüggesztéséhez miközben egy alkalmazás " "ennek meggátlását kérte." -#: ../src/login/org.freedesktop.login1.policy.in.h:43 +#: ../src/login/org.freedesktop.login1.policy.in.h:45 msgid "Hibernate the system" msgstr "A rendszer hibernálása" -#: ../src/login/org.freedesktop.login1.policy.in.h:44 +#: ../src/login/org.freedesktop.login1.policy.in.h:46 msgid "Authentication is required for hibernating the system." msgstr "Hitelesítés szükséges a rendszer hibernálásához." -#: ../src/login/org.freedesktop.login1.policy.in.h:45 +#: ../src/login/org.freedesktop.login1.policy.in.h:47 msgid "Hibernate the system while other users are logged in" msgstr "A rendszer hibernálása mialatt be vannak jelentkezve más felhasználók" -#: ../src/login/org.freedesktop.login1.policy.in.h:46 +#: ../src/login/org.freedesktop.login1.policy.in.h:48 msgid "" "Authentication is required for hibernating the system while other users are " "logged in." @@ -392,11 +403,11 @@ msgstr "" "Hitelesítés szükséges a rendszer hibernálásához miközben be vannak " "jelentkezve más felhasználók." -#: ../src/login/org.freedesktop.login1.policy.in.h:47 +#: ../src/login/org.freedesktop.login1.policy.in.h:49 msgid "Hibernate the system while an application asked to inhibit it" msgstr "A rendszer hibernálása miközben egy alkalmazás ennek meggátlását kérte" -#: ../src/login/org.freedesktop.login1.policy.in.h:48 +#: ../src/login/org.freedesktop.login1.policy.in.h:50 msgid "" "Authentication is required for hibernating the system while an application " "asked to inhibit it." @@ -404,31 +415,31 @@ 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 +#: ../src/login/org.freedesktop.login1.policy.in.h:51 msgid "Manage active sessions, users and seats" msgstr "Aktív munkamenetek, felhasználók és munkaállomások kezelése" -#: ../src/login/org.freedesktop.login1.policy.in.h:50 +#: ../src/login/org.freedesktop.login1.policy.in.h:52 msgid "" "Authentication is required for managing active sessions, users and seats." msgstr "" "Hitelesítés szükséges az aktív munkamenetek, felhasználók és munkaállomások " "kezeléséhez." -#: ../src/login/org.freedesktop.login1.policy.in.h:51 +#: ../src/login/org.freedesktop.login1.policy.in.h:53 msgid "Lock or unlock active sessions" msgstr "Aktív munkamenetek zárolása vagy feloldása" -#: ../src/login/org.freedesktop.login1.policy.in.h:52 +#: ../src/login/org.freedesktop.login1.policy.in.h:54 msgid "Authentication is required to lock or unlock active sessions." msgstr "" "Hitelesítés szükséges az aktív munkamenetek zárolásához vagy feloldásához." -#: ../src/login/org.freedesktop.login1.policy.in.h:53 +#: ../src/login/org.freedesktop.login1.policy.in.h:55 msgid "Allow indication to the firmware to boot to setup interface" msgstr "A firmware-nek jelezhető, hogy a beállítófelületet bootolja" -#: ../src/login/org.freedesktop.login1.policy.in.h:54 +#: ../src/login/org.freedesktop.login1.policy.in.h:56 msgid "" "Authentication is required to indicate to the firmware to boot to setup " "interface." @@ -436,11 +447,11 @@ msgstr "" "Hitelesítés szükséges a firmware-nek jelzéshez, hogy a beállítófelületet " "bootolja" -#: ../src/login/org.freedesktop.login1.policy.in.h:55 +#: ../src/login/org.freedesktop.login1.policy.in.h:57 msgid "Set a wall message" msgstr "Falüzenet beállítása" -#: ../src/login/org.freedesktop.login1.policy.in.h:56 +#: ../src/login/org.freedesktop.login1.policy.in.h:58 msgid "Authentication is required to set a wall message" msgstr "Hitelesítés szükséges a falüzenet beállításához" @@ -552,33 +563,34 @@ msgstr "Hitelesítés szükséges a falüzenet beállításához" # "shall be enabled." # msgstr "Hitelesítés szükséges a hálózati időszinkronizáció engedélyezéséhez." -# #: ../src/core/dbus-unit.c:449 +# #: ../src/core/dbus-unit.c:450 # msgid "Authentication is required to start '$(unit)'." # msgstr "Hitelesítés szükséges a következő elindításához: „$(unit)”." -# #: ../src/core/dbus-unit.c:450 +# #: ../src/core/dbus-unit.c:451 # msgid "Authentication is required to stop '$(unit)'." # msgstr "Hitelesítés szükséges a következő leállításához: „$(unit)”." -# #: ../src/core/dbus-unit.c:451 +# #: ../src/core/dbus-unit.c:452 # msgid "Authentication is required to reload '$(unit)'." # msgstr "Hitelesítés szükséges a következő újratöltéséhez: „$(unit)”." -# #: ../src/core/dbus-unit.c:452 ../src/core/dbus-unit.c:453 +# #: ../src/core/dbus-unit.c:453 ../src/core/dbus-unit.c:454 # msgid "Authentication is required to restart '$(unit)'." # msgstr "Hitelesítés szükséges a következő újraindításához: „$(unit)”." -# #: ../src/core/dbus-unit.c:556 +# #: ../src/core/dbus-unit.c:560 # msgid "Authentication is required to kill '$(unit)'." # msgstr "Hitelesítés szükséges a következő kilövéséhez: „$(unit)”." -# #: ../src/core/dbus-unit.c:586 +# #: ../src/core/dbus-unit.c:590 # msgid "Authentication is required to reset the \"failed" state of '$(unit)'." # msgstr "" # "Hitelesítés szükséges a következő „sikertelen” állapotának törléséhez: " # "„$(unit)”." -# #: ../src/core/dbus-unit.c:618 +# #: ../src/core/dbus-unit.c:622 # msgid "Authentication is required to set properties on '$(unit)'." # msgstr "" # "Hitelesítés szükséges a következő tulajdonságainak beállításához: „$(unit)”." + diff --git a/po/meson.build b/po/meson.build new file mode 100644 index 000000000..f89291bfc --- /dev/null +++ b/po/meson.build @@ -0,0 +1,12 @@ +i18n = import('i18n') +i18n.gettext(meson.project_name()) + +##################################################################### + +intltool_merge = find_program('intltool-merge') +po_dir = meson.current_source_dir() + +intltool_cache = join_paths(meson.current_build_dir(), 'intltool-merge-cache') +intltool_command = [intltool_merge, '-x', '-u', + '-c', intltool_cache, + po_dir, '@INPUT@', '@OUTPUT@'] diff --git a/po/pl.po b/po/pl.po index 98b1e8fd5..d0a80f7db 100644 --- a/po/pl.po +++ b/po/pl.po @@ -1,13 +1,15 @@ -# translation of pl.po to Polish -# Piotr Drąg , 2011, 2013, 2014, 2015, 2016. +# Polish translation for systemd. +# Copyright © 2011-2016 the systemd authors. +# This file is distributed under the same license as the systemd package. +# Piotr Drąg , 2011, 2013-2016. # Zbigniew Jędrzejewski-Szmek , 2011. # msgid "" msgstr "" "Project-Id-Version: systemd\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-23 14:24+0200\n" -"PO-Revision-Date: 2016-04-23 14:25+0200\n" +"POT-Creation-Date: 2016-10-05 19:01+0200\n" +"PO-Revision-Date: 2016-10-05 19:02+0200\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "Language: pl\n" @@ -19,13 +21,13 @@ msgstr "" # #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 # msgid "Send passphrase back to system" -# msgstr "Wysłanie hasła z powrotem do systemu" +# msgstr "Wysłanie hasła z powrotem do systemu" # #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2 # msgid "" # "Authentication is required to send the entered passphrase back to the system." # msgstr "" -# "Wymagane jest uwierzytelnienie, aby wysłać podane hasło z powrotem do " +# "Wymagane jest uwierzytelnienie, aby wysłać podane hasło z powrotem do " # "systemu." # #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3 @@ -51,7 +53,7 @@ msgstr "" # #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:7 # msgid "Set or unset system and service manager environment variables" # msgstr "" -# "Ustawienie lub usunięcie zmiennych środowiskowych menedżera systemu i usług" +# "Ustawienie lub usunięcie zmiennych środowiskowych menedżera systemu i usług" # #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:8 # msgid "" @@ -59,7 +61,7 @@ msgstr "" # "environment variables." # msgstr "" # "Wymagane jest uwierzytelnienie, aby ustawić lub usunąć zmienne środowiskowe " -# "menedżera systemu i usług." +# "menedżera systemu i usług." # #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:9 # msgid "Reload the systemd state" @@ -87,16 +89,16 @@ msgstr "" # "as well as the pretty host name." # msgstr "" # "Wymagane jest uwierzytelnienie, aby ustawić statycznie skonfigurowaną nazwę " -# "lokalnego komputera, a także jego ładną nazwę." +# "lokalnego komputera, a także jego ładną nazwę." # #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5 # msgid "Set machine information" -# msgstr "Ustawienie informacji o komputerze" +# msgstr "Ustawienie informacji o komputerze" # #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6 # msgid "Authentication is required to set local machine information." # msgstr "" -# "Wymagane jest uwierzytelnienie, aby ustawić informacje o lokalnym komputerze." +# "Wymagane jest uwierzytelnienie, aby ustawić informacje o lokalnym komputerze." # #: ../src/import/org.freedesktop.import1.policy.in.h:1 # msgid "Import a VM or container image" @@ -410,14 +412,14 @@ msgstr "" #: ../src/login/org.freedesktop.login1.policy.in.h:51 msgid "Manage active sessions, users and seats" -msgstr "Zarządzanie aktywnymi sesjami, użytkownikami i stanowiskami" +msgstr "Zarządzanie aktywnymi sesjami, użytkownikami i stanowiskami" #: ../src/login/org.freedesktop.login1.policy.in.h:52 msgid "" "Authentication is required for managing active sessions, users and seats." msgstr "" "Wymagane jest uwierzytelnienie, aby zarządzać aktywnymi sesjami, " -"użytkownikami i stanowiskami." +"użytkownikami i stanowiskami." #: ../src/login/org.freedesktop.login1.policy.in.h:53 msgid "Lock or unlock active sessions" @@ -468,12 +470,12 @@ msgstr "Wymagane jest uwierzytelnienie, aby ustawić komunikat wall" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:5 # msgid "Acquire a shell in a local container" -# msgstr "Uzyskanie powłoki w lokalnym kontenerze" +# msgstr "Uzyskanie powłoki w lokalnym kontenerze" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:6 # msgid "Authentication is required to acquire a shell in a local container." # msgstr "" -# "Wymagane jest uwierzytelnienie, aby uzyskać powłokę w lokalnym kontenerze." +# "Wymagane jest uwierzytelnienie, aby uzyskać powłokę w lokalnym kontenerze." # #: ../src/machine/org.freedesktop.machine1.policy.in.h:7 # msgid "Acquire a shell on the local host" @@ -486,13 +488,13 @@ msgstr "Wymagane jest uwierzytelnienie, aby ustawić komunikat wall" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:9 # msgid "Acquire a pseudo TTY in a local container" -# msgstr "Uzyskanie pseudo-TTY w lokalnym kontenerze" +# msgstr "Uzyskanie pseudo-TTY w lokalnym kontenerze" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:10 # msgid "" # "Authentication is required to acquire a pseudo TTY in a local container." # msgstr "" -# "Wymagane jest uwierzytelnienie, aby uzyskać pseudo-TTY w lokalnym kontenerze." +# "Wymagane jest uwierzytelnienie, aby uzyskać pseudo-TTY w lokalnym kontenerze." # #: ../src/machine/org.freedesktop.machine1.policy.in.h:11 # msgid "Acquire a pseudo TTY on the local host" @@ -506,18 +508,18 @@ msgstr "Wymagane jest uwierzytelnienie, aby ustawić komunikat wall" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:13 # msgid "Manage local virtual machines and containers" -# msgstr "Zarządzanie lokalnymi maszynami wirtualnymi i kontenerami" +# msgstr "Zarządzanie lokalnymi maszynami wirtualnymi i kontenerami" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:14 # msgid "" # "Authentication is required to manage local virtual machines and containers." # msgstr "" # "Wymagane jest uwierzytelnienie, aby zarządzać lokalnymi maszynami " -# "wirtualnymi i kontenerami." +# "wirtualnymi i kontenerami." # #: ../src/machine/org.freedesktop.machine1.policy.in.h:15 # msgid "Manage local virtual machine and container images" -# msgstr "Zarządzanie lokalnymi obrazami maszyn wirtualnych i kontenerów" +# msgstr "Zarządzanie lokalnymi obrazami maszyn wirtualnych i kontenerów" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:16 # msgid "" @@ -525,7 +527,7 @@ msgstr "Wymagane jest uwierzytelnienie, aby ustawić komunikat wall" # "images." # msgstr "" # "Wymagane jest uwierzytelnienie, aby zarządzać lokalnymi obrazami maszyn " -# "wirtualnych i kontenerów." +# "wirtualnych i kontenerów." # #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1 # msgid "Set system time" @@ -567,36 +569,36 @@ msgstr "Wymagane jest uwierzytelnienie, aby ustawić komunikat wall" # "Wymagane jest uwierzytelnienie, aby kontrolować, czy włączyć synchronizację " # "czasu przez sieć." -# #: ../src/core/dbus-unit.c:450 +# #: ../src/core/dbus-unit.c:459 # msgid "Authentication is required to start '$(unit)'." # msgstr "Wymagane jest uwierzytelnienie, aby uruchomić jednostkę „$(unit)”." -# #: ../src/core/dbus-unit.c:451 +# #: ../src/core/dbus-unit.c:460 # msgid "Authentication is required to stop '$(unit)'." # msgstr "Wymagane jest uwierzytelnienie, aby zatrzymać jednostkę „$(unit)”." -# #: ../src/core/dbus-unit.c:452 +# #: ../src/core/dbus-unit.c:461 # msgid "Authentication is required to reload '$(unit)'." # msgstr "" # "Wymagane jest uwierzytelnienie, aby ponownie wczytać jednostkę „$(unit)”." -# #: ../src/core/dbus-unit.c:453 ../src/core/dbus-unit.c:454 +# #: ../src/core/dbus-unit.c:462 ../src/core/dbus-unit.c:463 # msgid "Authentication is required to restart '$(unit)'." # msgstr "" # "Wymagane jest uwierzytelnienie, aby ponownie uruchomić jednostkę „$(unit)”." -# #: ../src/core/dbus-unit.c:560 +# #: ../src/core/dbus-unit.c:570 # msgid "Authentication is required to kill '$(unit)'." # msgstr "" # "Wymagane jest uwierzytelnienie, aby wymusić wyłączenie jednostki „$(unit)”." -# #: ../src/core/dbus-unit.c:590 +# #: ../src/core/dbus-unit.c:601 # msgid "Authentication is required to reset the \"failed" state of '$(unit)'." # msgstr "" # "Wymagane jest uwierzytelnienie, aby przywrócić stan „failed” (niepowodzenia) " # "jednostki „$(unit)”." -# #: ../src/core/dbus-unit.c:622 +# #: ../src/core/dbus-unit.c:634 # msgid "Authentication is required to set properties on '$(unit)'." # msgstr "" # "Wymagane jest uwierzytelnienie, aby ustawić właściwości jednostki „$(unit)”." diff --git a/po/pt_BR.po b/po/pt_BR.po index dfcb93773..160ea0d80 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -1,23 +1,22 @@ # Brazilian Portuguese translation for systemd. -# Copyright (C) 2015 systemd's COPYRIGHT HOLDER +# Copyright (C) 2017 systemd's COPYRIGHT HOLDER # This file is distributed under the same license as the systemd package. -# Rafael Ferreira , 2014. # Enrico Nicoletto , 2014. -# +# Rafael Fontenelle , 2015, 2017. msgid "" msgstr "" "Project-Id-Version: systemd master\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-22 16:37+0100\n" -"PO-Revision-Date: 2015-01-10 12:23-0300\n" -"Last-Translator: Rafael Ferreira \n" +"Report-Msgid-Bugs-To: https://github.com/systemd/systemd/issues\n" +"POT-Creation-Date: 2016-11-17 03:29+0000\n" +"PO-Revision-Date: 2017-04-03 14:25-0200\n" +"Last-Translator: Rafael Fontenelle \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "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.1\n" +"X-Generator: Virtaal 1.0.0-beta1\n" # #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 # msgid "Send passphrase back to system" @@ -31,15 +30,14 @@ msgstr "" # "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" +# msgstr "Gerenciar serviços do sistema e outras unidades" # #: ../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." +# "É necessária autenticação para gerenciar serviços do sistema ou outras " +# "unidades." # #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:5 # msgid "Manage system service or unit files" @@ -52,18 +50,18 @@ msgstr "" # "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" +# msgstr "" +# "Definir ou retirar definição de variáveis de ambiente de gerenciador de " +# "serviço e 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." +# "É necessária autenticação para definir ou retirar definição de variáveis de " +# "ambiente de gerenciador de serviço e sistema." # #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:9 # msgid "Reload the systemd state" @@ -103,30 +101,27 @@ msgstr "" # #: ../src/import/org.freedesktop.import1.policy.in.h:1 # msgid "Import a VM or container image" -# msgstr "" +# msgstr "Importar uma VM ou imagem contêiner" # #: ../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." +# msgstr "É necessária autenticação para importar uma VM ou imagem contêiner" # #: ../src/import/org.freedesktop.import1.policy.in.h:3 # msgid "Export a VM or container image" -# msgstr "" +# msgstr "Exportar uma VM ou imagem contêiner" # #: ../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." +# msgstr "É necessária autenticação para exportar uma VM ou imagem contêiner" # #: ../src/import/org.freedesktop.import1.policy.in.h:5 # msgid "Download a VM or container image" -# msgstr "" +# msgstr "Baixar uma VM ou imagem contêiner" # #: ../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." +# msgstr "É necessária autenticação para baixar uma VM ou imagem contêiner" # #: ../src/locale/org.freedesktop.locale1.policy.in.h:1 # msgid "Set system locale" @@ -254,48 +249,61 @@ msgstr "" "sistema sobre o interruptor da tela." #: ../src/login/org.freedesktop.login1.policy.in.h:19 +#| msgid "Allow non-logged-in users to run programs" +msgid "Allow non-logged-in user to run programs" +msgstr "" +"Permitir que programas sejam executados por usuário que não possui sessão" + +#: ../src/login/org.freedesktop.login1.policy.in.h:20 +#| msgid "Authentication is required to run programs as a non-logged-in user." +msgid "Explicit request is required to run programs as a non-logged-in user." +msgstr "" +"É necessária requisição explícita para executar programas como usuário sem " +"sessão aberta." + +#: ../src/login/org.freedesktop.login1.policy.in.h:21 msgid "Allow non-logged-in users to run programs" msgstr "" "Permitir que programas sejam executados por usuários que não possuem sessão" -#: ../src/login/org.freedesktop.login1.policy.in.h:20 +#: ../src/login/org.freedesktop.login1.policy.in.h:22 msgid "Authentication is required to run programs as a non-logged-in user." msgstr "" "É necessária autenticação para executar programas como usuário sem sessão " "aberta." -#: ../src/login/org.freedesktop.login1.policy.in.h:21 +#: ../src/login/org.freedesktop.login1.policy.in.h:23 msgid "Allow attaching devices to seats" msgstr "Permitir conectar dispositivos em estações" -#: ../src/login/org.freedesktop.login1.policy.in.h:22 +#: ../src/login/org.freedesktop.login1.policy.in.h:24 msgid "Authentication is required for attaching a device to a seat." msgstr "É necessária autenticação para conectar um dispositivo em uma estação." -#: ../src/login/org.freedesktop.login1.policy.in.h:23 +#: ../src/login/org.freedesktop.login1.policy.in.h:25 msgid "Flush device to seat attachments" msgstr "Liberar dispositivo para conexões da estação" -#: ../src/login/org.freedesktop.login1.policy.in.h:24 +#: ../src/login/org.freedesktop.login1.policy.in.h:26 msgid "" "Authentication is required for resetting how devices are attached to seats." msgstr "" "É necessária autenticação para redefinir a quantidade de dispositivos " "conectados na estação." -#: ../src/login/org.freedesktop.login1.policy.in.h:25 +#: ../src/login/org.freedesktop.login1.policy.in.h:27 msgid "Power off the system" msgstr "Desligar o sistema" -#: ../src/login/org.freedesktop.login1.policy.in.h:26 +#: ../src/login/org.freedesktop.login1.policy.in.h:28 msgid "Authentication is required for powering off the system." msgstr "É necessária autenticação para desligar o sistema." -#: ../src/login/org.freedesktop.login1.policy.in.h:27 +#: ../src/login/org.freedesktop.login1.policy.in.h:29 msgid "Power off the system while other users are logged in" msgstr "Desligar o sistema enquanto outros usuários estão conectados" -#: ../src/login/org.freedesktop.login1.policy.in.h:28 +#: ../src/login/org.freedesktop.login1.policy.in.h:30 msgid "" "Authentication is required for powering off the system while other users are " "logged in." @@ -303,11 +311,11 @@ msgstr "" "É necessária autenticação para desligar o sistema enquanto outros usuários " "estão conectados." -#: ../src/login/org.freedesktop.login1.policy.in.h:29 +#: ../src/login/org.freedesktop.login1.policy.in.h:31 msgid "Power off the system while an application asked to inhibit it" msgstr "Desligar o sistema enquanto um aplicativo solicitou inibição" -#: ../src/login/org.freedesktop.login1.policy.in.h:30 +#: ../src/login/org.freedesktop.login1.policy.in.h:32 msgid "" "Authentication is required for powering off the system while an application " "asked to inhibit it." @@ -315,19 +323,19 @@ msgstr "" "É necessária autenticação para desligar o sistema enquanto um aplicativo " "solicitou inibição." -#: ../src/login/org.freedesktop.login1.policy.in.h:31 +#: ../src/login/org.freedesktop.login1.policy.in.h:33 msgid "Reboot the system" msgstr "Reiniciar o sistema" -#: ../src/login/org.freedesktop.login1.policy.in.h:32 +#: ../src/login/org.freedesktop.login1.policy.in.h:34 msgid "Authentication is required for rebooting the system." msgstr "É necessária autenticação para reiniciar o sistema." -#: ../src/login/org.freedesktop.login1.policy.in.h:33 +#: ../src/login/org.freedesktop.login1.policy.in.h:35 msgid "Reboot the system while other users are logged in" msgstr "Reiniciar o sistema enquanto outros usuários estiverem conectados" -#: ../src/login/org.freedesktop.login1.policy.in.h:34 +#: ../src/login/org.freedesktop.login1.policy.in.h:36 msgid "" "Authentication is required for rebooting the system while other users are " "logged in." @@ -335,11 +343,11 @@ msgstr "" "É necessária autenticação para reiniciar o sistema enquanto outros usuários " "estiverem conectados." -#: ../src/login/org.freedesktop.login1.policy.in.h:35 +#: ../src/login/org.freedesktop.login1.policy.in.h:37 msgid "Reboot the system while an application asked to inhibit it" msgstr "Reiniciar o sistema enquanto um aplicativo solicitou inibição" -#: ../src/login/org.freedesktop.login1.policy.in.h:36 +#: ../src/login/org.freedesktop.login1.policy.in.h:38 msgid "" "Authentication is required for rebooting the system while an application " "asked to inhibit it." @@ -347,19 +355,19 @@ msgstr "" "É necessária autenticação para reiniciar o sistema enquanto um aplicativo " "solicitou inibição." -#: ../src/login/org.freedesktop.login1.policy.in.h:37 +#: ../src/login/org.freedesktop.login1.policy.in.h:39 msgid "Suspend the system" msgstr "Suspender o sistema" -#: ../src/login/org.freedesktop.login1.policy.in.h:38 +#: ../src/login/org.freedesktop.login1.policy.in.h:40 msgid "Authentication is required for suspending the system." msgstr "É necessária autenticação para suspender o sistema." -#: ../src/login/org.freedesktop.login1.policy.in.h:39 +#: ../src/login/org.freedesktop.login1.policy.in.h:41 msgid "Suspend the system while other users are logged in" msgstr "Suspender o sistema enquanto outros usuários estiverem conectados" -#: ../src/login/org.freedesktop.login1.policy.in.h:40 +#: ../src/login/org.freedesktop.login1.policy.in.h:42 msgid "" "Authentication is required for suspending the system while other users are " "logged in." @@ -367,11 +375,11 @@ msgstr "" "É necessária autenticação para suspender o sistema enquanto outros usuários " "estiverem conectados." -#: ../src/login/org.freedesktop.login1.policy.in.h:41 +#: ../src/login/org.freedesktop.login1.policy.in.h:43 msgid "Suspend the system while an application asked to inhibit it" msgstr "Suspender o sistema enquanto um aplicativo solicitou inibição" -#: ../src/login/org.freedesktop.login1.policy.in.h:42 +#: ../src/login/org.freedesktop.login1.policy.in.h:44 msgid "" "Authentication is required for suspending the system while an application " "asked to inhibit it." @@ -379,19 +387,19 @@ msgstr "" "É necessária autenticação para suspender o sistema enquanto um aplicativo " "solicitou inibição." -#: ../src/login/org.freedesktop.login1.policy.in.h:43 +#: ../src/login/org.freedesktop.login1.policy.in.h:45 msgid "Hibernate the system" msgstr "Hibernar o sistema" -#: ../src/login/org.freedesktop.login1.policy.in.h:44 +#: ../src/login/org.freedesktop.login1.policy.in.h:46 msgid "Authentication is required for hibernating the system." msgstr "É necessária autenticação para hibernar o sistema." -#: ../src/login/org.freedesktop.login1.policy.in.h:45 +#: ../src/login/org.freedesktop.login1.policy.in.h:47 msgid "Hibernate the system while other users are logged in" msgstr "Hibernar o sistema enquanto outros usuários estiverem conectados" -#: ../src/login/org.freedesktop.login1.policy.in.h:46 +#: ../src/login/org.freedesktop.login1.policy.in.h:48 msgid "" "Authentication is required for hibernating the system while other users are " "logged in." @@ -399,11 +407,11 @@ msgstr "" "É necessária autenticação para hibernar o sistema enquanto outros usuários " "estiverem conectados." -#: ../src/login/org.freedesktop.login1.policy.in.h:47 +#: ../src/login/org.freedesktop.login1.policy.in.h:49 msgid "Hibernate the system while an application asked to inhibit it" msgstr "Hibernar o sistema enquanto um aplicativo solicitou inibição" -#: ../src/login/org.freedesktop.login1.policy.in.h:48 +#: ../src/login/org.freedesktop.login1.policy.in.h:50 msgid "" "Authentication is required for hibernating the system while an application " "asked to inhibit it." @@ -411,123 +419,121 @@ msgstr "" "É necessária autenticação para hibernar o sistema enquanto um aplicativo " "solicitou inibição." -#: ../src/login/org.freedesktop.login1.policy.in.h:49 +#: ../src/login/org.freedesktop.login1.policy.in.h:51 msgid "Manage active sessions, users and seats" -msgstr "" +msgstr "Gerenciar estações, usuários e sessões ativas" -#: ../src/login/org.freedesktop.login1.policy.in.h:50 -#, fuzzy +#: ../src/login/org.freedesktop.login1.policy.in.h:52 msgid "" "Authentication is required for managing active sessions, users and seats." -msgstr "É necessária autenticação para conectar um dispositivo em uma estação." +msgstr "" +"É necessária autenticação para gerenciar estações, usuários e sessões ativas." -#: ../src/login/org.freedesktop.login1.policy.in.h:51 +#: ../src/login/org.freedesktop.login1.policy.in.h:53 msgid "Lock or unlock active sessions" -msgstr "" +msgstr "Travar ou destravar sessões ativas" -#: ../src/login/org.freedesktop.login1.policy.in.h:52 -#, fuzzy +#: ../src/login/org.freedesktop.login1.policy.in.h:54 msgid "Authentication is required to lock or unlock active sessions." -msgstr "É necessária autenticação para se conectar a um contêiner local." +msgstr "É necessária autenticação para travar ou destravar sessões ativas." -#: ../src/login/org.freedesktop.login1.policy.in.h:53 +#: ../src/login/org.freedesktop.login1.policy.in.h:55 msgid "Allow indication to the firmware to boot to setup interface" msgstr "" +"Permitir indicação para o firmware inicializar para a interface de " +"configuração" -#: ../src/login/org.freedesktop.login1.policy.in.h:54 -#, fuzzy +#: ../src/login/org.freedesktop.login1.policy.in.h:56 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." +msgstr "" +"É necessária autenticação para indicar para o firmware inicializar para a " +"interface de configuração." -#: ../src/login/org.freedesktop.login1.policy.in.h:55 +#: ../src/login/org.freedesktop.login1.policy.in.h:57 msgid "Set a wall message" -msgstr "" +msgstr "Definir uma mensagem de parede" -#: ../src/login/org.freedesktop.login1.policy.in.h:56 -#, fuzzy +#: ../src/login/org.freedesktop.login1.policy.in.h:58 msgid "Authentication is required to set a wall message" -msgstr "É necessária autenticação para definir nome de máquina local." +msgstr "É necessária autenticação para definir uma mensagem de parede" # #: ../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 -# #, 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 -# #, fuzzy # msgid "Log into the local host" -# msgstr "Conectar a um contêiner local" +# msgstr "Conectar a uma máquina local" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:4 -# #, fuzzy # msgid "Authentication is required to log into the local host." -# msgstr "É necessária autenticação para se conectar a um contêiner local." +# msgstr "É necessária autenticação para se conectar a uma máquina local." # #: ../src/machine/org.freedesktop.machine1.policy.in.h:5 -# #, fuzzy # msgid "Acquire a shell in a local container" -# msgstr "Conectar a um contêiner local" +# msgstr "Adquirir uma shell em um contêiner local" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:6 -# #, fuzzy # msgid "Authentication is required to acquire a shell in a local container." -# msgstr "É necessária autenticação para se conectar a um contêiner local." +# msgstr "" +# "É necessária autenticação para adquirir uma shell em um contêiner local." # #: ../src/machine/org.freedesktop.machine1.policy.in.h:7 # msgid "Acquire a shell on the local host" -# msgstr "" +# msgstr "Adquirir uma shell na máquina local" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:8 -# #, fuzzy # msgid "Authentication is required to acquire a shell on the local host." -# msgstr "É necessária autenticação para definir nome de máquina local." +# msgstr "" +# "É necessária autenticação para adquirir uma shell em uma máquina local." # #: ../src/machine/org.freedesktop.machine1.policy.in.h:9 -# #, fuzzy # msgid "Acquire a pseudo TTY in a local container" -# msgstr "Conectar a um contêiner local" +# msgstr "Adquirir um pseudo TTY em um contêiner local" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:10 -# #, fuzzy # msgid "" # "Authentication is required to acquire a pseudo TTY in a local container." -# msgstr "É necessária autenticação para se conectar a um contêiner local." +# msgstr "" +# "É necessária autenticação para adquirir um pseudo TTY em um contêiner local." # #: ../src/machine/org.freedesktop.machine1.policy.in.h:11 # msgid "Acquire a pseudo TTY on the local host" -# msgstr "" +# msgstr "Adquiri um pseudo TTY na máquina local" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:12 -# #, fuzzy # msgid "Authentication is required to acquire a pseudo TTY on the local host." -# msgstr "É necessária autenticação para definir nome de máquina local." +# msgstr "" +# "É necessária autenticação para adquirir um pseudo TTY em um máquina local." # #: ../src/machine/org.freedesktop.machine1.policy.in.h:13 # msgid "Manage local virtual machines and containers" -# msgstr "" +# msgstr "Gerenciar máquinas virtuais locais e contêineres" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:14 -# #, 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." +# msgstr "" +# "É necessária autenticação para gerenciar máquinas virtuais locais e " +# "contêineres." # #: ../src/machine/org.freedesktop.machine1.policy.in.h:15 # msgid "Manage local virtual machine and container images" -# msgstr "" +# msgstr "Gerenciar máquinas virtuais locais e imagens contêineres" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:16 -# #, 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." +# msgstr "" +# "É necessária autenticação para gerenciar máquinas virtuais locais e imagens " +# "contêineres." # #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1 # msgid "Set system time" @@ -569,37 +575,31 @@ msgstr "É necessária autenticação para definir nome de máquina local." # "É 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/dbus-unit.c:428 -# #, fuzzy +# #: ../src/core/dbus-unit.c:457 # msgid "Authentication is required to start '$(unit)'." -# msgstr "É necessária autenticação para definir o horário do sistema." +# msgstr "É necessária autenticação para iniciar '$(unit)'." -# #: ../src/core/dbus-unit.c:429 -# #, fuzzy +# #: ../src/core/dbus-unit.c:458 # msgid "Authentication is required to stop '$(unit)'." -# msgstr "É necessária autenticação para definir o horário do sistema." +# msgstr "É necessária autenticação para parar '$(unit)'." -# #: ../src/core/dbus-unit.c:430 -# #, fuzzy +# #: ../src/core/dbus-unit.c:459 # msgid "Authentication is required to reload '$(unit)'." -# msgstr "É necessária autenticação para recarregar o estado do sistema." +# msgstr "É necessária autenticação para recarregar '$(unit)'." -# #: ../src/core/dbus-unit.c:431 ../src/core/dbus-unit.c:432 -# #, fuzzy +# #: ../src/core/dbus-unit.c:460 ../src/core/dbus-unit.c:461 # msgid "Authentication is required to restart '$(unit)'." -# msgstr "É necessária autenticação para definir o horário do sistema." +# msgstr "É necessária autenticação para reiniciar '$(unit)'." -# #: ../src/core/dbus-unit.c:535 -# #, fuzzy +# #: ../src/core/dbus-unit.c:568 # msgid "Authentication is required to kill '$(unit)'." -# msgstr "É necessária autenticação para se conectar a um contêiner local." +# msgstr "É necessária autenticação para matar '$(unit)'." -# #: ../src/core/dbus-unit.c:565 -# #, fuzzy +# #: ../src/core/dbus-unit.c:599 # msgid "Authentication is required to reset the \"failed" state of '$(unit)'." -# msgstr "É necessária autenticação para definir nome de máquina local." +# msgstr "" +# "É necessária autenticação para reiniciar o estado \"failed" de '$(unit)'." -# #: ../src/core/dbus-unit.c:597 -# #, fuzzy +# #: ../src/core/dbus-unit.c:632 # msgid "Authentication is required to set properties on '$(unit)'." -# msgstr "É necessária autenticação para definir o horário do sistema." +# msgstr "É necessária autenticação para definir propriedades em '$(unit)'." diff --git a/po/sk.po b/po/sk.po new file mode 100644 index 000000000..e08c0a7ac --- /dev/null +++ b/po/sk.po @@ -0,0 +1,556 @@ +# Slovak translation for systemd. +# Copyright (C) 2017 systemd's COPYRIGHT HOLDER +# This file is distributed under the same license as the systemd package. +# Dušan Kazik , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: systemd master\n" +"Report-Msgid-Bugs-To: https://github.com/systemd/systemd/issues\n" +"POT-Creation-Date: 2017-06-24 03:26+0000\n" +"PO-Revision-Date: 2017-06-25 11:03+0200\n" +"Language-Team: Slovak \n" +"Language: sk\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==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" +"Last-Translator: Dušan Kazik \n" +"X-Generator: Poedit 2.0.2\n" + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 +# msgid "Send passphrase back to system" +# msgstr "Odoslanie hesla späť do systému" + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2 +# msgid "" +# "Authentication is required to send the entered passphrase back to the system." +# msgstr "" +# "Vyžaduje sa overenie totožnosti na odoslanie zadaného hesla späť do systému." + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3 +# msgid "Manage system services or other units" +# msgstr "Správa systémových služieb alebo iných jednotiek" + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4 +# msgid "Authentication is required to manage system services or other units." +# msgstr "" +# "Vyžaduje sa overenie totožnosti na správu systémových služieb alebo iných " +# "jednotiek." + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:5 +# msgid "Manage system service or unit files" +# msgstr "Správa systémovej služby alebo súborov jednotky" + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:6 +# msgid "Authentication is required to manage system service or unit files." +# msgstr "" +# "Vyžaduje sa overenie totožnosti na správu systémovej služby alebo súborov " +# "jednotky." + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:7 +# msgid "Set or unset system and service manager environment variables" +# msgstr "" +# "Nastavenie alebo zrušenie nastavenia premenných prostredia systému a správcu " +# "služieb" + +# #: ../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 "" +# "Vyžaduje sa overenie totožnosti na nastavenie alebo zrušenie nastavenia " +# "premenných prostredia systému a správcu služieb." + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:9 +# msgid "Reload the systemd state" +# msgstr "Znovu načítanie stavu systému systemd" + +# #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:10 +# msgid "Authentication is required to reload the systemd state." +# msgstr "" +# "Vyžaduje sa overenie totožnosti na znovu načítanie stavu systému systemd." + +# #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1 +# msgid "Set host name" +# msgstr "Nastavenie názvu hostiteľa" + +# #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2 +# msgid "Authentication is required to set the local host name." +# msgstr "Vyžaduje sa overenie totožnosti na nastavenie názvu hostiteľa." + +# #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3 +# msgid "Set static host name" +# msgstr "Nastavenie nemenného názvu hostiteľa" + +# #: ../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 "" +# "Vyžaduje sa overenie totožnosti na nastavenie pevne určeného názvu miestneho " +# "hostiteľa, známeho ako zrozumiteľný názov hostiteľa." + +# #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5 +# msgid "Set machine information" +# msgstr "Nastavenie informácií o počítači" + +# #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6 +# msgid "Authentication is required to set local machine information." +# msgstr "" +# "Vyžaduje sa overenie totožnosti na nastavenie informácií o miestnom počítači." + +# #: ../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 "Nastavenie miestnych nastavení" + +# #: ../src/locale/org.freedesktop.locale1.policy.in.h:2 +# msgid "Authentication is required to set the system locale." +# msgstr "Vyžaduje sa overenie totožnosti na nastavenie miestnych nastavení." + +# #: ../src/locale/org.freedesktop.locale1.policy.in.h:3 +# msgid "Set system keyboard settings" +# msgstr "Nastavenie nastavení systémovej klávesnice" + +# #: ../src/locale/org.freedesktop.locale1.policy.in.h:4 +# msgid "Authentication is required to set the system keyboard settings." +# msgstr "" +# "Vyžaduje sa overenie totožnosti na nastavenie nastavení systémovej " +# "klávesnice." + +#: ../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 "Umožnenie aplikáciám odložiť spánok systému" + +#: ../src/login/org.freedesktop.login1.policy.in.h:8 +msgid "Authentication is required for an application to delay system sleep." +msgstr "" +"Vyžaduje sa overenie totožnosti na odloženie spánku systému aplikáciou." + +#: ../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 user to run programs" +msgstr "Umožnenie neprihlásenému používateľovi spúšťanie programov" + +#: ../src/login/org.freedesktop.login1.policy.in.h:20 +msgid "Explicit request is required to run programs as a non-logged-in user." +msgstr "" +"Vyžaduje sa explicitná požiadavka na spúšťanie programov ako neprihlásený " +"používateľ." + +#: ../src/login/org.freedesktop.login1.policy.in.h:21 +msgid "Allow non-logged-in users to run programs" +msgstr "Umožnenie neprihláseným používateľom spúšťanie programov" + +#: ../src/login/org.freedesktop.login1.policy.in.h:22 +msgid "Authentication is required to run programs as a non-logged-in user." +msgstr "" +"Vyžaduje sa overenie totožnosti na spúšťanie programov ako neprihlásený " +"používateľ." + +#: ../src/login/org.freedesktop.login1.policy.in.h:23 +msgid "Allow attaching devices to seats" +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:24 +msgid "Authentication is required for attaching a device to a seat." +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:25 +msgid "Flush device to seat attachments" +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:26 +msgid "" +"Authentication is required for resetting how devices are attached to seats." +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:27 +msgid "Power off the system" +msgstr "Vypnutie systému" + +#: ../src/login/org.freedesktop.login1.policy.in.h:28 +msgid "Authentication is required for powering off the system." +msgstr "Vyžaduje sa overenie totožnosti na vypnutie systému." + +#: ../src/login/org.freedesktop.login1.policy.in.h:29 +msgid "Power off the system while other users are logged in" +msgstr "Vypnutie systému, pokiaľ sú prihlásení iní používatelia" + +#: ../src/login/org.freedesktop.login1.policy.in.h:30 +msgid "" +"Authentication is required for powering off the system while other users are " +"logged in." +msgstr "" +"Vyžaduje sa overenie totožnosti na vypnutie systému, pokiaľ sú prihlásení " +"iní používatelia." + +#: ../src/login/org.freedesktop.login1.policy.in.h:31 +msgid "Power off the system while an application asked to inhibit it" +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:32 +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:33 +msgid "Reboot the system" +msgstr "Reštart systému" + +#: ../src/login/org.freedesktop.login1.policy.in.h:34 +msgid "Authentication is required for rebooting the system." +msgstr "Vyžaduje sa overenie totožnosti na reštartovanie systému." + +#: ../src/login/org.freedesktop.login1.policy.in.h:35 +msgid "Reboot the system while other users are logged in" +msgstr "Reštart systému, pokiaľ sú prihlásení iní používatelia" + +#: ../src/login/org.freedesktop.login1.policy.in.h:36 +msgid "" +"Authentication is required for rebooting the system while other users are " +"logged in." +msgstr "" +"Vyžaduje sa overenie totožnosti na reštartovanie systému, pokiaľ sú " +"prihlásení iní používatelia." + +#: ../src/login/org.freedesktop.login1.policy.in.h:37 +msgid "Reboot the system while an application asked to inhibit it" +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:38 +msgid "" +"Authentication is required for rebooting the system while an application " +"asked to inhibit it." +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:39 +msgid "Suspend the system" +msgstr "Uspanie systému" + +#: ../src/login/org.freedesktop.login1.policy.in.h:40 +msgid "Authentication is required for suspending the system." +msgstr "Vyžaduje sa overenie totožnosti na uspanie systému." + +#: ../src/login/org.freedesktop.login1.policy.in.h:41 +msgid "Suspend the system while other users are logged in" +msgstr "Uspanie systému, pokiaľ sú prihlásení iní používatelia" + +#: ../src/login/org.freedesktop.login1.policy.in.h:42 +msgid "" +"Authentication is required for suspending the system while other users are " +"logged in." +msgstr "" +"Vyžaduje sa overenie totožnosti na uspanie systému, pokiaľ sú prihlásení iní " +"používatelia." + +#: ../src/login/org.freedesktop.login1.policy.in.h:43 +msgid "Suspend the system while an application asked to inhibit it" +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:44 +msgid "" +"Authentication is required for suspending the system while an application " +"asked to inhibit it." +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:45 +msgid "Hibernate the system" +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:46 +msgid "Authentication is required for hibernating the system." +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:47 +msgid "Hibernate the system while other users are logged in" +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:48 +msgid "" +"Authentication is required for hibernating the system while other users are " +"logged in." +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:49 +msgid "Hibernate the system while an application asked to inhibit it" +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:50 +msgid "" +"Authentication is required for hibernating the system while an application " +"asked to inhibit it." +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:51 +msgid "Manage active sessions, users and seats" +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:52 +msgid "" +"Authentication is required for managing active sessions, users and seats." +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:53 +msgid "Lock or unlock active sessions" +msgstr "Zamknutie alebo odomknutie aktívnych relácií" + +#: ../src/login/org.freedesktop.login1.policy.in.h:54 +msgid "Authentication is required to lock or unlock active sessions." +msgstr "" +"Vyžaduje sa overenie totožnosti na uzamknutie alebo odomknutie aktívnych " +"relácií." + +#: ../src/login/org.freedesktop.login1.policy.in.h:55 +msgid "Allow indication to the firmware to boot to setup interface" +msgstr "Umožnenie indikácie spustenia inštalačného rozhrania pre firmvér" + +#: ../src/login/org.freedesktop.login1.policy.in.h:56 +msgid "" +"Authentication is required to indicate to the firmware to boot to setup " +"interface." +msgstr "" +"Vyžaduje sa overenie totožnosti na indikáciu spustenia inštalačného " +"rozhrania pre firmvér." + +#: ../src/login/org.freedesktop.login1.policy.in.h:57 +msgid "Set a wall message" +msgstr "" + +#: ../src/login/org.freedesktop.login1.policy.in.h:58 +msgid "Authentication is required to set a wall message" +msgstr "" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:1 +# msgid "Log into a local container" +# msgstr "Prihlásenie do miestneho kontajneru" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:2 +# msgid "Authentication is required to log into a local container." +# msgstr "" +# "Vyžaduje sa overenie totožnosti na prihlásenie do miestneho kontajneru." + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:3 +# msgid "Log into the local host" +# msgstr "" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:4 +# msgid "Authentication is required to log into the local host." +# msgstr "" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:5 +# msgid "Acquire a shell in a local container" +# msgstr "" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:6 +# msgid "Authentication is required to acquire a shell in a local container." +# msgstr "" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:7 +# msgid "Acquire a shell on the local host" +# msgstr "" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:8 +# msgid "Authentication is required to acquire a shell on the local host." +# msgstr "" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:9 +# msgid "Acquire a pseudo TTY in a local container" +# msgstr "" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:10 +# msgid "" +# "Authentication is required to acquire a pseudo TTY in a local container." +# msgstr "" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:11 +# msgid "Acquire a pseudo TTY on the local host" +# msgstr "" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:12 +# msgid "Authentication is required to acquire a pseudo TTY on the local host." +# msgstr "" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:13 +# msgid "Manage local virtual machines and containers" +# msgstr "" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:14 +# msgid "" +# "Authentication is required to manage local virtual machines and containers." +# msgstr "" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:15 +# msgid "Manage local virtual machine and container images" +# msgstr "" + +# #: ../src/machine/org.freedesktop.machine1.policy.in.h:16 +# 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 "" + +# #: ../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 "" + +# #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7 +# msgid "Turn network time synchronization on or off" +# msgstr "Zapnutie alebo vypnutie sieťovej synchronizácie času" + +# #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8 +# msgid "" +# "Authentication is required to control whether network time synchronization " +# "shall be enabled." +# msgstr "" +# "Vyžaduje sa overenie totožnosti na ovládanie, či má byť povolená " +# "synchronizácia času cez sieť." + +# #: ../src/core/dbus-unit.c:457 +# msgid "Authentication is required to start '$(unit)'." +# msgstr "" + +# #: ../src/core/dbus-unit.c:458 +# msgid "Authentication is required to stop '$(unit)'." +# msgstr "" + +# #: ../src/core/dbus-unit.c:459 +# msgid "Authentication is required to reload '$(unit)'." +# msgstr "" + +# #: ../src/core/dbus-unit.c:460 ../src/core/dbus-unit.c:461 +# msgid "Authentication is required to restart '$(unit)'." +# msgstr "" + +# #: ../src/core/dbus-unit.c:568 +# msgid "Authentication is required to kill '$(unit)'." +# msgstr "" + +# #: ../src/core/dbus-unit.c:599 +# msgid "Authentication is required to reset the \"failed" state of '$(unit)'." +# msgstr "" + +# #: ../src/core/dbus-unit.c:632 +# msgid "Authentication is required to set properties on '$(unit)'." +# msgstr "" diff --git a/po/sv.po b/po/sv.po index 2bc8bf195..9c0263637 100644 --- a/po/sv.po +++ b/po/sv.po @@ -1,22 +1,23 @@ # Swedish translation for systemd. # Copyright © 2015 systemd's COPYRIGHT HOLDER # This file is distributed under the same license as the systemd package. -# Josef Andersson , 2015. # Sebastian Rasmussen , 2015. +# Andreas Henriksson , 2016. +# Josef Andersson , 2015, 2017. msgid "" msgstr "" "Project-Id-Version: systemd master\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-22 16:37+0100\n" -"PO-Revision-Date: 2015-03-14 11:09+0100\n" -"Last-Translator: Sebastian Rasmussen \n" +"Report-Msgid-Bugs-To: https://github.com/systemd/systemd/issues\n" +"POT-Creation-Date: 2017-03-01 15:50+0000\n" +"PO-Revision-Date: 2017-03-19 21:18+0100\n" +"Last-Translator: Josef Andersson \n" "Language-Team: Swedish\n" "Language: sv\n" "MIME-Version: 1.0\n" "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.6.10\n" +"X-Generator: Poedit 1.8.9\n" # #: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 # msgid "Send passphrase back to system" @@ -72,7 +73,7 @@ msgstr "" # #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2 # msgid "Authentication is required to set the local host name." -# msgstr "Autentisering krävs för att ange lokalt värdnamn." +# msgstr "Autentisering krävs för att ställa in lokalt värdnamn." # #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3 # msgid "Set static host name" @@ -83,16 +84,16 @@ msgstr "" # "Authentication is required to set the statically configured local host name, " # "as well as the pretty host name." # msgstr "" -# "Autentisering krävs för att ange det statiskt konfigurerade lokala " +# "Autentisering krävs för att ställa in det statiskt konfigurerade lokala " # "värdnamnet såväl som det stiliga värdnamnet." # #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5 # msgid "Set machine information" -# msgstr "Ange datorinformation" +# msgstr "Ställa in datorinformation" # #: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6 # msgid "Authentication is required to set local machine information." -# msgstr "Autentisering krävs för att ange lokal datorinformation." +# msgstr "Autentisering krävs för att ställa in lokal datorinformation." # #: ../src/import/org.freedesktop.import1.policy.in.h:1 # msgid "Import a VM or container image" @@ -124,7 +125,7 @@ msgstr "" # #: ../src/locale/org.freedesktop.locale1.policy.in.h:2 # msgid "Authentication is required to set the system locale." -# msgstr "Autentisering krävs för att ange systemlokal." +# msgstr "Autentisering krävs för att ställa in systemlokal." # #: ../src/locale/org.freedesktop.locale1.policy.in.h:3 # msgid "Set system keyboard settings" @@ -132,7 +133,8 @@ msgstr "" # #: ../src/locale/org.freedesktop.locale1.policy.in.h:4 # msgid "Authentication is required to set the system keyboard settings." -# msgstr "Autentisering krävs för att ange systeminställningar för tangentbord." +# msgstr "" +# "Autentisering krävs för att ställa in systeminställningar för tangentbord." #: ../src/login/org.freedesktop.login1.policy.in.h:1 msgid "Allow applications to inhibit system shutdown" @@ -235,45 +237,54 @@ msgstr "" "av brytaren för datorhöljet." #: ../src/login/org.freedesktop.login1.policy.in.h:19 +msgid "Allow non-logged-in user to run programs" +msgstr "Tillåt ej inloggad användare att köra program" + +#: ../src/login/org.freedesktop.login1.policy.in.h:20 +msgid "Explicit request is required to run programs as a non-logged-in user." +msgstr "" +"Uttrycklig begäran krävs för att köra program som en icke inloggad användare." + +#: ../src/login/org.freedesktop.login1.policy.in.h:21 msgid "Allow non-logged-in users to run programs" msgstr "Tillåt ej inloggade användare att köra program" -#: ../src/login/org.freedesktop.login1.policy.in.h:20 +#: ../src/login/org.freedesktop.login1.policy.in.h:22 msgid "Authentication is required to run programs as a non-logged-in user." msgstr "" "Autentisering krävs för att köra program som en icke inloggad användare." -#: ../src/login/org.freedesktop.login1.policy.in.h:21 +#: ../src/login/org.freedesktop.login1.policy.in.h:23 msgid "Allow attaching devices to seats" msgstr "Tillåt att binda enheter till platser" -#: ../src/login/org.freedesktop.login1.policy.in.h:22 +#: ../src/login/org.freedesktop.login1.policy.in.h:24 msgid "Authentication is required for attaching a device to a seat." msgstr "Autentisering krävs för att binda en enhet till en plats." -#: ../src/login/org.freedesktop.login1.policy.in.h:23 +#: ../src/login/org.freedesktop.login1.policy.in.h:25 msgid "Flush device to seat attachments" msgstr "Töm bindningar för enhet-till-plats" -#: ../src/login/org.freedesktop.login1.policy.in.h:24 +#: ../src/login/org.freedesktop.login1.policy.in.h:26 msgid "" "Authentication is required for resetting how devices are attached to seats." msgstr "" "Autentisering krävs för att återställa hur enheter är bundna till platser." -#: ../src/login/org.freedesktop.login1.policy.in.h:25 +#: ../src/login/org.freedesktop.login1.policy.in.h:27 msgid "Power off the system" msgstr "Stäng av systemet" -#: ../src/login/org.freedesktop.login1.policy.in.h:26 +#: ../src/login/org.freedesktop.login1.policy.in.h:28 msgid "Authentication is required for powering off the system." msgstr "Autentisering krävs för att stänga av systemet." -#: ../src/login/org.freedesktop.login1.policy.in.h:27 +#: ../src/login/org.freedesktop.login1.policy.in.h:29 msgid "Power off the system while other users are logged in" msgstr "Stäng av systemet medan andra användare är inloggade" -#: ../src/login/org.freedesktop.login1.policy.in.h:28 +#: ../src/login/org.freedesktop.login1.policy.in.h:30 msgid "" "Authentication is required for powering off the system while other users are " "logged in." @@ -281,11 +292,11 @@ msgstr "" "Autentisering krävs för att stänga av systemet medan andra användare är " "inloggade." -#: ../src/login/org.freedesktop.login1.policy.in.h:29 +#: ../src/login/org.freedesktop.login1.policy.in.h:31 msgid "Power off the system while an application asked to inhibit it" msgstr "Stäng av systemet även då ett program hindrar det" -#: ../src/login/org.freedesktop.login1.policy.in.h:30 +#: ../src/login/org.freedesktop.login1.policy.in.h:32 msgid "" "Authentication is required for powering off the system while an application " "asked to inhibit it." @@ -293,19 +304,19 @@ msgstr "" "Autentisering krävs för att stänga av systemet även då ett program hindrar " "det." -#: ../src/login/org.freedesktop.login1.policy.in.h:31 +#: ../src/login/org.freedesktop.login1.policy.in.h:33 msgid "Reboot the system" msgstr "Starta om systemet" -#: ../src/login/org.freedesktop.login1.policy.in.h:32 +#: ../src/login/org.freedesktop.login1.policy.in.h:34 msgid "Authentication is required for rebooting the system." msgstr "Autentisering krävs för att starta om systemet." -#: ../src/login/org.freedesktop.login1.policy.in.h:33 +#: ../src/login/org.freedesktop.login1.policy.in.h:35 msgid "Reboot the system while other users are logged in" msgstr "Starta om systemet medan andra användare är inloggade" -#: ../src/login/org.freedesktop.login1.policy.in.h:34 +#: ../src/login/org.freedesktop.login1.policy.in.h:36 msgid "" "Authentication is required for rebooting the system while other users are " "logged in." @@ -313,11 +324,11 @@ msgstr "" "Autentisering krävs för att starta om systemet medan andra användare är " "inloggade." -#: ../src/login/org.freedesktop.login1.policy.in.h:35 +#: ../src/login/org.freedesktop.login1.policy.in.h:37 msgid "Reboot the system while an application asked to inhibit it" msgstr "Starta om systemet även då ett program hindrar det" -#: ../src/login/org.freedesktop.login1.policy.in.h:36 +#: ../src/login/org.freedesktop.login1.policy.in.h:38 msgid "" "Authentication is required for rebooting the system while an application " "asked to inhibit it." @@ -325,19 +336,19 @@ msgstr "" "Autentisering krävs för att starta om systemet även då ett program hindrar " "det." -#: ../src/login/org.freedesktop.login1.policy.in.h:37 +#: ../src/login/org.freedesktop.login1.policy.in.h:39 msgid "Suspend the system" msgstr "Försätt system i vänteläge" -#: ../src/login/org.freedesktop.login1.policy.in.h:38 +#: ../src/login/org.freedesktop.login1.policy.in.h:40 msgid "Authentication is required for suspending the system." msgstr "Autentisering krävs för att försätta system i vänteläge." -#: ../src/login/org.freedesktop.login1.policy.in.h:39 +#: ../src/login/org.freedesktop.login1.policy.in.h:41 msgid "Suspend the system while other users are logged in" msgstr "Försätt systemet i vänteläge medan andra användare är inloggade" -#: ../src/login/org.freedesktop.login1.policy.in.h:40 +#: ../src/login/org.freedesktop.login1.policy.in.h:42 msgid "" "Authentication is required for suspending the system while other users are " "logged in." @@ -345,11 +356,11 @@ msgstr "" "Autentisering krävs för att försätta systemet i vänteläge medan andra " "användare är inloggade." -#: ../src/login/org.freedesktop.login1.policy.in.h:41 +#: ../src/login/org.freedesktop.login1.policy.in.h:43 msgid "Suspend the system while an application asked to inhibit it" msgstr "Försätt systemet i vänteläge även då ett program hindrar det" -#: ../src/login/org.freedesktop.login1.policy.in.h:42 +#: ../src/login/org.freedesktop.login1.policy.in.h:44 msgid "" "Authentication is required for suspending the system while an application " "asked to inhibit it." @@ -357,19 +368,19 @@ msgstr "" "Autentisering krävs för att försätta ett program i vänteläge även då ett " "program hindrar det." -#: ../src/login/org.freedesktop.login1.policy.in.h:43 +#: ../src/login/org.freedesktop.login1.policy.in.h:45 msgid "Hibernate the system" msgstr "Försätt systemet i viloläge" -#: ../src/login/org.freedesktop.login1.policy.in.h:44 +#: ../src/login/org.freedesktop.login1.policy.in.h:46 msgid "Authentication is required for hibernating the system." msgstr "Autentisering krävs för att försätta systemet i viloläge." -#: ../src/login/org.freedesktop.login1.policy.in.h:45 +#: ../src/login/org.freedesktop.login1.policy.in.h:47 msgid "Hibernate the system while other users are logged in" msgstr "Försätt systemet i viloläge medan andra användare är inloggade" -#: ../src/login/org.freedesktop.login1.policy.in.h:46 +#: ../src/login/org.freedesktop.login1.policy.in.h:48 msgid "" "Authentication is required for hibernating the system while other users are " "logged in." @@ -377,11 +388,11 @@ msgstr "" "Autentisering krävs för att försätta systemet i viloläge medan andra " "användare är inloggade." -#: ../src/login/org.freedesktop.login1.policy.in.h:47 +#: ../src/login/org.freedesktop.login1.policy.in.h:49 msgid "Hibernate the system while an application asked to inhibit it" msgstr "Försätt systemet i viloläge även då ett program hindrar det" -#: ../src/login/org.freedesktop.login1.policy.in.h:48 +#: ../src/login/org.freedesktop.login1.policy.in.h:50 msgid "" "Authentication is required for hibernating the system while an application " "asked to inhibit it." @@ -389,100 +400,97 @@ msgstr "" "Autentisering krävs för att försätta ett program i viloläge även då ett " "program hindrar det." -#: ../src/login/org.freedesktop.login1.policy.in.h:49 +#: ../src/login/org.freedesktop.login1.policy.in.h:51 msgid "Manage active sessions, users and seats" msgstr "Hantera aktiva sessioner, användare och platser" -#: ../src/login/org.freedesktop.login1.policy.in.h:50 +#: ../src/login/org.freedesktop.login1.policy.in.h:52 msgid "" "Authentication is required for managing active sessions, users and seats." msgstr "" "Autentisering krävs för att hantera aktiva sessioner, användare och platser." -#: ../src/login/org.freedesktop.login1.policy.in.h:51 +#: ../src/login/org.freedesktop.login1.policy.in.h:53 msgid "Lock or unlock active sessions" msgstr "Lås eller lås upp aktiva sessioner" -#: ../src/login/org.freedesktop.login1.policy.in.h:52 +#: ../src/login/org.freedesktop.login1.policy.in.h:54 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 +#: ../src/login/org.freedesktop.login1.policy.in.h:55 msgid "Allow indication to the firmware to boot to setup interface" msgstr "" +"Tillåt indikering till firmware att starta upp i inställningsgränssnitt" -#: ../src/login/org.freedesktop.login1.policy.in.h:54 -#, fuzzy +#: ../src/login/org.freedesktop.login1.policy.in.h:56 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." +msgstr "" +"Autentisering krävs för att indikera till firmware att starta upp till " +"inställningsgränssnitt." -#: ../src/login/org.freedesktop.login1.policy.in.h:55 +#: ../src/login/org.freedesktop.login1.policy.in.h:57 msgid "Set a wall message" -msgstr "" +msgstr "Ange ett väggmeddelande" -#: ../src/login/org.freedesktop.login1.policy.in.h:56 -#, fuzzy +#: ../src/login/org.freedesktop.login1.policy.in.h:58 msgid "Authentication is required to set a wall message" -msgstr "Autentisering krävs för att ange lokalt värdnamn." +msgstr "Autentisering krävs för att ställa in ett väggmeddelande" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:1 # msgid "Log into a local container" -# msgstr "Logga till en lokal behållare" +# msgstr "Logga in i en lokal behållare" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:2 # msgid "Authentication is required to log into a local container." -# msgstr "Autentisering krävs för att logga till en lokal behållare" +# msgstr "Autentisering krävs för att logga in i en lokal behållare" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:3 -# #, fuzzy # msgid "Log into the local host" -# msgstr "Logga till en lokal behållare" +# msgstr "Logga in på en lokal värd" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:4 -# #, fuzzy # msgid "Authentication is required to log into the local host." -# msgstr "Autentisering krävs för att logga till en lokal behållare" +# msgstr "Autentisering krävs för att logga in på den lokala värden" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:5 -# #, fuzzy # msgid "Acquire a shell in a local container" -# msgstr "Logga till en lokal behållare" +# msgstr "Förvärva en kommandotolk i en lokal behållare" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:6 -# #, fuzzy # msgid "Authentication is required to acquire a shell in a local container." -# msgstr "Autentisering krävs för att logga till en lokal behållare" +# msgstr "" +# "Autentisering krävs för att förvärva en kommandotolk i en lokal behållare." # #: ../src/machine/org.freedesktop.machine1.policy.in.h:7 # msgid "Acquire a shell on the local host" -# msgstr "" +# msgstr "Förvärva en kommandotolk på den lokala värden" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:8 -# #, fuzzy # msgid "Authentication is required to acquire a shell on the local host." -# msgstr "Autentisering krävs för att ange lokalt värdnamn." +# msgstr "" +# "Autentisering krävs för att förvärva en kommandotolk på den lokala värden." # #: ../src/machine/org.freedesktop.machine1.policy.in.h:9 -# #, fuzzy # msgid "Acquire a pseudo TTY in a local container" -# msgstr "Logga till en lokal behållare" +# msgstr "Förvärva en pseudo TTY i en lokal behållare" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:10 -# #, fuzzy # msgid "" # "Authentication is required to acquire a pseudo TTY in a local container." -# msgstr "Autentisering krävs för att logga till en lokal behållare" +# msgstr "" +# "Autentisering krävs för att förvärva en pseudo TTY i en lokal behållare" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:11 # msgid "Acquire a pseudo TTY on the local host" -# msgstr "" +# msgstr "Förvärva en pseudo TTY på den lokala värden" # #: ../src/machine/org.freedesktop.machine1.policy.in.h:12 -# #, fuzzy # msgid "Authentication is required to acquire a pseudo TTY on the local host." -# msgstr "Autentisering krävs för att ange lokalt värdnamn." +# msgstr "" +# "Autentisering krävs för att förvärva en pseudo TTY på den lokala värden." # #: ../src/machine/org.freedesktop.machine1.policy.in.h:13 # msgid "Manage local virtual machines and containers" @@ -512,7 +520,7 @@ msgstr "Autentisering krävs för att ange lokalt värdnamn." # #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2 # msgid "Authentication is required to set the system time." -# msgstr "Autentisering krävs för ange systemtiden." +# msgstr "Autentisering krävs för ställa in systemtiden." # #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3 # msgid "Set system timezone" @@ -520,7 +528,7 @@ msgstr "Autentisering krävs för att ange lokalt värdnamn." # #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4 # msgid "Authentication is required to set the system timezone." -# msgstr "Autentisering krävs för att ange systemets tidszon." +# msgstr "Autentisering krävs för att ställa in systemets tidszon." # #: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5 # msgid "Set RTC to local timezone or UTC" @@ -548,40 +556,35 @@ msgstr "Autentisering krävs för att ange lokalt värdnamn." # "Autentisering krävs för att kontrollera huruvida synkronisering av " # "nätverkstid ska vara aktiverat." -# #: ../src/core/dbus-unit.c:428 -# #, fuzzy +# #: ../src/core/dbus-unit.c:457 # msgid "Authentication is required to start '$(unit)'." -# msgstr "Autentisering krävs för ange systemtiden." +# msgstr "Autentisering krävs för att starta \"$(unit)"." -# #: ../src/core/dbus-unit.c:429 -# #, fuzzy +# #: ../src/core/dbus-unit.c:458 # msgid "Authentication is required to stop '$(unit)'." -# msgstr "Autentisering krävs för ange systemtiden." +# msgstr "Autentisering krävs för att stoppa \"$(unit)"." -# #: ../src/core/dbus-unit.c:430 -# #, fuzzy +# #: ../src/core/dbus-unit.c:459 # msgid "Authentication is required to reload '$(unit)'." -# msgstr "Autentisering krävs för att läsa om tillståndet för systemd." +# msgstr "Autentisering krävs för att läsa om tillståndet för \"$(unit)"." -# #: ../src/core/dbus-unit.c:431 ../src/core/dbus-unit.c:432 -# #, fuzzy +# #: ../src/core/dbus-unit.c:460 ../src/core/dbus-unit.c:461 # msgid "Authentication is required to restart '$(unit)'." -# msgstr "Autentisering krävs för ange systemtiden." +# msgstr "Autentisering krävs för att starta om \"$(unit)"." -# #: ../src/core/dbus-unit.c:535 -# #, fuzzy +# #: ../src/core/dbus-unit.c:568 # msgid "Authentication is required to kill '$(unit)'." -# msgstr "Autentisering krävs för att logga till en lokal behållare" +# msgstr "Autentisering krävs för att döda \"$(unit)"." -# #: ../src/core/dbus-unit.c:565 -# #, fuzzy +# #: ../src/core/dbus-unit.c:599 # msgid "Authentication is required to reset the \"failed" state of '$(unit)'." -# msgstr "Autentisering krävs för att ange lokalt värdnamn." +# msgstr "" +# "Autentisering krävs för att återställa det \"fallerade" tillståndet för " +# "\"$(unit)"." -# #: ../src/core/dbus-unit.c:597 -# #, fuzzy +# #: ../src/core/dbus-unit.c:632 # msgid "Authentication is required to set properties on '$(unit)'." -# msgstr "Autentisering krävs för ange systemtiden." +# msgstr "Autentisering krävs för att ställa in egenskaper på \"$(unit)"." #~ msgid "Press Ctrl+C to cancel all filesystem checks in progress" #~ msgstr "Tryck Ctrl+C för att avbryta alla pågående filsystemskontroller." diff --git a/shell-completion/Makefile b/shell-completion/Makefile deleted file mode 120000 index bd1047548..000000000 --- a/shell-completion/Makefile +++ /dev/null @@ -1 +0,0 @@ -../src/Makefile \ No newline at end of file diff --git a/shell-completion/bash/Makefile b/shell-completion/bash/Makefile deleted file mode 120000 index d0b0e8e00..000000000 --- a/shell-completion/bash/Makefile +++ /dev/null @@ -1 +0,0 @@ -../Makefile \ No newline at end of file diff --git a/shell-completion/bash/meson.build b/shell-completion/bash/meson.build new file mode 100644 index 000000000..684d1b5c2 --- /dev/null +++ b/shell-completion/bash/meson.build @@ -0,0 +1,54 @@ +bashcompletiondir = get_option('bashcompletiondir') +if bashcompletiondir == '' + bash_completion = dependency('bash-completion', required : false) + if bash_completion.found() + bashcompletiondir = bash_completion.get_pkgconfig_variable('completionsdir') + else + bashcompletiondir = join_paths(datadir, 'bash-completion/completions') + endif + + message('bash completions: @0@'.format(bashcompletiondir)) +endif + +if bashcompletiondir != 'no' +#if 0 /// elogind has a *very* short list for this... +# bash_systemctl = configure_file( +# input : 'systemctl.in', +# output : 'systemctl', +# configuration : substs) +# +# items = [['busctl', ''], +# ['journalctl', ''], +# ['systemd-analyze', ''], +# ['systemd-cat', ''], +# ['systemd-cgls', ''], +# ['systemd-cgtop', ''], +# ['systemd-delta', ''], +# ['systemd-detect-virt', ''], +# ['systemd-nspawn', ''], +# ['systemd-path', ''], +# ['systemd-run', ''], +# ['udevadm', ''], +# ['kernel-install', ''], +# [bash_systemctl, ''], +# ['bootctl', 'ENABLE_EFI'], +# ['coredumpctl', 'ENABLE_COREDUMP'], +# ['hostnamectl', 'ENABLE_HOSTNAMED'], +# ['localectl', 'ENABLE_LOCALED'], +# ['loginctl', 'ENABLE_LOGIND'], +# ['machinectl', 'ENABLE_MACHINED'], +# ['networkctl', 'ENABLE_NETWORKD'], +# ['systemd-resolve', 'ENABLE_RESOLVED'], +# ['timedatectl', 'ENABLE_TIMEDATED'], +#else + items = [['loginctl', ''], +#endif // 0 + ] + + foreach item : items + if item[1] == '' or conf.get(item[1], false) + install_data(item[0], + install_dir : bashcompletiondir) + endif + endforeach +endif diff --git a/shell-completion/zsh/Makefile b/shell-completion/zsh/Makefile deleted file mode 120000 index d0b0e8e00..000000000 --- a/shell-completion/zsh/Makefile +++ /dev/null @@ -1 +0,0 @@ -../Makefile \ No newline at end of file diff --git a/shell-completion/zsh/meson.build b/shell-completion/zsh/meson.build new file mode 100644 index 000000000..4ddafe2a6 --- /dev/null +++ b/shell-completion/zsh/meson.build @@ -0,0 +1,51 @@ +zshcompletiondir = get_option('zshcompletiondir') +if zshcompletiondir == '' + zshcompletiondir = join_paths(datadir, 'zsh/site-functions') + + message('zsh completions: @0@'.format(zshcompletiondir)) +endif + +if zshcompletiondir != 'no' +#if 0 /// elogind has a *very* short list for this... +# zsh_systemctl = configure_file( +# input : '_systemctl.in', +# output : '_systemctl', +# configuration : substs) +# +# items = [['_busctl', ''], +# ['_journalctl', ''], +# ['_systemd-analyze', ''], +# ['_systemd-delta', ''], +# ['_systemd-nspawn', ''], +# ['_systemd', ''], +# ['_systemd-run', ''], +# ['_udevadm', ''], +# ['_kernel-install', ''], +# ['_sd_hosts_or_user_at_host', ''], +# ['_sd_outputmodes', ''], +# ['_sd_unit_files', ''], +# ['_sd_machines', ''], +# [zsh_systemctl, ''], +# ['_bootctl', 'ENABLE_EFI'], +# ['_coredumpctl', 'ENABLE_COREDUMP'], +# ['_hostnamectl', 'ENABLE_HOSTNAMED'], +# ['_localectl', 'ENABLE_LOCALED'], +# ['_loginctl', 'ENABLE_LOGIND'], +# ['_machinectl', 'ENABLE_MACHINED'], +# ['_networkctl', 'ENABLE_NETWORKD'], +# ['_systemd-inhibit', 'ENABLE_LOGIND'], +# ['_systemd-resolve', 'ENABLE_RESOLVED'], +# ['_systemd-tmpfiles', 'ENABLE_TMPFILES'], +# ['_timedatectl', 'ENABLE_TIMEDATED'], +#else + items = [['_loginctl', ''], +#endif // 0 + ] + + foreach item : items + if item[1] == '' or conf.get(item[1], false) + install_data(item[0], + install_dir : zshcompletiondir) + endif + endforeach +endif diff --git a/src/Makefile b/src/Makefile deleted file mode 100644 index 9d0750519..000000000 --- a/src/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -# This file is part of systemd. -# -# Copyright 2010 Lennart Poettering -# -# 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 . - -# This file is a dirty trick to simplify compilation from within -# emacs. This file is not intended to be distributed. So, don't touch -# it, even better ignore it! - -all: - $(MAKE) -C .. - -clean: - $(MAKE) -C .. clean - -.PHONY: all clean diff --git a/src/basic/Makefile b/src/basic/Makefile deleted file mode 120000 index d0b0e8e00..000000000 --- a/src/basic/Makefile +++ /dev/null @@ -1 +0,0 @@ -../Makefile \ No newline at end of file diff --git a/src/basic/errno-to-name.awk b/src/basic/errno-to-name.awk new file mode 100644 index 000000000..0878abacb --- /dev/null +++ b/src/basic/errno-to-name.awk @@ -0,0 +1,9 @@ +BEGIN{ + print "static const char* const errno_names[] = { " +} +!/EDEADLOCK/ && !/EWOULDBLOCK/ && !/ENOTSUP/ { + printf " [%s] = \"%s\",\n", $1, $1 +} +END{ + print "};" +} diff --git a/src/basic/generate-errno-list.sh b/src/basic/generate-errno-list.sh new file mode 100755 index 000000000..e2bab8b32 --- /dev/null +++ b/src/basic/generate-errno-list.sh @@ -0,0 +1,4 @@ +#!/bin/sh -eu + +$1 -dM -include errno.h - ') +for header in sys.argv[2:]: + print('#include "{}"'.format(header.split('/')[-1])) + +print(''' +void* functions[] = {''') + +for line in open(sys.argv[1]): + match = re.search('^ +([a-zA-Z0-9_]+);', line) + if match: + print(' {},'.format(match.group(1))) + +print('''}; + +int main(void) { + unsigned i; + for (i = 0; i < sizeof(functions)/sizeof(void*); i++) + printf("%p\\n", functions[i]); + return 0; +}''') diff --git a/src/test/meson.build b/src/test/meson.build new file mode 100644 index 000000000..b7b21227e --- /dev/null +++ b/src/test/meson.build @@ -0,0 +1,975 @@ +awkscript = 'test-hashmap-ordered.awk' +test_hashmap_ordered_c = custom_target( + 'test-hashmap-ordered.c', + input : [awkscript, 'test-hashmap-plain.c'], + output : 'test-hashmap-ordered.c', + command : [awk, '-f', '@INPUT0@', '@INPUT1@'], + capture : true) + +test_include_dir = include_directories('.') + +path = run_command('sh', ['-c', 'echo "$PATH"']).stdout() +test_env = environment() +#if 0 /// UNNEEDED in elogind +# test_env.set('SYSTEMD_KBD_MODEL_MAP', kbd_model_map) +# test_env.set('SYSTEMD_LANGUAGE_FALLBACK_MAP', language_fallback_map) +#endif // 0 +test_env.set('PATH', path) +test_env.prepend('PATH', meson.build_root()) + +############################################################ + +generate_sym_test_py = find_program('generate-sym-test.py') + +test_libelogind_sym_c = custom_target( + 'test-libelogind-sym.c', + input : [libelogind_sym_path] + systemd_headers, + output : 'test-libelogind-sym.c', + command : [generate_sym_test_py, libelogind_sym_path] + systemd_headers, + capture : true) + +#if 0 /// UNNEEDED in elogind +# test_libudev_sym_c = custom_target( +# 'test-libudev-sym.c', +# input : [libudev_sym_path, libudev_h_path], +# output : 'test-libudev-sym.c', +# command : [generate_sym_test_py, '@INPUT0@', '@INPUT1@'], +# capture : true) +# +# test_dlopen_c = files('test-dlopen.c') +#endif // 0 + +############################################################ + +tests += [ +#if 0 /// UNNEEDED in elogind +# [['src/test/test-device-nodes.c'], +# [], +# []], + +# [['src/test/test-engine.c'], +# [libcore, +# libudev, +# libelogind_internal], +# [threads, +# librt, +# libseccomp, +# libselinux, +# libmount, +# libblkid]], + +# [['src/test/test-job-type.c'], +# [libcore, +# libshared], +# [threads, +# librt, +# libseccomp, +# libselinux, +# libmount, +# libblkid]], + +# [['src/test/test-ns.c'], +# [libcore, +# libshared], +# [threads, +# librt, +# libseccomp, +# libselinux, +# libmount, +# libblkid], +# '', 'manual'], + +# [['src/test/test-loopback.c'], +# [libcore, +# libshared], +# [threads, +# librt, +# libseccomp, +# libselinux, +# libmount, +# libblkid]], + +# [['src/test/test-hostname.c'], +# [libcore, +# libshared], +# [threads, +# librt, +# libseccomp, +# libselinux, +# libmount, +# libblkid], +# '', 'unsafe'], + +# [['src/test/test-dns-domain.c'], +# [libcore, +# libelogind_network], +# []], + +# [['src/test/test-boot-timestamps.c'], +# [], +# [], +# 'ENABLE_EFI'], + +# [['src/test/test-unit-name.c'], +# [libcore, +# libshared], +# [threads, +# librt, +# libseccomp, +# libselinux, +# libmount, +# libblkid]], + +# [['src/test/test-unit-file.c'], +# [libcore, +# libshared], +# [threads, +# librt, +# libseccomp, +# libselinux, +# libmount, +# libblkid]], +#endif // 0 + + [['src/test/test-utf8.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-capability.c'], +# [], +# [libcap]], + +# [['src/test/test-async.c'], +# [], +# []], +#endif // 0 + + [['src/test/test-locale-util.c'], + [], + []], + + [['src/test/test-copy.c'], + [libshared_static], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-sigbus.c'], +# [], +# []], + +# [['src/test/test-condition.c'], +# [], +# []], + +# [['src/test/test-fdset.c'], +# [], +# []], + +# [['src/test/test-fstab-util.c'], +# [], +# []], +#endif // 0 + + [['src/test/test-random-util.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-ratelimit.c'], +# [], +# []], +#endif // 0 + + [['src/test/test-util.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-mount-util.c'], +# [], +# []], +#endif // 0 + + [['src/test/test-exec-util.c'], + [], + []], + + [['src/test/test-hexdecoct.c'], + [], + []], + + [['src/test/test-alloc-util.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-xattr-util.c'], +# [], +# []], +#endif // 0 + + [['src/test/test-io-util.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-glob-util.c'], +# [], +# []], +#endif // 0 + + [['src/test/test-fs-util.c'], + [], + []], + + [['src/test/test-proc-cmdline.c'], + [], + []], + + [['src/test/test-fd-util.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-web-util.c'], +# [], +# []], + +# [['src/test/test-cpu-set-util.c'], +# [], +# []], +#endif // 0 + + [['src/test/test-stat-util.c'], + [], + []], + + [['src/test/test-escape.c'], + [], + []], + + [['src/test/test-string-util.c'], + [], + []], + + [['src/test/test-extract-word.c'], + [], + []], + + [['src/test/test-parse-util.c'], + [], + []], + + [['src/test/test-user-util.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-hostname-util.c'], +# [], +# []], +#endif // 0 + + [['src/test/test-process-util.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-terminal-util.c'], +# [], +# []], + +# [['src/test/test-path-lookup.c'], +# [], +# []], + +# [['src/test/test-uid-range.c'], +# [], +# []], + +# [['src/test/test-cap-list.c', +# generated_gperf_headers], +# [], +# [libcap]], + +# [['src/test/test-socket-util.c'], +# [], +# []], + +# [['src/test/test-barrier.c'], +# [], +# []], + +# [['src/test/test-tmpfiles.c'], +# [], +# []], + +# [['src/test/test-namespace.c'], +# [libcore, +# libshared], +# [threads, +# libblkid]], +#endif // 0 + + [['src/test/test-verbs.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-install-root.c'], +# [], +# []], + +# [['src/test/test-acl-util.c'], +# [], +# [], +# 'HAVE_ACL'], + +# [['src/test/test-seccomp.c'], +# [], +# [libseccomp], +# 'HAVE_SECCOMP'], + +# [['src/test/test-rlimit-util.c'], +# [], +# []], + +# [['src/test/test-ask-password-api.c'], +# [], +# [], +# '', 'manual'], + +# [['src/test/test-dissect-image.c'], +# [], +# [libblkid], +# '', 'manual'], +#endif // 0 + + [['src/test/test-signal-util.c'], + [], + []], + + [['src/test/test-selinux.c'], + [], + []], + + [['src/test/test-sizeof.c'], + [libbasic], + []], + + [['src/test/test-hashmap.c', + 'src/test/test-hashmap-plain.c', + test_hashmap_ordered_c], + [], + [], + '', 'timeout=90'], + + [['src/test/test-set.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-bitmap.c'], +# [], +# []], + +# [['src/test/test-xml.c'], +# [], +# []], +#endif // 0 + + [['src/test/test-list.c'], + [], + []], + + [['src/test/test-unaligned.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-tables.c', +# 'src/shared/test-tables.h', +# 'src/journal/journald-server.c', +# 'src/journal/journald-server.h'], +# [libcore, +# libjournal_core, +# libudev_core, +# libudev_internal, +# libelogind_network, +# libshared], +# [threads, +# libseccomp, +# libmount, +# libxz, +# liblz4, +# libblkid], +# '', '', [], libudev_core_includes], +#endif // 0 + + [['src/test/test-prioq.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-fileio.c'], +# [], +# []], + +# [['src/test/test-time.c'], +# [], +# []], + +# [['src/test/test-clock.c'], +# [], +# []], + +# [['src/test/test-architecture.c'], +# [], +# []], +#endif // 0 + + [['src/test/test-log.c'], + [], + []], + + [['src/test/test-ipcrm.c'], + [], + [], + '', 'unsafe'], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-btrfs.c'], +# [], +# [], +# '', 'manual'], + + +# [['src/test/test-firewall-util.c'], +# [libshared], +# [], +# 'HAVE_LIBIPTC'], + +# [['src/test/test-netlink-manual.c'], +# [], +# [libkmod], +# 'HAVE_KMOD', 'manual'], +#endif // 0 + + [['src/test/test-ellipsize.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-date.c'], +# [], +# []], + +# [['src/test/test-sleep.c'], +# [], +# []], + +# [['src/test/test-replace-var.c'], +# [], +# []], + +# [['src/test/test-calendarspec.c'], +# [], +# []], +#endif // 0 + + [['src/test/test-strip-tab-ansi.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-daemon.c'], +# [], +# []], +#endif // 0 + + [['src/test/test-cgroup.c'], + [], + [], + '', 'manual'], + + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-cgroup-mask.c'], +# [libcore, +# libshared], +# [threads, +# librt, +# libseccomp, +# libselinux, +# libmount, +# libblkid]], + +# [['src/test/test-cgroup-util.c'], +# [], +# []], + +# [['src/test/test-env-util.c'], +# [], +# []], + +# [['src/test/test-strbuf.c'], +# [], +# []], + +# [['src/test/test-strv.c'], +# [], +# []], +#endif // 0 + + [['src/test/test-path-util.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-path.c'], +# [libcore, +# libshared], +# [threads, +# librt, +# libseccomp, +# libselinux, +# libmount, +# libblkid]], + +# [['src/test/test-execute.c'], +# [libcore, +# libshared], +# [threads, +# librt, +# libseccomp, +# libselinux, +# libmount, +# libblkid]], +#endif // 0 + + [['src/test/test-siphash24.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-strxcpyx.c'], +# [], +# []], + +# [['src/test/test-install.c'], +# [libcore, +# libshared], +# [], +# '', 'manual'], + +# [['src/test/test-watchdog.c'], +# [], +# []], + +# [['src/test/test-sched-prio.c'], +# [libcore, +# libshared], +# [threads, +# librt, +# libseccomp, +# libselinux, +# libmount, +# libblkid]], +#endif // 0 + + [['src/test/test-conf-files.c'], + [], + []], + + [['src/test/test-conf-parser.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-af-list.c', +# generated_gperf_headers], +# [], +# []], + +# [['src/test/test-arphrd-list.c', +# generated_gperf_headers], +# [], +# []], + +# [['src/test/test-journal-importer.c'], +# [], +# []], + +# [['src/test/test-libudev.c'], +# [libshared], +# []], + +# [['src/test/test-udev.c'], +# [libudev_core, +# libudev_internal, +# libelogind_network, +# libshared], +# [threads, +# librt, +# libblkid, +# libkmod, +# libacl], +# '', 'manual'], +#endif // 0 + + [['src/test/test-id128.c'], + [], + []], + + [['src/test/test-hash.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/test/test-nss.c'], +# [], +# [libdl], +# '', 'manual'], +#endif // 0 +] + +############################################################ + +# define some tests here, because the link_with deps were not defined earlier + +#if 0 /// No systemd-journal in elogind, of course +# tests += [ +# [['src/journal/test-journal.c'], +# [libjournal_core, +# libshared], +# [threads, +# libxz, +# liblz4]], + +# [['src/journal/test-journal-send.c'], +# [libjournal_core, +# libshared], +# [threads, +# libxz, +# liblz4]], + +# [['src/journal/test-journal-syslog.c'], +# [libjournal_core, +# libshared], +# [threads, +# libxz, +# liblz4, +# libselinux]], + +# [['src/journal/test-journal-match.c'], +# [libjournal_core, +# libshared], +# [threads, +# libxz, +# liblz4]], + +# [['src/journal/test-journal-enum.c'], +# [libjournal_core, +# libshared], +# [threads, +# libxz, +# liblz4]], + +# [['src/journal/test-journal-stream.c'], +# [libjournal_core, +# libshared], +# [threads, +# libxz, +# liblz4]], + +# [['src/journal/test-journal-flush.c'], +# [libjournal_core, +# libshared], +# [threads, +# libxz, +# liblz4]], + +# [['src/journal/test-journal-init.c'], +# [libjournal_core, +# libshared], +# [threads, +# libxz, +# liblz4]], + +# [['src/journal/test-journal-verify.c'], +# [libjournal_core, +# libshared], +# [threads, +# libxz, +# liblz4]], + +# [['src/journal/test-journal-interleaving.c'], +# [libjournal_core, +# libshared], +# [threads, +# libxz, +# liblz4]], + +# [['src/journal/test-mmap-cache.c'], +# [libjournal_core, +# libshared], +# [threads, +# libxz, +# liblz4]], + +# [['src/journal/test-catalog.c'], +# [libjournal_core, +# libshared], +# [threads, +# libxz, +# liblz4], +# '', '', '-DCATALOG_DIR="@0@"'.format(build_catalog_dir)], + +# [['src/journal/test-compress.c'], +# [libjournal_core, +# libshared], +# [liblz4, +# libxz]], + +# [['src/journal/test-compress-benchmark.c'], +# [libjournal_core, +# libshared], +# [liblz4, +# libxz], +# '', 'timeout=90'], + +# [['src/journal/test-audit-type.c'], +# [libjournal_core, +# libshared], +# [liblz4, +# libxz]], +# ] +#endif // 0 + +############################################################ + +tests += [ +#if 0 /// UNNEEDED in elogind +# [['src/libelogind/sd-bus/test-bus-marshal.c'], +# [], +# [threads, +# libglib, +# libgobject, +# libgio, +# libdbus]], +#endif // 0 + + [['src/libelogind/sd-bus/test-bus-signature.c'], + [], + [threads]], + +#if 0 /// UNNEEDED in elogind +# [['src/libelogind/sd-bus/test-bus-chat.c'], +# [], +# [threads]], + +# [['src/libelogind/sd-bus/test-bus-cleanup.c'], +# [], +# [threads, +# libseccomp]], +#endif // 0 + + [['src/libelogind/sd-bus/test-bus-error.c'], + [libshared_static, + libelogind_internal], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/libelogind/sd-bus/test-bus-track.c'], +# [], +# [libseccomp]], +#endif // 0 + + [['src/libelogind/sd-bus/test-bus-server.c'], + [], + [threads]], + +#if 0 /// UNNEEDED in elogind +# [['src/libelogind/sd-bus/test-bus-objects.c'], +# [], +# [threads]], +#endif // 0 + + [['src/libelogind/sd-bus/test-bus-vtable.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/libelogind/sd-bus/test-bus-gvariant.c'], +# [], +# [libglib, +# libgobject, +# libgio]], + +# [['src/libelogind/sd-bus/test-bus-creds.c'], +# [], +# []], +#endif // 0 + + [['src/libelogind/sd-bus/test-bus-match.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/libelogind/sd-bus/test-bus-kernel.c'], +# [], +# []], + +# [['src/libelogind/sd-bus/test-bus-kernel-bloom.c'], +# [], +# []], + +# [['src/libelogind/sd-bus/test-bus-benchmark.c'], +# [], +# [threads]], + +# [['src/libelogind/sd-bus/test-bus-zero-copy.c'], +# [], +# []], +#endif // 0 + + [['src/libelogind/sd-bus/test-bus-introspect.c'], + [], + []], + + [['src/libelogind/sd-event/test-event.c'], + [], + []], + +#if 0 /// UNNEEDED in elogind +# [['src/libelogind/sd-netlink/test-netlink.c'], +# [], +# []], + +# [['src/libelogind/sd-netlink/test-local-addresses.c'], +# [], +# []], + +# [['src/libelogind/sd-resolve/test-resolve.c'], +# [], +# [threads]], +#endif // 0 + [['src/libelogind/sd-login/test-login.c'], + [], + []], +] + +#if 0 /// UNNEEDED in elogind +# if cxx.found() +# tests += [ +# [['src/libelogind/sd-bus/test-bus-vtable-cc.cc'], +# [], +# []] +# ] +# endif +#endif // 0 + +############################################################ + +#if 0 /// UNNEEDED in elogind +# tests += [ +# [['src/libelogind-network/test-dhcp-option.c', +# 'src/libelogind-network/dhcp-protocol.h', +# 'src/libelogind-network/dhcp-internal.h'], +# [libshared, +# libelogind_network], +# []], + +# [['src/libelogind-network/test-sd-dhcp-lease.c', +# 'src/libelogind-network/dhcp-lease-internal.h'], +# [libshared, +# libelogind_network], +# []], + +# [['src/libelogind-network/test-dhcp-client.c', +# 'src/libelogind-network/dhcp-protocol.h', +# 'src/libelogind-network/dhcp-internal.h', +# 'src/systemd/sd-dhcp-client.h'], +# [libshared, +# libelogind_network], +# []], + +# [['src/libelogind-network/test-dhcp-server.c'], +# [libshared, +# libelogind_network], +# []], + +# [['src/libelogind-network/test-ipv4ll.c', +# 'src/libelogind-network/arp-util.h', +# 'src/systemd/sd-ipv4ll.h'], +# [libshared, +# libelogind_network], +# []], + +# [['src/libelogind-network/test-ipv4ll-manual.c', +# 'src/systemd/sd-ipv4ll.h'], +# [libshared, +# libelogind_network], +# [], +# '', 'manual'], + +# [['src/libelogind-network/test-acd.c', +# 'src/systemd/sd-ipv4acd.h'], +# [libshared, +# libelogind_network], +# [], +# '', 'manual'], + +# [['src/libelogind-network/test-ndisc-rs.c', +# 'src/libelogind-network/dhcp-identifier.h', +# 'src/libelogind-network/dhcp-identifier.c', +# 'src/libelogind-network/icmp6-util.h', +# 'src/systemd/sd-dhcp6-client.h', +# 'src/systemd/sd-ndisc.h'], +# [libshared, +# libelogind_network], +# []], + +# [['src/libelogind-network/test-ndisc-ra.c', +# 'src/libelogind-network/icmp6-util.h', +# 'src/systemd/sd-ndisc.h'], +# [libshared, +# libelogind_network], +# []], + +# [['src/libelogind-network/test-dhcp6-client.c', +# 'src/libelogind-network/dhcp-identifier.h', +# 'src/libelogind-network/dhcp-identifier.c', +# 'src/libelogind-network/dhcp6-internal.h', +# 'src/systemd/sd-dhcp6-client.h'], +# [libshared, +# libelogind_network], +# []], + +# [['src/libelogind-network/test-lldp.c'], +# [libshared, +# libelogind_network], +# []], +# ] +#endif // 0 + +############################################################ + +tests += [ + [['src/login/test-login-shared.c'], + [], + []], + + [['src/login/test-inhibit.c'], + [], + [], + '', 'manual'], + + [['src/login/test-login-tables.c'], + [liblogind_core, + libshared], + [threads, + libaudit, + libudev]], +] diff --git a/src/test/test-hashmap-ordered.awk b/src/test/test-hashmap-ordered.awk new file mode 100644 index 000000000..10f4386fa --- /dev/null +++ b/src/test/test-hashmap-ordered.awk @@ -0,0 +1,11 @@ +BEGIN { + print "/* GENERATED FILE */"; + print "#define ORDERED" +} +{ + if (!match($0, "^#include")) + gsub(/hashmap/, "ordered_hashmap"); + gsub(/HASHMAP/, "ORDERED_HASHMAP"); + gsub(/Hashmap/, "OrderedHashmap"); + print +} diff --git a/src/update-utmp/Makefile b/src/update-utmp/Makefile deleted file mode 120000 index d0b0e8e00..000000000 --- a/src/update-utmp/Makefile +++ /dev/null @@ -1 +0,0 @@ -../Makefile \ No newline at end of file diff --git a/src/update-utmp/meson.build b/src/update-utmp/meson.build new file mode 100644 index 000000000..c2070bb9a --- /dev/null +++ b/src/update-utmp/meson.build @@ -0,0 +1,4 @@ +update_utmp_files = files(''' + update-utmp.c + update-utmp.h +'''.split()) diff --git a/tools/make-directive-index.py b/tools/make-directive-index.py index 193f7416f..2d1ddd13f 100755 --- a/tools/make-directive-index.py +++ b/tools/make-directive-index.py @@ -1,34 +1,35 @@ +#!/usr/bin/env python3 # -*- Mode: python; coding: utf-8; indent-tabs-mode: nil -*- */ # -# This file is part of elogind. +# This file is part of systemd. # # Copyright 2012-2013 Zbigniew Jędrzejewski-Szmek # -# elogind is free software; you can redistribute it and/or modify it +# 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. # -# elogind is distributed in the hope that it will be useful, but +# 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 elogind; If not, see . +# along with systemd; If not, see . import sys import collections import re -from xml_helper import * +from xml_helper import xml_parse, xml_print, tree from copy import deepcopy TEMPLATE = '''\ - elogind.directives - elogind + systemd.directives + systemd @@ -41,24 +42,69 @@ TEMPLATE = '''\ - elogind.directives + systemd.directives 7 - elogind.directives + systemd.directives Index of configuration directives + + Unit directives + + Directives for configuring units, used in unit + files. + + + + + + Options on the kernel command line + + Kernel boot options for configuring the behaviour of the + systemd process. + + + + Environment variables - Environment variables understood by the elogind + Environment variables understood by the systemd manager and other programs. + + UDEV directives + + Directives for configuring systemd units through the + udev database. + + + + + + Network directives + + Directives for configuring network links through the + net-setup-link udev builtin and networks through + systemd-networkd. + + + + + + Journal fields + + Fields in the journal events with a well known meaning. + + + + PAM configuration directives @@ -67,11 +113,30 @@ TEMPLATE = '''\ + + <filename>/etc/crypttab</filename> and + <filename>/etc/fstab</filename> options + + Options which influence mounted filesystems and + encrypted volumes. + + + + + + System manager directives + + Directives for configuring the behaviour of the + systemd process. + + + + command line options Command-line options accepted by programs in the - elogind suite. + systemd suite. @@ -79,7 +144,7 @@ TEMPLATE = '''\ Constants - Various constant used and/or defined by elogind. + Various constant used and/or defined by systemd. diff --git a/tools/make-man-index.py b/tools/make-man-index.py index 396188212..0618e2e67 100755 --- a/tools/make-man-index.py +++ b/tools/make-man-index.py @@ -1,36 +1,37 @@ +#!/usr/bin/env python3 # -*- Mode: python; coding: utf-8; indent-tabs-mode: nil -*- */ # -# This file is part of elogind. +# This file is part of systemd. # # Copyright 2012 Lennart Poettering # Copyright 2013 Zbigniew Jędrzejewski-Szmek # -# elogind is free software; you can redistribute it and/or modify it +# 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. # -# elogind is distributed in the hope that it will be useful, but +# 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 elogind; If not, see . +# along with systemd; If not, see . import collections import sys import re -from xml_helper import * +from xml_helper import xml_parse, xml_print, tree MDASH = ' — ' if sys.version_info.major >= 3 else ' -- ' TEMPLATE = '''\ - + - elogind.index - elogind + systemd.index + systemd @@ -43,13 +44,13 @@ TEMPLATE = '''\ - elogind.index + systemd.index 7 - elogind.index - List all manpages from the elogind project + systemd.index + List all manpages from the systemd project ''' @@ -58,7 +59,7 @@ SUMMARY = '''\ See Also - elogind.directives7 + systemd.directives7 diff --git a/tools/make-man-rules.py b/tools/make-man-rules.py index 5e61917d6..e0f18d6fb 100755 --- a/tools/make-man-rules.py +++ b/tools/make-man-rules.py @@ -1,8 +1,9 @@ +#!/usr/bin/env python3 # -*- Mode: python; coding: utf-8; indent-tabs-mode: nil -*- */ # # This file is part of systemd. # -# Copyright 2013 Zbigniew Jędrzejewski-Szmek +# Copyright 2013, 2017 Zbigniew Jędrzejewski-Szmek # # 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 @@ -21,55 +22,14 @@ from __future__ import print_function import collections import sys import os.path -from xml_helper import * - -SECTION = '''\ -MANPAGES += \\ - {manpages} -MANPAGES_ALIAS += \\ - {aliases} -{rules} -{htmlrules} -''' - -CONDITIONAL = '''\ -if {conditional} -''' \ -+ SECTION + \ -'''\ -endif -''' - -HEADER = '''\ -# Do not edit. Generated by make-man-rules.py. -# To regenerate: -# 1. Create, update, or remove source .xml files in man/ -# 2. Run 'make update-man-list' -# 3. Run 'make man' to generate manpages -# -# To make a man page conditional on a configure switch add -# attribute conditional="ENABLE_WHAT" or conditional="WITH_WHAT" -# to element. -''' - -HTML_ALIAS_RULE = '''\ -{}.html: {}.html - $(html-alias) -''' - -FOOTER = '''\ - -# Really, do not edit this file. - -EXTRA_DIST += \\ - {dist_files} -''' +import pprint +from xml_helper import xml_parse def man(page, number): - return 'man/{}.{}'.format(page, number) + return '{}.{}'.format(page, number) def xml(file): - return 'man/{}'.format(os.path.basename(file)) + return os.path.basename(file) def add_rules(rules, name): xml = xml_parse(name) @@ -106,24 +66,36 @@ def create_rules(xml_files): def mjoin(files): return ' \\\n\t'.join(sorted(files) or '#') -def make_makefile(rules, dist_files): - return HEADER + '\n'.join( - (CONDITIONAL if conditional else SECTION).format( - manpages=mjoin(set(rulegroup.values())), - aliases=mjoin(k for k,v in rulegroup.items() if k != v), - rules='\n'.join('{}: {}'.format(k,v) - for k,v in sorted(rulegroup.items()) - if k != v), - htmlrules='\n'.join(HTML_ALIAS_RULE.format(k[:-2],v[:-2]) - for k,v in sorted(rulegroup.items()) - if k != v), - conditional=conditional) - for conditional,rulegroup in sorted(rules.items()) - ) + FOOTER.format(dist_files=mjoin(sorted(dist_files))) +MESON_HEADER = '''\ +# Do not edit. Generated by make-man-rules.py. +manpages = [''' + +MESON_FOOTER = '''\ +] +# Really, do not edit.''' + +def make_mesonfile(rules, dist_files): + # reformat rules as + # grouped = [ [name, section, [alias...], condition], ...] + # + # but first create a dictionary like + # lists = { (name, condition) => [alias...] + grouped = collections.defaultdict(list) + for condition, items in rules.items(): + for alias, name in items.items(): + group = grouped[(name, condition)] + if name != alias: + group.append(alias) + + lines = [ [p[0][:-2], p[0][-1], sorted(a[:-2] for a in aliases), p[1]] + for p, aliases in sorted(grouped.items()) ] + return '\n'.join((MESON_HEADER, pprint.pformat(lines)[1:-1], MESON_FOOTER)) if __name__ == '__main__': - rules = create_rules(sys.argv[1:]) - dist_files = (xml(file) for file in sys.argv[1:] + pages = sys.argv[1:] + + rules = create_rules(pages) + dist_files = (xml(file) for file in pages if not file.endswith(".directives.xml") and not file.endswith(".index.xml")) - print(make_makefile(rules, dist_files), end='') + print(make_mesonfile(rules, dist_files)) diff --git a/tools/meson-check-compilation.sh b/tools/meson-check-compilation.sh new file mode 100755 index 000000000..d3b2a312f --- /dev/null +++ b/tools/meson-check-compilation.sh @@ -0,0 +1,3 @@ +#!/bin/sh -eu + +"$@" '-' -o/dev/null 80' | grep -E --color=yes '.{80}' + exit 1 +fi + +# no --help output to stdout +if "$1" --help 2>&1 1>/dev/null | grep .; then + echo "$(basename "$1") --help prints to stderr" + exit 2 +fi + +# error output to stderr +if ! "$1" --no-such-parameter 2>&1 1>/dev/null | grep -q .; then + echo "$(basename "$1") with an unknown parameter does not print to stderr" + exit 3 +fi diff --git a/tools/meson-get-cg-controller.sh b/tools/meson-get-cg-controller.sh new file mode 100755 index 000000000..98ba37a7f --- /dev/null +++ b/tools/meson-get-cg-controller.sh @@ -0,0 +1,18 @@ +#!/bin/sh -eu + +if test -f /proc/self/cgroup; then + # If the init system is a cgroup controler, it will be position 1. + # Secondary controllers, like cgmanager, do not work. + with_cgroupctrl=$(grep "^1:name=" /proc/self/cgroup | \ + sed -n 's/.*=//p' | sed -e 's/:.*$//') + if test -z "$with_cgroupctrl"; then + # Try to be our own cgroup controller + with_cgroupctrl="elogind" + fi +else + # 'auto' but no cgroup fs is a problem. + with_cgroupctrl="" +fi + +echo "$with_cgroupctrl" +exit 0 diff --git a/tools/meson-git-contrib.sh b/tools/meson-git-contrib.sh new file mode 100755 index 000000000..c543b3a5f --- /dev/null +++ b/tools/meson-git-contrib.sh @@ -0,0 +1,8 @@ +#!/bin/sh -eu + +git shortlog -s `git describe --abbrev=0`.. | \ + cut -c8- | \ + sed 's/ / /g' | \ + awk '{ print $$0 "," }' | \ + sed -e 's/ / /g' | \ + sort -u diff --git a/tools/meson-link-test.c b/tools/meson-link-test.c new file mode 100644 index 000000000..825bbff05 --- /dev/null +++ b/tools/meson-link-test.c @@ -0,0 +1 @@ +int main(void) {return 0;} diff --git a/tools/meson-make-symlink.sh b/tools/meson-make-symlink.sh new file mode 100755 index 000000000..47a5e70ae --- /dev/null +++ b/tools/meson-make-symlink.sh @@ -0,0 +1,11 @@ +#!/bin/sh -eu + +# this is needed mostly because $DESTDIR is provided as a variable, +# and we need to create the target directory... + +mkdir -vp "$(dirname "${DESTDIR:-}$2")" +if [ "$(dirname $1)" = . ]; then + ln -vfs -T "$1" "${DESTDIR:-}$2" +else + ln -vfs -T --relative "${DESTDIR:-}$1" "${DESTDIR:-}$2" +fi diff --git a/tools/xml_helper.py b/tools/xml_helper.py index e87126f2f..0088be5bd 100755 --- a/tools/xml_helper.py +++ b/tools/xml_helper.py @@ -1,3 +1,4 @@ +#!/usr/bin/env python3 # -*- Mode: python; coding: utf-8; indent-tabs-mode: nil -*- */ # # This file is part of systemd. -- cgit v1.2.3