diff --git a/Makefile-libostree.am b/Makefile-libostree.am index d40de48d..6b94f76f 100644 --- a/Makefile-libostree.am +++ b/Makefile-libostree.am @@ -173,9 +173,9 @@ endif # USE_GPGME symbol_files = $(top_srcdir)/src/libostree/libostree-released.sym # Uncomment this include when adding new development symbols. -if BUILDOPT_IS_DEVEL_BUILD -symbol_files += $(top_srcdir)/src/libostree/libostree-devel.sym -endif +# if BUILDOPT_IS_DEVEL_BUILD +# symbol_files += $(top_srcdir)/src/libostree/libostree-devel.sym +# endif # http://blog.jgc.org/2007/06/escaping-comma-and-space-in-gnu-make.html wl_versionscript_arg = -Wl,--version-script= diff --git a/Makefile.in b/Makefile.in index d4547f89..e3f1350b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -450,16 +450,13 @@ check_PROGRAMS = $(am__EXEEXT_12) $(am__EXEEXT_13) $(am__EXEEXT_14) @USE_GPGME_FALSE@ src/libostree/ostree-gpg-verify-result-dummy.c \ @USE_GPGME_FALSE@ $(NULL) - -# Uncomment this include when adding new development symbols. -@BUILDOPT_IS_DEVEL_BUILD_TRUE@am__append_21 = $(top_srcdir)/src/libostree/libostree-devel.sym -@USE_LIBARCHIVE_TRUE@am__append_22 = $(OT_DEP_LIBARCHIVE_CFLAGS) -@USE_LIBARCHIVE_TRUE@am__append_23 = $(OT_DEP_LIBARCHIVE_LIBS) -@USE_AVAHI_TRUE@am__append_24 = $(OT_DEP_AVAHI_CFLAGS) -@USE_AVAHI_TRUE@am__append_25 = $(OT_DEP_AVAHI_LIBS) -@BUILDOPT_SYSTEMD_TRUE@am__append_26 = $(LIBSYSTEMD_CFLAGS) -@BUILDOPT_SYSTEMD_TRUE@am__append_27 = $(LIBSYSTEMD_LIBS) -@USE_CURL_OR_SOUP_TRUE@am__append_28 = \ +@USE_LIBARCHIVE_TRUE@am__append_21 = $(OT_DEP_LIBARCHIVE_CFLAGS) +@USE_LIBARCHIVE_TRUE@am__append_22 = $(OT_DEP_LIBARCHIVE_LIBS) +@USE_AVAHI_TRUE@am__append_23 = $(OT_DEP_AVAHI_CFLAGS) +@USE_AVAHI_TRUE@am__append_24 = $(OT_DEP_AVAHI_LIBS) +@BUILDOPT_SYSTEMD_TRUE@am__append_25 = $(LIBSYSTEMD_CFLAGS) +@BUILDOPT_SYSTEMD_TRUE@am__append_26 = $(LIBSYSTEMD_LIBS) +@USE_CURL_OR_SOUP_TRUE@am__append_27 = \ @USE_CURL_OR_SOUP_TRUE@ src/libostree/ostree-fetcher.h \ @USE_CURL_OR_SOUP_TRUE@ src/libostree/ostree-fetcher-util.h \ @USE_CURL_OR_SOUP_TRUE@ src/libostree/ostree-fetcher-util.c \ @@ -468,41 +465,41 @@ check_PROGRAMS = $(am__EXEEXT_12) $(am__EXEEXT_13) $(am__EXEEXT_14) @USE_CURL_OR_SOUP_TRUE@ src/libostree/ostree-metalink.c \ @USE_CURL_OR_SOUP_TRUE@ $(NULL) -@USE_CURL_TRUE@am__append_29 = src/libostree/ostree-fetcher-curl.c \ +@USE_CURL_TRUE@am__append_28 = src/libostree/ostree-fetcher-curl.c \ @USE_CURL_TRUE@ src/libostree/ostree-soup-uri.h src/libostree/ostree-soup-uri.c \ @USE_CURL_TRUE@ src/libostree/ostree-soup-form.c \ @USE_CURL_TRUE@ $(NULL) -@USE_CURL_TRUE@am__append_30 = $(OT_DEP_CURL_CFLAGS) -@USE_CURL_TRUE@am__append_31 = $(OT_DEP_CURL_LIBS) -@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_32 = src/libostree/ostree-fetcher-soup.c -@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_33 = $(OT_INTERNAL_SOUP_CFLAGS) -@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_34 = $(OT_INTERNAL_SOUP_LIBS) -@USE_AVAHI_TRUE@@USE_CURL_FALSE@@USE_LIBSOUP_FALSE@am__append_35 = src/libostree/ostree-soup-uri.h \ +@USE_CURL_TRUE@am__append_29 = $(OT_DEP_CURL_CFLAGS) +@USE_CURL_TRUE@am__append_30 = $(OT_DEP_CURL_LIBS) +@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_31 = src/libostree/ostree-fetcher-soup.c +@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_32 = $(OT_INTERNAL_SOUP_CFLAGS) +@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_33 = $(OT_INTERNAL_SOUP_LIBS) +@USE_AVAHI_TRUE@@USE_CURL_FALSE@@USE_LIBSOUP_FALSE@am__append_34 = src/libostree/ostree-soup-uri.h \ @USE_AVAHI_TRUE@@USE_CURL_FALSE@@USE_LIBSOUP_FALSE@ src/libostree/ostree-soup-uri.c \ @USE_AVAHI_TRUE@@USE_CURL_FALSE@@USE_LIBSOUP_FALSE@ src/libostree/ostree-soup-form.c \ @USE_AVAHI_TRUE@@USE_CURL_FALSE@@USE_LIBSOUP_FALSE@ $(NULL) -@USE_LIBMOUNT_TRUE@am__append_36 = $(OT_DEP_LIBMOUNT_CFLAGS) -@USE_LIBMOUNT_TRUE@am__append_37 = $(OT_DEP_LIBMOUNT_LIBS) -@USE_SELINUX_TRUE@am__append_38 = $(OT_DEP_SELINUX_CFLAGS) -@USE_SELINUX_TRUE@am__append_39 = $(OT_DEP_SELINUX_LIBS) -@USE_LIBSODIUM_TRUE@am__append_40 = $(OT_DEP_LIBSODIUM_CFLAGS) -@USE_LIBSODIUM_TRUE@am__append_41 = $(OT_DEP_LIBSODIUM_LIBS) +@USE_LIBMOUNT_TRUE@am__append_35 = $(OT_DEP_LIBMOUNT_CFLAGS) +@USE_LIBMOUNT_TRUE@am__append_36 = $(OT_DEP_LIBMOUNT_LIBS) +@USE_SELINUX_TRUE@am__append_37 = $(OT_DEP_SELINUX_CFLAGS) +@USE_SELINUX_TRUE@am__append_38 = $(OT_DEP_SELINUX_LIBS) +@USE_LIBSODIUM_TRUE@am__append_39 = $(OT_DEP_LIBSODIUM_CFLAGS) +@USE_LIBSODIUM_TRUE@am__append_40 = $(OT_DEP_LIBSODIUM_LIBS) +@BUILDOPT_INTROSPECTION_TRUE@am__append_41 = OSTree-1.0.gir @BUILDOPT_INTROSPECTION_TRUE@am__append_42 = OSTree-1.0.gir -@BUILDOPT_INTROSPECTION_TRUE@am__append_43 = OSTree-1.0.gir -@BUILDOPT_INTROSPECTION_TRUE@am__append_44 = OSTree-1.0.typelib -@BUILDOPT_INTROSPECTION_TRUE@am__append_45 = $(gir_DATA) $(typelib_DATA) -@USE_GPGME_TRUE@am__append_46 = \ +@BUILDOPT_INTROSPECTION_TRUE@am__append_43 = OSTree-1.0.typelib +@BUILDOPT_INTROSPECTION_TRUE@am__append_44 = $(gir_DATA) $(typelib_DATA) +@USE_GPGME_TRUE@am__append_45 = \ @USE_GPGME_TRUE@ src/ostree/ot-builtin-gpg-sign.c \ @USE_GPGME_TRUE@ $(NULL) -@USE_GPGME_TRUE@am__append_47 = \ +@USE_GPGME_TRUE@am__append_46 = \ @USE_GPGME_TRUE@ src/ostree/ot-remote-builtin-gpg-import.c \ @USE_GPGME_TRUE@ src/ostree/ot-remote-builtin-gpg-list-keys.c \ @USE_GPGME_TRUE@ $(NULL) -@USE_CURL_OR_SOUP_TRUE@am__append_48 = src/ostree/ot-remote-builtin-add-cookie.c \ +@USE_CURL_OR_SOUP_TRUE@am__append_47 = src/ostree/ot-remote-builtin-add-cookie.c \ @USE_CURL_OR_SOUP_TRUE@ src/ostree/ot-remote-builtin-delete-cookie.c \ @USE_CURL_OR_SOUP_TRUE@ src/ostree/ot-remote-builtin-list-cookies.c \ @USE_CURL_OR_SOUP_TRUE@ src/ostree/ot-remote-cookie-util.h \ @@ -510,20 +507,20 @@ check_PROGRAMS = $(am__EXEEXT_12) $(am__EXEEXT_13) $(am__EXEEXT_14) @USE_CURL_OR_SOUP_TRUE@ $(NULL) src/ostree/ot-builtin-pull.c # Eventually once we stop things from using this, we should support disabling this -@USE_LIBSOUP_TRUE@am__append_49 = src/ostree/ot-builtin-trivial-httpd.c -@USE_LIBSOUP_TRUE@am__append_50 = ostree-trivial-httpd +@USE_LIBSOUP_TRUE@am__append_48 = src/ostree/ot-builtin-trivial-httpd.c +@USE_LIBSOUP_TRUE@am__append_49 = ostree-trivial-httpd # This is necessary for the cookie jar bits -@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_51 = $(OT_INTERNAL_SOUP_CFLAGS) -@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_52 = $(OT_INTERNAL_SOUP_LIBS) -@USE_LIBARCHIVE_TRUE@am__append_53 = $(OT_DEP_LIBARCHIVE_CFLAGS) -@USE_LIBARCHIVE_TRUE@am__append_54 = $(OT_DEP_LIBARCHIVE_LIBS) -@USE_LIBSODIUM_TRUE@am__append_55 = $(OT_DEP_LIBSODIUM_CFLAGS) -@USE_LIBSODIUM_TRUE@am__append_56 = $(OT_DEP_LIBSODIUM_LIBS) -@BUILDOPT_SYSTEMD_TRUE@am__append_57 = ostree-remount +@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_50 = $(OT_INTERNAL_SOUP_CFLAGS) +@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_51 = $(OT_INTERNAL_SOUP_LIBS) +@USE_LIBARCHIVE_TRUE@am__append_52 = $(OT_DEP_LIBARCHIVE_CFLAGS) +@USE_LIBARCHIVE_TRUE@am__append_53 = $(OT_DEP_LIBARCHIVE_LIBS) +@USE_LIBSODIUM_TRUE@am__append_54 = $(OT_DEP_LIBSODIUM_CFLAGS) +@USE_LIBSODIUM_TRUE@am__append_55 = $(OT_DEP_LIBSODIUM_LIBS) +@BUILDOPT_SYSTEMD_TRUE@am__append_56 = ostree-remount # It is built anyway as a side-effect of having the symlink in tests/, # and if we declare it here, it gets cleaned up properly -@BUILDOPT_SYSTEMD_FALSE@am__append_58 = ostree-remount +@BUILDOPT_SYSTEMD_FALSE@am__append_57 = ostree-remount # ostree-prepare-root can be used as init in a system without a populated /lib. # To support this use case we need to link statically as we will be unable to @@ -535,65 +532,65 @@ check_PROGRAMS = $(am__EXEEXT_12) $(am__EXEEXT_13) $(am__EXEEXT_14) # to get autotools to install this as an executable but without generating rules # to make it itself which we have specified manually. See # https://lists.gnu.org/archive/html/help-gnu-utils/2007-01/msg00007.html -@BUILDOPT_USE_STATIC_COMPILER_TRUE@am__append_59 = ostree-prepare-root -@BUILDOPT_USE_STATIC_COMPILER_FALSE@am__append_60 = ostree-prepare-root -@BUILDOPT_SYSTEMD_TRUE@am__append_61 = -DHAVE_SYSTEMD=1 +@BUILDOPT_USE_STATIC_COMPILER_TRUE@am__append_58 = ostree-prepare-root +@BUILDOPT_USE_STATIC_COMPILER_FALSE@am__append_59 = ostree-prepare-root +@BUILDOPT_SYSTEMD_TRUE@am__append_60 = -DHAVE_SYSTEMD=1 # This is the "new mode" of using a generator for /var; see # https://github.com/ostreedev/ostree/issues/855 +@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_61 = -DHAVE_SYSTEMD_AND_LIBMOUNT=1 @BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_62 = -DHAVE_SYSTEMD_AND_LIBMOUNT=1 -@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_63 = -DHAVE_SYSTEMD_AND_LIBMOUNT=1 @BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@systemdsystemgenerator_PROGRAMS = ostree-system-generator$(EXEEXT) -@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_64 = $(systemdsystemgenerator_PROGRAMS) +@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_63 = $(systemdsystemgenerator_PROGRAMS) # Allow the distcheck install under $prefix test to pass -@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_65 = --with-systemdsystemgeneratordir='$${libdir}/systemd/system-generators' -@BUILDOPT_FUSE_TRUE@am__append_66 = rofiles-fuse -@BUILDOPT_ASAN_TRUE@am__append_67 = OT_SKIP_READDIR_RAND=1 G_SLICE=always-malloc -@USE_GPGME_TRUE@am__append_68 = \ +@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_64 = --with-systemdsystemgeneratordir='$${libdir}/systemd/system-generators' +@BUILDOPT_FUSE_TRUE@am__append_65 = rofiles-fuse +@BUILDOPT_ASAN_TRUE@am__append_66 = OT_SKIP_READDIR_RAND=1 G_SLICE=always-malloc +@USE_GPGME_TRUE@am__append_67 = \ @USE_GPGME_TRUE@ tests/test-remote-gpg-import.sh \ @USE_GPGME_TRUE@ tests/test-remote-gpg-list-keys.sh \ @USE_GPGME_TRUE@ tests/test-gpg-signed-commit.sh \ @USE_GPGME_TRUE@ tests/test-admin-gpg.sh \ @USE_GPGME_TRUE@ $(NULL) -@BUILDOPT_FUSE_TRUE@am__append_69 = tests/test-rofiles-fuse.sh -@BUILDOPT_FUSE_TRUE@am__append_70 = tests/rofiles-fuse-symlink-stamp -@BUILDOPT_FUSE_FALSE@am__append_71 = tests/test-rofiles-fuse.sh -@USE_LIBSOUP_TRUE@am__append_72 = tests/test-remote-cookies.sh -@BUILDOPT_GJS_TRUE@am__append_73 = $(js_tests) $(js_installed_tests) -@BUILDOPT_GJS_FALSE@am__append_74 = $(js_tests) -@BUILDOPT_GJS_FALSE@am__append_75 = $(js_installed_tests) -@ENABLE_INSTALLED_TESTS_FALSE@am__append_76 = -rpath $(abs_builddir) -@USE_GPGME_TRUE@am__append_77 = \ +@BUILDOPT_FUSE_TRUE@am__append_68 = tests/test-rofiles-fuse.sh +@BUILDOPT_FUSE_TRUE@am__append_69 = tests/rofiles-fuse-symlink-stamp +@BUILDOPT_FUSE_FALSE@am__append_70 = tests/test-rofiles-fuse.sh +@USE_LIBSOUP_TRUE@am__append_71 = tests/test-remote-cookies.sh +@BUILDOPT_GJS_TRUE@am__append_72 = $(js_tests) $(js_installed_tests) +@BUILDOPT_GJS_FALSE@am__append_73 = $(js_tests) +@BUILDOPT_GJS_FALSE@am__append_74 = $(js_installed_tests) +@ENABLE_INSTALLED_TESTS_FALSE@am__append_75 = -rpath $(abs_builddir) +@USE_GPGME_TRUE@am__append_76 = \ @USE_GPGME_TRUE@ tests/test-gpg-verify-result \ @USE_GPGME_TRUE@ $(NULL) -@USE_AVAHI_TRUE@am__append_78 = tests/test-repo-finder-avahi -@USE_LIBARCHIVE_TRUE@am__append_79 = tests/test-libarchive-import -@USE_GPGME_TRUE@am__append_80 = \ +@USE_AVAHI_TRUE@am__append_77 = tests/test-repo-finder-avahi +@USE_LIBARCHIVE_TRUE@am__append_78 = tests/test-libarchive-import +@USE_GPGME_TRUE@am__append_79 = \ @USE_GPGME_TRUE@ tests/gpg-verify-data/README.md \ @USE_GPGME_TRUE@ $(NULL) -@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__append_81 = $(_installed_or_uninstalled_test_scripts) -@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__append_82 = $(_installed_or_uninstalled_test_programs) -@ENABLE_INSTALLED_TESTS_TRUE@am__append_83 = install-installed-tests-extra +@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__append_80 = $(_installed_or_uninstalled_test_scripts) +@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__append_81 = $(_installed_or_uninstalled_test_programs) +@ENABLE_INSTALLED_TESTS_TRUE@am__append_82 = install-installed-tests-extra # Allow the distcheck install under $prefix test to pass -@BUILDOPT_SYSTEMD_TRUE@am__append_84 = --with-systemdsystemunitdir='$${libdir}/systemd/system' +@BUILDOPT_SYSTEMD_TRUE@am__append_83 = --with-systemdsystemunitdir='$${libdir}/systemd/system' # We're using the system grub2-mkconfig generator -@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_FALSE@am__append_85 = src/boot/grub2/grub2-15_ostree -@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_FALSE@am__append_86 = install-grub2-config-hook +@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_FALSE@am__append_84 = src/boot/grub2/grub2-15_ostree +@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_FALSE@am__append_85 = install-grub2-config-hook # We're using our internal generator -@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_TRUE@am__append_87 = src/boot/grub2/ostree-grub-generator -@ENABLE_MAN_TRUE@@USE_LIBSOUP_TRUE@am__append_88 = ostree-trivial-httpd.1 +@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_TRUE@am__append_86 = src/boot/grub2/ostree-grub-generator +@ENABLE_MAN_TRUE@@USE_LIBSOUP_TRUE@am__append_87 = ostree-trivial-httpd.1 # We still want to distribute the source, even if we are not building it -@ENABLE_MAN_TRUE@@USE_LIBSOUP_FALSE@am__append_89 = man/ostree-trivial-httpd.xml -@BUILDOPT_FUSE_TRUE@@ENABLE_MAN_TRUE@am__append_90 = rofiles-fuse.1 -@ENABLE_MAN_TRUE@@USE_GPGME_TRUE@am__append_91 = ostree-gpg-sign.1 -@ENABLE_MAN_TRUE@am__append_92 = $(man1_MANS:.1=.xml) $(man5_MANS:.5=.xml) -@ENABLE_MAN_TRUE@am__append_93 = \ +@ENABLE_MAN_TRUE@@USE_LIBSOUP_FALSE@am__append_88 = man/ostree-trivial-httpd.xml +@BUILDOPT_FUSE_TRUE@@ENABLE_MAN_TRUE@am__append_89 = rofiles-fuse.1 +@ENABLE_MAN_TRUE@@USE_GPGME_TRUE@am__append_90 = ostree-gpg-sign.1 +@ENABLE_MAN_TRUE@am__append_91 = $(man1_MANS:.1=.xml) $(man5_MANS:.5=.xml) +@ENABLE_MAN_TRUE@am__append_92 = \ @ENABLE_MAN_TRUE@ $(man1_MANS) \ @ENABLE_MAN_TRUE@ $(man5_MANS) \ @ENABLE_MAN_TRUE@ $(NULL) @@ -2105,7 +2102,7 @@ am__EXEEXT_23 = tests/test-basic.sh tests/test-basic-user.sh \ tests/test-signed-commit.sh tests/test-signed-pull.sh \ tests/test-pre-signed-pull.sh \ tests/test-signed-pull-summary.sh $(am__EXEEXT_2) \ - $(am__EXEEXT_20) $(am__append_69) $(am__append_72) \ + $(am__EXEEXT_20) $(am__append_68) $(am__append_71) \ $(am__EXEEXT_22) @ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__EXEEXT_24 = \ @ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@ $(am__EXEEXT_23) @@ -2407,21 +2404,21 @@ AM_CFLAGS = -std=gnu99 -fno-strict-aliasing $(WARN_CFLAGS) # Allow the distcheck install under $prefix test to pass AM_DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-man \ - --disable-maintainer-mode $(NULL) $(am__append_65) \ - $(am__append_84) \ + --disable-maintainer-mode $(NULL) $(am__append_64) \ + $(am__append_83) \ BASH_COMPLETIONSDIR='$${datadir}/bash-completion/completions' SUBDIRS = . $(am__append_14) NULL = BUILT_SOURCES = $(nodist_libostree_1_la_SOURCES) MANPAGES = -CLEANFILES = $(am__append_13) $(BUILT_SOURCES) $(am__append_45) \ +CLEANFILES = $(am__append_13) $(BUILT_SOURCES) $(am__append_44) \ src/ostree/parse-datetime.c tests/libreaddir-rand.so \ tests/ostree-symlink-stamp \ tests/ostree-prepare-root-symlink-stamp \ tests/ostree-remount-symlink-stamp \ tests/rofiles-fuse-symlink-stamp tests/ostree \ tests/ostree-prepare-root tests/ostree-remount \ - tests/rofiles-fuse $(am__append_93) + tests/rofiles-fuse $(am__append_92) EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) autogen.sh \ COPYING README.md libglnx/README.md libglnx/COPYING \ libglnx/libglnx.m4 $(NULL) libglnx/Makefile-libglnx.am \ @@ -2436,8 +2433,8 @@ EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) autogen.sh \ src/libostree/ostree-repo-deprecated.h \ src/libostree/ostree-version.h src/ostree/parse-datetime.y \ buildutil/tap-driver.sh buildutil/tap-test tests/glib.supp \ - tests/ostree.supp $(NULL) $(am__append_71) $(am__append_74) \ - tests/libtest.sh $(am__append_75) $(am__append_80) \ + tests/ostree.supp $(NULL) $(am__append_70) $(am__append_73) \ + tests/libtest.sh $(am__append_74) $(am__append_79) \ tests/libostreetest.h tests/libtest.sh $(NULL) \ src/boot/dracut/module-setup.sh src/boot/dracut/ostree.conf \ src/boot/mkinitcpio src/boot/ostree-prepare-root.service \ @@ -2445,25 +2442,25 @@ EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) autogen.sh \ src/boot/ostree-remount.service \ src/boot/ostree-finalize-staged.service \ src/boot/grub2/grub2-15_ostree \ - src/boot/grub2/ostree-grub-generator $(NULL) $(am__append_89) \ - $(am__append_92) + src/boot/grub2/ostree-grub-generator $(NULL) $(am__append_88) \ + $(am__append_91) bin_SCRIPTS = lib_LTLIBRARIES = libostree-1.la -pkglibexec_SCRIPTS = $(am__append_85) +pkglibexec_SCRIPTS = $(am__append_84) noinst_LTLIBRARIES = $(am__append_1) libglnx.la libbsdiff.la \ libotutil.la libbupsplit.la libostreetest.la privlibdir = $(pkglibdir) privlib_LTLIBRARIES = pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = src/libostree/ostree-1.pc -INTROSPECTION_GIRS = $(am__append_42) +INTROSPECTION_GIRS = $(am__append_41) girdir = $(datadir)/gir-1.0 -gir_DATA = $(am__append_43) +gir_DATA = $(am__append_42) typelibdir = $(libdir)/girepository-1.0 -typelib_DATA = $(am__append_44) +typelib_DATA = $(am__append_43) gsettings_SCHEMAS = ostree_bootdir = $(prefix)/lib/ostree -ostree_boot_SCRIPTS = $(am__append_59) $(am__append_87) +ostree_boot_SCRIPTS = $(am__append_58) $(am__append_86) # We should probably consider flipping the default for DEBUG. Also, # include the builddir in $PATH so we find our just-built ostree @@ -2480,7 +2477,7 @@ AM_TESTS_ENVIRONMENT = G_TEST_SRCDIR="$(abs_srcdir)" \ pwd)$${LD_LIBRARY_PATH:+:$${LD_LIBRARY_PATH}} PATH=$$(cd \ $(top_builddir)/tests && pwd):$${PATH} \ OSTREE_FEATURES="$(OSTREE_FEATURES)" PYTHONUNBUFFERED=1 \ - $(NULL) $(am__append_67) + $(NULL) $(am__append_66) LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/buildutil/tap-driver.sh LOG_COMPILER = $(top_srcdir)/buildutil/tap-test installed_test_LTLIBRARIES = $(am__append_12) @@ -2520,8 +2517,8 @@ all_test_ltlibs = $(test_ltlibraries) $(uninstalled_test_ltlibraries) $(installe # This initializes some more variables # This is a special facility to chain together hooks easily -INSTALL_DATA_HOOKS = install-mkdir-remotes-d-hook $(am__append_83) \ - $(am__append_86) +INSTALL_DATA_HOOKS = install-mkdir-remotes-d-hook $(am__append_82) \ + $(am__append_85) ALL_LOCAL_RULES = tests/libreaddir-rand.so shortened_sysconfdir = $$(echo "$(sysconfdir)" | sed -e 's|^$(prefix)||' -e 's|^/||') OSTREE_GITREV = $(shell cd $(srcdir) && if command -v git >/dev/null 2>&1 && test -d .git; then git describe --abbrev=42 --tags --always HEAD; fi) @@ -2535,7 +2532,7 @@ ACLOCAL_AMFLAGS = -I buildutil -I libglnx ${ACLOCAL_FLAGS} GITIGNOREFILES = aclocal.m4 build-aux/ buildutil/*.m4 config.h.in \ gtk-doc.make fastbuild-*.qcow2 _kola_temp/ target/ Cargo.lock \ docs/.bundle/ docs/Gemfile.lock docs/_site/ docs/reference/ \ - docs/vendor/ $(NULL) $(am__append_64) + docs/vendor/ $(NULL) $(am__append_63) OT_INTERNAL_GIO_UNIX_CFLAGS = $(OT_DEP_GIO_UNIX_CFLAGS) OT_INTERNAL_GIO_UNIX_LIBS = $(OT_DEP_GIO_UNIX_LIBS) OT_INTERNAL_SOUP_CFLAGS = $(OT_DEP_SOUP_CFLAGS) @@ -2745,14 +2742,18 @@ libostree_1_la_SOURCES = src/libostree/ostree-async-progress.c \ src/libostree/ostree-kernel-args.h \ src/libostree/ostree-kernel-args.c $(NULL) $(am__append_16) \ $(am__append_17) $(am__append_18) $(am__append_19) \ - $(am__append_20) $(am__append_28) $(am__append_29) \ - $(am__append_32) $(am__append_35) src/libostree/ostree-sign.c \ + $(am__append_20) $(am__append_27) $(am__append_28) \ + $(am__append_31) $(am__append_34) src/libostree/ostree-sign.c \ src/libostree/ostree-sign.h src/libostree/ostree-sign-dummy.c \ src/libostree/ostree-sign-dummy.h \ src/libostree/ostree-sign-ed25519.c \ src/libostree/ostree-sign-ed25519.h $(NULL) -symbol_files = $(top_srcdir)/src/libostree/libostree-released.sym \ - $(am__append_21) +symbol_files = $(top_srcdir)/src/libostree/libostree-released.sym + +# Uncomment this include when adding new development symbols. +# if BUILDOPT_IS_DEVEL_BUILD +# symbol_files += $(top_srcdir)/src/libostree/libostree-devel.sym +# endif # http://blog.jgc.org/2007/06/escaping-comma-and-space-in-gnu-make.html wl_versionscript_arg = -Wl,--version-script= @@ -2763,17 +2764,17 @@ libostree_1_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/bsdiff \ $(OT_DEP_LZMA_CFLAGS) $(OT_DEP_ZLIB_CFLAGS) \ $(OT_DEP_CRYPTO_CFLAGS) -fvisibility=hidden \ '-D_OSTREE_PUBLIC=__attribute__((visibility("default"))) \ - extern' $(am__append_22) $(am__append_24) $(am__append_26) \ - $(am__append_30) $(am__append_33) $(am__append_36) \ - $(am__append_38) $(am__append_40) + extern' $(am__append_21) $(am__append_23) $(am__append_25) \ + $(am__append_29) $(am__append_32) $(am__append_35) \ + $(am__append_37) $(am__append_39) libostree_1_la_LDFLAGS = -version-number 1:0:0 -Bsymbolic-functions $(addprefix $(wl_versionscript_arg),$(symbol_files)) # Some change between rust-1.21.0-1.fc27 and rust-1.22.1-1.fc27.x86_64 libostree_1_la_LIBADD = libotutil.la libglnx.la libbsdiff.la \ $(OT_INTERNAL_GIO_UNIX_LIBS) $(OT_INTERNAL_GPGME_LIBS) \ $(OT_DEP_LZMA_LIBS) $(OT_DEP_ZLIB_LIBS) $(OT_DEP_CRYPTO_LIBS) \ - $(bupsplitpath) $(am__append_23) $(am__append_25) \ - $(am__append_27) $(am__append_31) $(am__append_34) \ - $(am__append_37) $(am__append_39) $(am__append_41) + $(bupsplitpath) $(am__append_22) $(am__append_24) \ + $(am__append_26) $(am__append_30) $(am__append_33) \ + $(am__append_36) $(am__append_38) $(am__append_40) EXTRA_libostree_1_la_DEPENDENCIES = $(symbol_files) # XXX: work around clang being passed -fstack-clash-protection which it doesn't understand @@ -2810,7 +2811,7 @@ ostree_SOURCES = src/ostree/main.c src/ostree/ot-builtin-admin.c \ src/ostree/ot-builtin-static-delta.c src/ostree/ot-main.h \ src/ostree/ot-main.c src/ostree/ot-dump.h src/ostree/ot-dump.c \ src/ostree/ot-editor.c src/ostree/ot-editor.h \ - src/ostree/parse-datetime.h $(NULL) $(am__append_46) \ + src/ostree/parse-datetime.h $(NULL) $(am__append_45) \ src/ostree/ot-admin-builtin-init-fs.c \ src/ostree/ot-admin-builtin-diff.c \ src/ostree/ot-admin-builtin-deploy.c \ @@ -2839,7 +2840,7 @@ ostree_SOURCES = src/ostree/main.c src/ostree/ot-builtin-admin.c \ src/ostree/ot-remote-builtin-show-url.c \ src/ostree/ot-remote-builtin-refs.c \ src/ostree/ot-remote-builtin-summary.c $(NULL) \ - $(am__append_47) $(am__append_48) $(am__append_49) + $(am__append_46) $(am__append_47) $(am__append_48) nodist_ostree_SOURCES = \ src/ostree/parse-datetime.c \ $(NULL) @@ -2851,11 +2852,11 @@ ostree_bin_shared_cflags = $(AM_CFLAGS) -I$(srcdir)/src/libotutil -I$(srcdir)/sr ostree_bin_shared_ldadd = $(AM_LDFLAGS) libglnx.la libotutil.la libostree-1.la \ $(OT_INTERNAL_GIO_UNIX_LIBS) -ostree_CFLAGS = $(ostree_bin_shared_cflags) $(am__append_51) \ - $(am__append_53) $(am__append_55) +ostree_CFLAGS = $(ostree_bin_shared_cflags) $(am__append_50) \ + $(am__append_52) $(am__append_54) ostree_LDADD = $(ostree_bin_shared_ldadd) libbsdiff.la \ - $(LIBSYSTEMD_LIBS) $(am__append_52) $(am__append_54) \ - $(am__append_56) + $(LIBSYSTEMD_LIBS) $(am__append_51) $(am__append_53) \ + $(am__append_55) @USE_LIBSOUP_TRUE@ostree_trivial_httpd_SOURCES = src/ostree/ostree-trivial-httpd.c @USE_LIBSOUP_TRUE@ostree_trivial_httpd_CFLAGS = $(ostree_bin_shared_cflags) $(OT_INTERNAL_SOUP_CFLAGS) @USE_LIBSOUP_TRUE@ostree_trivial_httpd_LDADD = $(ostree_bin_shared_ldadd) $(OT_INTERNAL_SOUP_LIBS) @@ -2864,8 +2865,8 @@ ostree_prepare_root_SOURCES = \ src/switchroot/ostree-prepare-root.c \ $(NULL) -ostree_prepare_root_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_61) \ - $(am__append_62) +ostree_prepare_root_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_60) \ + $(am__append_61) @BUILDOPT_USE_STATIC_COMPILER_FALSE@ostree_prepare_root_CFLAGS = $(AM_CFLAGS) -Isrc/switchroot ostree_remount_SOURCES = \ src/switchroot/ostree-mount-util.h \ @@ -2874,7 +2875,7 @@ ostree_remount_SOURCES = \ ostree_remount_CPPFLAGS = $(AM_CPPFLAGS) \ $(OT_INTERNAL_GIO_UNIX_CFLAGS) -Isrc/switchroot \ - -I$(srcdir)/libglnx $(am__append_63) + -I$(srcdir)/libglnx $(am__append_62) ostree_remount_LDADD = $(AM_LDFLAGS) $(OT_INTERNAL_GIO_UNIX_LIBS) libglnx.la @BUILDOPT_SYSTEMD_TRUE@ostree_prepare_root_LDADD = $(AM_LDFLAGS) $(LIBSYSTEMD_LIBS) @BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@ostree_system_generator_SOURCES = src/switchroot/ostree-mount-util.h \ @@ -2891,7 +2892,7 @@ ostree_remount_LDADD = $(AM_LDFLAGS) $(OT_INTERNAL_GIO_UNIX_LIBS) libglnx.la @BUILDOPT_FUSE_TRUE@rofiles_fuse_LDADD = libglnx.la $(BUILDOPT_FUSE_LIBS) $(OT_INTERNAL_GIO_UNIX_LIBS) libostree-1.la uninstalled_test_data = tests/ostree-symlink-stamp \ tests/ostree-prepare-root-symlink-stamp \ - tests/ostree-remount-symlink-stamp $(am__append_70) + tests/ostree-remount-symlink-stamp $(am__append_69) dist_uninstalled_test_scripts = tests/test-symbols.sh tests/coccinelle.sh # This logic implements ENABLE_INSTALLED_TESTS_EXCLUSIVE; see below. @@ -2899,10 +2900,10 @@ dist_uninstalled_test_scripts = tests/test-symbols.sh tests/coccinelle.sh # tests *only* run installed, to avoid having to run them twice in CI. # This overrides the glib-tap.mk emphasis on doing both, if we'd # used e.g. `dist_test_scripts`. -dist_test_scripts = $(NULL) $(am__append_81) +dist_test_scripts = $(NULL) $(am__append_80) test_programs = tests/test-bloom tests/test-repo-finder-config \ - tests/test-repo-finder-mount $(NULL) $(am__append_78) \ - $(am__append_82) + tests/test-repo-finder-mount $(NULL) $(am__append_77) \ + $(am__append_81) _installed_or_uninstalled_test_scripts = tests/test-basic.sh \ tests/test-basic-user.sh tests/test-basic-user-only.sh \ tests/test-basic-root.sh tests/test-pull-subpath.sh \ @@ -2958,8 +2959,8 @@ _installed_or_uninstalled_test_scripts = tests/test-basic.sh \ tests/test-pull-collections.sh tests/test-config.sh \ tests/test-signed-commit.sh tests/test-signed-pull.sh \ tests/test-pre-signed-pull.sh \ - tests/test-signed-pull-summary.sh $(NULL) $(am__append_68) \ - $(am__append_69) $(am__append_72) $(am__append_73) + tests/test-signed-pull-summary.sh $(NULL) $(am__append_67) \ + $(am__append_68) $(am__append_71) $(am__append_72) test_extra_programs = \ tests/get-byte-order \ tests/repo-finder-mount \ @@ -3035,7 +3036,7 @@ libreaddir_rand_la_LIBADD = \ $(NULL) libreaddir_rand_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version \ - $(am__append_76) + $(am__append_75) _installed_or_uninstalled_test_programs = tests/test-varint \ tests/test-ot-unix-utils tests/test-bsdiff \ tests/test-mutable-tree tests/test-keyfile-utils \ @@ -3043,7 +3044,7 @@ _installed_or_uninstalled_test_programs = tests/test-varint \ tests/test-checksum tests/test-lzma tests/test-rollsum \ tests/test-basic-c tests/test-sysroot-c tests/test-pull-c \ tests/test-repo tests/test-include-ostree-h tests/test-kargs \ - tests/test-rfc2616-dates $(am__append_77) $(am__append_79) + tests/test-rfc2616-dates $(am__append_76) $(am__append_78) common_tests_cflags = $(ostree_bin_shared_cflags) $(OT_INTERNAL_GIO_UNIX_CFLAGS) -I$(srcdir)/libglnx common_tests_ldadd = $(ostree_bin_shared_ldadd) $(OT_INTERNAL_GIO_UNIX_LIBS) libostreetest_la_SOURCES = tests/libostreetest.c tests/test-mock-gio.c tests/test-mock-gio.h @@ -3172,8 +3173,8 @@ tests_test_commit_sign_sh_ext_LDADD = $(TESTS_LDADD) @ENABLE_MAN_TRUE@ ostree-pull.1 ostree-refs.1 ostree-remote.1 \ @ENABLE_MAN_TRUE@ ostree-reset.1 ostree-rev-parse.1 \ @ENABLE_MAN_TRUE@ ostree-show.1 ostree-sign.1 ostree-summary.1 \ -@ENABLE_MAN_TRUE@ ostree-static-delta.1 $(am__append_88) \ -@ENABLE_MAN_TRUE@ $(am__append_90) $(am__append_91) +@ENABLE_MAN_TRUE@ ostree-static-delta.1 $(am__append_87) \ +@ENABLE_MAN_TRUE@ $(am__append_89) $(am__append_90) @ENABLE_MAN_TRUE@man5_files = ostree.repo.5 ostree.repo-config.5 @ENABLE_MAN_TRUE@man1_MANS = $(addprefix man/,$(man1_files)) @ENABLE_MAN_TRUE@man5_MANS = $(addprefix man/,$(man5_files)) diff --git a/apidoc/html/ostree-In-memory-modifiable-filesystem-tree.html b/apidoc/html/ostree-In-memory-modifiable-filesystem-tree.html index 67afe627..6ce4b817 100644 --- a/apidoc/html/ostree-In-memory-modifiable-filesystem-tree.html +++ b/apidoc/html/ostree-In-memory-modifiable-filesystem-tree.html @@ -52,6 +52,14 @@ OstreeMutableTree *
void
+ostree_mutable_tree_new_from_commit ()
+OstreeMutableTree *
+ostree_mutable_tree_new_from_commit (OstreeRepo *repo,
+ const char *rev,
+ GError **error);
+Creates a new OstreeMutableTree with the contents taken from the given commit.
+The data will be loaded from the repo lazily as needed.
+
+Parameters
+
+
+
+
+
+
+
+
+repo
+The repo which contains the objects refered by the checksums.
+
+
+
+rev
+ref or SHA-256 checksum
+
+
+
+
+
+
+Since: 2021.5
+
+
+
ostree_mutable_tree_new_from_checksum ()
OstreeMutableTree *
ostree_mutable_tree_new_from_checksum (OstreeRepo *repo,
diff --git a/apidoc/html/ostree-SELinux-policy-management.html b/apidoc/html/ostree-SELinux-policy-management.html
index a56e1f7d..d3cd48b4 100644
--- a/apidoc/html/ostree-SELinux-policy-management.html
+++ b/apidoc/html/ostree-SELinux-policy-management.html
@@ -57,6 +57,14 @@
+OstreeSePolicy *
+
+
+ostree_sepolicy_new_from_commit ()
+
+
+
+
GFile *
@@ -222,9 +230,76 @@ ostree_sepolicy_new_at (int
+ostree_sepolicy_new_from_commit ()
+OstreeSePolicy *
+ostree_sepolicy_new_from_commit (OstreeRepo *repo,
+ const char *rev,
+ GCancellable *cancellable,
+ GError **error);
+Extract the SELinux policy from a commit object via a partial checkout. This is useful
+for labeling derived content as separate commits.
+This function is the backend of ostree_repo_commit_modifier_set_sepolicy_from_commit().
+
+
+
+
+
ostree_sepolicy_get_path ()
GFile *
ostree_sepolicy_get_path (OstreeSePolicy *self);
+This API should be considered deprecated, because it's supported for
+policy objects to be created from file-descriptor relative paths, which
+may not be globally accessible.
+
Returns
Path to rootfs.
diff --git a/apidoc/html/ostree.devhelp2 b/apidoc/html/ostree.devhelp2
index d5aa3c73..5964a01e 100644
--- a/apidoc/html/ostree.devhelp2
+++ b/apidoc/html/ostree.devhelp2
@@ -276,6 +276,7 @@
+
@@ -358,6 +359,7 @@
+
diff --git a/apidoc/html/reference.html b/apidoc/html/reference.html
index c9491026..86cbaada 100644
--- a/apidoc/html/reference.html
+++ b/apidoc/html/reference.html
@@ -711,6 +711,10 @@ OSTREE_META_KEY_DEPLOY_COLLECTION_ID, macro in ostree-repo-remote-finder
+ostree_mutable_tree_new_from_commit, function in In-memory modifiable filesystem tree
+
+
+
ostree_mutable_tree_remove, function in In-memory modifiable filesystem tree
@@ -1711,6 +1715,10 @@ ostree_repo_resolve_keyring_for_collection, function in ostree-repo-remote-finde
+ostree_sepolicy_new_from_commit, function in SELinux policy management
+
+
+
ostree_sepolicy_restorecon, function in SELinux policy management
diff --git a/apidoc/ostree-sections.txt b/apidoc/ostree-sections.txt
index f0901f21..aa74c839 100644
--- a/apidoc/ostree-sections.txt
+++ b/apidoc/ostree-sections.txt
@@ -268,6 +268,7 @@ OstreeLzmaDecompressorClass
ostree-mutable-tree
OstreeMutableTree
ostree_mutable_tree_new
+ostree_mutable_tree_new_from_commit
ostree_mutable_tree_new_from_checksum
ostree_mutable_tree_check_error
ostree_mutable_tree_set_metadata_checksum
@@ -522,6 +523,7 @@ ostree_repo_file_get_type
OstreeSePolicy
ostree_sepolicy_new
ostree_sepolicy_new_at
+ostree_sepolicy_new_from_commit
ostree_sepolicy_get_path
ostree_sepolicy_get_name
ostree_sepolicy_get_label
diff --git a/configure b/configure
index 2a1dbf7c..f0ebd20e 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libostree 2021.4.
+# Generated by GNU Autoconf 2.69 for libostree 2021.5.
#
# Report bugs to .
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='libostree'
PACKAGE_TARNAME='libostree'
-PACKAGE_VERSION='2021.4'
-PACKAGE_STRING='libostree 2021.4'
+PACKAGE_VERSION='2021.5'
+PACKAGE_STRING='libostree 2021.5'
PACKAGE_BUGREPORT='walters@verbum.org'
PACKAGE_URL=''
@@ -1562,7 +1562,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libostree 2021.4 to adapt to many kinds of systems.
+\`configure' configures libostree 2021.5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1633,7 +1633,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libostree 2021.4:";;
+ short | recursive ) echo "Configuration of libostree 2021.5:";;
esac
cat <<\_ACEOF
@@ -1895,7 +1895,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libostree configure 2021.4
+libostree configure 2021.5
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2367,7 +2367,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libostree $as_me 2021.4, which was
+It was created by libostree $as_me 2021.5, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3235,7 +3235,7 @@ fi
# Define the identity of the package.
PACKAGE='libostree'
- VERSION='2021.4'
+ VERSION='2021.5'
# Some tools Automake needs.
@@ -5969,9 +5969,9 @@ test -n "$YACC" || YACC="yacc"
YEAR_VERSION=2021
-RELEASE_VERSION=4
+RELEASE_VERSION=5
-PACKAGE_VERSION=2021.4
+PACKAGE_VERSION=2021.5
if echo "$CFLAGS" | grep -q -E -e '-Werror($| )'; then :
@@ -18871,7 +18871,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libostree $as_me 2021.4, which was
+This file was extended by libostree $as_me 2021.5, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -18937,7 +18937,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-libostree config.status 2021.4
+libostree config.status 2021.5
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 1c528b19..b5a3c82a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
AC_PREREQ([2.63])
dnl To perform a release, follow the instructions in `docs/CONTRIBUTING.md`.
m4_define([year_version], [2021])
-m4_define([release_version], [4])
+m4_define([release_version], [5])
m4_define([package_version], [year_version.release_version])
AC_INIT([libostree], [package_version], [walters@verbum.org])
is_release_build=yes
diff --git a/src/libostree/libostree-released.sym b/src/libostree/libostree-released.sym
index 1e359bfb..d38362ba 100644
--- a/src/libostree/libostree-released.sym
+++ b/src/libostree/libostree-released.sym
@@ -668,6 +668,12 @@ global:
ostree_repo_signature_verify_commit_data;
} LIBOSTREE_2021.3;
+LIBOSTREE_2021.5 {
+global:
+ ostree_sepolicy_new_from_commit;
+ ostree_mutable_tree_new_from_commit;
+} LIBOSTREE_2021.4;
+
/* NOTE: Only add more content here in release commits! See the
* comments at the top of this file.
*/
diff --git a/src/libostree/ostree-mutable-tree.c b/src/libostree/ostree-mutable-tree.c
index 8509d156..bba3cf91 100644
--- a/src/libostree/ostree-mutable-tree.c
+++ b/src/libostree/ostree-mutable-tree.c
@@ -681,3 +681,39 @@ ostree_mutable_tree_new_from_checksum (OstreeRepo *repo,
out->metadata_checksum = g_strdup (metadata_checksum);
return out;
}
+
+/**
+ * ostree_mutable_tree_new_from_commit:
+ * @repo: The repo which contains the objects refered by the checksums.
+ * @rev: ref or SHA-256 checksum
+ *
+ * Creates a new OstreeMutableTree with the contents taken from the given commit.
+ * The data will be loaded from the repo lazily as needed.
+ *
+ * Returns: (transfer full): A new tree
+ * Since: 2021.5
+ */
+OstreeMutableTree *
+ostree_mutable_tree_new_from_commit (OstreeRepo *repo,
+ const char *rev,
+ GError **error)
+{
+ g_autofree char *commit = NULL;
+ if (!ostree_repo_resolve_rev (repo, rev, FALSE, &commit, error))
+ return NULL;
+ g_autoptr(GVariant) commit_v = NULL;
+ if (!ostree_repo_load_commit (repo, commit, &commit_v, NULL, error))
+ return NULL;
+
+ g_autoptr(GVariant) contents_checksum_v = NULL;
+ g_autoptr(GVariant) metadata_checksum_v = NULL;
+ char contents_checksum[OSTREE_SHA256_STRING_LEN + 1];
+ char metadata_checksum[OSTREE_SHA256_STRING_LEN + 1];
+ g_variant_get_child (commit_v, 6, "@ay", &contents_checksum_v);
+ ostree_checksum_inplace_from_bytes (g_variant_get_data (contents_checksum_v),
+ contents_checksum);
+ g_variant_get_child (commit_v, 7, "@ay", &metadata_checksum_v);
+ ostree_checksum_inplace_from_bytes (g_variant_get_data (metadata_checksum_v),
+ metadata_checksum);
+ return ostree_mutable_tree_new_from_checksum (repo, contents_checksum, metadata_checksum);
+}
diff --git a/src/libostree/ostree-mutable-tree.h b/src/libostree/ostree-mutable-tree.h
index 753f96e7..9bf36802 100644
--- a/src/libostree/ostree-mutable-tree.h
+++ b/src/libostree/ostree-mutable-tree.h
@@ -52,6 +52,12 @@ GType ostree_mutable_tree_get_type (void) G_GNUC_CONST;
_OSTREE_PUBLIC
OstreeMutableTree *ostree_mutable_tree_new (void);
+_OSTREE_PUBLIC
+OstreeMutableTree *
+ostree_mutable_tree_new_from_commit (OstreeRepo *repo,
+ const char *rev,
+ GError **error);
+
_OSTREE_PUBLIC
OstreeMutableTree * ostree_mutable_tree_new_from_checksum (OstreeRepo *repo,
const char *contents_checksum,
diff --git a/src/libostree/ostree-repo-commit.c b/src/libostree/ostree-repo-commit.c
index 8dc2355e..8ac963e7 100644
--- a/src/libostree/ostree-repo-commit.c
+++ b/src/libostree/ostree-repo-commit.c
@@ -1672,14 +1672,18 @@ ostree_repo_prepare_transaction (OstreeRepo *self,
GCancellable *cancellable,
GError **error)
{
+ g_assert (self != NULL);
+
guint64 reserved_bytes = 0;
g_return_val_if_fail (self->in_transaction == FALSE, FALSE);
g_debug ("Preparing transaction in repository %p", self);
- /* Set up to abort the transaction if we return early from this function. */
- g_autoptr(_OstreeRepoAutoTransaction) txn = self;
+ /* Set up to abort the transaction if we return early from this function.
+ * This needs to be manually built here due to a circular dependency. */
+ g_autoptr(OstreeRepoAutoTransaction) txn = g_malloc(sizeof(OstreeRepoAutoTransaction));
+ txn->repo = self;
(void) txn; /* Add use to silence static analysis */
memset (&self->txn.stats, 0, sizeof (OstreeRepoTransactionStats));
@@ -1736,7 +1740,7 @@ ostree_repo_prepare_transaction (OstreeRepo *self,
return FALSE;
/* Success: do not abort the transaction when returning. */
- txn = NULL; (void) txn;
+ txn->repo = NULL; (void) txn;
if (out_transaction_resume)
*out_transaction_resume = ret_transaction_resume;
@@ -4314,7 +4318,6 @@ ostree_repo_commit_modifier_unref (OstreeRepoCommitModifier *modifier)
g_clear_pointer (&modifier->devino_cache, (GDestroyNotify)g_hash_table_unref);
g_clear_object (&modifier->sepolicy);
- (void) glnx_tmpdir_delete (&modifier->sepolicy_tmpdir, NULL, NULL);
g_free (modifier);
return;
@@ -4386,38 +4389,10 @@ ostree_repo_commit_modifier_set_sepolicy_from_commit (OstreeRepoCommitModifier
GCancellable *cancellable,
GError **error)
{
- GLNX_AUTO_PREFIX_ERROR ("setting sepolicy from commit", error);
- g_autofree char *commit = NULL;
- g_autoptr(GFile) root = NULL;
- if (!ostree_repo_read_commit (repo, rev, &root, &commit, cancellable, error))
- return FALSE;
- const char policypath[] = "usr/etc/selinux";
- g_autoptr(GFile) policyroot = g_file_get_child (root, policypath);
- if (!g_file_query_exists (policyroot, NULL))
- return TRUE; /* No policy, nothing to do */
-
- GLnxTmpDir tmpdir = {0,};
- if (!glnx_mkdtemp ("ostree-commit-sepolicy-XXXXXX", 0700, &tmpdir, error))
- return FALSE;
- if (!glnx_shutil_mkdir_p_at (tmpdir.fd, "usr/etc", 0755, cancellable, error))
- return FALSE;
-
- OstreeRepoCheckoutAtOptions coopts = {0,};
- coopts.mode = OSTREE_REPO_CHECKOUT_MODE_USER;
- coopts.subpath = glnx_strjoina ("/", policypath);
-
- if (!ostree_repo_checkout_at (repo, &coopts, tmpdir.fd, policypath, commit, cancellable, error))
- return glnx_prefix_error (error, "policy checkout");
-
- g_autoptr(OstreeSePolicy) policy = ostree_sepolicy_new_at (tmpdir.fd, cancellable, error);
+ g_autoptr(OstreeSePolicy) policy = ostree_sepolicy_new_from_commit (repo, rev, cancellable, error);
if (!policy)
- return glnx_prefix_error (error, "reading policy");
-
+ return FALSE;
ostree_repo_commit_modifier_set_sepolicy (modifier, policy);
- /* Transfer ownership */
- modifier->sepolicy_tmpdir = tmpdir;
- tmpdir.initialized = FALSE;
-
return TRUE;
}
diff --git a/src/libostree/ostree-repo-private.h b/src/libostree/ostree-repo-private.h
index 67f755bd..a2666dec 100644
--- a/src/libostree/ostree-repo-private.h
+++ b/src/libostree/ostree-repo-private.h
@@ -229,36 +229,6 @@ struct OstreeRepo {
OstreeRepo *parent_repo;
};
-/* Taken from flatpak; may be made into public API later */
-typedef OstreeRepo _OstreeRepoAutoTransaction;
-static inline void
-_ostree_repo_auto_transaction_cleanup (void *p)
-{
- if (p == NULL)
- return;
- g_return_if_fail (OSTREE_IS_REPO (p));
-
- OstreeRepo *repo = p;
- g_autoptr(GError) error = NULL;
-
- if (!ostree_repo_abort_transaction (repo, NULL, &error))
- g_warning("Failed to auto-cleanup OSTree transaction: %s", error->message);
-
- g_object_unref (repo);
-}
-
-static inline _OstreeRepoAutoTransaction *
-_ostree_repo_auto_transaction_start (OstreeRepo *repo,
- GCancellable *cancellable,
- GError **error)
-{
- if (!ostree_repo_prepare_transaction (repo, NULL, cancellable, error))
- return NULL;
-
- return (_OstreeRepoAutoTransaction *) g_object_ref (repo);
-}
-G_DEFINE_AUTOPTR_CLEANUP_FUNC (_OstreeRepoAutoTransaction, _ostree_repo_auto_transaction_cleanup)
-
typedef struct {
dev_t dev;
ino_t ino;
@@ -544,4 +514,39 @@ _ostree_repo_verify_bindings (const char *collection_id,
GVariant *commit,
GError **error);
+/**
+ * OstreeRepoAutoTransaction:
+ *
+ * A transaction guard for a specific #OstreeRepo. It can be explicitly
+ * completed through abort/commit. If the guard has not been completed
+ * beforehand, on cleanup it is automatically aborted.
+ *
+ * Taken from flatpak; may be made into public API later
+ */
+typedef struct
+{
+ OstreeRepo *repo;
+} OstreeRepoAutoTransaction;
+
+OstreeRepoAutoTransaction *
+_ostree_repo_auto_transaction_start (OstreeRepo *repo,
+ GCancellable *cancellable,
+ GError **error);
+
+gboolean
+_ostree_repo_auto_transaction_abort (OstreeRepoAutoTransaction *txn,
+ GCancellable *cancellable,
+ GError **error);
+
+gboolean
+_ostree_repo_auto_transaction_commit (OstreeRepoAutoTransaction *txn,
+ OstreeRepoTransactionStats *out_stats,
+ GCancellable *cancellable,
+ GError **error);
+
+void
+_ostree_repo_auto_transaction_cleanup (void *p);
+
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (OstreeRepoAutoTransaction, _ostree_repo_auto_transaction_cleanup);
+
G_END_DECLS
diff --git a/src/libostree/ostree-repo.c b/src/libostree/ostree-repo.c
index 42d2b0e0..772eae26 100644
--- a/src/libostree/ostree-repo.c
+++ b/src/libostree/ostree-repo.c
@@ -711,6 +711,118 @@ ostree_repo_auto_lock_cleanup (OstreeRepoAutoLock *auto_lock)
}
}
+
+/**
+ * _ostree_repo_auto_transaction_start:
+ * @repo: an #OsreeRepo object
+ * @cancellable: Cancellable
+ * @error: a #GError
+ *
+ * Start a transaction and return a guard for it.
+ *
+ * Returns: (transfer full): an #OsreeRepoAutoTransaction guard on success,
+ * %NULL otherwise.
+ */
+OstreeRepoAutoTransaction *
+_ostree_repo_auto_transaction_start (OstreeRepo *repo,
+ GCancellable *cancellable,
+ GError **error)
+{
+ g_assert (repo != NULL);
+
+ if (!ostree_repo_prepare_transaction (repo, NULL, cancellable, error))
+ return NULL;
+
+ OstreeRepoAutoTransaction *txn = g_malloc(sizeof(OstreeRepoAutoTransaction));
+ txn->repo = g_object_ref (repo);
+
+ return g_steal_pointer (&txn);
+}
+
+/**
+ * _ostree_repo_auto_transaction_abort:
+ * @txn: an #OsreeRepoAutoTransaction guard
+ * @cancellable: Cancellable
+ * @error: a #GError
+ *
+ * Abort a transaction, marking the related guard as completed.
+ *
+ * Returns: %TRUE on successful commit, %FALSE otherwise.
+ */
+gboolean
+_ostree_repo_auto_transaction_abort (OstreeRepoAutoTransaction *txn,
+ GCancellable *cancellable,
+ GError **error)
+{
+ g_assert (txn != NULL);
+
+ if (txn->repo == NULL) {
+ return glnx_throw (error, "transaction already completed");
+ }
+
+ if (!ostree_repo_abort_transaction (txn->repo, cancellable, error))
+ return FALSE;
+
+ g_clear_object (&txn->repo);
+
+ return TRUE;
+}
+
+/**
+ * _ostree_repo_auto_transaction_commit:
+ * @txn: an #OsreeRepoAutoTransaction guard
+ * @cancellable: Cancellable
+ * @error: a #GError
+ *
+ * Commit a transaction, marking the related guard as completed.
+ *
+ * Returns: %TRUE on successful aborting, %FALSE otherwise.
+ */
+gboolean
+_ostree_repo_auto_transaction_commit (OstreeRepoAutoTransaction *txn,
+ OstreeRepoTransactionStats *out_stats,
+ GCancellable *cancellable,
+ GError **error)
+{
+ g_assert (txn != NULL);
+
+ if (txn->repo == NULL) {
+ return glnx_throw (error, "transaction already completed");
+ }
+
+ if (!ostree_repo_commit_transaction (txn->repo, out_stats, cancellable, error))
+ return FALSE;
+
+ g_clear_object (&txn->repo);
+
+ return TRUE;
+}
+
+/**
+ * _ostree_repo_auto_transaction_cleanup:
+ * @p: pointer to an #OsreeRepoAutoTransaction guard
+ *
+ * Destroy a transaction guard. If the transaction has not yet been completed,
+ * it gets aborted.
+ */
+void
+_ostree_repo_auto_transaction_cleanup (void *p)
+{
+ if (p == NULL)
+ return;
+
+ OstreeRepoAutoTransaction *txn = p;
+ // Auto-abort only if transaction has not already been aborted/committed.
+ if (txn->repo != NULL)
+ {
+ g_autoptr(GError) error = NULL;
+ if (!_ostree_repo_auto_transaction_abort (txn, NULL, &error)) {
+ g_warning("Failed to auto-cleanup OSTree transaction: %s", error->message);
+ g_clear_object (&txn->repo);
+ }
+ }
+}
+
static GFile *
get_remotes_d_dir (OstreeRepo *self,
GFile *sysroot);
diff --git a/src/libostree/ostree-sepolicy.c b/src/libostree/ostree-sepolicy.c
index e6b9a0e1..9b2ce0ab 100644
--- a/src/libostree/ostree-sepolicy.c
+++ b/src/libostree/ostree-sepolicy.c
@@ -29,6 +29,7 @@
#include "otutil.h"
#include "ostree-sepolicy.h"
+#include "ostree-repo.h"
#include "ostree-sepolicy-private.h"
#include "ostree-bootloader-uboot.h"
#include "ostree-bootloader-syslinux.h"
@@ -47,6 +48,7 @@ struct OstreeSePolicy {
int rootfs_dfd;
int rootfs_dfd_owned;
GFile *path;
+ GLnxTmpDir tmpdir;
#ifdef HAVE_SELINUX
GFile *selinux_policy_root;
@@ -77,6 +79,8 @@ ostree_sepolicy_finalize (GObject *object)
{
OstreeSePolicy *self = OSTREE_SEPOLICY (object);
+ (void) glnx_tmpdir_delete (&self->tmpdir, NULL, NULL);
+
g_clear_object (&self->path);
if (self->rootfs_dfd_owned != -1)
(void) close (self->rootfs_dfd_owned);
@@ -266,6 +270,58 @@ get_policy_checksum (char **out_csum,
#endif
+/**
+ * ostree_sepolicy_new_from_commit:
+ * @repo: The repo
+ * @rev: ostree ref or checksum
+ * @cancellable: Cancellable
+ * @error: Error
+ *
+ * Extract the SELinux policy from a commit object via a partial checkout. This is useful
+ * for labeling derived content as separate commits.
+ *
+ * This function is the backend of `ostree_repo_commit_modifier_set_sepolicy_from_commit()`.
+ *
+ * Returns: (transfer full): A new policy
+ */
+OstreeSePolicy*
+ostree_sepolicy_new_from_commit (OstreeRepo *repo,
+ const char *rev,
+ GCancellable *cancellable,
+ GError **error)
+{
+ GLNX_AUTO_PREFIX_ERROR ("setting sepolicy from commit", error);
+ g_autoptr(GFile) root = NULL;
+ g_autofree char *commit = NULL;
+ if (!ostree_repo_read_commit (repo, rev, &root, &commit, cancellable, error))
+ return NULL;
+ const char policypath[] = "usr/etc/selinux";
+ g_autoptr(GFile) policyroot = g_file_get_child (root, policypath);
+
+ GLnxTmpDir tmpdir = {0,};
+ if (!glnx_mkdtemp ("ostree-commit-sepolicy-XXXXXX", 0700, &tmpdir, error))
+ return FALSE;
+ if (!glnx_shutil_mkdir_p_at (tmpdir.fd, "usr/etc", 0755, cancellable, error))
+ return FALSE;
+
+ if (g_file_query_exists (policyroot, NULL))
+ {
+ OstreeRepoCheckoutAtOptions coopts = {0,};
+ coopts.mode = OSTREE_REPO_CHECKOUT_MODE_USER;
+ coopts.subpath = glnx_strjoina ("/", policypath);
+
+ if (!ostree_repo_checkout_at (repo, &coopts, tmpdir.fd, policypath, commit, cancellable, error))
+ return glnx_prefix_error_null (error, "policy checkout");
+ }
+
+ OstreeSePolicy *ret = ostree_sepolicy_new_at (tmpdir.fd, cancellable, error);
+ if (!ret)
+ return NULL;
+ /* Transfer ownership of tmpdir */
+ ret->tmpdir = tmpdir;
+ tmpdir.initialized = FALSE;
+ return ret;
+}
/* Workaround for http://marc.info/?l=selinux&m=149323809332417&w=2 */
#ifdef HAVE_SELINUX
@@ -443,7 +499,11 @@ ostree_sepolicy_new_at (int rootfs_dfd,
/**
* ostree_sepolicy_get_path:
- * @self:
+ * @self: A SePolicy object
+ *
+ * This API should be considered deprecated, because it's supported for
+ * policy objects to be created from file-descriptor relative paths, which
+ * may not be globally accessible.
*
* Returns: (transfer none): Path to rootfs
*/
diff --git a/src/libostree/ostree-sepolicy.h b/src/libostree/ostree-sepolicy.h
index 7e90527f..0e8cf5af 100644
--- a/src/libostree/ostree-sepolicy.h
+++ b/src/libostree/ostree-sepolicy.h
@@ -44,6 +44,11 @@ OstreeSePolicy* ostree_sepolicy_new_at (int rootfs_dfd,
GCancellable *cancellable,
GError **error);
+_OSTREE_PUBLIC
+OstreeSePolicy* ostree_sepolicy_new_from_commit (OstreeRepo *repo,
+ const char *rev,
+ GCancellable *cancellable,
+ GError **error);
_OSTREE_PUBLIC
GFile * ostree_sepolicy_get_path (OstreeSePolicy *self);
diff --git a/src/libostree/ostree-sysroot-cleanup.c b/src/libostree/ostree-sysroot-cleanup.c
index 91381cb0..c22a6851 100644
--- a/src/libostree/ostree-sysroot-cleanup.c
+++ b/src/libostree/ostree-sysroot-cleanup.c
@@ -445,7 +445,7 @@ generate_deployment_refs (OstreeSysroot *self,
cancellable, error))
return FALSE;
- g_autoptr(_OstreeRepoAutoTransaction) txn =
+ g_autoptr(OstreeRepoAutoTransaction) txn =
_ostree_repo_auto_transaction_start (repo, cancellable, error);
if (!txn)
return FALSE;
@@ -458,7 +458,7 @@ generate_deployment_refs (OstreeSysroot *self,
ostree_repo_transaction_set_refspec (repo, refname, ostree_deployment_get_csum (deployment));
}
- if (!ostree_repo_commit_transaction (repo, NULL, cancellable, error))
+ if (!_ostree_repo_auto_transaction_commit (txn, NULL, cancellable, error))
return FALSE;
return TRUE;
diff --git a/src/libostree/ostree-sysroot-deploy.c b/src/libostree/ostree-sysroot-deploy.c
index 6a13a41b..a8bf9f44 100644
--- a/src/libostree/ostree-sysroot-deploy.c
+++ b/src/libostree/ostree-sysroot-deploy.c
@@ -488,9 +488,7 @@ copy_modified_config_file (int orig_etc_fd,
}
else
{
- return glnx_throw (error,
- "Unsupported non-regular/non-symlink file in /etc '%s'",
- path);
+ ot_journal_print (LOG_INFO, "Ignoring non-regular/non-symlink file found during /etc merge: %s", path);
}
return TRUE;
diff --git a/src/libostree/ostree-version.h b/src/libostree/ostree-version.h
index f9c97ab3..8bb26ecd 100644
--- a/src/libostree/ostree-version.h
+++ b/src/libostree/ostree-version.h
@@ -43,7 +43,7 @@
*
* Since: 2017.4
*/
-#define OSTREE_RELEASE_VERSION (4)
+#define OSTREE_RELEASE_VERSION (5)
/**
* OSTREE_VERSION
@@ -52,7 +52,7 @@
*
* Since: 2017.4
*/
-#define OSTREE_VERSION (2021.4)
+#define OSTREE_VERSION (2021.5)
/**
* OSTREE_VERSION_S:
@@ -62,7 +62,7 @@
*
* Since: 2017.4
*/
-#define OSTREE_VERSION_S "2021.4"
+#define OSTREE_VERSION_S "2021.5"
#define OSTREE_ENCODE_VERSION(year,release) \
((year) << 16 | (release))
diff --git a/src/ostree/ot-builtin-commit.c b/src/ostree/ot-builtin-commit.c
index 370e085c..a306c114 100644
--- a/src/ostree/ot-builtin-commit.c
+++ b/src/ostree/ot-builtin-commit.c
@@ -602,6 +602,17 @@ ostree_builtin_commit (int argc, char **argv, OstreeCommandInvocation *invocatio
filter_data.skip_list = skip_list;
modifier = ostree_repo_commit_modifier_new (flags, commit_filter,
&filter_data, NULL);
+
+ if (opt_selinux_policy)
+ {
+ glnx_autofd int rootfs_dfd = -1;
+ if (!glnx_opendirat (AT_FDCWD, opt_selinux_policy, TRUE, &rootfs_dfd, error))
+ goto out;
+ policy = ostree_sepolicy_new_at (rootfs_dfd, cancellable, error);
+ if (!policy)
+ goto out;
+ ostree_repo_commit_modifier_set_sepolicy (modifier, policy);
+ }
}
if (opt_editor)
@@ -627,20 +638,14 @@ ostree_builtin_commit (int argc, char **argv, OstreeCommandInvocation *invocatio
if (opt_base)
{
- g_autofree char *base_commit = NULL;
- g_autoptr(GFile) base_root = NULL;
- if (!ostree_repo_read_commit (repo, opt_base, &base_root, &base_commit, cancellable, error))
+ mtree = ostree_mutable_tree_new_from_commit (repo, opt_base, error);
+ if (!mtree)
goto out;
- OstreeRepoFile *rootf = (OstreeRepoFile*) base_root;
-
- mtree = ostree_mutable_tree_new_from_checksum (repo,
- ostree_repo_file_tree_get_contents_checksum (rootf),
- ostree_repo_file_tree_get_metadata_checksum (rootf));
if (opt_selinux_policy_from_base)
{
g_assert (modifier);
- if (!ostree_repo_commit_modifier_set_sepolicy_from_commit (modifier, repo, base_commit, cancellable, error))
+ if (!ostree_repo_commit_modifier_set_sepolicy_from_commit (modifier, repo, opt_base, cancellable, error))
goto out;
/* Don't try to handle it twice */
opt_selinux_policy_from_base = FALSE;
@@ -691,14 +696,8 @@ ostree_builtin_commit (int argc, char **argv, OstreeCommandInvocation *invocatio
{
if (first && opt_selinux_policy_from_base)
{
- opt_selinux_policy = g_strdup (tree);
- opt_selinux_policy_from_base = FALSE;
- }
- if (first && opt_selinux_policy)
- {
- g_assert (modifier);
glnx_autofd int rootfs_dfd = -1;
- if (!glnx_opendirat (AT_FDCWD, opt_selinux_policy, TRUE, &rootfs_dfd, error))
+ if (!glnx_opendirat (AT_FDCWD, tree, TRUE, &rootfs_dfd, error))
goto out;
policy = ostree_sepolicy_new_at (rootfs_dfd, cancellable, error);
if (!policy)
diff --git a/src/ostree/ot-builtin-fsck.c b/src/ostree/ot-builtin-fsck.c
index dea03af4..f7a72601 100644
--- a/src/ostree/ot-builtin-fsck.c
+++ b/src/ostree/ot-builtin-fsck.c
@@ -459,5 +459,8 @@ ostree_builtin_fsck (int argc, char **argv, OstreeCommandInvocation *invocation,
if (n_fsck_partial > 0)
return glnx_throw (error, "%u partial commits from fsck-detected corruption", n_partial);
+ g_print ("object fsck of %d commits completed successfully - no errors found.\n",
+ (guint)g_hash_table_size (commits));
+
return TRUE;
}
diff --git a/tests/libtest-core.sh b/tests/libtest-core.sh
index 9632e905..75b9063a 100644
--- a/tests/libtest-core.sh
+++ b/tests/libtest-core.sh
@@ -35,6 +35,17 @@ assert_not_reached () {
fatal "$@"
}
+# Output an ok message for TAP
+n_tap_tests=0
+tap_ok() {
+ echo "ok" "$@"
+ n_tap_tests=$(($n_tap_tests+1))
+}
+
+tap_end() {
+ echo "1..${n_tap_tests}"
+}
+
# Some tests look for specific English strings. Use a UTF-8 version
# of the C (POSIX) locale if we have one, or fall back to en_US.UTF-8
# (https://sourceware.org/glibc/wiki/Proposals/C.UTF-8)
diff --git a/tests/pull-test.sh b/tests/pull-test.sh
index fcc22812..7d363f47 100644
--- a/tests/pull-test.sh
+++ b/tests/pull-test.sh
@@ -54,11 +54,12 @@ function verify_initial_contents() {
assert_file_has_content baz/cow '^moo$'
}
+n_base_tests=35
+gpg_tests=3
if has_gpgme; then
- echo "1..38"
+ echo "1..$(($n_base_tests+$gpg_tests))"
else
- # 3 tests needs GPG support
- echo "1..35"
+ echo "1..$((n_base_tests))"
fi
# Try both syntaxes
diff --git a/tests/test-admin-deploy-etcmerge-cornercases.sh b/tests/test-admin-deploy-etcmerge-cornercases.sh
index 4f55bc3a..ef4ddeec 100755
--- a/tests/test-admin-deploy-etcmerge-cornercases.sh
+++ b/tests/test-admin-deploy-etcmerge-cornercases.sh
@@ -26,8 +26,6 @@ set -euo pipefail
# Exports OSTREE_SYSROOT so --sysroot not needed.
setup_os_repository "archive" "syslinux"
-echo "1..2"
-
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo pull-local --remote=testos testos-repo testos/buildmain/x86_64-runtime
rev=$(${CMD_PREFIX} ostree --repo=sysroot/ostree/repo rev-parse testos/buildmain/x86_64-runtime)
export rev
@@ -53,6 +51,9 @@ chmod 700 ${etc}/a/long/dir/forking
# Symlink to nonexistent path, to ensure we aren't walking symlinks
ln -s no-such-file ${etc}/a/link-to-no-such-file
+# fifo which should be ignored
+mkfifo "${etc}/fifo-to-ignore"
+
# Remove a directory
rm ${etc}/testdirectory -rf
@@ -68,6 +69,10 @@ newetc=${newroot}/etc
assert_file_has_content ${newroot}/usr/etc/NetworkManager/nm.conf "a default daemon file"
assert_file_has_content ${newetc}/NetworkManager/nm.conf "a modified config file"
+if test -e "${newetc}"/fifo-to-ignore; then
+ fatal "Should not have copied fifo!"
+fi
+
assert_file_has_mode() {
stat -c '%a' $1 > mode.txt
if ! grep -q -e "$2" mode.txt; then
@@ -89,7 +94,7 @@ test -L ${newetc}/a/link-to-no-such-file || assert_not_reached "should have syml
assert_has_dir ${newroot}/usr/etc/testdirectory
assert_not_has_dir ${newetc}/testdirectory
-echo "ok"
+tap_ok first
# Add /etc/initially-empty
cd "${test_tmpdir}/osdata"
@@ -141,4 +146,6 @@ assert_not_has_file sysroot/ostree/deploy/testos/deploy/${rev}.0/usr/etc/initial
assert_has_file sysroot/ostree/deploy/testos/deploy/${rev}.0/etc/initially-empty/mynewfile
rm ${newconfpath}
-echo "ok"
+tap_ok second
+
+tap_end
diff --git a/tests/test-symbols.sh b/tests/test-symbols.sh
index 0de87be4..a094a944 100755
--- a/tests/test-symbols.sh
+++ b/tests/test-symbols.sh
@@ -56,7 +56,7 @@ echo 'ok documented symbols'
# ONLY update this checksum in release commits!
cat > released-sha256.txt <