X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=Makefile.am;h=8bef21bda34d1aeaffa7f4bc4bc408522ab4a046;hp=789ca026b0fdc08c41f43051ef36857017a576c8;hb=df32a1caafe881fc7850a9b569179b877198685f;hpb=64a9e4d76301dbd941a7eb5e9f7fd6e0306cb459 diff --git a/Makefile.am b/Makefile.am index 789ca026b..8bef21bda 100644 --- a/Makefile.am +++ b/Makefile.am @@ -163,6 +163,7 @@ AM_CPPFLAGS = \ -DSYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH=\"$(rootbindir)/systemd-tty-ask-password-agent\" \ -DSYSTEMD_STDIO_BRIDGE_BINARY_PATH=\"$(bindir)/systemd-stdio-bridge\" \ -DROOTPREFIX=\"$(rootprefix)\" \ + -DRANDOM_SEED_DIR=\"$(localstatedir)/lib/systemd/\" \ -DRANDOM_SEED=\"$(localstatedir)/lib/systemd/random-seed\" \ -DSYSTEMD_CRYPTSETUP_PATH=\"$(rootlibexecdir)/systemd-cryptsetup\" \ -DSYSTEM_GENERATOR_PATH=\"$(systemgeneratordir)\" \ @@ -176,6 +177,7 @@ AM_CPPFLAGS = \ -DQUOTACHECK=\"$(QUOTACHECK)\" \ -DKEXEC=\"$(KEXEC)\" \ -I $(top_srcdir)/src \ + -I $(top_builddir)/src/shared \ -I $(top_srcdir)/src/shared \ -I $(top_srcdir)/src/network \ -I $(top_srcdir)/src/login \ @@ -217,6 +219,7 @@ LOCAL_FS_TARGET_WANTS = MULTI_USER_TARGET_WANTS = SYSINIT_TARGET_WANTS = SOCKETS_TARGET_WANTS = +BUSNAMES_TARGET_WANTS = TIMERS_TARGET_WANTS = SYSTEM_UNIT_ALIASES = @@ -235,6 +238,7 @@ install-target-wants-hook: what="$(MULTI_USER_TARGET_WANTS)" && wants=multi-user.target && $(add-wants) what="$(SYSINIT_TARGET_WANTS)" && wants=sysinit.target && $(add-wants) what="$(SOCKETS_TARGET_WANTS)" && wants=sockets.target && $(add-wants) + what="$(BUSNAMES_TARGET_WANTS)" && wants=busnames.target && $(add-wants) what="$(TIMERS_TARGET_WANTS)" && wants=timers.target && $(add-wants) what="$(SLICES_TARGET_WANTS)" && wants=slices.target && $(add-wants) @@ -300,7 +304,6 @@ rootbin_PROGRAMS = \ bin_PROGRAMS = \ systemd-cgls \ systemd-cgtop \ - systemd-stdio-bridge \ systemd-nspawn \ systemd-detect-virt \ systemd-delta \ @@ -327,6 +330,7 @@ rootlibexec_PROGRAMS = \ systemd-ac-power \ systemd-sysctl \ systemd-sleep \ + systemd-bus-proxyd \ systemd-socket-proxyd systemgenerator_PROGRAMS = \ @@ -391,6 +395,7 @@ dist_systemunit_DATA = \ units/sigpwr.target \ units/sleep.target \ units/sockets.target \ + units/busnames.target \ units/timers.target \ units/paths.target \ units/suspend.target \ @@ -646,9 +651,13 @@ test_rtnl_SOURCES = \ test_rtnl_LDADD = \ libsystemd-rtnl.la \ + libsystemd-bus-internal.la \ + libsystemd-daemon-internal.la \ + libsystemd-id128-internal.la \ libsystemd-shared.la -tests += test-rtnl +tests += \ + test-rtnl # ------------------------------------------------------------------------------ noinst_LTLIBRARIES += \ @@ -659,16 +668,22 @@ libsystemd_shared_la_SOURCES = \ src/shared/linux/fanotify.h \ src/shared/linux/seccomp.h \ src/shared/linux/seccomp-bpf.h \ + src/shared/ioprio.h \ src/shared/missing.h \ + src/shared/initreq.h \ + src/shared/securebits.h \ + src/shared/special.h \ src/shared/list.h \ src/shared/macro.h \ src/shared/def.h \ + src/shared/sparse-endian.h \ + src/shared/refcnt.h \ + src/shared/udev-util.h \ + src/shared/bus-errors.h \ src/shared/device-nodes.c \ src/shared/device-nodes.h \ - src/shared/sparse-endian.h \ src/shared/util.c \ src/shared/util.h \ - src/shared/udev-util.h \ src/shared/virt.c \ src/shared/virt.h \ src/shared/efivars.c \ @@ -709,7 +724,6 @@ libsystemd_shared_la_SOURCES = \ src/shared/gunicode.h \ src/shared/pager.c \ src/shared/pager.h \ - src/shared/ioprio.h \ src/shared/socket-util.c \ src/shared/socket-util.h \ src/shared/conf-files.c \ @@ -745,7 +759,6 @@ libsystemd_shared_la_SOURCES = \ src/shared/acpi-fpdt.c \ src/shared/boot-timestamps.h \ src/shared/boot-timestamps.c \ - src/shared/refcnt.h \ src/shared/mkdir.c \ src/shared/mkdir.h \ src/shared/smack-util.c \ @@ -757,22 +770,19 @@ libsystemd_shared_la_SOURCES = \ src/shared/ptyfwd.c \ src/shared/ptyfwd.h \ src/shared/net-util.c \ - src/shared/net-util.h - -#------------------------------------------------------------------------------- -noinst_LTLIBRARIES += \ - libsystemd-dbus.la - -libsystemd_dbus_la_SOURCES = \ - src/shared/dbus-common.c \ - src/shared/dbus-common.h - -libsystemd_dbus_la_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) + src/shared/net-util.h \ + src/shared/errno-list.c \ + src/shared/errno-list.h \ + src/shared/syscall-list.c \ + src/shared/syscall-list.h \ + src/shared/audit.c \ + src/shared/audit.h -libsystemd_dbus_la_LIBADD = \ - $(DBUS_LIBS) +nodist_libsystemd_shared_la_SOURCES = \ + src/shared/errno-from-name.h \ + src/shared/errno-to-name.h \ + src/shared/syscall-from-name.h \ + src/shared/syscall-to-name.h # ------------------------------------------------------------------------------ noinst_LTLIBRARIES += \ @@ -788,10 +798,6 @@ libsystemd_units_la_SOURCES = \ src/shared/specifier.c \ src/shared/specifier.h -libsystemd_units_la_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - # ------------------------------------------------------------------------------ noinst_LTLIBRARIES += \ libsystemd-label.la @@ -840,14 +846,6 @@ libsystemd_capability_la_CFLAGS = \ libsystemd_capability_la_LIBADD = \ $(CAP_LIBS) -# ------------------------------------------------------------------------------ -noinst_LTLIBRARIES += \ - libsystemd-audit.la - -libsystemd_audit_la_SOURCES = \ - src/shared/audit.c \ - src/shared/audit.h - # ------------------------------------------------------------------------------ if HAVE_ACL noinst_LTLIBRARIES += \ @@ -884,20 +882,22 @@ libsystemd_core_la_SOURCES = \ src/core/load-fragment.h \ src/core/service.c \ src/core/service.h \ - src/core/automount.c \ - src/core/automount.h \ - src/core/mount.c \ - src/core/mount.h \ - src/core/swap.c \ - src/core/swap.h \ - src/core/device.c \ - src/core/device.h \ + src/core/socket.c \ + src/core/socket.h \ + src/core/busname.c \ + src/core/busname.h \ src/core/target.c \ src/core/target.h \ src/core/snapshot.c \ src/core/snapshot.h \ - src/core/socket.c \ - src/core/socket.h \ + src/core/device.c \ + src/core/device.h \ + src/core/mount.c \ + src/core/mount.h \ + src/core/automount.c \ + src/core/automount.h \ + src/core/swap.c \ + src/core/swap.h \ src/core/timer.c \ src/core/timer.h \ src/core/path.c \ @@ -924,20 +924,22 @@ libsystemd_core_la_SOURCES = \ src/core/dbus-service.h \ src/core/dbus-socket.c \ src/core/dbus-socket.h \ - src/core/dbus-timer.c \ - src/core/dbus-timer.h \ + src/core/dbus-busname.c \ + src/core/dbus-busname.h \ src/core/dbus-target.c \ src/core/dbus-target.h \ + src/core/dbus-snapshot.c \ + src/core/dbus-snapshot.h \ + src/core/dbus-device.c \ + src/core/dbus-device.h \ src/core/dbus-mount.c \ src/core/dbus-mount.h \ src/core/dbus-automount.c \ src/core/dbus-automount.h \ src/core/dbus-swap.c \ src/core/dbus-swap.h \ - src/core/dbus-snapshot.c \ - src/core/dbus-snapshot.h \ - src/core/dbus-device.c \ - src/core/dbus-device.h \ + src/core/dbus-timer.c \ + src/core/dbus-timer.h \ src/core/dbus-path.c \ src/core/dbus-path.h \ src/core/dbus-slice.c \ @@ -950,6 +952,8 @@ libsystemd_core_la_SOURCES = \ src/core/dbus-kill.h \ src/core/dbus-cgroup.c \ src/core/dbus-cgroup.h \ + src/core/dbus-client-track.c \ + src/core/dbus-client-track.h \ src/core/cgroup.c \ src/core/cgroup.h \ src/core/selinux-access.c \ @@ -976,18 +980,12 @@ libsystemd_core_la_SOURCES = \ src/core/namespace.h \ src/core/tcpwrap.c \ src/core/tcpwrap.h \ - src/core/securebits.h \ - src/core/initreq.h \ - src/core/special.h \ - src/core/bus-errors.h \ src/core/build.h \ src/core/sysfs-show.h \ src/core/switch-root.h \ src/core/switch-root.c \ src/core/killall.h \ src/core/killall.c \ - src/core/syscall-list.c \ - src/core/syscall-list.h \ src/core/audit-fd.c \ src/core/audit-fd.h \ src/core/async.c \ @@ -1001,13 +999,10 @@ endif nodist_libsystemd_core_la_SOURCES = \ src/core/load-fragment-gperf.c \ - src/core/load-fragment-gperf-nulstr.c \ - src/core/syscall-from-name.h \ - src/core/syscall-to-name.h + src/core/load-fragment-gperf-nulstr.c libsystemd_core_la_CFLAGS = \ $(AM_CFLAGS) \ - $(DBUS_CFLAGS) \ $(LIBWRAP_CFLAGS) \ $(PAM_CFLAGS) \ $(AUDIT_CFLAGS) \ @@ -1018,12 +1013,12 @@ libsystemd_core_la_LIBADD = \ libsystemd-capability.la \ libsystemd-units.la \ libsystemd-label.la \ - libsystemd-dbus.la \ - libsystemd-audit.la \ libsystemd-id128-internal.la \ libsystemd-daemon-internal.la \ libudev-internal.la \ libsystemd-shared.la \ + libsystemd-rtnl.la \ + libsystemd-bus-internal.la \ $(LIBWRAP_LIBS) \ $(PAM_LIBS) \ $(AUDIT_LIBS) \ @@ -1041,37 +1036,53 @@ CLEANFILES += \ src/core/load-fragment-gperf.gperf \ src/core/load-fragment-gperf.c \ src/core/load-fragment-gperf-nulstr.c \ - src/core/syscall-list.txt \ - src/core/syscall-from-name.gperf + src/shared/syscall-list.txt \ + src/shared/syscall-from-name.gperf \ + src/shared/errno-list.txt \ + src/shared/errno-from-name.gperf BUILT_SOURCES += \ - src/core/syscall-from-name.h \ - src/core/syscall-to-name.h + src/shared/syscall-from-name.h \ + src/shared/syscall-to-name.h \ + src/shared/errno-from-name.h \ + src/shared/errno-to-name.h -src/core/syscall-list.txt: Makefile +src/shared/syscall-list.txt: $(AM_V_at)$(MKDIR_P) $(dir $@) $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include sys/syscall.h - < /dev/null | $(AWK) '/^#define[ \t]+__NR_[^ ]+[ \t]+[0-9(]/ { sub(/__NR_/, "", $$2); if ($$2 !~ /SYSCALL_BASE/) print $$2; }' > $@ -src/core/syscall-from-name.gperf: src/core/syscall-list.txt Makefile +src/shared/syscall-from-name.gperf: src/shared/syscall-list.txt $(AM_V_at)$(MKDIR_P) $(dir $@) $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct syscall_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, __NR_%s\n", $$1, $$1 }' < $< > $@ -src/core/syscall-from-name.h: src/core/syscall-from-name.gperf Makefile +src/shared/syscall-from-name.h: src/shared/syscall-from-name.gperf $(AM_V_at)$(MKDIR_P) $(dir $@) $(AM_V_GPERF)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_syscall -H hash_syscall_name -p -C < $< > $@ -src/core/syscall-to-name.h: src/core/syscall-list.txt Makefile +src/shared/syscall-to-name.h: src/shared/syscall-list.txt + $(AM_V_at)$(MKDIR_P) $(dir $@) + $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const syscall_names[] = { "} { printf "[SYSCALL_TO_INDEX(__NR_%s)] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@ + +src/shared/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]+[0-9]/ { print $$2; }' > $@ + +src/shared/errno-from-name.gperf: src/shared/errno-list.txt + $(AM_V_at)$(MKDIR_P) $(dir $@) + $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct errno_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, %s\n", $$1, $$1 }' < $< > $@ + +src/shared/errno-from-name.h: src/shared/errno-from-name.gperf $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const syscall_names[] = { "} { printf "[SYSCALL_TO_INDEX(__NR_%s)] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@ + $(AM_V_GPERF)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_errno -H hash_errno_name -p -C < $< > $@ + +src/shared/errno-to-name.h: src/shared/errno-list.txt + $(AM_V_at)$(MKDIR_P) $(dir $@) + $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@ # ------------------------------------------------------------------------------ systemd_SOURCES = \ src/core/main.c -systemd_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - systemd_LDADD = \ libsystemd-core.la \ $(RT_LIBS) @@ -1135,6 +1146,7 @@ tests += \ test-calendarspec \ test-strip-tab-ansi \ test-cgroup-util \ + test-cgroup-mask \ test-prioq \ test-fileio \ test-time \ @@ -1148,7 +1160,10 @@ EXTRA_DIST += \ test/sched_idle_ok.service \ test/sched_rr_bad.service \ test/sched_rr_ok.service \ - test/sched_rr_change.service + test/sched_rr_change.service \ + test/son.service \ + test/daughter.service \ + test/parent.slice EXTRA_DIST += \ src/test/test-helper.h @@ -1162,10 +1177,6 @@ test_device_nodes_LDADD = \ test_engine_SOURCES = \ src/test/test-engine.c -test_engine_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - test_engine_LDADD = \ libsystemd-core.la \ $(RT_LIBS) @@ -1173,10 +1184,6 @@ test_engine_LDADD = \ test_job_type_SOURCES = \ src/test/test-job-type.c -test_job_type_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - test_job_type_LDADD = \ libsystemd-core.la \ $(RT_LIBS) @@ -1187,10 +1194,6 @@ test_ns_SOURCES = \ test_ns_LDADD = \ libsystemd-core.la -test_ns_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - test_loopback_SOURCES = \ src/test/test-loopback.c @@ -1217,10 +1220,6 @@ endif test_unit_name_SOURCES = \ src/test/test-unit-name.c -test_unit_name_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - test_unit_name_LDADD = \ libsystemd-core.la \ $(RT_LIBS) @@ -1228,10 +1227,6 @@ test_unit_name_LDADD = \ test_unit_file_SOURCES = \ src/test/test-unit-file.c -test_unit_file_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - test_unit_file_LDADD = \ libsystemd-core.la \ $(RT_LIBS) @@ -1270,10 +1265,6 @@ test_tables_SOURCES = \ src/test/test-tables.c \ src/shared/test-tables.h -test_tables_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - test_tables_LDADD = \ libsystemd-logs.la \ libsystemd-journal-internal.la \ @@ -1354,6 +1345,17 @@ test_cgroup_LDADD = \ libsystemd-label.la \ libsystemd-shared.la +test_cgroup_mask_SOURCES = \ + src/test/test-cgroup-mask.c + +test_cgroup_mask_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + -DTEST_DIR=\"$(abs_top_srcdir)/test\" + +test_cgroup_mask_LDADD = \ + libsystemd-core.la \ + $(RT_LIBS) + test_cgroup_util_SOURCES = \ src/test/test-cgroup-util.c @@ -1397,10 +1399,6 @@ test_strxcpyx_LDADD = \ test_install_SOURCES = \ src/test/test-install.c -test_install_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - test_install_LDADD = \ libsystemd-units.la \ libsystemd-label.la \ @@ -1416,10 +1414,9 @@ test_watchdog_LDADD = \ test_sched_prio_SOURCES = \ src/test/test-sched-prio.c -test_sched_prio_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) \ - -D"STR(s)=\#s" -D"TEST_DIR=STR($(abs_top_srcdir)/test/)" +test_sched_prio_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + -DTEST_DIR=\"$(abs_top_srcdir)/test\" test_sched_prio_LDADD = \ libsystemd-core.la \ @@ -1563,11 +1560,10 @@ EXTRA_DIST += \ # ------------------------------------------------------------------------------ if ENABLE_TMPFILES systemd_tmpfiles_SOURCES = \ - src/tmpfiles/tmpfiles.c \ - src/shared/specifier.c \ - src/shared/specifier.h + src/tmpfiles/tmpfiles.c systemd_tmpfiles_LDADD = \ + libsystemd-units.la \ libsystemd-label.la \ libsystemd-capability.la \ libsystemd-id128-internal.la \ @@ -1730,6 +1726,10 @@ bootctl_LDADD = \ bin_PROGRAMS += \ bootctl + +dist_zshcompletion_DATA += \ + shell-completion/zsh/_bootctl + endif # ------------------------------------------------------------------------------ @@ -1752,6 +1752,18 @@ systemd_gpt_auto_generator_CFLAGS = \ $(BLKID_CFLAGS) endif +# ------------------------------------------------------------------------------ +systemgenerator_PROGRAMS += \ + systemd-dbus1-generator + +systemd_dbus1_generator_SOURCES = \ + src/dbus1-generator/dbus1-generator.c + +systemd_dbus1_generator_LDADD = \ + libsystemd-label.la \ + libsystemd-shared.la \ + libsystemd-bus-internal.la + # ------------------------------------------------------------------------------ systemd_rc_local_generator_SOURCES = \ src/rc-local-generator/rc-local-generator.c @@ -1788,8 +1800,14 @@ systemctl_LDADD = \ libsystemd-units.la \ libsystemd-label.la \ libsystemd-bus-internal.la \ - libsystemd-logs.la \ - libsystemd-login-internal.la \ + libsystemd-logs.la + +if ENABLE_LOGIND +systemctl_LDADD += \ + libsystemd-login-internal.la +endif + +systemctl_LDADD += \ libsystemd-journal-internal.la \ libsystemd-id128-internal.la \ libsystemd-daemon-internal.la \ @@ -1847,7 +1865,8 @@ systemd_nspawn_LDADD = \ libsystemd-bus-internal.la \ libsystemd-id128-internal.la \ libsystemd-daemon-internal.la \ - libsystemd-shared.la + libsystemd-shared.la \ + libsystemd-rtnl.la # ------------------------------------------------------------------------------ systemd_run_SOURCES = \ @@ -1862,15 +1881,41 @@ systemd_run_LDADD = \ libsystemd-shared.la # ------------------------------------------------------------------------------ -systemd_stdio_bridge_SOURCES = \ - src/stdio-bridge/stdio-bridge.c +systemd_bus_proxyd_SOURCES = \ + src/bus-proxyd/bus-proxyd.c -systemd_stdio_bridge_LDADD = \ +systemd_bus_proxyd_LDADD = \ libsystemd-bus-internal.la \ libsystemd-daemon-internal.la \ libsystemd-id128-internal.la \ libsystemd-shared.la +bus-proxyd-install-hook: + $(AM_V_LN)$(LN_S) -f ../../lib/systemd/systemd-bus-proxyd $(DESTDIR)$(bindir)/systemd-stdio-bridge + +bus-proxyd-uninstall-hook: + rm -f $(DESTDIR)$(bindir)/systemd-stdio-bridge + +INSTALL_EXEC_HOOKS += bus-proxyd-install-hook +UNINSTALL_EXEC_HOOKS += bus-proxyd-uninstall-hook + +if ENABLE_KDBUS +nodist_systemunit_DATA += \ + units/systemd-bus-proxyd@.service + +dist_systemunit_DATA += \ + units/systemd-bus-proxyd.socket + +dist_userunit_DATA += \ + units/user/systemd-bus-proxyd.socket + +USER_UNIT_ALIASES += \ + $(systemunitdir)/systemd-bus-proxyd@.service systemd-bus-proxyd@.service +endif + +EXTRA_DIST += \ + units/systemd-bus-proxyd@.service.in + # ------------------------------------------------------------------------------ systemd_tty_ask_password_agent_SOURCES = \ src/tty-ask-password-agent/tty-ask-password-agent.c @@ -1953,6 +1998,8 @@ libsystemd_bus_la_SOURCES = \ src/libsystemd-bus/bus-container.h \ src/libsystemd-bus/bus-message.c \ src/libsystemd-bus/bus-message.h \ + src/libsystemd-bus/bus-creds.c \ + src/libsystemd-bus/bus-creds.h \ src/libsystemd-bus/bus-signature.c \ src/libsystemd-bus/bus-signature.h \ src/libsystemd-bus/bus-type.c \ @@ -1965,6 +2012,8 @@ libsystemd_bus_la_SOURCES = \ src/libsystemd-bus/bus-introspect.h \ src/libsystemd-bus/bus-objects.c \ src/libsystemd-bus/bus-objects.h \ + src/libsystemd-bus/bus-gvariant.c \ + src/libsystemd-bus/bus-gvariant.h \ src/libsystemd-bus/bus-convenience.c \ src/libsystemd-bus/kdbus.h \ src/libsystemd-bus/sd-memfd.c \ @@ -1972,7 +2021,11 @@ libsystemd_bus_la_SOURCES = \ src/libsystemd-bus/bus-util.h \ src/libsystemd-bus/sd-utf8.c \ src/libsystemd-bus/sd-event.c \ - src/libsystemd-bus/event-util.h + src/libsystemd-bus/event-util.h \ + src/libsystemd-bus/bus-protocol.h + +nodist_libsystemd_bus_la_SOURCES = \ + src/libsystemd-bus/bus-error-mapping.c libsystemd_bus_la_LIBADD = \ libsystemd-id128-internal.la \ @@ -1992,7 +2045,13 @@ pkgconfiglib_DATA += \ src/libsystemd-bus/libsystemd-bus.pc EXTRA_DIST += \ - src/libsystemd-bus/libsystemd-bus.pc.in + src/libsystemd-bus/bus-error-mapping.gperf \ + src/libsystemd-bus/libsystemd-bus.pc.in \ + src/libsystemd-bus/DIFFERENCES \ + src/libsystemd-bus/GVARIANT-SERIALIZATION + +CLEANFILES += \ + src/libsystemd-bus/bus-error-mapping.c lib_LTLIBRARIES += \ libsystemd-bus.la @@ -2000,6 +2059,9 @@ lib_LTLIBRARIES += \ libsystemd_bus_internal_la_SOURCES = \ $(libsystemd_bus_la_SOURCES) +nodist_libsystemd_bus_internal_la_SOURCES = \ + $(nodist_libsystemd_bus_la_SOURCES) + libsystemd_bus_internal_la_CFLAGS = \ $(libsystemd_bus_la_CFLAGS) @@ -2011,7 +2073,7 @@ libsystemd_bus_dump_la_SOURCES = \ src/libsystemd-bus/bus-dump.h libsystemd_bus_dump_la_CFLAGS = \ - $(AM_CFLAGS) + $(AM_CFLAGS) \ $(CAP_CFLAGS) noinst_LTLIBRARIES += \ @@ -2030,6 +2092,9 @@ tests += \ test-bus-zero-copy \ test-bus-introspect \ test-bus-objects \ + test-bus-error \ + test-bus-creds \ + test-bus-gvariant \ test-event bin_PROGRAMS += \ @@ -2105,6 +2170,44 @@ test_bus_objects_LDADD = \ libsystemd-capability.la \ $(CAP_LIBS) +test_bus_error_SOURCES = \ + src/libsystemd-bus/test-bus-error.c + +test_bus_error_LDADD = \ + libsystemd-bus-internal.la \ + libsystemd-id128-internal.la \ + libsystemd-daemon-internal.la \ + libsystemd-shared.la + +test_bus_gvariant_SOURCES = \ + src/libsystemd-bus/test-bus-gvariant.c + +test_bus_gvariant_LDADD = \ + libsystemd-bus-internal.la \ + libsystemd-id128-internal.la \ + libsystemd-daemon-internal.la \ + libsystemd-shared.la \ + libsystemd-bus-dump.la \ + libsystemd-capability.la \ + $(GLIB_LIBS) \ + $(CAP_LIBS) + +test_bus_gvariant_CFLAGS = \ + $(AM_CFLAGS) \ + $(GLIB_CFLAGS) + $(CAP_CFLAGS) + +test_bus_creds_SOURCES = \ + src/libsystemd-bus/test-bus-creds.c + +test_bus_creds_LDADD = \ + libsystemd-bus-internal.la \ + libsystemd-id128-internal.la \ + libsystemd-daemon-internal.la \ + libsystemd-shared.la \ + libsystemd-bus-dump.la \ + libsystemd-capability.la + test_bus_match_SOURCES = \ src/libsystemd-bus/test-bus-match.c @@ -2366,17 +2469,17 @@ rootlibexec_PROGRAMS += \ noinst_LTLIBRARIES += \ libudev-core.la -src/udev/keyboard-keys.txt: Makefile +src/udev/keyboard-keys.txt: $(AM_V_at)$(MKDIR_P) $(dir $@) $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include linux/input.h - < /dev/null | $(AWK) '/^#define[ \t]+KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@ -src/udev/keyboard-keys-from-name.gperf: src/udev/keyboard-keys.txt Makefile +src/udev/keyboard-keys-from-name.gperf: src/udev/keyboard-keys.txt $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print tolower(substr($$1 ,5)) ", " $$1 }' < $< > $@ -src/udev/keyboard-keys-from-name.h: src/udev/keyboard-keys-from-name.gperf Makefile +src/udev/keyboard-keys-from-name.h: src/udev/keyboard-keys-from-name.gperf $(AM_V_GPERF)$(GPERF) -L ANSI-C -t -N keyboard_lookup_key -H hash_key_name -p -C < $< > $@ -src/udev/keyboard-keys-to-name.h: src/udev/keyboard-keys.txt Makefile +src/udev/keyboard-keys-to-name.h: src/udev/keyboard-keys.txt $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@ libudev_core_la_SOURCES = \ @@ -2791,9 +2894,6 @@ mtd_probe_SOURCES = \ src/udev/mtd_probe/mtd_probe.h \ src/udev/mtd_probe/probe_smartmedia.c -mtd_probe_CPPFLAGS = \ - $(AM_CPPFLAGS) - dist_udevrules_DATA += \ rules/75-probe_mtd.rules @@ -2876,7 +2976,9 @@ systemd_journald_SOURCES = \ src/journal/journald-server.h systemd_journald_LDADD = \ - libsystemd-journal-core.la + libsystemd-journal-core.la \ + libsystemd-bus-internal.la \ + libsystemd-shared.la systemd_cat_SOURCES = \ src/journal/cat.c @@ -2950,6 +3052,12 @@ test_journal_stream_SOURCES = \ test_journal_stream_LDADD = \ libsystemd-journal-core.la +test_journal_flush_SOURCES = \ + src/journal/test-journal-flush.c + +test_journal_flush_LDADD = \ + libsystemd-journal-core.la + test_journal_init_SOURCES = \ src/journal/test-journal-init.c @@ -2977,8 +3085,8 @@ test_mmap_cache_LDADD = \ test_catalog_SOURCES = \ src/journal/test-catalog.c -test_catalog_CFLAGS = \ - $(AM_CFLAGS) \ +test_catalog_CPPFLAGS = \ + $(AM_CPPFLAGS) \ -DCATALOG_DIR=\"$(abs_top_srcdir)/catalog\" test_catalog_LDADD = \ @@ -3069,7 +3177,6 @@ nodist_libsystemd_journal_core_la_SOURCES = \ libsystemd_journal_core_la_LIBADD = \ libsystemd-journal-internal.la \ libudev-internal.la \ - libsystemd-audit.la \ libsystemd-capability.la \ libsystemd-label.la \ libsystemd-daemon-internal.la \ @@ -3156,6 +3263,7 @@ tests += \ test-journal-init \ test-journal-verify \ test-journal-interleaving \ + test-journal-flush \ test-mmap-cache \ test-catalog @@ -3193,6 +3301,9 @@ pkgconfiglib_DATA += \ src/journal/libsystemd-journal.pc dist_catalog_DATA = \ + catalog/systemd.fr.catalog \ + catalog/systemd.ru.catalog \ + catalog/systemd.it.catalog \ catalog/systemd.catalog SOCKETS_TARGET_WANTS += \ @@ -3233,9 +3344,12 @@ systemd_journal_gatewayd_LDADD = \ systemd_journal_gatewayd_CFLAGS = \ $(AM_CFLAGS) \ - -DDOCUMENT_ROOT=\"$(gatewayddocumentrootdir)\" \ $(MICROHTTPD_CFLAGS) +systemd_journal_gatewayd_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + -DDOCUMENT_ROOT=\"$(gatewayddocumentrootdir)\" + dist_systemunit_DATA += \ units/systemd-journal-gatewayd.socket @@ -3557,6 +3671,9 @@ rootlibexec_PROGRAMS += \ nodist_systemunit_DATA += \ units/systemd-hostnamed.service +dist_systemunit_DATA += \ + units/org.freedesktop.hostname1.busname + dist_dbuspolicy_DATA += \ src/hostname/org.freedesktop.hostname1.conf @@ -3569,6 +3686,9 @@ polkitpolicy_files += \ SYSTEM_UNIT_ALIASES += \ systemd-hostnamed.service dbus-org.freedesktop.hostname1.service +BUSNAMES_TARGET_WANTS += \ + org.freedesktop.hostname1.busname + hostnamectl_SOURCES = \ src/hostname/hostnamectl.c @@ -3595,6 +3715,34 @@ polkitpolicy_in_files += \ EXTRA_DIST += \ units/systemd-hostnamed.service.in +# ------------------------------------------------------------------------------ +if ENABLE_KDBUS +systemd_bus_driverd_SOURCES = \ + src/bus-driverd/bus-driverd.c + +systemd_bus_driverd_LDADD = \ + libsystemd-bus-internal.la \ + libsystemd-id128-internal.la \ + libsystemd-daemon-internal.la \ + libsystemd-shared.la + +rootlibexec_PROGRAMS += \ + systemd-bus-driverd + +nodist_systemunit_DATA += \ + units/systemd-bus-driverd.service + +dist_systemunit_DATA += \ + units/org.freedesktop.DBus.busname + +BUSNAMES_TARGET_WANTS += \ + org.freedesktop.DBus.busname + +endif + +EXTRA_DIST += \ + units/systemd-bus-driverd.service.in + # ------------------------------------------------------------------------------ if ENABLE_LOCALED systemd_localed_SOURCES = \ @@ -3610,6 +3758,9 @@ systemd_localed_LDADD = \ nodist_systemunit_DATA += \ units/systemd-localed.service +dist_systemunit_DATA += \ + units/org.freedesktop.locale1.busname + rootlibexec_PROGRAMS += \ systemd-localed @@ -3625,6 +3776,9 @@ polkitpolicy_files += \ SYSTEM_UNIT_ALIASES += \ systemd-localed.service dbus-org.freedesktop.locale1.service +BUSNAMES_TARGET_WANTS += \ + org.freedesktop.locale1.busname + dist_pkgdata_DATA += \ src/locale/kbd-model-map @@ -3684,6 +3838,9 @@ dist_dbuspolicy_DATA += \ nodist_systemunit_DATA += \ units/systemd-timedated.service +dist_systemunit_DATA += \ + units/org.freedesktop.timedate1.busname + polkitpolicy_files += \ src/timedate/org.freedesktop.timedate1.policy @@ -3694,6 +3851,9 @@ INSTALL_DIRS += \ SYSTEM_UNIT_ALIASES += \ systemd-timedated.service dbus-org.freedesktop.timedate1.service +BUSNAMES_TARGET_WANTS += \ + org.freedesktop.timedate1.busname + timedatectl_SOURCES = \ src/timedate/timedatectl.c @@ -3738,6 +3898,46 @@ lib_LTLIBRARIES += \ libnss_myhostname.la endif +# ------------------------------------------------------------------------------ +libsystemd_dhcp_la_SOURCES = \ + src/systemd/sd-dhcp-client.h \ + src/libsystemd-dhcp/dhcp-protocol.h \ + src/libsystemd-dhcp/dhcp-internal.h \ + src/libsystemd-dhcp/dhcp-network.c \ + src/libsystemd-dhcp/dhcp-option.c \ + src/libsystemd-dhcp/dhcp-client.c + +noinst_LTLIBRARIES += \ + libsystemd-dhcp.la + +libsystemd_dhcp_la_LIBADD = \ + libsystemd-shared.la \ + libsystemd-bus.la + +test_dhcp_option_SOURCES = \ + src/libsystemd-dhcp/dhcp-protocol.h \ + src/libsystemd-dhcp/dhcp-internal.h \ + src/libsystemd-dhcp/test-dhcp-option.c + +test_dhcp_option_LDADD = \ + libsystemd-dhcp.la \ + libsystemd-shared.la + +test_dhcp_client_SOURCES = \ + src/libsystemd-dhcp/dhcp-protocol.h \ + src/systemd/sd-dhcp-client.h \ + src/libsystemd-dhcp/dhcp-internal.h \ + src/libsystemd-dhcp/test-dhcp-client.c + +test_dhcp_client_LDADD = \ + libsystemd-dhcp.la \ + libsystemd-shared.la \ + libsystemd-bus.la + +tests += \ + test-dhcp-option \ + test-dhcp-client + # ------------------------------------------------------------------------------ if ENABLE_MACHINED systemd_machined_SOURCES = \ @@ -3758,7 +3958,6 @@ libsystemd_machine_core_la_SOURCES = \ libsystemd_machine_core_la_LIBADD = \ libsystemd-label.la \ - libsystemd-audit.la \ libsystemd-daemon-internal.la \ libsystemd-bus-internal.la \ libsystemd-id128-internal.la \ @@ -3793,7 +3992,8 @@ nodist_systemunit_DATA += \ units/systemd-machined.service dist_systemunit_DATA += \ - units/machine.slice + units/machine.slice \ + units/org.freedesktop.machine1.busname dist_dbussystemservice_DATA += \ src/machine/org.freedesktop.machine1.service @@ -3807,6 +4007,9 @@ dist_zshcompletion_DATA += \ SYSTEM_UNIT_ALIASES += \ systemd-machined.service dbus-org.freedesktop.machine1.service +BUSNAMES_TARGET_WANTS += \ + org.freedesktop.machine1.busname + EXTRA_DIST += \ units/systemd-machined.service.in @@ -3821,6 +4024,7 @@ systemd_networkd_SOURCES = \ src/network/networkd.h \ src/network/networkd.c \ src/network/networkd-link.c \ + src/network/networkd-bridge.c \ src/network/networkd-network.c \ src/network/networkd-address.c \ src/network/networkd-route.c \ @@ -3831,7 +4035,9 @@ nodist_systemd_networkd_SOURCES = \ systemd_networkd_LDADD = \ libudev-internal.la \ - libsystemd-bus.la \ + libsystemd-daemon-internal.la \ + libsystemd-bus-internal.la \ + libsystemd-id128-internal.la \ libsystemd-rtnl.la \ libsystemd-shared.la @@ -3845,6 +4051,7 @@ test_network_SOURCES = \ src/network/test-network.c \ src/network/networkd.h \ src/network/networkd-link.c \ + src/network/networkd-bridge.c \ src/network/networkd-network.c \ src/network/networkd-address.c \ src/network/networkd-route.c \ @@ -3853,11 +4060,14 @@ test_network_SOURCES = \ test_network_LDADD = \ libudev-internal.la \ - libsystemd-bus.la \ + libsystemd-bus-internal.la \ + libsystemd-id128-internal.la \ + libsystemd-daemon-internal.la \ libsystemd-rtnl.la \ libsystemd-shared.la -tests += test-network +tests += \ + test-network EXTRA_DIST += \ src/network/networkd-gperf.gperf \ @@ -3881,7 +4091,6 @@ systemd_logind_LDADD = \ libsystemd_logind_core_la_SOURCES = \ src/login/logind-core.c \ - src/login/logind-dbus.c \ src/login/logind-device.c \ src/login/logind-device.h \ src/login/logind-button.c \ @@ -3898,6 +4107,7 @@ libsystemd_logind_core_la_SOURCES = \ 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 \ @@ -3908,7 +4118,6 @@ libsystemd_logind_core_la_SOURCES = \ libsystemd_logind_core_la_LIBADD = \ libsystemd-label.la \ libsystemd-capability.la \ - libsystemd-audit.la \ libsystemd-daemon-internal.la \ libsystemd-id128-internal.la \ libsystemd-bus-internal.la \ @@ -4048,7 +4257,6 @@ pam_systemd_la_LDFLAGS = \ pam_systemd_la_LIBADD = \ libsystemd-capability.la \ - libsystemd-audit.la \ libsystemd-bus-internal.la \ libsystemd-id128-internal.la \ libsystemd-daemon-internal.la \ @@ -4077,7 +4285,8 @@ nodist_systemunit_DATA += \ units/systemd-user-sessions.service dist_systemunit_DATA += \ - units/user.slice + units/user.slice \ + units/org.freedesktop.login1.busname dist_dbussystemservice_DATA += \ src/login/org.freedesktop.login1.service @@ -4113,6 +4322,11 @@ MULTI_USER_TARGET_WANTS += \ SYSTEM_UNIT_ALIASES += \ systemd-logind.service dbus-org.freedesktop.login1.service +BUSNAMES_TARGET_WANTS += \ + org.freedesktop.login1.busname + +if ENABLE_MULTI_SEAT_X + systemd_multi_seat_x_SOURCES = \ src/login/multi-seat-x.c @@ -4123,6 +4337,8 @@ systemd_multi_seat_x_LDADD = \ rootlibexec_PROGRAMS += \ systemd-multi-seat-x +endif + dist_udevrules_DATA += \ src/login/70-uaccess.rules \ src/login/70-power-switch.rules @@ -4269,7 +4485,7 @@ dist_pkgpyexec_PYTHON = \ src/python-systemd/daemon.py \ src/python-systemd/__init__.py -src/python-systemd/id128-constants.h: src/systemd/sd-messages.h Makefile +src/python-systemd/id128-constants.h: src/systemd/sd-messages.h $(AM_V_at)$(MKDIR_P) $(dir $@) $(AM_V_GEN)$(SED) -n -r 's/,//g; s/#define (SD_MESSAGE_[A-Z0-9_]+)\s.*/add_id(m, "\1", \1) JOINER/p' <$< >$@ @@ -4329,6 +4545,7 @@ substitutions = \ '|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \ '|PACKAGE_NAME=$(PACKAGE_NAME)|' \ '|PACKAGE_URL=$(PACKAGE_URL)|' \ + '|RANDOM_SEED_DIR=$(localstatedir)/lib/systemd/|' \ '|RANDOM_SEED=$(localstatedir)/lib/systemd/random-seed|' \ '|prefix=$(prefix)|' \ '|exec_prefix=$(exec_prefix)|' \ @@ -4356,28 +4573,28 @@ SED_PROCESS = \ $(SED) $(subst '|,-e 's|@,$(subst =,\@|,$(subst |',|g',$(substitutions)))) \ < $< > $@ -units/%: units/%.in Makefile +units/%: units/%.in $(SED_PROCESS) -man/%: man/%.in Makefile +man/%: man/%.in $(SED_PROCESS) -sysctl.d/%: sysctl.d/%.in Makefile +sysctl.d/%: sysctl.d/%.in $(SED_PROCESS) -%.pc: %.pc.in Makefile +%.pc: %.pc.in $(SED_PROCESS) -src/core/macros.%: src/core/macros.%.in Makefile +src/core/macros.%: src/core/macros.%.in $(SED_PROCESS) -src/%.policy.in: src/%.policy.in.in Makefile +src/%.policy.in: src/%.policy.in.in $(SED_PROCESS) -%.rules: %.rules.in Makefile +%.rules: %.rules.in $(SED_PROCESS) -%.sh: %.sh.in Makefile +%.sh: %.sh.in $(SED_PROCESS) $(AM_V_GEN)chmod +x $@ @@ -4389,11 +4606,11 @@ src/%: src/%.m4 $(AM_V_at)$(MKDIR_P) $(dir $@) $(AM_V_M4)$(M4) -P $(M4_DEFINES) < $< > $@ -units/%: units/%.m4 Makefile +units/%: units/%.m4 $(AM_V_M4)$(MKDIR_P) $(dir $@) $(AM_V_M4)$(M4) -P $(M4_DEFINES) -DFOR_SYSTEM=1 < $< > $@ -units/user/%: units/%.m4 Makefile +units/user/%: units/%.m4 $(AM_V_M4)$(MKDIR_P) $(dir $@) $(AM_V_M4)$(M4) -P $(M4_DEFINES) -DFOR_USER=1 < $< > $@ @@ -4416,7 +4633,7 @@ CLEANFILES += \ # ------------------------------------------------------------------------------ if ENABLE_MANPAGES -man/custom-entities.ent: Makefile +man/custom-entities.ent: $(AM_V_GEN)$(MKDIR_P) $(dir $@) $(AM_V_GEN)(echo '' && \ echo '$(subst '|,,$(substitutions))))') \ @@ -4543,6 +4760,7 @@ SYSTEM_UNIT_ALIASES += \ USER_UNIT_ALIASES += \ $(systemunitdir)/shutdown.target shutdown.target \ $(systemunitdir)/sockets.target sockets.target \ + $(systemunitdir)/busnames.target busnames.target \ $(systemunitdir)/timers.target timers.target \ $(systemunitdir)/paths.target paths.target \ $(systemunitdir)/bluetooth.target bluetooth.target \ @@ -4609,7 +4827,8 @@ DISTCHECK_CONFIGURE_FLAGS = \ --with-pamlibdir=$$dc_install_base/$(pamlibdir) \ --with-pamconfdir=$$dc_install_base/$(pamconfdir) \ --with-rootprefix=$$dc_install_base \ - --disable-split-usr + --disable-split-usr \ + --enable-kdbus if HAVE_SYSV_COMPAT DISTCHECK_CONFIGURE_FLAGS += \ @@ -4702,53 +4921,44 @@ check-api-unused: defined undefined exported define generate-sym-test $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_at)echo '#include ' > $@ - $(AM_V_at)for file in $(notdir $(filter %.h, $^)); do \ - echo "#include \"$$file\""; \ - done >> $@ - $(AM_V_at)echo 'void* functions[] = {' >> $@ - $(AM_V_GEN)sed -r -n 's/^( +[a-zA-Z0-9_]+);/\1,/p' $< >> $@ - $(AM_V_at)echo '};' >> $@ - $(AM_V_at)echo 'int main(void) {' >> $@ - $(AM_V_at)echo ' unsigned i; for (i=0;i> $@ - $(AM_V_at)echo 'return 0; }' >> $@ + $(AM_V_at)printf '#include \n' > $@ + $(AM_V_at)printf '#include "%s"\n' $(notdir $(filter %.h, $^)) >> $@ + $(AM_V_at)printf 'void* functions[] = {\n' >> $@ + $(AM_V_GEN)sed -r -n 's/^ +([a-zA-Z0-9_]+);/\1,/p' $< >> $@ + $(AM_V_at)printf '};\nint main(void) {\n' >> $@ + $(AM_V_at)printf 'unsigned i; for (i=0;i> $@ + $(AM_V_at)printf 'return 0; }\n' >> $@ endef test-libsystemd-bus-sym.c: \ src/libsystemd-bus/libsystemd-bus.sym \ src/systemd/sd-bus.h \ - src/systemd/sd-utf8.h \ - Makefile + src/systemd/sd-utf8.h $(generate-sym-test) test-libsystemd-daemon-sym.c: \ src/libsystemd-daemon/libsystemd-daemon.sym \ - src/systemd/sd-daemon.h \ - Makefile + src/systemd/sd-daemon.h $(generate-sym-test) test-libsystemd-id128-sym.c: \ src/libsystemd-id128/libsystemd-id128.sym \ - src/systemd/sd-id128.h \ - Makefile + src/systemd/sd-id128.h $(generate-sym-test) test-libsystemd-journal-sym.c: \ src/journal/libsystemd-journal.sym \ - src/systemd/sd-journal.h \ - Makefile + src/systemd/sd-journal.h $(generate-sym-test) test-libsystemd-login-sym.c: \ src/login/libsystemd-login.sym \ - src/systemd/sd-login.h \ - Makefile + src/systemd/sd-login.h $(generate-sym-test) test-libudev-sym.c: \ src/libudev/libudev.sym \ - src/udev/udev.h \ - Makefile + src/udev/udev.h $(generate-sym-test) test_libsystemd_bus_sym_SOURCES = \ @@ -4796,3 +5006,6 @@ tests += \ test-libsystemd-journal-sym \ test-libsystemd-login-sym \ test-libudev-sym + +cppcheck: + cppcheck --enable=all $(top_srcdir)