2013-12-22 04:41:30 +04:00
# Copyright (C) 2013 Colin Walters <walters@verbum.org>
#
# This library 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 of the License, or (at your option) any later version.
#
# This library 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 this library; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
2014-01-29 23:37:44 +04:00
bin_PROGRAMS += rpm-ostree
2013-12-22 04:41:30 +04:00
2014-03-28 03:57:10 +04:00
noinst_LTLIBRARIES += librpmostree.la
librpmostree_la_SOURCES = \
2014-01-29 23:37:44 +04:00
src/rpmostree-postprocess.c \
2014-03-28 03:57:10 +04:00
src/rpmostree-postprocess.h \
2014-11-13 22:53:43 +03:00
src/rpmostree-json-parsing.c \
src/rpmostree-json-parsing.h \
2014-05-16 01:46:51 +04:00
src/rpmostree-util.c \
src/rpmostree-util.h \
compose: Introduce a little 'libcontainer', use it for the post script
The current motivation for this is that
https://github.com/fedora-infra/fedmsg-atomic-composer
started using mock --new-chroot (which uses systemd-nspawn) to run
rpm-ostree, which in turn uses systemd-nspawn to run the post script.
Now systemd-nspawn is not really nestable (it wants to link up
journald, resolv.conf handling, etc).
First, dropping nspawn and going to raw containers fixes the nesting
problem.
Second, we don't need all the features of systemd-nspawn. We are ok
with log messages going to stdout, and we don't use networking, so no
resolv.conf is needed.
Third, this sets a bit of a stage for more sandboxing internally when
run on real systems. I already have a prototype branch which runs
librepo as an unprivileged user, that could be combined with this for
even stronger security.
Why not use systemd? Well...I'm still debating that. But the core
problem is systemd isn't a library in the C sense - to use its
sandboxing features we have to use unit files. It's harder to have a
daemon that looks like a single service from a management perspective,
but uses sandboxing internally.
2014-11-20 02:30:00 +03:00
src/rpmostree-libcontainer.c \
src/rpmostree-libcontainer.h \
2014-03-28 03:57:10 +04:00
src/hif-utils.c \
src/hif-utils.h \
2014-11-12 02:40:58 +03:00
src/rpmostree-cleanup.h \
2014-08-05 16:21:54 +04:00
src/rpmostree-treepkgdiff.c \
src/rpmostree-treepkgdiff.h \
2014-12-02 01:38:42 +03:00
src/rpmostree-rpm-util.c \
src/rpmostree-rpm-util.h \
2014-03-28 03:57:10 +04:00
$(NULL)
2014-03-29 06:04:52 +04:00
if BUILDOPT_PATCHED_HAWKEY_AND_LIBSOLV
librpmostree_la_SOURCES += \
src/rpmostree-treepkgdiff.c \
src/rpmostree-treepkgdiff.h \
$(NULL)
endif
2014-03-28 03:57:10 +04:00
librpmostree_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/src -DPKGLIBDIR=\"$(pkglibdir)\" $(PKGDEP_RPMOSTREE_CFLAGS)
2014-11-10 04:28:10 +03:00
librpmostree_la_LIBADD = $(AM_LDFLAGS) $(PKGDEP_RPMOSTREE_LIBS) $(CAP_LIBS)
2014-03-28 03:57:10 +04:00
rpm_ostree_SOURCES = src/main.c \
2014-03-22 23:05:41 +04:00
src/rpmostree-builtins.h \
2014-12-02 01:38:42 +03:00
src/rpmostree-db-builtins.h \
2014-03-25 02:11:21 +04:00
src/rpmostree-builtin-upgrade.c \
2014-03-29 03:48:06 +04:00
src/rpmostree-builtin-rollback.c \
2014-05-30 02:00:11 +04:00
src/rpmostree-builtin-rebase.c \
2014-06-11 21:47:10 +04:00
src/rpmostree-builtin-status.c \
2014-12-02 01:38:08 +03:00
src/rpmostree-builtin-db.c \
2014-12-02 01:38:42 +03:00
src/rpmostree-db-builtin-diff.c \
src/rpmostree-db-builtin-list.c \
src/rpmostree-db-builtin-version.c \
2014-09-17 05:45:30 +04:00
$(NULL)
if BUILDOPT_COMPOSE_TOOLING
rpm_ostree_SOURCES += \
2014-05-26 23:05:08 +04:00
src/rpmostree-compose-builtin-tree.c \
src/rpmostree-compose-builtin-sign.c \
2014-09-17 05:45:30 +04:00
src/rpmostree-builtin-compose.c \
2014-01-29 23:37:44 +04:00
$(NULL)
2014-09-17 05:45:30 +04:00
endif
2014-02-08 02:29:40 +04:00
rpm_ostree_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/src -DPKGLIBDIR=\"$(pkglibdir)\" $(PKGDEP_RPMOSTREE_CFLAGS)
2014-03-28 03:57:10 +04:00
rpm_ostree_LDADD = $(AM_LDFLAGS) $(PKGDEP_RPMOSTREE_LIBS) librpmostree.la
2014-01-16 16:26:54 +04:00
2013-12-22 04:41:30 +04:00
privdatadir=$(pkglibdir)
privdata_DATA = src/tmpfiles-ostree-integration.conf
2014-05-21 16:21:20 +04:00
if BUILDOPT_USRBINATOMIC
INSTALL_DATA_HOOKS += install-usrbinatomic-hook
install-usrbinatomic-hook:
2014-05-26 23:41:58 +04:00
ln -sf rpm-ostree $(DESTDIR)$(bindir)/atomic
ln -sf rpm-ostree.1.gz $(DESTDIR)$(mandir)/man1/atomic.1.gz
2014-05-21 16:21:20 +04:00
endif