2015-04-28 04:22:58 +03:00
dbus_built_sources = rpm-ostreed-generated.h rpm-ostreed-generated.c
2017-03-25 00:57:21 +03:00
# TODO: Add --c-generate-autocleanup=all once we depend on GLib 2.50+
# https://github.com/projectatomic/rpm-ostree/pull/705
2015-04-28 04:22:58 +03:00
rpm-ostreed-generated.h: rpm-ostreed-generated.c
2017-03-25 00:57:21 +03:00
rpm-ostreed-generated.c: Makefile $(top_srcdir)/src/daemon/org.projectatomic.rpmostree1.xml
2018-06-04 16:11:24 +03:00
$(AM_V_GEN) gdbus-codegen \
2015-04-28 04:22:58 +03:00
--interface-prefix org.projectatomic.rpmostree1 \
--c-namespace RPMOSTree \
--c-generate-object-manager \
--generate-c-code rpm-ostreed-generated \
2015-07-15 23:39:25 +03:00
--generate-docbook rpm-ostreed-generated \
2015-04-28 04:22:58 +03:00
$(top_srcdir)/src/daemon/org.projectatomic.rpmostree1.xml \
$(NULL)
BUILT_SOURCES += $(dbus_built_sources)
2016-03-10 22:36:44 +03:00
CLEANFILES += rpm-ostreed-generated-org.projectatomic.rpmostree1.OS.xml \
2017-03-25 17:21:33 +03:00
rpm-ostreed-generated-org.projectatomic.rpmostree1.OSExperimental.xml \
2016-03-10 22:36:44 +03:00
rpm-ostreed-generated-org.projectatomic.rpmostree1.Sysroot.xml \
rpm-ostreed-generated-org.projectatomic.rpmostree1.Transaction.xml \
$(NULL)
2015-04-28 04:22:58 +03:00
noinst_LTLIBRARIES += librpmostreed.la
nodist_librpmostreed_la_SOURCES = $(dbus_built_sources)
librpmostreed_la_SOURCES = \
2015-08-24 22:44:40 +03:00
src/daemon/rpmostreed-types.h \
src/daemon/rpmostreed-daemon.h \
src/daemon/rpmostreed-daemon.c \
src/daemon/rpmostreed-utils.h \
src/daemon/rpmostreed-utils.c \
src/daemon/rpmostreed-sysroot.h \
src/daemon/rpmostreed-sysroot.c \
2017-03-27 21:12:05 +03:00
src/daemon/rpmostree-sysroot-core.h \
src/daemon/rpmostree-sysroot-core.c \
2015-02-11 21:06:43 +03:00
src/daemon/rpmostree-sysroot-upgrader.h \
src/daemon/rpmostree-sysroot-upgrader.c \
2015-08-24 22:44:40 +03:00
src/daemon/rpmostreed-errors.h \
src/daemon/rpmostreed-errors.c \
src/daemon/rpmostreed-deployment-utils.h \
src/daemon/rpmostreed-deployment-utils.c \
src/daemon/rpmostreed-transaction.h \
src/daemon/rpmostreed-transaction.c \
src/daemon/rpmostreed-transaction-types.h \
src/daemon/rpmostreed-transaction-types.c \
Introduce `ex livefs`
There are a few different use cases here. First, for layering new packages,
there's no good reason for us to force a reboot. Second, we want some support
for cherry-picking security updates and allowing admins to restart services. Finally,
at some point we should offer support for entirely replacing the running tree
if that's what the user wants.
Until now we've been very conservative, but there's a spectrum here. In
particular, this patch changes things so we push a rollback before we start
doing anything live. I think in practice, many use cases would be totally fine
with doing most changes live, and falling back to the rollback if something went
wrong.
This initial code drop *only* supports live layering of new packages. However,
a lot of the base infrastructure is laid for future work.
For now, this will be classified as an experimental feature, hence `ex livefs`.
Part of: https://github.com/projectatomic/rpm-ostree/issues/639
Closes: #652
Approved by: jlebon
2017-03-01 01:16:48 +03:00
src/daemon/rpmostreed-transaction-livefs.c \
2015-06-10 05:27:39 +03:00
src/daemon/rpmostree-package-variants.h \
src/daemon/rpmostree-package-variants.c \
2015-08-24 22:44:40 +03:00
src/daemon/rpmostreed-os.h \
src/daemon/rpmostreed-os.c \
2017-03-23 04:44:09 +03:00
src/daemon/rpmostreed-os-experimental.h \
src/daemon/rpmostreed-os-experimental.c \
2015-04-28 04:22:58 +03:00
$(NULL)
librpmostreed_la_CFLAGS = \
$(AM_CFLAGS) \
$(PKGDEP_RPMOSTREE_CFLAGS) \
-DG_LOG_DOMAIN=\"rpm-ostreed\" \
2018-03-28 17:08:16 +03:00
-fvisibility=hidden \
Introduce `ex livefs`
There are a few different use cases here. First, for layering new packages,
there's no good reason for us to force a reboot. Second, we want some support
for cherry-picking security updates and allowing admins to restart services. Finally,
at some point we should offer support for entirely replacing the running tree
if that's what the user wants.
Until now we've been very conservative, but there's a spectrum here. In
particular, this patch changes things so we push a rollback before we start
doing anything live. I think in practice, many use cases would be totally fine
with doing most changes live, and falling back to the rollback if something went
wrong.
This initial code drop *only* supports live layering of new packages. However,
a lot of the base infrastructure is laid for future work.
For now, this will be classified as an experimental feature, hence `ex livefs`.
Part of: https://github.com/projectatomic/rpm-ostree/issues/639
Closes: #652
Approved by: jlebon
2017-03-01 01:16:48 +03:00
-D_RPMOSTREE_EXTERN= \
2015-04-28 04:22:58 +03:00
-I$(srcdir)/src/daemon \
-I$(srcdir)/src/lib \
2016-05-10 19:17:26 +03:00
-I$(srcdir)/src/libpriv \
2015-08-10 17:47:59 +03:00
-I$(libglnx_srcpath) \
2015-04-28 04:22:58 +03:00
$(NULL)
librpmostreed_la_LIBADD = \
$(PKGDEP_RPMOSTREE_LIBS) \
2015-08-10 17:47:59 +03:00
librpmostreepriv.la \
2015-04-28 04:22:58 +03:00
librpmostree-1.la \
$(CAP_LIBS)
$(NULL)
dbusconf_DATA = $(srcdir)/src/daemon/org.projectatomic.rpmostree1.conf
2019-09-16 18:51:13 +03:00
dbusconfdir = $(datadir)/dbus-1/system.d
2015-04-28 04:22:58 +03:00
2017-12-15 20:01:46 +03:00
systemdunit_service_in_files = \
$(srcdir)/src/daemon/rpm-ostreed.service.in \
$(srcdir)/src/daemon/rpm-ostreed-automatic.service.in \
2018-11-30 01:19:38 +03:00
$(srcdir)/src/daemon/rpm-ostree-bootstatus.service.in \
2017-12-15 20:01:46 +03:00
$(NULL)
systemdunit_service_files = $(systemdunit_service_in_files:.service.in=.service)
systemdunit_timer_files = $(srcdir)/src/daemon/rpm-ostreed-automatic.timer
systemdunit_DATA = \
$(systemdunit_service_files) \
$(systemdunit_timer_files) \
$(NULL)
2015-04-28 04:22:58 +03:00
systemdunitdir = $(prefix)/lib/systemd/system/
2017-01-17 21:29:48 +03:00
if BUILDOPT_ASAN
daemon_asan_options = -e s,@SYSTEMD_ENVIRON\@,Environment=ASAN_OPTIONS=detect_leaks=false,
else
daemon_asan_options = -e /@SYSTEMD_ENVIRON\@/d
endif
2017-12-15 20:01:46 +03:00
$(systemdunit_service_files): Makefile
2017-01-17 21:29:48 +03:00
$(SED_SUBST) $(daemon_asan_options) $@.in > $@
2015-04-28 04:22:58 +03:00
2016-05-27 21:46:46 +03:00
# We keep this stub script around to have SELinux labeling work,
# plus some backwards compatibility.
libexec_SCRIPTS = rpm-ostreed
rpm-ostreed: $(srcdir)/src/daemon/rpm-ostreed-stub.sh.in Makefile
$(SED_SUBST) $< > $@.tmp && mv $@.tmp $@
2016-10-19 21:24:40 +03:00
# We don't yet rename the DBus related items
2015-04-28 04:22:58 +03:00
service_in_files = $(srcdir)/src/daemon/org.projectatomic.rpmostree1.service.in
service_DATA = $(service_in_files:.service.in=.service)
servicedir = $(dbusservicedir)
2016-05-27 21:46:46 +03:00
%.service: %.service.in Makefile
$(SED_SUBST) $@.in > $@.tmp && mv $@.tmp $@
2015-04-28 04:22:58 +03:00
2017-06-09 13:52:01 +03:00
polkit_policy_DATA = $(srcdir)/src/daemon/org.projectatomic.rpmostree1.policy
polkit_policydir = $(datadir)/polkit-1/actions
2017-06-23 11:35:46 +03:00
dbus_introspection_DATA = src/daemon/org.projectatomic.rpmostree1.xml
dbus_introspectiondir = $(datadir)/dbus-1/interfaces
2017-12-15 20:01:46 +03:00
sysconf_DATA += $(srcdir)/src/daemon/rpm-ostreed.conf
2015-04-28 04:22:58 +03:00
EXTRA_DIST += \
2017-06-23 11:35:46 +03:00
$(dbus_introspection_DATA) \
2015-04-28 04:22:58 +03:00
$(dbusservice_DATA) \
2017-06-09 13:52:01 +03:00
$(polkit_policy_DATA) \
2017-12-15 20:01:46 +03:00
$(sysconf_DATA) \
2015-04-28 04:22:58 +03:00
$(service_in_files) \
2017-12-15 20:01:46 +03:00
$(systemdunit_service_in_files) \
$(systemdunit_timer_files) \
2015-04-28 04:22:58 +03:00
$(NULL)
CLEANFILES += \
$(service_DATA) \
2017-12-15 20:01:46 +03:00
$(systemdunit_service_files) \
2015-04-28 04:22:58 +03:00
$(NULL)