mirror of
https://github.com/ostreedev/ostree.git
synced 2025-01-10 05:18:30 +03:00
Merge pull request #3108 from cgwalters/use-external-composefs
Switch to external composefs
This commit is contained in:
commit
818af91dfe
@ -18,7 +18,7 @@ stage("Build") {
|
||||
git fetch origin --tags
|
||||
git submodule update --init
|
||||
|
||||
env MAKE_JOBS=${n} SKIP_INSTALLDEPS=1 ./ci/build.sh
|
||||
env MAKE_JOBS=${n} ./ci/build.sh
|
||||
""")
|
||||
}
|
||||
stage("Unit tests") {
|
||||
|
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -4,6 +4,3 @@
|
||||
[submodule "bsdiff"]
|
||||
path = bsdiff
|
||||
url = https://github.com/mendsley/bsdiff
|
||||
[submodule "composefs"]
|
||||
path = composefs
|
||||
url = https://github.com/containers/composefs.git
|
||||
|
@ -186,7 +186,7 @@ EXTRA_DIST += \
|
||||
$(top_srcdir)/src/libostree/libostree-released.sym \
|
||||
$(NULL)
|
||||
|
||||
libostree_1_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/bsdiff -I$(srcdir)/libglnx -I$(srcdir)/composefs -I$(srcdir)/src/libotutil -I$(srcdir)/src/libotcore -I$(srcdir)/src/libostree -I$(builddir)/src/libostree \
|
||||
libostree_1_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/bsdiff -I$(srcdir)/libglnx -I$(srcdir)/src/libotutil -I$(srcdir)/src/libotcore -I$(srcdir)/src/libostree -I$(builddir)/src/libostree \
|
||||
-I$(srcdir)/src/switchroot \
|
||||
$(OT_INTERNAL_GIO_UNIX_CFLAGS) $(OT_INTERNAL_GPGME_CFLAGS) $(OT_DEP_LZMA_CFLAGS) $(OT_DEP_ZLIB_CFLAGS) $(OT_DEP_CRYPTO_CFLAGS) \
|
||||
-fvisibility=hidden '-D_OSTREE_PUBLIC=__attribute__((visibility("default"))) extern' \
|
||||
@ -265,7 +265,7 @@ libostree_1_la_SOURCES += \
|
||||
$(NULL)
|
||||
|
||||
if USE_COMPOSEFS
|
||||
libostree_1_la_LIBADD += libcomposefs.la
|
||||
libostree_1_la_LIBADD += $(OT_DEP_COMPOSEFS_LIBS)
|
||||
endif # USE_COMPOSEFS
|
||||
|
||||
# XXX: work around clang being passed -fstack-clash-protection which it doesn't understand
|
||||
|
@ -49,7 +49,7 @@ ostree-prepare-root : $(ostree_prepare_root_SOURCES)
|
||||
CLEANFILES += ostree-prepare-root
|
||||
else
|
||||
ostree_boot_PROGRAMS += ostree-prepare-root
|
||||
ostree_prepare_root_CFLAGS += $(AM_CFLAGS) -Isrc/switchroot -I$(srcdir)/composefs -I$(srcdir)/src/libostree -I$(srcdir)/src/libotcore -I$(srcdir)/src/libotutil
|
||||
ostree_prepare_root_CFLAGS += $(AM_CFLAGS) -Isrc/switchroot -I$(srcdir)/src/libostree -I$(srcdir)/src/libotcore -I$(srcdir)/src/libotutil
|
||||
ostree_prepare_root_SOURCES += src/switchroot/ostree-prepare-root.c
|
||||
ostree_prepare_root_CPPFLAGS += $(OT_INTERNAL_GIO_UNIX_CFLAGS) $(OT_DEP_CRYPTO_CFLAGS) -I $(srcdir)/libglnx
|
||||
ostree_prepare_root_LDADD += $(AM_LDFLAGS) $(OT_INTERNAL_GIO_UNIX_LIBS) $(OT_DEP_CRYPTO_LIBS) libotcore.la libotutil.la libglnx.la
|
||||
@ -69,7 +69,7 @@ ostree_remount_LDADD += $(OT_DEP_SELINUX_LIBS)
|
||||
endif
|
||||
|
||||
if USE_COMPOSEFS
|
||||
ostree_prepare_root_LDADD += libcomposefs.la
|
||||
ostree_prepare_root_LDADD += $(OT_DEP_COMPOSEFS_LIBS)
|
||||
endif
|
||||
|
||||
if BUILDOPT_SYSTEMD
|
||||
|
@ -117,14 +117,8 @@ include bsdiff/Makefile-bsdiff.am.inc
|
||||
EXTRA_DIST += bsdiff/Makefile-bsdiff.am
|
||||
noinst_LTLIBRARIES += libbsdiff.la
|
||||
|
||||
COMPOSEFSDIR=$(srcdir)/composefs/libcomposefs
|
||||
LCFS_DEP_CRYPTO_CFLAGS=$(OT_DEP_CRYPTO_CFLAGS)
|
||||
LCFS_DEP_CRYPTO_LIBS=$(OT_DEP_CRYPTO_LIBS)
|
||||
include composefs/libcomposefs/Makefile-lib.am.inc
|
||||
EXTRA_DIST += composefs/libcomposefs/Makefile-lib.am
|
||||
if USE_COMPOSEFS
|
||||
noinst_LTLIBRARIES += libcomposefs.la
|
||||
endif
|
||||
|
||||
include Makefile-otutil.am
|
||||
include Makefile-otcore.am
|
||||
|
@ -35,7 +35,6 @@ fi
|
||||
# changing this, please also change Makefile.am.
|
||||
sed -e 's,$(libglnx_srcpath),libglnx,g' < libglnx/Makefile-libglnx.am >libglnx/Makefile-libglnx.am.inc
|
||||
sed -e 's,$(libbsdiff_srcpath),bsdiff,g' < bsdiff/Makefile-bsdiff.am >bsdiff/Makefile-bsdiff.am.inc
|
||||
sed -e 's,$(COMPOSEFSDIR),composefs/libcomposefs,g' < composefs/libcomposefs/Makefile-lib.am >composefs/libcomposefs/Makefile-lib.am.inc
|
||||
|
||||
# FIXME - figure out how to get aclocal to find this by default
|
||||
ln -sf ../libglnx/libglnx.m4 buildutil/libglnx.m4
|
||||
|
@ -17,6 +17,8 @@ dn=$(dirname $0)
|
||||
pkg_upgrade
|
||||
pkg_install_buildroot
|
||||
pkg_builddep ostree
|
||||
# Not yet in the spec
|
||||
pkg_install composefs-devel
|
||||
pkg_install sudo which attr fuse strace \
|
||||
libubsan libasan libtsan redhat-rpm-config \
|
||||
elfutils fsverity-utils
|
||||
|
@ -1 +0,0 @@
|
||||
Subproject commit 2d5cdcb9176cfe4ccf1761ef6d78e1c48de35649
|
64
configure.ac
64
configure.ac
@ -284,53 +284,25 @@ AS_IF([test x$have_gpgme = xyes],
|
||||
)
|
||||
AM_CONDITIONAL(USE_GPGME, test "x$have_gpgme" = xyes)
|
||||
|
||||
dnl composefs won't work at all without this
|
||||
AC_CHECK_HEADERS([endian.h sys/endian.h machine/endian.h])
|
||||
AC_CHECK_FUNCS([reallocarray])
|
||||
AC_MSG_CHECKING([for MOUNT_ATTR_IDMAP])
|
||||
AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM([
|
||||
#include <sys/mount.h>
|
||||
#include <linux/mount.h>
|
||||
],[int foo = MOUNT_ATTR_IDMAP;]
|
||||
)],
|
||||
[AC_MSG_RESULT(yes)
|
||||
AC_DEFINE([HAVE_MOUNT_ATTR_IDMAP], 1, [Define if MOUNT_ATTR_IDMAP is available in linux/mount.h])
|
||||
have_mount_attr_idmap=yes],
|
||||
[AC_MSG_RESULT(no)])
|
||||
dnl These are needed by libcomposefs to use the new mount API optionally
|
||||
AC_MSG_CHECKING([for new mount API (fsconfig)])
|
||||
AC_COMPILE_IFELSE(
|
||||
[AC_LANG_SOURCE([[
|
||||
#include <sys/mount.h>
|
||||
int cmd = FSCONFIG_CMD_CREATE;
|
||||
]])],
|
||||
[AC_MSG_RESULT(yes)
|
||||
AC_DEFINE([HAVE_FSCONFIG_CMD_CREATE_SYS_MOUNT_H], 1, [Define if FSCONFIG_CMD_CREATE is available in sys/mount.h])],
|
||||
[AC_MSG_RESULT(no)])
|
||||
AC_COMPILE_IFELSE(
|
||||
[AC_LANG_SOURCE([[
|
||||
/* also make sure it doesn't conflict with <sys/mount.h> since it is always used. */
|
||||
#include <sys/mount.h>
|
||||
#include <linux/mount.h>
|
||||
int cmd = FSCONFIG_CMD_CREATE;
|
||||
]])],
|
||||
[AC_MSG_RESULT(yes)
|
||||
AC_DEFINE([HAVE_FSCONFIG_CMD_CREATE_LINUX_MOUNT_H], 1, [Define if FSCONFIG_CMD_CREATE is available in linux/mount.h])],
|
||||
[AC_MSG_RESULT(no)])
|
||||
|
||||
composefs_default=yes
|
||||
if test x"$have_mount_attr_idmap" != xyes; then
|
||||
composefs_default=no
|
||||
fi
|
||||
AC_ARG_WITH(composefs,
|
||||
AS_HELP_STRING([--with-composefs], [Support composefs]),
|
||||
:, with_composefs=$composefs_default)
|
||||
AS_HELP_STRING([--with-composefs], [Support composefs (default yes)]),
|
||||
:, with_composefs=maybe)
|
||||
|
||||
if test x$with_composefs != xno; then OSTREE_FEATURES="$OSTREE_FEATURES composefs";
|
||||
AC_DEFINE([HAVE_COMPOSEFS], 1, [Define if we have libcomposefs])
|
||||
fi
|
||||
AM_CONDITIONAL(USE_COMPOSEFS, test $with_composefs != no)
|
||||
have_composefs=no
|
||||
AS_IF([ test x$with_composefs != xno ], [
|
||||
AC_MSG_CHECKING([for composefs])
|
||||
PKG_CHECK_EXISTS(composefs, have_composefs=yes, have_composefs=no)
|
||||
AC_MSG_RESULT([$have_composefs])
|
||||
AS_IF([ test x$have_composefs = xno && test x$with_composefs != xmaybe ], [
|
||||
AC_MSG_ERROR([composefs is enabled but could not be found])
|
||||
])
|
||||
AS_IF([ test x$have_composefs = xyes], [
|
||||
PKG_CHECK_MODULES(OT_DEP_COMPOSEFS, [composefs])
|
||||
OSTREE_FEATURES="$OSTREE_FEATURES composefs";
|
||||
AC_DEFINE([HAVE_COMPOSEFS], 1, [Define if we have libcomposefs])
|
||||
])
|
||||
])
|
||||
AM_CONDITIONAL(USE_COMPOSEFS, test x$have_composefs = xyes)
|
||||
|
||||
LIBSODIUM_DEPENDENCY="1.0.14"
|
||||
AC_ARG_WITH(ed25519_libsodium,
|
||||
@ -737,7 +709,7 @@ echo "
|
||||
dracut: $with_dracut
|
||||
mkinitcpio: $with_mkinitcpio
|
||||
Static compiler for ostree-prepare-root: $with_static_compiler
|
||||
Composefs: $with_composefs"
|
||||
Composefs: $have_composefs"
|
||||
AS_IF([test x$with_builtin_grub2_mkconfig = xyes], [
|
||||
echo " builtin grub2-mkconfig (instead of system): $with_builtin_grub2_mkconfig"
|
||||
], [
|
||||
|
@ -21,6 +21,8 @@ set -euox pipefail
|
||||
|
||||
. $(dirname $0)/libtest.sh
|
||||
|
||||
skip_without_ostree_feature composefs
|
||||
|
||||
# Exports OSTREE_SYSROOT so --sysroot not needed.
|
||||
setup_os_repository "archive" "syslinux"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user