diff --git a/Makefile-daemon.am b/Makefile-daemon.am index 7b928fcb..1e8040e9 100644 --- a/Makefile-daemon.am +++ b/Makefile-daemon.am @@ -1,3 +1,7 @@ +# This file used to declare a separate libtool static library. +# Now that the daemon and binary are the same thing, we have +# Makefile-rpm-ostree.am reuse these variables. + dbus_built_sources = rpm-ostreed-generated.h rpm-ostreed-generated.c # TODO: Add --c-generate-autocleanup=all once we depend on GLib 2.50+ @@ -19,10 +23,7 @@ CLEANFILES += rpm-ostreed-generated-org.projectatomic.rpmostree1.OS.xml \ rpm-ostreed-generated-org.projectatomic.rpmostree1.Transaction.xml \ $(NULL) -noinst_LTLIBRARIES += librpmostreed.la -nodist_librpmostreed_la_SOURCES = $(dbus_built_sources) - -librpmostreed_la_SOURCES = \ +librpmostreed_sources = \ src/daemon/rpmostreed-types.h \ src/daemon/rpmostreed-daemon.h \ src/daemon/rpmostreed-daemon.c \ @@ -51,25 +52,6 @@ librpmostreed_la_SOURCES = \ src/daemon/rpmostreed-os-experimental.c \ $(NULL) -rpmostreed_common_cflags = $(PKGDEP_RPMOSTREE_CFLAGS) \ - -DG_LOG_DOMAIN=\"rpm-ostreed\" \ - -fvisibility=hidden \ - -D_RPMOSTREE_EXTERN= \ - -I$(srcdir)/src/daemon \ - -I$(srcdir)/src/lib \ - -I$(srcdir)/src/libpriv \ - -I$(libglnx_srcpath) \ - $(NULL) -librpmostreed_la_CFLAGS = $(AM_CFLAGS) $(rpmostreed_common_cflags) -librpmostreed_la_CXXFLAGS = $(AM_CXXFLAGS) $(rpmostree_common_cflags) - -librpmostreed_la_LIBADD = \ - $(PKGDEP_RPMOSTREE_LIBS) \ - librpmostreepriv.la \ - librpmostree-1.la \ - $(CAP_LIBS) - $(NULL) - dbusconf_DATA = $(srcdir)/src/daemon/org.projectatomic.rpmostree1.conf dbusconfdir = $(datadir)/dbus-1/system.d diff --git a/Makefile-rpm-ostree.am b/Makefile-rpm-ostree.am index 9e4b58a9..f8db64dd 100644 --- a/Makefile-rpm-ostree.am +++ b/Makefile-rpm-ostree.am @@ -18,8 +18,6 @@ bin_PROGRAMS += rpm-ostree rpm_ostree_SOURCES = src/app/main.cxx \ - rpm-ostreed-generated.h \ - rpm-ostreed-generated.c \ src/app/rpmostree-builtins.h \ src/app/rpmostree-db-builtins.h \ src/app/rpmostree-compose-builtins.h \ @@ -62,6 +60,7 @@ rpm_ostree_SOURCES = src/app/main.cxx \ src/app/rpmostree-composeutil.cxx \ src/app/rpmostree-composeutil.h \ src/app/rpmostree-builtin-compose.c \ + $(librpmostreed_sources) \ $(NULL) if BUILDOPT_ROJIG @@ -72,12 +71,18 @@ rpm_ostree_SOURCES += \ $(NULL) endif +nodist_rpm_ostree_SOURCES = $(dbus_built_sources) + rpmostree_common_cflags = -I$(srcdir)/src/app -I$(srcdir)/src/daemon \ -I$(srcdir)/src/lib -I$(srcdir)/src/libpriv -I$(libglnx_srcpath) \ - -fvisibility=hidden -DPKGLIBDIR=\"$(pkglibdir)\" $(PKGDEP_RPMOSTREE_CFLAGS) + -fvisibility=hidden \ + -DG_LOG_DOMAIN=\"rpm-ostreed\" \ + -DLIBDIR=\"$(libdir)\" -DPKGLIBDIR=\"$(pkglibdir)\" \ + $(PKGDEP_RPMOSTREE_CFLAGS) rpm_ostree_CFLAGS = $(AM_CFLAGS) $(rpmostree_common_cflags) rpm_ostree_CXXFLAGS = $(AM_CXXFLAGS) $(rpmostree_common_cflags) -rpm_ostree_LDADD = $(PKGDEP_RPMOSTREE_LIBS) librpmostreepriv.la librpmostree-1.la librpmostreed.la +rpm_ostree_LDADD = $(PKGDEP_RPMOSTREE_LIBS) $(CAP_LIBS) libglnx.la librpmostreepriv.la librpmostree-1.la +EXTRA_rpm_ostree_DEPENDENCIES = libdnf.so.2 privdatadir=$(pkglibdir) privdata_DATA = src/app/rpm-ostree-0-integration.conf diff --git a/src/lib/rpmostree-package.c b/src/lib/rpmostree-package.c index d9040591..1caa9b6f 100644 --- a/src/lib/rpmostree-package.c +++ b/src/lib/rpmostree-package.c @@ -220,9 +220,6 @@ _rpm_ostree_package_list_for_commit (OstreeRepo *repo, * wants to link to this shared library too. So for now if we don't * find the pkglist in the commit metadata, just return as if it's * empty. - * - * TODO: Rework this to run via the special shlib-ipc that is used - * in rpmostree.c. */ g_autoptr(GVariant) pkglist_v = get_commit_rpmdb_pkglist (commit); if (!pkglist_v) diff --git a/src/lib/rpmostree.c b/src/lib/rpmostree.c index f0383b71..80ac0e22 100644 --- a/src/lib/rpmostree.c +++ b/src/lib/rpmostree.c @@ -39,8 +39,6 @@ * These APIs access generic global state. */ -#define IPC_FD 3 - GVariant * _rpmostree_shlib_ipc_send (const char *variant_type, char **args, const char *wd, GError **error) { @@ -49,7 +47,7 @@ _rpmostree_shlib_ipc_send (const char *variant_type, char **args, const char *wd if (socketpair (AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, pair) < 0) return (GVariant*)glnx_null_throw_errno_prefix (error, "couldn't create socket pair"); glnx_fd_close int my_sock_fd = glnx_steal_fd (&pair[0]); - g_subprocess_launcher_take_fd (launcher, pair[1], IPC_FD); + g_subprocess_launcher_take_fd (launcher, pair[1], RPMOSTREE_SHLIB_IPC_FD); if (wd != NULL) g_subprocess_launcher_set_cwd (launcher, wd); @@ -87,6 +85,7 @@ _rpmostree_shlib_ipc_send (const char *variant_type, char **args, const char *wd if (r < 0) return NULL; g_assert_cmpint (r, ==, 1); + g_assert_cmphex (buffer[0], ==, 0xFF); if (nm != 1) return glnx_null_throw (error, "Got %d control messages, expected 1", nm);