ec4387afba
This is part of taking over from librpm. The most important high level goal is fully unprivilged operation. Right now we're basically starting to do what http://libguestfs.org/supermin.1.html does, except in C, and faster. There's no reason that `compose tree` should require privileges. However right now, things like `%post` scripts will want to run in the target root - so we'd have to require `linux-user-chroot`. Regardless of unprivileged operation though, another major thing we can do is use our control over the unpacking process to do a lot more sophisticated caching. We can build up a precise mapping of (rpm ENVR, file path, selinux label) -> object and avoid rechecksumming each time. And even for files that aren't known, we can parallelize commit with unpacking, etc. (Ok assuming treecompose-post won't mutate anything).
43 lines
1.7 KiB
Plaintext
43 lines
1.7 KiB
Plaintext
# Copyright (C) 2015 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.
|
|
|
|
noinst_LTLIBRARIES += librpmostreepriv.la
|
|
|
|
librpmostreepriv_la_SOURCES = \
|
|
src/libpriv/rpmostree-postprocess.c \
|
|
src/libpriv/rpmostree-postprocess.h \
|
|
src/libpriv/rpmostree-json-parsing.c \
|
|
src/libpriv/rpmostree-json-parsing.h \
|
|
src/libpriv/rpmostree-util.c \
|
|
src/libpriv/rpmostree-util.h \
|
|
src/libpriv/rpmostree-passwd-util.c \
|
|
src/libpriv/rpmostree-passwd-util.h \
|
|
src/libpriv/rpmostree-refts.h \
|
|
src/libpriv/rpmostree-refts.c \
|
|
src/libpriv/rpmostree-hif.c \
|
|
src/libpriv/rpmostree-hif.h \
|
|
src/libpriv/rpmostree-refsack.h \
|
|
src/libpriv/rpmostree-refsack.c \
|
|
src/libpriv/rpmostree-cleanup.h \
|
|
src/libpriv/rpmostree-rpm-util.c \
|
|
src/libpriv/rpmostree-rpm-util.h \
|
|
src/libpriv/rpmostree-unpacker.c \
|
|
src/libpriv/rpmostree-unpacker.h \
|
|
$(NULL)
|
|
librpmostreepriv_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/src/libpriv -I$(libglnx_srcpath) -DPKGLIBDIR=\"$(pkglibdir)\" $(PKGDEP_RPMOSTREE_CFLAGS)
|
|
librpmostreepriv_la_LIBADD = $(AM_LDFLAGS) $(PKGDEP_RPMOSTREE_LIBS) libglnx.la $(CAP_LIBS)
|