diff options
76 files changed, 7946 insertions, 4842 deletions
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 <refentry> 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 <http://www.gnu.org/licenses/>. - -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 - </dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+/ { print $$2; }' >$@ - -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 '<?xml version="1.0" encoding="utf-8" ?>' && \ - printf '$(subst '|,<!ENTITY ,$(subst =, ",$(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" - </dev/null"; \ - $$cc -o/dev/null -c -x c -include "$$i" - </dev/null || res=1; \ - done; \ - done; exit $$res - -dist: - -.PHONY: git-tag -git-tag: - git tag -s "v$(PACKAGE_VERSION)" -m "elogind $(PACKAGE_VERSION)" - -.PHONY: git-tar -git-tar: - $(AM_V_at)git archive --format=tar --prefix=elogind-$(PACKAGE_VERSION)-raw/ HEAD | \ - (cd /var/tmp/ && tar xf -) - $(AM_V_GEN)(cd /var/tmp && \ - rm -rf elogind-$(PACKAGE_VERSION) && \ - $(MKDIR_P) elogind-$(PACKAGE_VERSION) && \ - for f in `find elogind-$(PACKAGE_VERSION)-raw/ -type f | \ - cut -d '/' -f 2-` ; do \ - $(MKDIR_P) elogind-$(PACKAGE_VERSION)/`dirname $$f` ; \ - $(AWK) 'BEGIN { i=0;e=0 } \ - /^#if\s+0.*elogind.*$$/ { i=1;next } \ - /^#else\s*$$/ { \ - { if ( i==1 ) e=1; else print }{next} \ - } \ - /^#endif\s*\/\/\s*0\s*$$/ { \ - { if ( i==1 ) { i=0;e=0 } else print }{next} \ - } \ - /^\s*\/\/\/.*elogind.*$$/{ next } \ - /^\s*\/\/\s*#include.+$$/{ next } \ - { if ( (i==0) || (e==1) ) print }' \ - elogind-$(PACKAGE_VERSION)-raw/$$f \ - > 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 <stdio.h>\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<sizeof(functions)/sizeof(void*);i++) printf("%%p\\n", functions[i]);\n' >> $@ - $(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 - @@ -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 <http://www.gnu.org/licenses/>. - -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 <http://www.gnu.org/licenses/>. - -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 <time.h> -#include <inttypes.h> -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 <sys/time.h> - #include <sys/resource.h> -]) - -GPERF_TEST="$(echo foo,bar | ${GPERF} -L ANSI-C)" -save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS -Wno-error" -AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([ - #include <string.h> - const char * in_word_set(const char *, size_t); - $GPERF_TEST] - )], - [GPERF_LEN_TYPE=size_t], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([ - #include <string.h> - 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 <sys/socket.h>]) - -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 <sys/types.h> -#include <unistd.h> -#include <sys/mount.h> -#include <fcntl.h> -#include <sched.h> -#include <string.h> -#include <linux/loop.h> -]]) - -AC_CHECK_DECLS([getrandom], - [AC_DEFINE([USE_SYS_RANDOM_H], [], [sys/random.h is usable])], - [AC_CHECK_DECLS([getrandom], [], [], [[ -#include <sys/random.h> -]])], [[ -#include <linux/random.h> -]]) - -AC_CHECK_TYPES([char16_t, char32_t, key_serial_t], - [], [], [[ -#include <uchar.h> -]]) - -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 <inttypes.h> -#include <netinet/in.h> -#include <netinet/ether.h> -#include <linux/rtnetlink.h> -#include <net/if.h> -#include <linux/ip.h> -#include <linux/if_tunnel.h> -#include <linux/if_link.h> -#include <linux/if_bridge.h> -#include <linux/if_addr.h> -#include <linux/neighbour.h> -]]) - -# 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_<archname> 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ò <flameeyes@gmail.com> -dnl Copyright (c) 2006-2008 xine project -dnl Copyright (c) 2012 Lucas De Marchi <lucas.de.marchi@gmail.com> -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 <adl@gnu.org> -# -# 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 <http://www.gnu.org/licenses/>. -# -# 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 <time.h> + #include <inttypes.h> + 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 <sys/types.h>')) +conf.set('SIZEOF_UID_T', cc.sizeof('uid_t', prefix : '#include <sys/types.h>')) +conf.set('SIZEOF_GID_T', cc.sizeof('gid_t', prefix : '#include <sys/types.h>')) +conf.set('SIZEOF_DEV_T', cc.sizeof('dev_t', prefix : '#include <sys/types.h>')) +conf.set('SIZEOF_INO_T', cc.sizeof('ino_t', prefix : '#include <sys/types.h>')) +conf.set('SIZEOF_TIME_T', cc.sizeof('time_t', prefix : '#include <sys/time.h>')) +conf.set('SIZEOF_RLIM_T', cc.sizeof('rlim_t', prefix : '#include <sys/resource.h>')) + +decl_headers = ''' +#include <uchar.h> +#include <linux/ethtool.h> +''' +# 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 <net/if.h>'], + ['IFLA_IPTUN_ENCAP_DPORT', 'linux/if_tunnel.h', '#include <net/if.h>'], + ['IFLA_GRE_ENCAP_DPORT', 'linux/if_tunnel.h', '#include <net/if.h>'], + ['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 <sys/memfd.h>'''], + ['gettid', '''#include <sys/types.h>'''], + ['pivot_root', '''#include <stdlib.h>'''], # no known header declares pivot_root + ['name_to_handle_at', '''#define _GNU_SOURCE + #include <sys/types.h> + #include <sys/stat.h> + #include <fcntl.h>'''], + ['setns', '''#define _GNU_SOURCE + #include <sched.h>'''], + ['renameat2', '''#include <stdio.h>'''], + ['kcmp', '''#include <linux/kcmp.h>'''], + ['keyctl', '''#include <sys/types.h> + #include <keyutils.h>'''], + ['copy_file_range', '''#include <sys/syscall.h> + #include <unistd.h>'''], + ['explicit_bzero' , '''#include <string.h>'''], +] + + 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 <sys/random.h>''') + conf.set('USE_SYS_RANDOM_H', true) + conf.set10('HAVE_DECL_GETRANDOM', true) +else + have = cc.has_function('getrandom', prefix : '''#include <linux/random.h>''') + 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 <string.h> +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 <walter.garcia@upf.edu>, 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 <walter.garcia@upf.edu>\n" +"Language-Team: Català <ubuntu-l10n-ca@lists.ubuntu.com>\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 <xskipy@gmail.com>, 2016. +# Daniel Rusek <mail@asciiwolf.com>, 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 <mail@asciiwolf.com>\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í." @@ -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" @@ -3,20 +3,21 @@ # This file is distributed under the same license as the systemd package. # # Gabor Kelemen <kelemeng at gnome dot hu>, 2015, 2016. +# Balázs Úr <urbalazs at gmail dot com>, 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 <kelemeng at ubuntu dot com>\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 <urbalazs@gmail.com>\n" "Language-Team: Hungarian <openscope at googlegroups dot com>\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@'] @@ -1,13 +1,15 @@ -# translation of pl.po to Polish -# Piotr Drąg <piotrdrag@gmail.com>, 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 <piotrdrag@gmail.com>, 2011, 2013-2016. # Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>, 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 <piotrdrag@gmail.com>\n" "Language-Team: Polish <trans-pl@lists.fedoraproject.org>\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 <rafael.f.f1@gmail.com>, 2014. # Enrico Nicoletto <liverig@gmail.com>, 2014. -# +# Rafael Fontenelle <rafaelff@gnome.org>, 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 <rafael.f.f1@gmail.com>\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 <rafaelff@gnome.org>\n" "Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\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 <prescott66@gmail.com>, 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 <gnome-sk-list@gnome.org>\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 <prescott66@gmail.com>\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 "" @@ -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 <josef.andersson@fripost.org>, 2015. # Sebastian Rasmussen <sebras@gmail.com>, 2015. +# Andreas Henriksson <andreas@fatal.se>, 2016. +# Josef Andersson <l10nl18nsweja@gmail.com>, 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 <sebras@gmail.com>\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 <l10nl18nsweja@gmail.com>\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 <http://www.gnu.org/licenses/>. - -# 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 - </dev/null | \ + awk '/^#define[ \t]+E[^ _]+[ \t]+/ { print $2; }' diff --git a/src/basic/generate-gperfs.py b/src/basic/generate-gperfs.py new file mode 100755 index 000000000..d4cc9aa45 --- /dev/null +++ b/src/basic/generate-gperfs.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python3 + +"""Generate %-from-name.gperf from %-list.txt +""" + +import sys + +name, prefix, input = sys.argv[1:] + +print("""\ +struct {}_name {{ const char* name; int id; }}; +%null-strings +%%""".format(name)) + +for line in open(input): + print("{0}, {1}{0}".format(line.rstrip(), prefix)) diff --git a/src/basic/meson.build b/src/basic/meson.build new file mode 100644 index 000000000..4ba97edd1 --- /dev/null +++ b/src/basic/meson.build @@ -0,0 +1,424 @@ +#if 0 /// elogind has a shorter list +# basic_sources_plain = files(''' +# af-list.c +# af-list.h +# alloc-util.c +# alloc-util.h +# architecture.c +# architecture.h +# arphrd-list.c +# arphrd-list.h +# async.c +# async.h +# audit-util.c +# audit-util.h +# barrier.c +# barrier.h +# bitmap.c +# bitmap.h +# blkid-util.h +# btrfs-ctree.h +# btrfs-util.c +# btrfs-util.h +# build.h +# bus-label.c +# bus-label.h +# calendarspec.c +# calendarspec.h +# capability-util.c +# capability-util.h +# cap-list.c +# cap-list.h +# cgroup-util.c +# cgroup-util.h +# chattr-util.c +# chattr-util.h +# clock-util.c +# clock-util.h +# conf-files.c +# conf-files.h +# copy.c +# copy.h +# cpu-set-util.c +# cpu-set-util.h +# def.h +# device-nodes.c +# device-nodes.h +# dirent-util.c +# dirent-util.h +# env-util.c +# env-util.h +# errno-list.c +# errno-list.h +# escape.c +# escape.h +# ether-addr-util.c +# ether-addr-util.h +# exec-util.c +# exec-util.h +# exit-status.c +# exit-status.h +# extract-word.c +# extract-word.h +# fd-util.c +# fd-util.h +# fileio.c +# fileio.h +# fileio-label.c +# fileio-label.h +# format-util.h +# fs-util.c +# fs-util.h +# glob-util.c +# glob-util.h +# gunicode.c +# gunicode.h +# hash-funcs.c +# hash-funcs.h +# hashmap.c +# hashmap.h +# hexdecoct.c +# hexdecoct.h +# hostname-util.c +# hostname-util.h +# in-addr-util.c +# in-addr-util.h +# ioprio.h +# io-util.c +# io-util.h +# journal-importer.c +# journal-importer.h +# khash.c +# khash.h +# label.c +# label.h +# list.h +# locale-util.c +# locale-util.h +# lockfile-util.c +# lockfile-util.h +# log.c +# log.h +# login-util.c +# login-util.h +# macro.h +# memfd-util.c +# memfd-util.h +# mempool.c +# mempool.h +# missing_syscall.h +# mkdir.c +# mkdir.h +# mkdir-label.c +# mount-util.c +# mount-util.h +# MurmurHash2.c +# MurmurHash2.h +# nss-util.h +# ordered-set.c +# ordered-set.h +# parse-util.c +# parse-util.h +# path-util.c +# path-util.h +# prioq.c +# prioq.h +# proc-cmdline.c +# proc-cmdline.h +# process-util.c +# process-util.h +# random-util.c +# random-util.h +# ratelimit.c +# ratelimit.h +# raw-clone.h +# refcnt.h +# replace-var.c +# replace-var.h +# rlimit-util.c +# rlimit-util.h +# rm-rf.c +# rm-rf.h +# securebits.h +# selinux-util.c +# selinux-util.h +# set.h +# sigbus.c +# sigbus.h +# signal-util.c +# signal-util.h +# siphash24.c +# siphash24.h +# smack-util.c +# smack-util.h +# socket-label.c +# socket-util.c +# socket-util.h +# sparse-endian.h +# special.h +# stat-util.c +# stat-util.h +# stdio-util.h +# strbuf.c +# strbuf.h +# string-table.c +# string-table.h +# string-util.c +# string-util.h +# strv.c +# strv.h +# strxcpyx.c +# strxcpyx.h +# syslog-util.c +# syslog-util.h +# terminal-util.c +# terminal-util.h +# time-util.c +# time-util.h +# umask-util.h +# unaligned.h +# unit-name.c +# unit-name.h +# user-util.c +# user-util.h +# utf8.c +# utf8.h +# util.c +# util.h +# verbs.c +# verbs.h +# virt.c +# virt.h +# web-util.c +# web-util.h +# xattr-util.c +# xattr-util.h +# xml.c +# xml.h +# '''.split()) +#else +basic_sources_plain = files(''' + alloc-util.c + alloc-util.h + audit-util.c + audit-util.h + build.h + bus-label.c + bus-label.h + capability-util.c + capability-util.h + cgroup-util.c + cgroup-util.h + conf-files.c + conf-files.h + copy.c + copy.h + def.h + dirent-util.c + dirent-util.h + env-util.c + env-util.h + errno-list.c + errno-list.h + escape.c + escape.h + exec-util.c + exec-util.h + extract-word.c + extract-word.h + fd-util.c + fd-util.h + fileio.c + fileio.h + fileio-label.c + fileio-label.h + format-util.h + fs-util.c + fs-util.h + gunicode.c + gunicode.h + hash-funcs.c + hash-funcs.h + hashmap.c + hashmap.h + hexdecoct.c + hexdecoct.h + hostname-util.c + hostname-util.h + io-util.c + io-util.h + khash.c + khash.h + label.c + label.h + list.h + locale-util.c + locale-util.h + log.c + log.h + login-util.c + login-util.h + macro.h + memfd-util.c + memfd-util.h + mempool.c + mempool.h + missing_syscall.h + mkdir.c + mkdir.h + mkdir-label.c + mount-util.c + mount-util.h + parse-printf-format.c + parse-printf-format.h + parse-util.c + parse-util.h + path-util.c + path-util.h + prioq.c + prioq.h + proc-cmdline.c + proc-cmdline.h + process-util.c + process-util.h + random-util.c + random-util.h + refcnt.h + rm-rf.c + rm-rf.h + selinux-util.c + selinux-util.h + set.h + signal-util.c + signal-util.h + siphash24.c + siphash24.h + smack-util.c + smack-util.h + socket-util.c + socket-util.h + sparse-endian.h + stat-util.c + stat-util.h + stdio-util.h + string-table.c + string-table.h + string-util.c + string-util.h + strv.c + strv.h + syslog-util.c + syslog-util.h + terminal-util.c + terminal-util.h + time-util.c + time-util.h + umask-util.h + unaligned.h + unit-name.c + unit-name.h + user-util.c + user-util.h + utf8.c + utf8.h + util.c + util.h + verbs.c + verbs.h + virt.c + virt.h + xattr-util.c + xattr-util.h +'''.split()) +#endif // 0 + +missing_h = files('missing.h') + +generate_gperfs = find_program('generate-gperfs.py') + +#if 0 /// elogind has only the errno list. +# generate_af_list = find_program('generate-af-list.sh') +# af_list_txt = custom_target( +# 'af-list.txt', +# output : 'af-list.txt', +# command : [generate_af_list, cpp], +# capture : true) +# +# generate_arphrd_list = find_program('generate-arphrd-list.sh') +# arphrd_list_txt = custom_target( +# 'arphrd-list.txt', +# output : 'arphrd-list.txt', +# command : [generate_arphrd_list, cpp], +# capture : true) +# +# generate_cap_list = find_program('generate-cap-list.sh') +# cap_list_txt = custom_target( +# 'cap-list.txt', +# output : 'cap-list.txt', +# command : [generate_cap_list, cpp, config_h, missing_h], +# capture : true) +#endif // 0 +generate_errno_list = find_program('generate-errno-list.sh') +errno_list_txt = custom_target( + 'errno-list.txt', + output : 'errno-list.txt', + command : [generate_errno_list, cpp], + capture : true) + +generated_gperf_headers = [] +#if 0 /// elogind has only the errno list. +# foreach item : [['af', af_list_txt, 'af', ''], +# ['arphrd', arphrd_list_txt, 'arphrd', 'ARPHRD_'], +# ['cap', cap_list_txt, 'capability', ''], +# ['errno', errno_list_txt, 'errno', '']] +#else +foreach item : [['errno', errno_list_txt, 'errno', '']] +#endif // 0 + + fname = '@0@-from-name.gperf'.format(item[0]) + gperf_file = custom_target( + fname, + input : item[1], + output : fname, + command : [generate_gperfs, item[2], item[3], '@INPUT@'], + capture : true) + + fname = '@0@-from-name.h'.format(item[0]) + target1 = custom_target( + fname, + input : gperf_file, + output : fname, + command : [gperf, + '-L', 'ANSI-C', '-t', '--ignore-case', + '-N', 'lookup_@0@'.format(item[2]), + '-H', 'hash_@0@_name'.format(item[2]), + '-p', '-C', + '@INPUT@'], + capture : true) + + fname = '@0@-to-name.h'.format(item[0]) + awkscript = '@0@-to-name.awk'.format(item[0]) + target2 = custom_target( + fname, + input : [awkscript, item[1]], + output : fname, + command : [awk, '-f', '@INPUT0@', '@INPUT1@'], + capture : true) + + generated_gperf_headers += [target1, target2] +endforeach + +basic_sources = basic_sources_plain + [missing_h] + generated_gperf_headers + +libbasic = static_library( + 'basic', + basic_sources, + include_directories : includes, + dependencies : [threads, + libcap, +#if 0 /// no blkid in elogind +# libblkid, +#endif // 0 + libselinux, + ], + install : false) diff --git a/src/cgroups-agent/Makefile b/src/cgroups-agent/Makefile deleted file mode 120000 index d0b0e8e00..000000000 --- a/src/cgroups-agent/Makefile +++ /dev/null @@ -1 +0,0 @@ -../Makefile
\ No newline at end of file diff --git a/src/core/Makefile b/src/core/Makefile deleted file mode 120000 index d0b0e8e00..000000000 --- a/src/core/Makefile +++ /dev/null @@ -1 +0,0 @@ -../Makefile
\ No newline at end of file diff --git a/src/core/meson.build b/src/core/meson.build new file mode 100644 index 000000000..d539ba0ee --- /dev/null +++ b/src/core/meson.build @@ -0,0 +1,248 @@ +#if 0 /// elogind has only two of the parts here in it... +# libcore_la_sources = ''' +# unit.c +# unit.h +# unit-printf.c +# unit-printf.h +# job.c +# job.h +# manager.c +# manager.h +# transaction.c +# transaction.h +# load-fragment.c +# load-fragment.h +# service.c +# service.h +# socket.c +# socket.h +# busname.c +# busname.h +# bus-policy.c +# bus-policy.h +# target.c +# target.h +# device.c +# device.h +# mount.c +# mount.h +# automount.c +# automount.h +# swap.c +# swap.h +# timer.c +# timer.h +# path.c +# path.h +# slice.c +# slice.h +# scope.c +# scope.h +# load-dropin.c +# load-dropin.h +# execute.c +# execute.h +# dynamic-user.c +# dynamic-user.h +# kill.c +# kill.h +# dbus.c +# dbus.h +# dbus-manager.c +# dbus-manager.h +# dbus-unit.c +# dbus-unit.h +# dbus-job.c +# dbus-job.h +# dbus-service.c +# dbus-service.h +# dbus-socket.c +# dbus-socket.h +# dbus-busname.c +# dbus-busname.h +# dbus-target.c +# dbus-target.h +# dbus-device.c +# dbus-device.h +# dbus-mount.c +# dbus-mount.h +# dbus-automount.c +# dbus-automount.h +# dbus-swap.c +# dbus-swap.h +# dbus-timer.c +# dbus-timer.h +# dbus-path.c +# dbus-path.h +# dbus-slice.c +# dbus-slice.h +# dbus-scope.c +# dbus-scope.h +# dbus-execute.c +# dbus-execute.h +# dbus-kill.c +# dbus-kill.h +# dbus-cgroup.c +# dbus-cgroup.h +# cgroup.c +# cgroup.h +# selinux-access.c +# selinux-access.h +# selinux-setup.c +# selinux-setup.h +# smack-setup.c +# smack-setup.h +# ima-setup.c +# ima-setup.h +# locale-setup.h +# locale-setup.c +# hostname-setup.c +# hostname-setup.h +# machine-id-setup.c +# machine-id-setup.h +# mount-setup.c +# mount-setup.h +# kmod-setup.c +# kmod-setup.h +# loopback-setup.h +# loopback-setup.c +# namespace.c +# namespace.h +# killall.h +# killall.c +# audit-fd.c +# audit-fd.h +# show-status.c +# show-status.h +# emergency-action.c +# emergency-action.h +# '''.split() +#else +libcore_la_sources = files(''' + cgroup.c + cgroup.h + mount-setup.c + mount-setup.h +'''.split()) +#endif // 0 + +#if 0 /// The rest is not needed by elogind, we use the sources directly in login +# load_fragment_gperf_gperf = custom_target( +# 'load-fragment-gperf.gperf', +# input : 'load-fragment-gperf.gperf.m4', +# output: 'load-fragment-gperf.gperf', +# command : [m4, '-P'] + m4_defines + ['@INPUT@'], +# capture : true) +# +# load_fragment_gperf_c = custom_target( +# 'load-fragment-gperf.c', +# input : load_fragment_gperf_gperf, +# output : 'load-fragment-gperf.c', +# command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) +# +# awkscript = 'load-fragment-gperf-nulstr.awk' +# load_fragment_gperf_nulstr_c = custom_target( +# 'load-fragment-gperf-nulstr.c', +# input : [awkscript, load_fragment_gperf_gperf], +# output : 'load-fragment-gperf-nulstr.c', +# command : [awk, '-f', '@INPUT0@', '@INPUT1@'], +# capture : true) +# +# libcore = static_library( +# 'core', +# libcore_la_sources, +# load_fragment_gperf_c, +# load_fragment_gperf_nulstr_c, +# include_directories : includes, +# link_with : [libshared_static], +# dependencies : [threads, +# libseccomp, +# libpam, +# libaudit, +# libkmod, +# libapparmor, +# libmount]) +# +# systemd_sources = files('main.c') +# +# systemd_shutdown_sources = files(''' +# shutdown.c +# umount.c +# umount.h +# mount-setup.c +# mount-setup.h +# killall.c +# killall.h +# '''.split()) +# +# in_files = [['macros.systemd', rpmmacrosdir], +# ['triggers.systemd', ''], +# ['systemd.pc', pkgconfigdatadir]] +# +# foreach item : in_files +# file = item[0] +# dir = item[1] +# +# # If 'no', disable generation completely. +# # If '', generate, but do not install. +# if dir != 'no' +# gen = configure_file( +# input : file + '.in', +# output : file, +# configuration : substs) +# if dir != '' +# install_data(gen, +# install_dir : dir) +# endif +# endif +# endforeach +# +# install_data('org.freedesktop.systemd1.conf', +# install_dir : dbuspolicydir) +# install_data('org.freedesktop.systemd1.service', +# install_dir : dbussystemservicedir) +# +# policy_in = configure_file( +# input : 'org.freedesktop.systemd1.policy.in.in', +# output : 'org.freedesktop.systemd1.policy.in', +# configuration : substs) +# +# custom_target( +# 'org.freedesktop.systemd1.policy', +# input : policy_in, +# output : 'org.freedesktop.systemd1.policy', +# command : intltool_command, +# install : install_polkit, +# install_dir : polkitpolicydir) +#endif // 0 + +# TODO: this might work with meson from git, see +# https://github.com/mesonbuild/meson/issues/1441#issuecomment-283585493 +# +# i18n.merge_file( +# 'org.freedesktop.systemd1.policy', +# po_dir : po_dir, +# input : policy_in, +# output : 'org.freedesktop.systemd1.policy', +# install : install_polkit, +# install_dir : polkitpolicydir) + +#if 0 /// totally UNNEEDED in elogind +# install_data('system.conf', +# 'user.conf', +# install_dir : pkgsysconfdir) +# +# meson.add_install_script('sh', '-c', mkdir_p.format(systemshutdowndir)) +# meson.add_install_script('sh', '-c', mkdir_p.format(systemsleepdir)) +# meson.add_install_script('sh', '-c', mkdir_p.format(systemgeneratordir)) +# meson.add_install_script('sh', '-c', mkdir_p.format(usergeneratordir)) +# +# meson.add_install_script('sh', '-c', +# mkdir_p.format(join_paths(pkgsysconfdir, 'system/multi-user.target.wants'))) +# meson.add_install_script('sh', '-c', +# mkdir_p.format(join_paths(pkgsysconfdir, 'system/getty.target.wants'))) +# meson.add_install_script('sh', '-c', +# mkdir_p.format(join_paths(pkgsysconfdir, 'user'))) +# meson.add_install_script('sh', '-c', +# mkdir_p.format(join_paths(sysconfdir, 'xdg/systemd'))) +#endif // 0 diff --git a/src/libelogind/Makefile b/src/libelogind/Makefile deleted file mode 120000 index d0b0e8e00..000000000 --- a/src/libelogind/Makefile +++ /dev/null @@ -1 +0,0 @@ -../Makefile
\ No newline at end of file diff --git a/src/libelogind/meson.build b/src/libelogind/meson.build new file mode 100644 index 000000000..5d012ea6e --- /dev/null +++ b/src/libelogind/meson.build @@ -0,0 +1,144 @@ +sd_login_c = files('sd-login/sd-login.c') + +#if 0 /// elogind has a shorter list, of course... +# libsystemd_internal_sources = files(''' +# sd-bus/bus-bloom.c +# sd-bus/bus-bloom.h +# sd-bus/bus-common-errors.c +# sd-bus/bus-common-errors.h +# sd-bus/bus-container.c +# sd-bus/bus-container.h +# sd-bus/bus-control.c +# sd-bus/bus-control.h +# sd-bus/bus-convenience.c +# sd-bus/bus-creds.c +# sd-bus/bus-creds.h +# sd-bus/bus-dump.c +# sd-bus/bus-dump.h +# sd-bus/bus-error.c +# sd-bus/bus-error.h +# sd-bus/bus-gvariant.c +# sd-bus/bus-gvariant.h +# sd-bus/bus-internal.c +# sd-bus/bus-internal.h +# sd-bus/bus-introspect.c +# sd-bus/bus-introspect.h +# sd-bus/bus-kernel.c +# sd-bus/bus-kernel.h +# sd-bus/bus-match.c +# sd-bus/bus-match.h +# sd-bus/bus-message.c +# sd-bus/bus-message.h +# sd-bus/bus-objects.c +# sd-bus/bus-objects.h +# sd-bus/bus-protocol.h +# sd-bus/bus-signature.c +# sd-bus/bus-signature.h +# sd-bus/bus-slot.c +# sd-bus/bus-slot.h +# sd-bus/bus-socket.c +# sd-bus/bus-socket.h +# sd-bus/bus-track.c +# sd-bus/bus-track.h +# sd-bus/bus-type.c +# sd-bus/bus-type.h +# sd-bus/sd-bus.c +# sd-daemon/sd-daemon.c +# sd-device/device-enumerator-private.h +# sd-device/device-enumerator.c +# sd-device/device-internal.h +# sd-device/device-private.c +# sd-device/device-private.h +# sd-device/device-util.h +# sd-device/sd-device.c +# sd-event/sd-event.c +# sd-hwdb/hwdb-internal.h +# sd-hwdb/hwdb-util.h +# sd-hwdb/sd-hwdb.c +# sd-id128/id128-util.c +# sd-id128/id128-util.h +# sd-id128/sd-id128.c +# sd-netlink/local-addresses.c +# sd-netlink/local-addresses.h +# sd-netlink/netlink-internal.h +# sd-netlink/netlink-message.c +# sd-netlink/netlink-socket.c +# sd-netlink/netlink-types.c +# sd-netlink/netlink-types.h +# sd-netlink/netlink-util.c +# sd-netlink/netlink-util.h +# sd-netlink/rtnl-message.c +# sd-netlink/sd-netlink.c +# sd-network/network-util.c +# sd-network/network-util.h +# sd-network/sd-network.c +# sd-path/sd-path.c +# sd-resolve/sd-resolve.c +# sd-utf8/sd-utf8.c +# '''.split()) + sd_login_c +#else +libelogind_internal_sources = files(''' + sd-bus/bus-bloom.c + sd-bus/bus-bloom.h + sd-bus/bus-common-errors.c + sd-bus/bus-common-errors.h + sd-bus/bus-container.c + sd-bus/bus-container.h + sd-bus/bus-control.c + sd-bus/bus-control.h + sd-bus/bus-convenience.c + sd-bus/bus-creds.c + sd-bus/bus-creds.h + sd-bus/bus-error.c + sd-bus/bus-error.h + sd-bus/bus-gvariant.c + sd-bus/bus-gvariant.h + sd-bus/bus-internal.c + sd-bus/bus-internal.h + sd-bus/bus-introspect.c + sd-bus/bus-introspect.h + sd-bus/bus-kernel.c + sd-bus/bus-kernel.h + sd-bus/bus-match.c + sd-bus/bus-match.h + sd-bus/bus-message.c + sd-bus/bus-message.h + sd-bus/bus-objects.c + sd-bus/bus-objects.h + sd-bus/bus-protocol.h + sd-bus/bus-signature.c + sd-bus/bus-signature.h + sd-bus/bus-slot.c + sd-bus/bus-slot.h + sd-bus/bus-socket.c + sd-bus/bus-socket.h + sd-bus/bus-track.c + sd-bus/bus-track.h + sd-bus/bus-type.c + sd-bus/bus-type.h + sd-bus/sd-bus.c + sd-daemon/sd-daemon.c + sd-event/sd-event.c + sd-id128/id128-util.c + sd-id128/id128-util.h + sd-id128/sd-id128.c +'''.split()) + sd_login_c +#endif // 0 + +libelogind_internal = static_library( + 'elogind', + libelogind_internal_sources, + install : false, + include_directories : includes, + link_with : libbasic, + dependencies : [threads, + librt]) + +libelogind_sym = 'src/libelogind/libelogind.sym' + +libelogind_pc = configure_file( + input : 'libelogind.pc.in', + output : 'libelogind.pc', + configuration : substs) +install_data(libelogind_pc, + install_dir : pkgconfiglibdir) diff --git a/src/libelogind/sd-bus/Makefile b/src/libelogind/sd-bus/Makefile deleted file mode 120000 index 94aaae2c4..000000000 --- a/src/libelogind/sd-bus/Makefile +++ /dev/null @@ -1 +0,0 @@ -../../Makefile
\ No newline at end of file diff --git a/src/libelogind/sd-daemon/Makefile b/src/libelogind/sd-daemon/Makefile deleted file mode 120000 index 94aaae2c4..000000000 --- a/src/libelogind/sd-daemon/Makefile +++ /dev/null @@ -1 +0,0 @@ -../../Makefile
\ No newline at end of file diff --git a/src/libelogind/sd-event/Makefile b/src/libelogind/sd-event/Makefile deleted file mode 120000 index 94aaae2c4..000000000 --- a/src/libelogind/sd-event/Makefile +++ /dev/null @@ -1 +0,0 @@ -../../Makefile
\ No newline at end of file diff --git a/src/libelogind/sd-id128/Makefile b/src/libelogind/sd-id128/Makefile deleted file mode 120000 index 94aaae2c4..000000000 --- a/src/libelogind/sd-id128/Makefile +++ /dev/null @@ -1 +0,0 @@ -../../Makefile
\ No newline at end of file diff --git a/src/libelogind/sd-login/Makefile b/src/libelogind/sd-login/Makefile deleted file mode 120000 index 94aaae2c4..000000000 --- a/src/libelogind/sd-login/Makefile +++ /dev/null @@ -1 +0,0 @@ -../../Makefile
\ No newline at end of file diff --git a/src/login/Makefile b/src/login/Makefile deleted file mode 120000 index d0b0e8e00..000000000 --- a/src/login/Makefile +++ /dev/null @@ -1 +0,0 @@ -../Makefile
\ No newline at end of file diff --git a/src/login/meson.build b/src/login/meson.build new file mode 100644 index 000000000..9fd44ddc1 --- /dev/null +++ b/src/login/meson.build @@ -0,0 +1,181 @@ +#if 0 /// rename to elogind +# systemd_logind_sources = files(''' +# logind.c +# logind.h +# '''.split()) +#else +elogind_sources = files(''' + elogind.c + elogind.h + logind.c + logind.h +'''.split()) +#endif // 0 + +logind_gperf_c = custom_target( + 'logind_gperf.c', + input : 'logind-gperf.gperf', + output : 'logind-gperf.c', + command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) + +#if 0 /// rename to elogind +# systemd_logind_sources += [logind_gperf_c] +#else +elogind_sources += [logind_gperf_c] +#endif // 0 + +liblogind_core_sources = files(''' + logind-core.c + logind-device.c + logind-device.h + logind-button.c + logind-button.h + logind-action.c + logind-action.h + logind-seat.c + logind-seat.h + logind-session.c + logind-session.h + logind-session-device.c + logind-session-device.h + logind-user.c + logind-user.h + logind-inhibit.c + logind-inhibit.h + logind-dbus.c + logind-session-dbus.c + logind-seat-dbus.c + logind-user-dbus.c + logind-utmp.c + logind-acl.h +'''.split()) + +#if 1 /// elogind has some additional files: +liblogind_core_sources += [files(''' + elogind-dbus.c + elogind-dbus.h +'''.split()), + libcore_la_sources, + sleep_files, + update_utmp_files] +#endif // 1 + +logind_acl_c = files('logind-acl.c') +if conf.get('HAVE_ACL', false) + liblogind_core_sources += logind_acl_c +endif + +liblogind_core = static_library( + 'logind-core', + liblogind_core_sources, + include_directories : includes, + dependencies : [libacl]) + +loginctl_sources = files(''' + loginctl.c + sysfs-show.h + sysfs-show.c +'''.split()) + +#if 1 /// elogind has some additional files: +loginctl_sources += files(''' + eloginctl.c + eloginctl.h +'''.split()) +#endif // 1 + +#if 0 /// elogind builds itself unconditionally and with some adaptatins +# if conf.get('ENABLE_LOGIND', false) +# logind_conf = configure_file( +# input : 'logind.conf.in', +# output : 'logind.conf', +# configuration : substs) +# install_data(logind_conf, +# install_dir : pkgsysconfdir) +# +# pam_systemd_sym = 'src/login/pam_systemd.sym' +# pam_systemd_c = files('pam_systemd.c') +# +# install_data('org.freedesktop.login1.conf', +# install_dir : dbuspolicydir) +# install_data('org.freedesktop.login1.service', +# install_dir : dbussystemservicedir) +# +# custom_target( +# 'org.freedesktop.login1.policy', +# input : 'org.freedesktop.login1.policy.in', +# output : 'org.freedesktop.login1.policy', +# command : intltool_command, +# install : install_polkit, +# install_dir : polkitpolicydir) +# +# install_data('70-power-switch.rules', +# '70-uaccess.rules', +# install_dir : udevrulesdir) +# +# foreach file : ['71-seat.rules', +# '73-seat-late.rules'] +# gen = configure_file( +# input : file + '.in', +# output : file, +# configuration : substs) +# install_data(gen, +# install_dir : udevrulesdir) +# endforeach +# +# custom_target( +# 'systemd-user', +# input : 'systemd-user.m4', +# output: 'systemd-user', +# command : [m4, '-P'] + m4_defines + ['@INPUT@'], +# capture : true, +# install : pamconfdir != 'no', +# install_dir : pamconfdir) +# endif +#else +logind_conf = configure_file( + input : 'logind.conf.in', + output : 'logind.conf', + configuration : substs) +install_data(logind_conf, + install_dir : pkgsysconfdir) + +pam_elogind_sym = 'src/login/pam_elogind.sym' +pam_elogind_c = files('pam_elogind.c') + +install_data('org.freedesktop.login1.conf', + install_dir : dbuspolicydir) +install_data('org.freedesktop.login1.service', + install_dir : dbussystemservicedir) + +custom_target( + 'org.freedesktop.login1.policy', + input : 'org.freedesktop.login1.policy.in', + output : 'org.freedesktop.login1.policy', + command : intltool_command, + install : install_polkit, + install_dir : polkitpolicydir) + +install_data('70-power-switch.rules', + '70-uaccess.rules', + install_dir : udevrulesdir) + +foreach file : ['71-seat.rules', + '73-seat-late.rules'] + gen = configure_file( + input : file + '.in', + output : file, + configuration : substs) + install_data(gen, + install_dir : udevrulesdir) +endforeach + +custom_target( + 'elogind-user', + input : 'elogind-user.m4', + output: 'elogind-user', + command : [m4, '-P'] + m4_defines + ['@INPUT@'], + capture : true, + install : pamconfdir != 'no', + install_dir : pamconfdir) +#endif //0 diff --git a/src/shared/Makefile b/src/shared/Makefile deleted file mode 120000 index d0b0e8e00..000000000 --- a/src/shared/Makefile +++ /dev/null @@ -1 +0,0 @@ -../Makefile
\ No newline at end of file diff --git a/src/shared/meson.build b/src/shared/meson.build new file mode 100644 index 000000000..7505d3963 --- /dev/null +++ b/src/shared/meson.build @@ -0,0 +1,198 @@ +#if 0 /// elogind has a much shorter list +# shared_sources = ''' +# acl-util.h +# acpi-fpdt.c +# acpi-fpdt.h +# apparmor-util.c +# apparmor-util.h +# ask-password-api.c +# ask-password-api.h +# base-filesystem.c +# base-filesystem.h +# boot-timestamps.c +# boot-timestamps.h +# bus-unit-util.c +# bus-unit-util.h +# bus-util.c +# bus-util.h +# cgroup-show.c +# cgroup-show.h +# clean-ipc.c +# clean-ipc.h +# condition.c +# condition.h +# conf-parser.c +# conf-parser.h +# dev-setup.c +# dev-setup.h +# dissect-image.c +# dissect-image.h +# dns-domain.c +# dns-domain.h +# dropin.c +# dropin.h +# efivars.c +# efivars.h +# fdset.c +# fdset.h +# firewall-util.h +# fstab-util.c +# fstab-util.h +# gcrypt-util.c +# gcrypt-util.h +# generator.c +# generator.h +# gpt.h +# ima-util.c +# ima-util.h +# import-util.c +# import-util.h +# initreq.h +# install.c +# install.h +# install-printf.c +# install-printf.h +# journal-util.c +# journal-util.h +# logs-show.c +# logs-show.h +# loop-util.c +# loop-util.h +# machine-image.c +# machine-image.h +# machine-pool.c +# machine-pool.h +# nsflags.c +# nsflags.h +# output-mode.c +# output-mode.h +# pager.c +# pager.h +# path-lookup.c +# path-lookup.h +# ptyfwd.c +# ptyfwd.h +# resolve-util.c +# resolve-util.h +# seccomp-util.h +# sleep-config.c +# sleep-config.h +# spawn-ask-password-agent.c +# spawn-ask-password-agent.h +# spawn-polkit-agent.c +# spawn-polkit-agent.h +# specifier.c +# specifier.h +# switch-root.c +# switch-root.h +# sysctl-util.c +# sysctl-util.h +# tests.c +# tests.h +# udev-util.h +# udev-util.c +# uid-range.c +# uid-range.h +# utmp-wtmp.h +# vlan-util.c +# vlan-util.h +# volatile-util.c +# volatile-util.h +# watchdog.c +# watchdog.h +# '''.split() +#else +shared_sources = ''' + bus-util.c + bus-util.h + clean-ipc.c + clean-ipc.h + conf-parser.c + conf-parser.h + musl_missing.c + musl_missing.h + nsflags.c + nsflags.h + pager.c + pager.h + sleep-config.c + sleep-config.h + spawn-polkit-agent.c + spawn-polkit-agent.h + udev-util.c + udev-util.h +'''.split() +#endif // 0 + +test_tables_h = files('test-tables.h') +shared_sources += [test_tables_h] + +if conf.get('HAVE_ACL', false) + shared_sources += ['acl-util.c'] +endif + +if conf.get('HAVE_UTMP', false) + shared_sources += ['utmp-wtmp.c'] +endif + +#if 0 /// UNNEEDED by elogind +# if conf.get('HAVE_SECCOMP', false) +# shared_sources += ['seccomp-util.c'] +# endif +# +# if conf.get('HAVE_LIBIPTC', false) +# shared_sources += ['firewall-util.c'] +# endif +#endif // 0 + +libshared_name = 'elogind-shared-@0@'.format(meson.project_version()) + +#if 0 /// elogind doesn't need all this +# libshared_deps = [threads, +# librt, +# libcap, +# libacl, +# libcryptsetup, +# libgcrypt, +# libiptc, +# libseccomp, +# libselinux, +# libidn, +# libxz, +# liblz4, +# libblkid] +# #else +libshared_deps = [threads, + libcap, + libacl, + libselinux, + libudev] +#endif // 0 + +libshared = shared_library( + libshared_name, + shared_sources, + basic_sources, +#if 0 /// "Slightly" different in elogind +# journal_internal_sources, +# libsystemd_internal_sources, +# libudev_sources, +#else + libelogind_internal_sources, +#endif // 0 + include_directories : includes, + link_args : ['-shared'], + c_args : ['-fvisibility=default'], + dependencies : libshared_deps, + install : true, + install_dir : rootlibexecdir) + +libshared_static = static_library( + libshared_name, + shared_sources, + basic_sources, +#if 1 /// need elogind internal library sources + libelogind_internal_sources, +#endif // 1 + include_directories : includes, + dependencies : libshared_deps) diff --git a/src/sleep/Makefile b/src/sleep/Makefile deleted file mode 120000 index d0b0e8e00..000000000 --- a/src/sleep/Makefile +++ /dev/null @@ -1 +0,0 @@ -../Makefile
\ No newline at end of file diff --git a/src/sleep/meson.build b/src/sleep/meson.build new file mode 100644 index 000000000..6d76d101f --- /dev/null +++ b/src/sleep/meson.build @@ -0,0 +1,4 @@ +sleep_files = files(''' + sleep.c + sleep.h +'''.split()) diff --git a/src/systemd/Makefile b/src/systemd/Makefile deleted file mode 120000 index d0b0e8e00..000000000 --- a/src/systemd/Makefile +++ /dev/null @@ -1 +0,0 @@ -../Makefile
\ No newline at end of file diff --git a/src/systemd/meson.build b/src/systemd/meson.build new file mode 100644 index 000000000..82159f336 --- /dev/null +++ b/src/systemd/meson.build @@ -0,0 +1,75 @@ +#if 0 /// No systemd-journal in elogind ... +# _systemd_headers = ''' +# sd-bus.h +# sd-bus-protocol.h +# sd-bus-vtable.h +# sd-daemon.h +# sd-event.h +# sd-id128.h +# sd-journal.h +# sd-login.h +# sd-messages.h +# '''.split() +#else +_systemd_headers = ''' + sd-bus.h + sd-bus-protocol.h + sd-bus-vtable.h + sd-daemon.h + sd-event.h + sd-id128.h + sd-login.h + sd-messages.h +'''.split() + +# https://github.com/mesonbuild/meson/issues/1633 +systemd_headers = files(_systemd_headers) + +# sd-device.h +# sd-hwdb.h +# sd-dhcp6-client.h +# sd-dhcp6-lease.h +# sd-dhcp-client.h +# sd-dhcp-lease.h +# sd-dhcp-server.h +# sd-ipv4acd.h +# sd-ipv4ll.h +# sd-lldp.h +# sd-ndisc.h +# sd-netlink.h +# sd-network.h +# sd-path.h +# sd-resolve.h +# sd-utf8.h + +install_headers( + systemd_headers, + '_sd-common.h', +#if 0 /// elogind needs them somewhere else +# subdir : 'systemd') +#else + subdir : 'elogind/systemd') +#endif // 0 + + +############################################################ + +opts = [['c'], + ['c', '-ansi'], + ['c', '-std=iso9899:1990']] + +cxx = find_program('c++', required : false) +if cxx.found() + opts += [['c++']] +endif + +foreach header : _systemd_headers + foreach opt : opts + name = ''.join([header, ':'] + opt) + test('cc-' + name, + check_compilation_sh, + args : cc.cmd_array() + ['-c', '-x'] + opt + + ['-Werror', '-include', + join_paths(meson.current_source_dir(), header)]) + endforeach +endforeach diff --git a/src/test/Makefile b/src/test/Makefile deleted file mode 120000 index d0b0e8e00..000000000 --- a/src/test/Makefile +++ /dev/null @@ -1 +0,0 @@ -../Makefile
\ No newline at end of file diff --git a/src/test/generate-sym-test.py b/src/test/generate-sym-test.py new file mode 100755 index 000000000..357cce8e4 --- /dev/null +++ b/src/test/generate-sym-test.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 +import sys, re + +print('#include <stdio.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 <http://www.gnu.org/licenses/>. +# along with systemd; If not, see <http://www.gnu.org/licenses/>. import sys import collections import re -from xml_helper import * +from xml_helper import xml_parse, xml_print, tree from copy import deepcopy TEMPLATE = '''\ <refentry id="elogind.directives" conditional="HAVE_PYTHON"> <refentryinfo> - <title>elogind.directives</title> - <productname>elogind</productname> + <title>systemd.directives</title> + <productname>systemd</productname> <authorgroup> <author> @@ -41,25 +42,70 @@ TEMPLATE = '''\ </refentryinfo> <refmeta> - <refentrytitle>elogind.directives</refentrytitle> + <refentrytitle>systemd.directives</refentrytitle> <manvolnum>7</manvolnum> </refmeta> <refnamediv> - <refname>elogind.directives</refname> + <refname>systemd.directives</refname> <refpurpose>Index of configuration directives</refpurpose> </refnamediv> <refsect1> + <title>Unit directives</title> + + <para>Directives for configuring units, used in unit + files.</para> + + <variablelist id='unit-directives' /> + </refsect1> + + <refsect1> + <title>Options on the kernel command line</title> + + <para>Kernel boot options for configuring the behaviour of the + systemd process.</para> + + <variablelist id='kernel-commandline-options' /> + </refsect1> + + <refsect1> <title>Environment variables</title> - <para>Environment variables understood by the elogind + <para>Environment variables understood by the systemd manager and other programs.</para> <variablelist id='environment-variables' /> </refsect1> <refsect1> + <title>UDEV directives</title> + + <para>Directives for configuring systemd units through the + udev database.</para> + + <variablelist id='udev-directives' /> + </refsect1> + + <refsect1> + <title>Network directives</title> + + <para>Directives for configuring network links through the + net-setup-link udev builtin and networks through + systemd-networkd.</para> + + <variablelist id='network-directives' /> + </refsect1> + + <refsect1> + <title>Journal fields</title> + + <para>Fields in the journal events with a well known meaning.</para> + + <variablelist id='journal-directives' /> + </refsect1> + + <refsect1> <title>PAM configuration directives</title> <para>Directives for configuring PAM behaviour.</para> @@ -68,10 +114,29 @@ TEMPLATE = '''\ </refsect1> <refsect1> + <title><filename>/etc/crypttab</filename> and + <filename>/etc/fstab</filename> options</title> + + <para>Options which influence mounted filesystems and + encrypted volumes.</para> + + <variablelist id='fstab-options' /> + </refsect1> + + <refsect1> + <title>System manager directives</title> + + <para>Directives for configuring the behaviour of the + systemd process.</para> + + <variablelist id='systemd-directives' /> + </refsect1> + + <refsect1> <title>command line options</title> <para>Command-line options accepted by programs in the - elogind suite.</para> + systemd suite.</para> <variablelist id='options' /> </refsect1> @@ -79,7 +144,7 @@ TEMPLATE = '''\ <refsect1> <title>Constants</title> - <para>Various constant used and/or defined by elogind.</para> + <para>Various constant used and/or defined by systemd.</para> <variablelist id='constants' /> </refsect1> 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 <http://www.gnu.org/licenses/>. +# along with systemd; If not, see <http://www.gnu.org/licenses/>. 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 = '''\ -<refentry id="elogind.index" conditional="HAVE_PYTHON"> +<refentry id="systemd.index" conditional="HAVE_PYTHON"> <refentryinfo> - <title>elogind.index</title> - <productname>elogind</productname> + <title>systemd.index</title> + <productname>systemd</productname> <authorgroup> <author> @@ -43,13 +44,13 @@ TEMPLATE = '''\ </refentryinfo> <refmeta> - <refentrytitle>elogind.index</refentrytitle> + <refentrytitle>systemd.index</refentrytitle> <manvolnum>7</manvolnum> </refmeta> <refnamediv> - <refname>elogind.index</refname> - <refpurpose>List all manpages from the elogind project</refpurpose> + <refname>systemd.index</refname> + <refpurpose>List all manpages from the systemd project</refpurpose> </refnamediv> </refentry> ''' @@ -58,7 +59,7 @@ SUMMARY = '''\ <refsect1> <title>See Also</title> <para> - <citerefentry><refentrytitle>elogind.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry> + <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry> </para> <para id='counts' /> 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 <refentry> 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 </dev/null diff --git a/tools/meson-check-help.sh b/tools/meson-check-help.sh new file mode 100755 index 000000000..47a5099a0 --- /dev/null +++ b/tools/meson-check-help.sh @@ -0,0 +1,20 @@ +#!/bin/sh -eu + +# output width +if "$1" --help | grep -v 'default:' | grep -E -q '.{80}.'; then + echo "$(basename "$1") --help output is too wide:" + "$1" --help | awk 'length > 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. |