New upstream version 2018.1
This commit is contained in:
commit
e91328b9e9
|
|
@ -202,6 +202,10 @@ libostree_1_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/bsdiff -I$(srcdir)/libglnx -I$(
|
||||||
libostree_1_la_LDFLAGS = -version-number 1:0:0 -Bsymbolic-functions $(addprefix $(wl_versionscript_arg),$(symbol_files))
|
libostree_1_la_LDFLAGS = -version-number 1:0:0 -Bsymbolic-functions $(addprefix $(wl_versionscript_arg),$(symbol_files))
|
||||||
libostree_1_la_LIBADD = libotutil.la libglnx.la libbsdiff.la libostree-kernel-args.la $(OT_INTERNAL_GIO_UNIX_LIBS) $(OT_INTERNAL_GPGME_LIBS) \
|
libostree_1_la_LIBADD = libotutil.la libglnx.la libbsdiff.la libostree-kernel-args.la $(OT_INTERNAL_GIO_UNIX_LIBS) $(OT_INTERNAL_GPGME_LIBS) \
|
||||||
$(OT_DEP_LZMA_LIBS) $(OT_DEP_ZLIB_LIBS) $(OT_DEP_CRYPTO_LIBS)
|
$(OT_DEP_LZMA_LIBS) $(OT_DEP_ZLIB_LIBS) $(OT_DEP_CRYPTO_LIBS)
|
||||||
|
# Some change between rust-1.21.0-1.fc27 and rust-1.22.1-1.fc27.x86_64
|
||||||
|
if ENABLE_RUST
|
||||||
|
libostree_1_la_LIBADD += -ldl
|
||||||
|
endif
|
||||||
libostree_1_la_LIBADD += $(bupsplitpath)
|
libostree_1_la_LIBADD += $(bupsplitpath)
|
||||||
EXTRA_libostree_1_la_DEPENDENCIES = $(symbol_files)
|
EXTRA_libostree_1_la_DEPENDENCIES = $(symbol_files)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -116,6 +116,7 @@ _installed_or_uninstalled_test_scripts = \
|
||||||
tests/test-pull-mirrorlist.sh \
|
tests/test-pull-mirrorlist.sh \
|
||||||
tests/test-summary-update.sh \
|
tests/test-summary-update.sh \
|
||||||
tests/test-summary-view.sh \
|
tests/test-summary-view.sh \
|
||||||
|
tests/test-no-initramfs.sh \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
experimental_test_scripts = \
|
experimental_test_scripts = \
|
||||||
|
|
@ -130,7 +131,13 @@ experimental_test_scripts = \
|
||||||
tests/test-summary-collections.sh \
|
tests/test-summary-collections.sh \
|
||||||
tests/test-pull-collections.sh \
|
tests/test-pull-collections.sh \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
test_extra_programs = $(NULL)
|
test_extra_programs = \
|
||||||
|
tests/get-byte-order \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
tests_get_byte_order_SOURCES = tests/get-byte-order.c
|
||||||
|
tests_get_byte_order_CFLAGS = $(AM_CFLAGS) $(GLIB_CFLAGS)
|
||||||
|
tests_get_byte_order_LDADD = $(GLIB_LIBS)
|
||||||
|
|
||||||
tests_repo_finder_mount_SOURCES = tests/repo-finder-mount.c
|
tests_repo_finder_mount_SOURCES = tests/repo-finder-mount.c
|
||||||
tests_repo_finder_mount_CFLAGS = $(common_tests_cflags)
|
tests_repo_finder_mount_CFLAGS = $(common_tests_cflags)
|
||||||
|
|
@ -171,6 +178,7 @@ dist_installed_test_data = tests/archive-test.sh \
|
||||||
tests/pre-endian-deltas-repo-little.tar.xz \
|
tests/pre-endian-deltas-repo-little.tar.xz \
|
||||||
tests/fah-deltadata-old.tar.xz \
|
tests/fah-deltadata-old.tar.xz \
|
||||||
tests/fah-deltadata-new.tar.xz \
|
tests/fah-deltadata-new.tar.xz \
|
||||||
|
tests/ostree-path-traverse.tar.gz \
|
||||||
tests/libtest-core.sh \
|
tests/libtest-core.sh \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
|
|
@ -375,6 +383,14 @@ dist_test_scripts += $(_installed_or_uninstalled_test_scripts)
|
||||||
test_programs += $(_installed_or_uninstalled_test_programs)
|
test_programs += $(_installed_or_uninstalled_test_programs)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if !USE_LIBSOUP
|
||||||
|
no-soup-for-you-warning:
|
||||||
|
@echo "WARNING: $(PACKAGE) was built without libsoup, which is currently" 1>&2
|
||||||
|
@echo "WARNING: required for many unit tests." 1>&2
|
||||||
|
sleep 10
|
||||||
|
check: no-soup-for-you-warning
|
||||||
|
endif
|
||||||
|
|
||||||
# Unfortunately the glib test data APIs don't actually handle
|
# Unfortunately the glib test data APIs don't actually handle
|
||||||
# non-recursive Automake, so we change our code to canonically look
|
# non-recursive Automake, so we change our code to canonically look
|
||||||
# for tests/ which is just a symlink when installed.
|
# for tests/ which is just a symlink when installed.
|
||||||
|
|
|
||||||
292
Makefile.in
292
Makefile.in
|
|
@ -433,13 +433,15 @@ check_PROGRAMS = $(am__EXEEXT_13) $(am__EXEEXT_14) $(am__EXEEXT_15)
|
||||||
|
|
||||||
@BUILDOPT_IS_DEVEL_BUILD_TRUE@am__append_24 = $(top_srcdir)/src/libostree/libostree-devel.sym
|
@BUILDOPT_IS_DEVEL_BUILD_TRUE@am__append_24 = $(top_srcdir)/src/libostree/libostree-devel.sym
|
||||||
@ENABLE_EXPERIMENTAL_API_TRUE@am__append_25 = $(top_srcdir)/src/libostree/libostree-experimental.sym
|
@ENABLE_EXPERIMENTAL_API_TRUE@am__append_25 = $(top_srcdir)/src/libostree/libostree-experimental.sym
|
||||||
@USE_LIBARCHIVE_TRUE@am__append_26 = $(OT_DEP_LIBARCHIVE_CFLAGS)
|
# Some change between rust-1.21.0-1.fc27 and rust-1.22.1-1.fc27.x86_64
|
||||||
@USE_LIBARCHIVE_TRUE@am__append_27 = $(OT_DEP_LIBARCHIVE_LIBS)
|
@ENABLE_RUST_TRUE@am__append_26 = -ldl
|
||||||
@ENABLE_EXPERIMENTAL_API_TRUE@@USE_AVAHI_TRUE@am__append_28 = $(OT_DEP_AVAHI_CFLAGS)
|
@USE_LIBARCHIVE_TRUE@am__append_27 = $(OT_DEP_LIBARCHIVE_CFLAGS)
|
||||||
@ENABLE_EXPERIMENTAL_API_TRUE@@USE_AVAHI_TRUE@am__append_29 = $(OT_DEP_AVAHI_LIBS)
|
@USE_LIBARCHIVE_TRUE@am__append_28 = $(OT_DEP_LIBARCHIVE_LIBS)
|
||||||
@BUILDOPT_LIBSYSTEMD_TRUE@am__append_30 = $(LIBSYSTEMD_CFLAGS)
|
@ENABLE_EXPERIMENTAL_API_TRUE@@USE_AVAHI_TRUE@am__append_29 = $(OT_DEP_AVAHI_CFLAGS)
|
||||||
@BUILDOPT_LIBSYSTEMD_TRUE@am__append_31 = $(LIBSYSTEMD_LIBS)
|
@ENABLE_EXPERIMENTAL_API_TRUE@@USE_AVAHI_TRUE@am__append_30 = $(OT_DEP_AVAHI_LIBS)
|
||||||
@USE_CURL_OR_SOUP_TRUE@am__append_32 = \
|
@BUILDOPT_LIBSYSTEMD_TRUE@am__append_31 = $(LIBSYSTEMD_CFLAGS)
|
||||||
|
@BUILDOPT_LIBSYSTEMD_TRUE@am__append_32 = $(LIBSYSTEMD_LIBS)
|
||||||
|
@USE_CURL_OR_SOUP_TRUE@am__append_33 = \
|
||||||
@USE_CURL_OR_SOUP_TRUE@ src/libostree/ostree-fetcher.h \
|
@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.h \
|
||||||
@USE_CURL_OR_SOUP_TRUE@ src/libostree/ostree-fetcher-util.c \
|
@USE_CURL_OR_SOUP_TRUE@ src/libostree/ostree-fetcher-util.c \
|
||||||
|
|
@ -448,32 +450,32 @@ check_PROGRAMS = $(am__EXEEXT_13) $(am__EXEEXT_14) $(am__EXEEXT_15)
|
||||||
@USE_CURL_OR_SOUP_TRUE@ src/libostree/ostree-metalink.c \
|
@USE_CURL_OR_SOUP_TRUE@ src/libostree/ostree-metalink.c \
|
||||||
@USE_CURL_OR_SOUP_TRUE@ $(NULL)
|
@USE_CURL_OR_SOUP_TRUE@ $(NULL)
|
||||||
|
|
||||||
@USE_CURL_TRUE@am__append_33 = src/libostree/ostree-fetcher-curl.c \
|
@USE_CURL_TRUE@am__append_34 = 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-uri.h src/libostree/ostree-soup-uri.c \
|
||||||
@USE_CURL_TRUE@ src/libostree/ostree-soup-form.c \
|
@USE_CURL_TRUE@ src/libostree/ostree-soup-form.c \
|
||||||
@USE_CURL_TRUE@ $(NULL)
|
@USE_CURL_TRUE@ $(NULL)
|
||||||
|
|
||||||
@USE_CURL_TRUE@am__append_34 = $(OT_DEP_CURL_CFLAGS)
|
@USE_CURL_TRUE@am__append_35 = $(OT_DEP_CURL_CFLAGS)
|
||||||
@USE_CURL_TRUE@am__append_35 = $(OT_DEP_CURL_LIBS)
|
@USE_CURL_TRUE@am__append_36 = $(OT_DEP_CURL_LIBS)
|
||||||
@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_36 = src/libostree/ostree-fetcher-soup.c
|
@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_37 = src/libostree/ostree-fetcher-soup.c
|
||||||
@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_37 = $(OT_INTERNAL_SOUP_CFLAGS)
|
@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_38 = $(OT_INTERNAL_SOUP_CFLAGS)
|
||||||
@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_38 = $(OT_INTERNAL_SOUP_LIBS)
|
@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_39 = $(OT_INTERNAL_SOUP_LIBS)
|
||||||
@USE_LIBMOUNT_TRUE@am__append_39 = $(OT_DEP_LIBMOUNT_CFLAGS)
|
@USE_LIBMOUNT_TRUE@am__append_40 = $(OT_DEP_LIBMOUNT_CFLAGS)
|
||||||
@USE_LIBMOUNT_TRUE@am__append_40 = $(OT_DEP_LIBMOUNT_LIBS)
|
@USE_LIBMOUNT_TRUE@am__append_41 = $(OT_DEP_LIBMOUNT_LIBS)
|
||||||
@USE_SELINUX_TRUE@am__append_41 = $(OT_DEP_SELINUX_CFLAGS)
|
@USE_SELINUX_TRUE@am__append_42 = $(OT_DEP_SELINUX_CFLAGS)
|
||||||
@USE_SELINUX_TRUE@am__append_42 = $(OT_DEP_SELINUX_LIBS)
|
@USE_SELINUX_TRUE@am__append_43 = $(OT_DEP_SELINUX_LIBS)
|
||||||
# When compiling this is set via config.h, but g-ir-scanner can't use that
|
# When compiling this is set via config.h, but g-ir-scanner can't use that
|
||||||
@BUILDOPT_INTROSPECTION_TRUE@@ENABLE_EXPERIMENTAL_API_TRUE@am__append_43 = -DOSTREE_ENABLE_EXPERIMENTAL_API=1
|
@BUILDOPT_INTROSPECTION_TRUE@@ENABLE_EXPERIMENTAL_API_TRUE@am__append_44 = -DOSTREE_ENABLE_EXPERIMENTAL_API=1
|
||||||
@BUILDOPT_INTROSPECTION_TRUE@am__append_44 = OSTree-1.0.gir
|
|
||||||
@BUILDOPT_INTROSPECTION_TRUE@am__append_45 = OSTree-1.0.gir
|
@BUILDOPT_INTROSPECTION_TRUE@am__append_45 = OSTree-1.0.gir
|
||||||
@BUILDOPT_INTROSPECTION_TRUE@am__append_46 = OSTree-1.0.typelib
|
@BUILDOPT_INTROSPECTION_TRUE@am__append_46 = OSTree-1.0.gir
|
||||||
@BUILDOPT_INTROSPECTION_TRUE@am__append_47 = $(gir_DATA) $(typelib_DATA)
|
@BUILDOPT_INTROSPECTION_TRUE@am__append_47 = OSTree-1.0.typelib
|
||||||
@ENABLE_EXPERIMENTAL_API_TRUE@am__append_48 = \
|
@BUILDOPT_INTROSPECTION_TRUE@am__append_48 = $(gir_DATA) $(typelib_DATA)
|
||||||
|
@ENABLE_EXPERIMENTAL_API_TRUE@am__append_49 = \
|
||||||
@ENABLE_EXPERIMENTAL_API_TRUE@ src/ostree/ot-builtin-create-usb.c \
|
@ENABLE_EXPERIMENTAL_API_TRUE@ src/ostree/ot-builtin-create-usb.c \
|
||||||
@ENABLE_EXPERIMENTAL_API_TRUE@ src/ostree/ot-builtin-find-remotes.c \
|
@ENABLE_EXPERIMENTAL_API_TRUE@ src/ostree/ot-builtin-find-remotes.c \
|
||||||
@ENABLE_EXPERIMENTAL_API_TRUE@ $(NULL)
|
@ENABLE_EXPERIMENTAL_API_TRUE@ $(NULL)
|
||||||
|
|
||||||
@USE_CURL_OR_SOUP_TRUE@am__append_49 = src/ostree/ot-remote-builtin-add-cookie.c \
|
@USE_CURL_OR_SOUP_TRUE@am__append_50 = 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-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-builtin-list-cookies.c \
|
||||||
@USE_CURL_OR_SOUP_TRUE@ src/ostree/ot-remote-cookie-util.h \
|
@USE_CURL_OR_SOUP_TRUE@ src/ostree/ot-remote-cookie-util.h \
|
||||||
|
|
@ -481,66 +483,66 @@ check_PROGRAMS = $(am__EXEEXT_13) $(am__EXEEXT_14) $(am__EXEEXT_15)
|
||||||
@USE_CURL_OR_SOUP_TRUE@ $(NULL) src/ostree/ot-builtin-pull.c
|
@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
|
# Eventually once we stop things from using this, we should support disabling this
|
||||||
@USE_LIBSOUP_TRUE@am__append_50 = src/ostree/ot-builtin-trivial-httpd.c
|
@USE_LIBSOUP_TRUE@am__append_51 = src/ostree/ot-builtin-trivial-httpd.c
|
||||||
@USE_LIBSOUP_TRUE@am__append_51 = ostree-trivial-httpd
|
@USE_LIBSOUP_TRUE@am__append_52 = ostree-trivial-httpd
|
||||||
|
|
||||||
# This is necessary for the cookie jar bits
|
# This is necessary for the cookie jar bits
|
||||||
@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_52 = $(OT_INTERNAL_SOUP_CFLAGS)
|
@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_53 = $(OT_INTERNAL_SOUP_CFLAGS)
|
||||||
@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_53 = $(OT_INTERNAL_SOUP_LIBS)
|
@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_54 = $(OT_INTERNAL_SOUP_LIBS)
|
||||||
@USE_LIBARCHIVE_TRUE@am__append_54 = $(OT_DEP_LIBARCHIVE_CFLAGS)
|
@USE_LIBARCHIVE_TRUE@am__append_55 = $(OT_DEP_LIBARCHIVE_CFLAGS)
|
||||||
@USE_LIBARCHIVE_TRUE@am__append_55 = $(OT_DEP_LIBARCHIVE_LIBS)
|
@USE_LIBARCHIVE_TRUE@am__append_56 = $(OT_DEP_LIBARCHIVE_LIBS)
|
||||||
@BUILDOPT_SYSTEMD_TRUE@am__append_56 = ostree-remount
|
@BUILDOPT_SYSTEMD_TRUE@am__append_57 = ostree-remount
|
||||||
# It is built anyway as a side-effect of having the symlink in tests/,
|
# 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
|
# and if we declare it here, it gets cleaned up properly
|
||||||
@BUILDOPT_SYSTEMD_FALSE@am__append_57 = ostree-remount
|
@BUILDOPT_SYSTEMD_FALSE@am__append_58 = ostree-remount
|
||||||
@BUILDOPT_USE_STATIC_COMPILER_FALSE@am__append_58 = ostree-prepare-root
|
@BUILDOPT_USE_STATIC_COMPILER_FALSE@am__append_59 = ostree-prepare-root
|
||||||
|
|
||||||
# This is the "new mode" of using a generator for /var; see
|
# This is the "new mode" of using a generator for /var; see
|
||||||
# https://github.com/ostreedev/ostree/issues/855
|
# https://github.com/ostreedev/ostree/issues/855
|
||||||
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_59 = -DHAVE_SYSTEMD_AND_LIBMOUNT=1
|
|
||||||
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_60 = -DHAVE_SYSTEMD_AND_LIBMOUNT=1
|
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_60 = -DHAVE_SYSTEMD_AND_LIBMOUNT=1
|
||||||
|
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_61 = -DHAVE_SYSTEMD_AND_LIBMOUNT=1
|
||||||
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@systemdsystemgenerator_PROGRAMS = ostree-system-generator$(EXEEXT)
|
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@systemdsystemgenerator_PROGRAMS = ostree-system-generator$(EXEEXT)
|
||||||
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_61 = $(systemdsystemgenerator_PROGRAMS)
|
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_62 = $(systemdsystemgenerator_PROGRAMS)
|
||||||
|
|
||||||
# Allow the distcheck install under $prefix test to pass
|
# Allow the distcheck install under $prefix test to pass
|
||||||
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_62 = --with-systemdsystemgeneratordir='$${libdir}/systemd/system-generators'
|
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_63 = --with-systemdsystemgeneratordir='$${libdir}/systemd/system-generators'
|
||||||
@BUILDOPT_FUSE_TRUE@am__append_63 = rofiles-fuse
|
@BUILDOPT_FUSE_TRUE@am__append_64 = rofiles-fuse
|
||||||
@BUILDOPT_ASAN_TRUE@am__append_64 = OT_SKIP_READDIR_RAND=1 G_SLICE=always-malloc
|
@BUILDOPT_ASAN_TRUE@am__append_65 = OT_SKIP_READDIR_RAND=1 G_SLICE=always-malloc
|
||||||
@ENABLE_EXPERIMENTAL_API_TRUE@am__append_65 = $(experimental_test_scripts)
|
@ENABLE_EXPERIMENTAL_API_TRUE@am__append_66 = $(experimental_test_scripts)
|
||||||
@ENABLE_EXPERIMENTAL_API_TRUE@am__append_66 = tests/repo-finder-mount
|
@ENABLE_EXPERIMENTAL_API_TRUE@am__append_67 = tests/repo-finder-mount
|
||||||
@ENABLE_EXPERIMENTAL_API_FALSE@am__append_67 = $(experimental_test_scripts)
|
@ENABLE_EXPERIMENTAL_API_FALSE@am__append_68 = $(experimental_test_scripts)
|
||||||
@BUILDOPT_FUSE_TRUE@am__append_68 = tests/test-rofiles-fuse.sh
|
@BUILDOPT_FUSE_TRUE@am__append_69 = tests/test-rofiles-fuse.sh
|
||||||
@BUILDOPT_FUSE_TRUE@am__append_69 = tests/rofiles-fuse-symlink-stamp
|
@BUILDOPT_FUSE_TRUE@am__append_70 = tests/rofiles-fuse-symlink-stamp
|
||||||
@BUILDOPT_FUSE_FALSE@am__append_70 = tests/test-rofiles-fuse.sh
|
@BUILDOPT_FUSE_FALSE@am__append_71 = tests/test-rofiles-fuse.sh
|
||||||
@USE_LIBSOUP_TRUE@am__append_71 = tests/test-remote-cookies.sh
|
@USE_LIBSOUP_TRUE@am__append_72 = tests/test-remote-cookies.sh
|
||||||
@BUILDOPT_GJS_TRUE@am__append_72 = $(js_tests) $(js_installed_tests)
|
@BUILDOPT_GJS_TRUE@am__append_73 = $(js_tests) $(js_installed_tests)
|
||||||
@BUILDOPT_GJS_FALSE@am__append_73 = $(js_tests)
|
@BUILDOPT_GJS_FALSE@am__append_74 = $(js_tests)
|
||||||
@BUILDOPT_GJS_FALSE@am__append_74 = $(js_installed_tests)
|
@BUILDOPT_GJS_FALSE@am__append_75 = $(js_installed_tests)
|
||||||
@ENABLE_INSTALLED_TESTS_FALSE@am__append_75 = -rpath $(abs_builddir)
|
@ENABLE_INSTALLED_TESTS_FALSE@am__append_76 = -rpath $(abs_builddir)
|
||||||
@ENABLE_EXPERIMENTAL_API_TRUE@am__append_76 = \
|
@ENABLE_EXPERIMENTAL_API_TRUE@am__append_77 = \
|
||||||
@ENABLE_EXPERIMENTAL_API_TRUE@ tests/test-bloom \
|
@ENABLE_EXPERIMENTAL_API_TRUE@ tests/test-bloom \
|
||||||
@ENABLE_EXPERIMENTAL_API_TRUE@ tests/test-repo-finder-config \
|
@ENABLE_EXPERIMENTAL_API_TRUE@ tests/test-repo-finder-config \
|
||||||
@ENABLE_EXPERIMENTAL_API_TRUE@ tests/test-repo-finder-mount \
|
@ENABLE_EXPERIMENTAL_API_TRUE@ tests/test-repo-finder-mount \
|
||||||
@ENABLE_EXPERIMENTAL_API_TRUE@ $(NULL)
|
@ENABLE_EXPERIMENTAL_API_TRUE@ $(NULL)
|
||||||
|
|
||||||
@ENABLE_EXPERIMENTAL_API_TRUE@@USE_AVAHI_TRUE@am__append_77 = tests/test-repo-finder-avahi
|
@ENABLE_EXPERIMENTAL_API_TRUE@@USE_AVAHI_TRUE@am__append_78 = tests/test-repo-finder-avahi
|
||||||
@USE_LIBARCHIVE_TRUE@am__append_78 = tests/test-libarchive-import
|
@USE_LIBARCHIVE_TRUE@am__append_79 = tests/test-libarchive-import
|
||||||
@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__append_79 = $(_installed_or_uninstalled_test_scripts)
|
@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__append_80 = $(_installed_or_uninstalled_test_scripts)
|
||||||
@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__append_80 = $(_installed_or_uninstalled_test_programs)
|
@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__append_81 = $(_installed_or_uninstalled_test_programs)
|
||||||
@ENABLE_INSTALLED_TESTS_TRUE@am__append_81 = install-installed-tests-extra
|
@ENABLE_INSTALLED_TESTS_TRUE@am__append_82 = install-installed-tests-extra
|
||||||
|
|
||||||
# Allow the distcheck install under $prefix test to pass
|
# Allow the distcheck install under $prefix test to pass
|
||||||
@BUILDOPT_SYSTEMD_TRUE@am__append_82 = --with-systemdsystemunitdir='$${libdir}/systemd/system'
|
@BUILDOPT_SYSTEMD_TRUE@am__append_83 = --with-systemdsystemunitdir='$${libdir}/systemd/system'
|
||||||
|
|
||||||
# We're using the system grub2-mkconfig generator
|
# We're using the system grub2-mkconfig generator
|
||||||
@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_FALSE@am__append_83 = src/boot/grub2/grub2-15_ostree
|
@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_FALSE@am__append_84 = src/boot/grub2/grub2-15_ostree
|
||||||
@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_FALSE@am__append_84 = install-grub2-config-hook
|
@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_FALSE@am__append_85 = install-grub2-config-hook
|
||||||
@BUILDOPT_TRIVIAL_HTTPD_TRUE@@ENABLE_MAN_TRUE@am__append_85 = ostree-trivial-httpd.1
|
@BUILDOPT_TRIVIAL_HTTPD_TRUE@@ENABLE_MAN_TRUE@am__append_86 = ostree-trivial-httpd.1
|
||||||
# We still want to distribute the source, even if we are not building it
|
# We still want to distribute the source, even if we are not building it
|
||||||
@BUILDOPT_TRIVIAL_HTTPD_FALSE@@ENABLE_MAN_TRUE@am__append_86 = man/ostree-trivial-httpd.xml
|
@BUILDOPT_TRIVIAL_HTTPD_FALSE@@ENABLE_MAN_TRUE@am__append_87 = man/ostree-trivial-httpd.xml
|
||||||
@BUILDOPT_FUSE_TRUE@@ENABLE_MAN_TRUE@am__append_87 = rofiles-fuse.1
|
@BUILDOPT_FUSE_TRUE@@ENABLE_MAN_TRUE@am__append_88 = rofiles-fuse.1
|
||||||
@ENABLE_MAN_TRUE@am__append_88 = $(man1_MANS:.1=.xml) $(man5_MANS:.5=.xml)
|
@ENABLE_MAN_TRUE@am__append_89 = $(man1_MANS:.1=.xml) $(man5_MANS:.5=.xml)
|
||||||
@ENABLE_MAN_TRUE@am__append_89 = \
|
@ENABLE_MAN_TRUE@am__append_90 = \
|
||||||
@ENABLE_MAN_TRUE@ $(man1_MANS) \
|
@ENABLE_MAN_TRUE@ $(man1_MANS) \
|
||||||
@ENABLE_MAN_TRUE@ $(man5_MANS) \
|
@ENABLE_MAN_TRUE@ $(man5_MANS) \
|
||||||
@ENABLE_MAN_TRUE@ $(NULL)
|
@ENABLE_MAN_TRUE@ $(NULL)
|
||||||
|
|
@ -671,11 +673,11 @@ am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
|
||||||
libostree_1_la_DEPENDENCIES = libotutil.la libglnx.la libbsdiff.la \
|
libostree_1_la_DEPENDENCIES = libotutil.la libglnx.la libbsdiff.la \
|
||||||
libostree-kernel-args.la $(am__DEPENDENCIES_2) \
|
libostree-kernel-args.la $(am__DEPENDENCIES_2) \
|
||||||
$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1) \
|
$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1) \
|
||||||
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(bupsplitpath) \
|
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
|
||||||
$(am__DEPENDENCIES_4) $(am__DEPENDENCIES_5) \
|
$(am__DEPENDENCIES_1) $(bupsplitpath) $(am__DEPENDENCIES_4) \
|
||||||
$(am__DEPENDENCIES_6) $(am__DEPENDENCIES_7) \
|
$(am__DEPENDENCIES_5) $(am__DEPENDENCIES_6) \
|
||||||
$(am__DEPENDENCIES_8) $(am__DEPENDENCIES_9) \
|
$(am__DEPENDENCIES_7) $(am__DEPENDENCIES_8) \
|
||||||
$(am__DEPENDENCIES_10)
|
$(am__DEPENDENCIES_9) $(am__DEPENDENCIES_10)
|
||||||
am__libostree_1_la_SOURCES_DIST = \
|
am__libostree_1_la_SOURCES_DIST = \
|
||||||
src/libostree/ostree-async-progress.c \
|
src/libostree/ostree-async-progress.c \
|
||||||
src/libostree/ostree-cmdprivate.h \
|
src/libostree/ostree-cmdprivate.h \
|
||||||
|
|
@ -932,7 +934,8 @@ am__EXEEXT_8 = $(am__EXEEXT_2) $(am__EXEEXT_3) $(am__EXEEXT_4) \
|
||||||
$(am__EXEEXT_7)
|
$(am__EXEEXT_7)
|
||||||
@ENABLE_INSTALLED_TESTS_EXCLUSIVE_TRUE@am__EXEEXT_9 = $(am__EXEEXT_6)
|
@ENABLE_INSTALLED_TESTS_EXCLUSIVE_TRUE@am__EXEEXT_9 = $(am__EXEEXT_6)
|
||||||
@ENABLE_EXPERIMENTAL_API_TRUE@am__EXEEXT_10 = tests/repo-finder-mount$(EXEEXT)
|
@ENABLE_EXPERIMENTAL_API_TRUE@am__EXEEXT_10 = tests/repo-finder-mount$(EXEEXT)
|
||||||
am__EXEEXT_11 = $(am__EXEEXT_2) $(am__EXEEXT_10)
|
am__EXEEXT_11 = tests/get-byte-order$(EXEEXT) $(am__EXEEXT_2) \
|
||||||
|
$(am__EXEEXT_10)
|
||||||
am__EXEEXT_12 = $(am__EXEEXT_8) $(am__EXEEXT_9) $(am__EXEEXT_11)
|
am__EXEEXT_12 = $(am__EXEEXT_8) $(am__EXEEXT_9) $(am__EXEEXT_11)
|
||||||
@ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__EXEEXT_13 = $(am__EXEEXT_12)
|
@ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__EXEEXT_13 = $(am__EXEEXT_12)
|
||||||
am__EXEEXT_14 = test-libglnx-xattrs$(EXEEXT) \
|
am__EXEEXT_14 = test-libglnx-xattrs$(EXEEXT) \
|
||||||
|
|
@ -1114,7 +1117,7 @@ am__rofiles_fuse_SOURCES_DIST = src/rofiles-fuse/main.c
|
||||||
rofiles_fuse_OBJECTS = $(am_rofiles_fuse_OBJECTS)
|
rofiles_fuse_OBJECTS = $(am_rofiles_fuse_OBJECTS)
|
||||||
@BUILDOPT_FUSE_TRUE@rofiles_fuse_DEPENDENCIES = libglnx.la \
|
@BUILDOPT_FUSE_TRUE@rofiles_fuse_DEPENDENCIES = libglnx.la \
|
||||||
@BUILDOPT_FUSE_TRUE@ $(am__DEPENDENCIES_1) \
|
@BUILDOPT_FUSE_TRUE@ $(am__DEPENDENCIES_1) \
|
||||||
@BUILDOPT_FUSE_TRUE@ $(am__DEPENDENCIES_2)
|
@BUILDOPT_FUSE_TRUE@ $(am__DEPENDENCIES_2) libostree-1.la
|
||||||
rofiles_fuse_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
rofiles_fuse_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||||
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(rofiles_fuse_CFLAGS) \
|
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(rofiles_fuse_CFLAGS) \
|
||||||
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
|
|
@ -1154,6 +1157,14 @@ test_libglnx_xattrs_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
|
||||||
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
|
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
|
||||||
$(test_libglnx_xattrs_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
|
$(test_libglnx_xattrs_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
|
||||||
$(LDFLAGS) -o $@
|
$(LDFLAGS) -o $@
|
||||||
|
am_tests_get_byte_order_OBJECTS = \
|
||||||
|
tests/tests_get_byte_order-get-byte-order.$(OBJEXT)
|
||||||
|
tests_get_byte_order_OBJECTS = $(am_tests_get_byte_order_OBJECTS)
|
||||||
|
tests_get_byte_order_DEPENDENCIES = $(am__DEPENDENCIES_1)
|
||||||
|
tests_get_byte_order_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
|
||||||
|
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
|
||||||
|
$(tests_get_byte_order_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
|
||||||
|
$(LDFLAGS) -o $@
|
||||||
am_tests_repo_finder_mount_OBJECTS = \
|
am_tests_repo_finder_mount_OBJECTS = \
|
||||||
tests/tests_repo_finder_mount-repo-finder-mount.$(OBJEXT)
|
tests/tests_repo_finder_mount-repo-finder-mount.$(OBJEXT)
|
||||||
tests_repo_finder_mount_OBJECTS = \
|
tests_repo_finder_mount_OBJECTS = \
|
||||||
|
|
@ -1398,7 +1409,7 @@ SOURCES = $(libbsdiff_la_SOURCES) $(libbupsplit_la_SOURCES) \
|
||||||
$(ostree_trivial_httpd_SOURCES) $(rofiles_fuse_SOURCES) \
|
$(ostree_trivial_httpd_SOURCES) $(rofiles_fuse_SOURCES) \
|
||||||
$(test_libglnx_errors_SOURCES) $(test_libglnx_fdio_SOURCES) \
|
$(test_libglnx_errors_SOURCES) $(test_libglnx_fdio_SOURCES) \
|
||||||
$(test_libglnx_macros_SOURCES) $(test_libglnx_shutil_SOURCES) \
|
$(test_libglnx_macros_SOURCES) $(test_libglnx_shutil_SOURCES) \
|
||||||
$(test_libglnx_xattrs_SOURCES) \
|
$(test_libglnx_xattrs_SOURCES) $(tests_get_byte_order_SOURCES) \
|
||||||
$(tests_repo_finder_mount_SOURCES) tests/test-basic-c.c \
|
$(tests_repo_finder_mount_SOURCES) tests/test-basic-c.c \
|
||||||
$(tests_test_bloom_SOURCES) tests/test-bsdiff.c \
|
$(tests_test_bloom_SOURCES) tests/test-bsdiff.c \
|
||||||
$(tests_test_checksum_SOURCES) \
|
$(tests_test_checksum_SOURCES) \
|
||||||
|
|
@ -1426,7 +1437,7 @@ DIST_SOURCES = $(libbsdiff_la_SOURCES) \
|
||||||
$(am__rofiles_fuse_SOURCES_DIST) \
|
$(am__rofiles_fuse_SOURCES_DIST) \
|
||||||
$(test_libglnx_errors_SOURCES) $(test_libglnx_fdio_SOURCES) \
|
$(test_libglnx_errors_SOURCES) $(test_libglnx_fdio_SOURCES) \
|
||||||
$(test_libglnx_macros_SOURCES) $(test_libglnx_shutil_SOURCES) \
|
$(test_libglnx_macros_SOURCES) $(test_libglnx_shutil_SOURCES) \
|
||||||
$(test_libglnx_xattrs_SOURCES) \
|
$(test_libglnx_xattrs_SOURCES) $(tests_get_byte_order_SOURCES) \
|
||||||
$(tests_repo_finder_mount_SOURCES) tests/test-basic-c.c \
|
$(tests_repo_finder_mount_SOURCES) tests/test-basic-c.c \
|
||||||
$(tests_test_bloom_SOURCES) tests/test-bsdiff.c \
|
$(tests_test_bloom_SOURCES) tests/test-bsdiff.c \
|
||||||
$(tests_test_checksum_SOURCES) \
|
$(tests_test_checksum_SOURCES) \
|
||||||
|
|
@ -1733,8 +1744,8 @@ am__EXEEXT_25 = tests/test-basic.sh tests/test-basic-user.sh \
|
||||||
tests/test-demo-buildsystem.sh tests/test-switchroot.sh \
|
tests/test-demo-buildsystem.sh tests/test-switchroot.sh \
|
||||||
tests/test-pull-contenturl.sh tests/test-pull-mirrorlist.sh \
|
tests/test-pull-contenturl.sh tests/test-pull-mirrorlist.sh \
|
||||||
tests/test-summary-update.sh tests/test-summary-view.sh \
|
tests/test-summary-update.sh tests/test-summary-view.sh \
|
||||||
$(am__EXEEXT_2) $(am__EXEEXT_22) $(am__append_68) \
|
tests/test-no-initramfs.sh $(am__EXEEXT_2) $(am__EXEEXT_22) \
|
||||||
$(am__append_71) $(am__EXEEXT_24)
|
$(am__append_69) $(am__append_72) $(am__EXEEXT_24)
|
||||||
@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__EXEEXT_26 = \
|
@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__EXEEXT_26 = \
|
||||||
@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@ $(am__EXEEXT_25)
|
@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@ $(am__EXEEXT_25)
|
||||||
am__EXEEXT_27 = $(am__EXEEXT_2) $(am__EXEEXT_26)
|
am__EXEEXT_27 = $(am__EXEEXT_2) $(am__EXEEXT_26)
|
||||||
|
|
@ -2030,21 +2041,21 @@ AM_CFLAGS = -std=gnu99 -fno-strict-aliasing $(WARN_CFLAGS)
|
||||||
|
|
||||||
# Allow the distcheck install under $prefix test to pass
|
# Allow the distcheck install under $prefix test to pass
|
||||||
AM_DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-man \
|
AM_DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-man \
|
||||||
--disable-maintainer-mode $(NULL) $(am__append_62) \
|
--disable-maintainer-mode $(NULL) $(am__append_63) \
|
||||||
$(am__append_82) \
|
$(am__append_83) \
|
||||||
BASH_COMPLETIONSDIR='$${datadir}/bash-completion/completions'
|
BASH_COMPLETIONSDIR='$${datadir}/bash-completion/completions'
|
||||||
SUBDIRS = . $(am__append_14)
|
SUBDIRS = . $(am__append_14)
|
||||||
NULL =
|
NULL =
|
||||||
BUILT_SOURCES = $(nodist_libostree_1_la_SOURCES)
|
BUILT_SOURCES = $(nodist_libostree_1_la_SOURCES)
|
||||||
MANPAGES =
|
MANPAGES =
|
||||||
CLEANFILES = $(am__append_13) $(BUILT_SOURCES) $(am__append_47) \
|
CLEANFILES = $(am__append_13) $(BUILT_SOURCES) $(am__append_48) \
|
||||||
src/ostree/parse-datetime.c tests/libreaddir-rand.so \
|
src/ostree/parse-datetime.c tests/libreaddir-rand.so \
|
||||||
tests/ostree-symlink-stamp \
|
tests/ostree-symlink-stamp \
|
||||||
tests/ostree-prepare-root-symlink-stamp \
|
tests/ostree-prepare-root-symlink-stamp \
|
||||||
tests/ostree-remount-symlink-stamp \
|
tests/ostree-remount-symlink-stamp \
|
||||||
tests/rofiles-fuse-symlink-stamp tests/ostree \
|
tests/rofiles-fuse-symlink-stamp tests/ostree \
|
||||||
tests/ostree-prepare-root tests/ostree-remount \
|
tests/ostree-prepare-root tests/ostree-remount \
|
||||||
tests/rofiles-fuse $(am__append_89)
|
tests/rofiles-fuse $(am__append_90)
|
||||||
EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) autogen.sh \
|
EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) autogen.sh \
|
||||||
COPYING README.md $(am__append_15) libglnx/README.md \
|
COPYING README.md $(am__append_15) libglnx/README.md \
|
||||||
libglnx/COPYING libglnx/libglnx.m4 $(NULL) \
|
libglnx/COPYING libglnx/libglnx.m4 $(NULL) \
|
||||||
|
|
@ -2061,19 +2072,19 @@ EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) autogen.sh \
|
||||||
src/libostree/ostree-repo-deprecated.h \
|
src/libostree/ostree-repo-deprecated.h \
|
||||||
src/libostree/ostree-version.h src/ostree/parse-datetime.y \
|
src/libostree/ostree-version.h src/ostree/parse-datetime.y \
|
||||||
buildutil/tap-driver.sh buildutil/tap-test tests/glib.supp \
|
buildutil/tap-driver.sh buildutil/tap-test tests/glib.supp \
|
||||||
tests/ostree.supp $(NULL) $(am__append_67) $(am__append_70) \
|
tests/ostree.supp $(NULL) $(am__append_68) $(am__append_71) \
|
||||||
$(am__append_73) tests/libtest.sh $(am__append_74) \
|
$(am__append_74) tests/libtest.sh $(am__append_75) \
|
||||||
tests/libostreetest.h tests/libtest.sh \
|
tests/libostreetest.h tests/libtest.sh \
|
||||||
tests/gpg-verify-data/README.md $(NULL) \
|
tests/gpg-verify-data/README.md $(NULL) \
|
||||||
src/boot/dracut/module-setup.sh src/boot/dracut/ostree.conf \
|
src/boot/dracut/module-setup.sh src/boot/dracut/ostree.conf \
|
||||||
src/boot/mkinitcpio/ostree \
|
src/boot/mkinitcpio/ostree \
|
||||||
src/boot/ostree-prepare-root.service \
|
src/boot/ostree-prepare-root.service \
|
||||||
src/boot/ostree-remount.service src/boot/grub2/grub2-15_ostree \
|
src/boot/ostree-remount.service src/boot/grub2/grub2-15_ostree \
|
||||||
src/boot/grub2/ostree-grub-generator $(NULL) $(am__append_86) \
|
src/boot/grub2/ostree-grub-generator $(NULL) $(am__append_87) \
|
||||||
$(am__append_88)
|
$(am__append_89)
|
||||||
bin_SCRIPTS =
|
bin_SCRIPTS =
|
||||||
lib_LTLIBRARIES = libostree-1.la
|
lib_LTLIBRARIES = libostree-1.la
|
||||||
pkglibexec_SCRIPTS = $(am__append_83)
|
pkglibexec_SCRIPTS = $(am__append_84)
|
||||||
noinst_LTLIBRARIES = $(am__append_1) libglnx.la libbsdiff.la \
|
noinst_LTLIBRARIES = $(am__append_1) libglnx.la libbsdiff.la \
|
||||||
libotutil.la libostree-kernel-args.la $(am__append_18) \
|
libotutil.la libostree-kernel-args.la $(am__append_18) \
|
||||||
libostreetest.la
|
libostreetest.la
|
||||||
|
|
@ -2081,11 +2092,11 @@ privlibdir = $(pkglibdir)
|
||||||
privlib_LTLIBRARIES =
|
privlib_LTLIBRARIES =
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
pkgconfig_DATA = src/libostree/ostree-1.pc
|
pkgconfig_DATA = src/libostree/ostree-1.pc
|
||||||
INTROSPECTION_GIRS = $(am__append_44)
|
INTROSPECTION_GIRS = $(am__append_45)
|
||||||
girdir = $(datadir)/gir-1.0
|
girdir = $(datadir)/gir-1.0
|
||||||
gir_DATA = $(am__append_45)
|
gir_DATA = $(am__append_46)
|
||||||
typelibdir = $(libdir)/girepository-1.0
|
typelibdir = $(libdir)/girepository-1.0
|
||||||
typelib_DATA = $(am__append_46)
|
typelib_DATA = $(am__append_47)
|
||||||
gsettings_SCHEMAS =
|
gsettings_SCHEMAS =
|
||||||
ostree_bootdir = $(prefix)/lib/ostree
|
ostree_bootdir = $(prefix)/lib/ostree
|
||||||
|
|
||||||
|
|
@ -2104,7 +2115,7 @@ AM_TESTS_ENVIRONMENT = G_TEST_SRCDIR="$(abs_srcdir)" \
|
||||||
pwd)$${LD_LIBRARY_PATH:+:$${LD_LIBRARY_PATH}} PATH=$$(cd \
|
pwd)$${LD_LIBRARY_PATH:+:$${LD_LIBRARY_PATH}} PATH=$$(cd \
|
||||||
$(top_builddir)/tests && pwd):$${PATH} \
|
$(top_builddir)/tests && pwd):$${PATH} \
|
||||||
OSTREE_FEATURES="$(OSTREE_FEATURES)" PYTHONUNBUFFERED=1 \
|
OSTREE_FEATURES="$(OSTREE_FEATURES)" PYTHONUNBUFFERED=1 \
|
||||||
$(NULL) $(am__append_64)
|
$(NULL) $(am__append_65)
|
||||||
LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/buildutil/tap-driver.sh
|
LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/buildutil/tap-driver.sh
|
||||||
LOG_COMPILER = $(top_srcdir)/buildutil/tap-test
|
LOG_COMPILER = $(top_srcdir)/buildutil/tap-test
|
||||||
installed_test_LTLIBRARIES = $(am__append_12)
|
installed_test_LTLIBRARIES = $(am__append_12)
|
||||||
|
|
@ -2144,14 +2155,14 @@ all_test_ltlibs = $(test_ltlibraries) $(uninstalled_test_ltlibraries) $(installe
|
||||||
# This initializes some more variables
|
# This initializes some more variables
|
||||||
|
|
||||||
# This is a special facility to chain together hooks easily
|
# This is a special facility to chain together hooks easily
|
||||||
INSTALL_DATA_HOOKS = install-mkdir-remotes-d-hook $(am__append_81) \
|
INSTALL_DATA_HOOKS = install-mkdir-remotes-d-hook $(am__append_82) \
|
||||||
$(am__append_84)
|
$(am__append_85)
|
||||||
ALL_LOCAL_RULES = tests/libreaddir-rand.so
|
ALL_LOCAL_RULES = tests/libreaddir-rand.so
|
||||||
shortened_sysconfdir = $$(echo "$(sysconfdir)" | sed -e 's|^$(prefix)||' -e 's|^/||')
|
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)
|
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)
|
||||||
ACLOCAL_AMFLAGS = -I buildutil -I libglnx ${ACLOCAL_FLAGS}
|
ACLOCAL_AMFLAGS = -I buildutil -I libglnx ${ACLOCAL_FLAGS}
|
||||||
GITIGNOREFILES = aclocal.m4 build-aux/ buildutil/*.m4 config.h.in \
|
GITIGNOREFILES = aclocal.m4 build-aux/ buildutil/*.m4 config.h.in \
|
||||||
gtk-doc.make $(am__append_61)
|
gtk-doc.make $(am__append_62)
|
||||||
OT_INTERNAL_GIO_UNIX_CFLAGS = $(OT_DEP_GIO_UNIX_CFLAGS)
|
OT_INTERNAL_GIO_UNIX_CFLAGS = $(OT_DEP_GIO_UNIX_CFLAGS)
|
||||||
OT_INTERNAL_GIO_UNIX_LIBS = $(OT_DEP_GIO_UNIX_LIBS)
|
OT_INTERNAL_GIO_UNIX_LIBS = $(OT_DEP_GIO_UNIX_LIBS)
|
||||||
OT_INTERNAL_SOUP_CFLAGS = $(OT_DEP_SOUP_CFLAGS)
|
OT_INTERNAL_SOUP_CFLAGS = $(OT_DEP_SOUP_CFLAGS)
|
||||||
|
|
@ -2356,8 +2367,8 @@ libostree_1_la_SOURCES = src/libostree/ostree-async-progress.c \
|
||||||
src/libostree/ostree-gpg-verify-result-private.h \
|
src/libostree/ostree-gpg-verify-result-private.h \
|
||||||
src/libostree/ostree-autocleanups.h $(NULL) $(am__append_19) \
|
src/libostree/ostree-autocleanups.h $(NULL) $(am__append_19) \
|
||||||
$(am__append_20) $(am__append_21) $(am__append_22) \
|
$(am__append_20) $(am__append_21) $(am__append_22) \
|
||||||
$(am__append_23) $(am__append_32) $(am__append_33) \
|
$(am__append_23) $(am__append_33) $(am__append_34) \
|
||||||
$(am__append_36)
|
$(am__append_37)
|
||||||
libostree_experimental_headers = \
|
libostree_experimental_headers = \
|
||||||
src/libostree/ostree-ref.h \
|
src/libostree/ostree-ref.h \
|
||||||
src/libostree/ostree-remote.h \
|
src/libostree/ostree-remote.h \
|
||||||
|
|
@ -2379,23 +2390,23 @@ libostree_1_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/bsdiff \
|
||||||
$(OT_DEP_LZMA_CFLAGS) $(OT_DEP_ZLIB_CFLAGS) \
|
$(OT_DEP_LZMA_CFLAGS) $(OT_DEP_ZLIB_CFLAGS) \
|
||||||
$(OT_DEP_CRYPTO_CFLAGS) -fvisibility=hidden \
|
$(OT_DEP_CRYPTO_CFLAGS) -fvisibility=hidden \
|
||||||
'-D_OSTREE_PUBLIC=__attribute__((visibility("default"))) \
|
'-D_OSTREE_PUBLIC=__attribute__((visibility("default"))) \
|
||||||
extern' $(am__append_26) $(am__append_28) $(am__append_30) \
|
extern' $(am__append_27) $(am__append_29) $(am__append_31) \
|
||||||
$(am__append_34) $(am__append_37) $(am__append_39) \
|
$(am__append_35) $(am__append_38) $(am__append_40) \
|
||||||
$(am__append_41)
|
$(am__append_42)
|
||||||
libostree_1_la_LDFLAGS = -version-number 1:0:0 -Bsymbolic-functions $(addprefix $(wl_versionscript_arg),$(symbol_files))
|
libostree_1_la_LDFLAGS = -version-number 1:0:0 -Bsymbolic-functions $(addprefix $(wl_versionscript_arg),$(symbol_files))
|
||||||
libostree_1_la_LIBADD = libotutil.la libglnx.la libbsdiff.la \
|
libostree_1_la_LIBADD = libotutil.la libglnx.la libbsdiff.la \
|
||||||
libostree-kernel-args.la $(OT_INTERNAL_GIO_UNIX_LIBS) \
|
libostree-kernel-args.la $(OT_INTERNAL_GIO_UNIX_LIBS) \
|
||||||
$(OT_INTERNAL_GPGME_LIBS) $(OT_DEP_LZMA_LIBS) \
|
$(OT_INTERNAL_GPGME_LIBS) $(OT_DEP_LZMA_LIBS) \
|
||||||
$(OT_DEP_ZLIB_LIBS) $(OT_DEP_CRYPTO_LIBS) $(bupsplitpath) \
|
$(OT_DEP_ZLIB_LIBS) $(OT_DEP_CRYPTO_LIBS) $(am__append_26) \
|
||||||
$(am__append_27) $(am__append_29) $(am__append_31) \
|
$(bupsplitpath) $(am__append_28) $(am__append_30) \
|
||||||
$(am__append_35) $(am__append_38) $(am__append_40) \
|
$(am__append_32) $(am__append_36) $(am__append_39) \
|
||||||
$(am__append_42)
|
$(am__append_41) $(am__append_43)
|
||||||
EXTRA_libostree_1_la_DEPENDENCIES = $(symbol_files)
|
EXTRA_libostree_1_la_DEPENDENCIES = $(symbol_files)
|
||||||
@BUILDOPT_INTROSPECTION_TRUE@OSTree_1_0_gir_EXPORT_PACKAGES = ostree-1
|
@BUILDOPT_INTROSPECTION_TRUE@OSTree_1_0_gir_EXPORT_PACKAGES = ostree-1
|
||||||
@BUILDOPT_INTROSPECTION_TRUE@OSTree_1_0_gir_INCLUDES = Gio-2.0
|
@BUILDOPT_INTROSPECTION_TRUE@OSTree_1_0_gir_INCLUDES = Gio-2.0
|
||||||
@BUILDOPT_INTROSPECTION_TRUE@OSTree_1_0_gir_CFLAGS = \
|
@BUILDOPT_INTROSPECTION_TRUE@OSTree_1_0_gir_CFLAGS = \
|
||||||
@BUILDOPT_INTROSPECTION_TRUE@ $(libostree_1_la_CFLAGS) \
|
@BUILDOPT_INTROSPECTION_TRUE@ $(libostree_1_la_CFLAGS) \
|
||||||
@BUILDOPT_INTROSPECTION_TRUE@ $(am__append_43)
|
@BUILDOPT_INTROSPECTION_TRUE@ $(am__append_44)
|
||||||
@BUILDOPT_INTROSPECTION_TRUE@OSTree_1_0_gir_LIBS = libostree-1.la
|
@BUILDOPT_INTROSPECTION_TRUE@OSTree_1_0_gir_LIBS = libostree-1.la
|
||||||
@BUILDOPT_INTROSPECTION_TRUE@OSTree_1_0_gir_SCANNERFLAGS = --warn-all --identifier-prefix=Ostree --symbol-prefix=ostree $(GI_SCANNERFLAGS)
|
@BUILDOPT_INTROSPECTION_TRUE@OSTree_1_0_gir_SCANNERFLAGS = --warn-all --identifier-prefix=Ostree --symbol-prefix=ostree $(GI_SCANNERFLAGS)
|
||||||
@BUILDOPT_INTROSPECTION_TRUE@OSTree_1_0_gir_FILES = $(libostreeinclude_HEADERS) $(filter-out %-private.h %/ostree-soup-uri.h $(libostree_experimental_headers),$(libostree_1_la_SOURCES))
|
@BUILDOPT_INTROSPECTION_TRUE@OSTree_1_0_gir_FILES = $(libostreeinclude_HEADERS) $(filter-out %-private.h %/ostree-soup-uri.h $(libostree_experimental_headers),$(libostree_1_la_SOURCES))
|
||||||
|
|
@ -2423,7 +2434,7 @@ ostree_SOURCES = src/ostree/main.c src/ostree/ot-builtin-admin.c \
|
||||||
src/ostree/ot-main.c src/ostree/ot-dump.h src/ostree/ot-dump.c \
|
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/ot-editor.c src/ostree/ot-editor.h \
|
||||||
src/ostree/parse-datetime.h src/ostree/parse-datetime.c \
|
src/ostree/parse-datetime.h src/ostree/parse-datetime.c \
|
||||||
$(NULL) $(am__append_48) src/ostree/ot-admin-builtin-init-fs.c \
|
$(NULL) $(am__append_49) src/ostree/ot-admin-builtin-init-fs.c \
|
||||||
src/ostree/ot-admin-builtin-diff.c \
|
src/ostree/ot-admin-builtin-diff.c \
|
||||||
src/ostree/ot-admin-builtin-deploy.c \
|
src/ostree/ot-admin-builtin-deploy.c \
|
||||||
src/ostree/ot-admin-builtin-undeploy.c \
|
src/ostree/ot-admin-builtin-undeploy.c \
|
||||||
|
|
@ -2450,7 +2461,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-show-url.c \
|
||||||
src/ostree/ot-remote-builtin-refs.c \
|
src/ostree/ot-remote-builtin-refs.c \
|
||||||
src/ostree/ot-remote-builtin-summary.c $(NULL) \
|
src/ostree/ot-remote-builtin-summary.c $(NULL) \
|
||||||
$(am__append_49) $(am__append_50)
|
$(am__append_50) $(am__append_51)
|
||||||
ostree_bin_shared_cflags = $(AM_CFLAGS) -I$(srcdir)/src/libotutil -I$(srcdir)/src/libostree \
|
ostree_bin_shared_cflags = $(AM_CFLAGS) -I$(srcdir)/src/libotutil -I$(srcdir)/src/libostree \
|
||||||
-I$(builddir)/src/libostree -I$(srcdir)/src/ostree -I$(srcdir)/libglnx $(OT_INTERNAL_GIO_UNIX_CFLAGS) \
|
-I$(builddir)/src/libostree -I$(srcdir)/src/ostree -I$(srcdir)/libglnx $(OT_INTERNAL_GIO_UNIX_CFLAGS) \
|
||||||
-DPKGLIBEXECDIR=\"$(pkglibexecdir)\"
|
-DPKGLIBEXECDIR=\"$(pkglibexecdir)\"
|
||||||
|
|
@ -2458,11 +2469,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 \
|
ostree_bin_shared_ldadd = $(AM_LDFLAGS) libglnx.la libotutil.la libostree-1.la \
|
||||||
$(OT_INTERNAL_GIO_UNIX_LIBS)
|
$(OT_INTERNAL_GIO_UNIX_LIBS)
|
||||||
|
|
||||||
ostree_CFLAGS = $(ostree_bin_shared_cflags) $(am__append_52) \
|
ostree_CFLAGS = $(ostree_bin_shared_cflags) $(am__append_53) \
|
||||||
$(am__append_54)
|
|
||||||
ostree_LDADD = $(ostree_bin_shared_ldadd) libbsdiff.la \
|
|
||||||
libostree-kernel-args.la $(LIBSYSTEMD_LIBS) $(am__append_53) \
|
|
||||||
$(am__append_55)
|
$(am__append_55)
|
||||||
|
ostree_LDADD = $(ostree_bin_shared_ldadd) libbsdiff.la \
|
||||||
|
libostree-kernel-args.la $(LIBSYSTEMD_LIBS) $(am__append_54) \
|
||||||
|
$(am__append_56)
|
||||||
@USE_LIBSOUP_TRUE@ostree_trivial_httpd_SOURCES = src/ostree/ostree-trivial-httpd.c
|
@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_CFLAGS = $(ostree_bin_shared_cflags) $(OT_INTERNAL_SOUP_CFLAGS)
|
||||||
@USE_LIBSOUP_TRUE@ostree_trivial_httpd_LDADD = $(ostree_bin_shared_ldadd) $(OT_INTERNAL_SOUP_LIBS)
|
@USE_LIBSOUP_TRUE@ostree_trivial_httpd_LDADD = $(ostree_bin_shared_ldadd) $(OT_INTERNAL_SOUP_LIBS)
|
||||||
|
|
@ -2471,7 +2482,7 @@ ostree_prepare_root_SOURCES = \
|
||||||
src/switchroot/ostree-prepare-root.c \
|
src/switchroot/ostree-prepare-root.c \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
ostree_prepare_root_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_59)
|
ostree_prepare_root_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_60)
|
||||||
# We're using our internal generator
|
# We're using our internal generator
|
||||||
@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_TRUE@ostree_boot_SCRIPTS = src/boot/grub2/ostree-grub-generator
|
@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_TRUE@ostree_boot_SCRIPTS = src/boot/grub2/ostree-grub-generator
|
||||||
|
|
||||||
|
|
@ -2493,7 +2504,7 @@ ostree_remount_SOURCES = \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
ostree_remount_CPPFLAGS = $(AM_CPPFLAGS) -Isrc/switchroot \
|
ostree_remount_CPPFLAGS = $(AM_CPPFLAGS) -Isrc/switchroot \
|
||||||
$(am__append_60)
|
$(am__append_61)
|
||||||
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@ostree_system_generator_SOURCES = src/switchroot/ostree-mount-util.h \
|
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@ostree_system_generator_SOURCES = src/switchroot/ostree-mount-util.h \
|
||||||
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@ src/switchroot/ostree-system-generator.c
|
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@ src/switchroot/ostree-system-generator.c
|
||||||
|
|
||||||
|
|
@ -2501,11 +2512,14 @@ ostree_remount_CPPFLAGS = $(AM_CPPFLAGS) -Isrc/switchroot \
|
||||||
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@ostree_system_generator_CFLAGS = $(AM_CFLAGS) $(OT_INTERNAL_GIO_UNIX_CFLAGS)
|
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@ostree_system_generator_CFLAGS = $(AM_CFLAGS) $(OT_INTERNAL_GIO_UNIX_CFLAGS)
|
||||||
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@ostree_system_generator_LDADD = $(AM_LDFLAGS) libglnx.la libostree-1.la $(OT_INTERNAL_GIO_UNIX_LIBS)
|
@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@ostree_system_generator_LDADD = $(AM_LDFLAGS) libglnx.la libostree-1.la $(OT_INTERNAL_GIO_UNIX_LIBS)
|
||||||
@BUILDOPT_FUSE_TRUE@rofiles_fuse_SOURCES = src/rofiles-fuse/main.c
|
@BUILDOPT_FUSE_TRUE@rofiles_fuse_SOURCES = src/rofiles-fuse/main.c
|
||||||
@BUILDOPT_FUSE_TRUE@rofiles_fuse_CFLAGS = $(AM_CFLAGS) -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 $(BUILDOPT_FUSE_CFLAGS) $(OT_INTERNAL_GIO_UNIX_CFLAGS) -I$(srcdir)/libglnx $(NULL)
|
@BUILDOPT_FUSE_TRUE@rofiles_fuse_CFLAGS = $(AM_CFLAGS) -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 $(BUILDOPT_FUSE_CFLAGS) \
|
||||||
@BUILDOPT_FUSE_TRUE@rofiles_fuse_LDADD = libglnx.la $(BUILDOPT_FUSE_LIBS) $(OT_INTERNAL_GIO_UNIX_LIBS)
|
@BUILDOPT_FUSE_TRUE@ $(OT_INTERNAL_GIO_UNIX_CFLAGS) -I $(srcdir)/src/libostree -I $(builddir)/src/libostree \
|
||||||
|
@BUILDOPT_FUSE_TRUE@ -I$(srcdir)/libglnx
|
||||||
|
|
||||||
|
@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 \
|
uninstalled_test_data = tests/ostree-symlink-stamp \
|
||||||
tests/ostree-prepare-root-symlink-stamp \
|
tests/ostree-prepare-root-symlink-stamp \
|
||||||
tests/ostree-remount-symlink-stamp $(am__append_69)
|
tests/ostree-remount-symlink-stamp $(am__append_70)
|
||||||
dist_uninstalled_test_scripts = tests/test-symbols.sh tests/coccinelle.sh
|
dist_uninstalled_test_scripts = tests/test-symbols.sh tests/coccinelle.sh
|
||||||
|
|
||||||
# This logic implements ENABLE_INSTALLED_TESTS_EXCLUSIVE; see below.
|
# This logic implements ENABLE_INSTALLED_TESTS_EXCLUSIVE; see below.
|
||||||
|
|
@ -2513,9 +2527,9 @@ dist_uninstalled_test_scripts = tests/test-symbols.sh tests/coccinelle.sh
|
||||||
# tests *only* run installed, to avoid having to run them twice in CI.
|
# 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
|
# This overrides the glib-tap.mk emphasis on doing both, if we'd
|
||||||
# used e.g. `dist_test_scripts`.
|
# used e.g. `dist_test_scripts`.
|
||||||
dist_test_scripts = $(NULL) $(am__append_79)
|
dist_test_scripts = $(NULL) $(am__append_80)
|
||||||
test_programs = $(NULL) $(am__append_76) $(am__append_77) \
|
test_programs = $(NULL) $(am__append_77) $(am__append_78) \
|
||||||
$(am__append_80)
|
$(am__append_81)
|
||||||
_installed_or_uninstalled_test_scripts = tests/test-basic.sh \
|
_installed_or_uninstalled_test_scripts = tests/test-basic.sh \
|
||||||
tests/test-basic-user.sh tests/test-basic-user-only.sh \
|
tests/test-basic-user.sh tests/test-basic-user-only.sh \
|
||||||
tests/test-basic-root.sh tests/test-pull-subpath.sh \
|
tests/test-basic-root.sh tests/test-pull-subpath.sh \
|
||||||
|
|
@ -2555,8 +2569,8 @@ _installed_or_uninstalled_test_scripts = tests/test-basic.sh \
|
||||||
tests/test-demo-buildsystem.sh tests/test-switchroot.sh \
|
tests/test-demo-buildsystem.sh tests/test-switchroot.sh \
|
||||||
tests/test-pull-contenturl.sh tests/test-pull-mirrorlist.sh \
|
tests/test-pull-contenturl.sh tests/test-pull-mirrorlist.sh \
|
||||||
tests/test-summary-update.sh tests/test-summary-view.sh \
|
tests/test-summary-update.sh tests/test-summary-view.sh \
|
||||||
$(NULL) $(am__append_65) $(am__append_68) $(am__append_71) \
|
tests/test-no-initramfs.sh $(NULL) $(am__append_66) \
|
||||||
$(am__append_72)
|
$(am__append_69) $(am__append_72) $(am__append_73)
|
||||||
experimental_test_scripts = \
|
experimental_test_scripts = \
|
||||||
tests/test-create-usb.sh \
|
tests/test-create-usb.sh \
|
||||||
tests/test-find-remotes.sh \
|
tests/test-find-remotes.sh \
|
||||||
|
|
@ -2570,7 +2584,10 @@ experimental_test_scripts = \
|
||||||
tests/test-pull-collections.sh \
|
tests/test-pull-collections.sh \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
test_extra_programs = $(NULL) $(am__append_66)
|
test_extra_programs = tests/get-byte-order $(NULL) $(am__append_67)
|
||||||
|
tests_get_byte_order_SOURCES = tests/get-byte-order.c
|
||||||
|
tests_get_byte_order_CFLAGS = $(AM_CFLAGS) $(GLIB_CFLAGS)
|
||||||
|
tests_get_byte_order_LDADD = $(GLIB_LIBS)
|
||||||
tests_repo_finder_mount_SOURCES = tests/repo-finder-mount.c
|
tests_repo_finder_mount_SOURCES = tests/repo-finder-mount.c
|
||||||
tests_repo_finder_mount_CFLAGS = $(common_tests_cflags)
|
tests_repo_finder_mount_CFLAGS = $(common_tests_cflags)
|
||||||
tests_repo_finder_mount_LDADD = $(common_tests_ldadd) libostreetest.la
|
tests_repo_finder_mount_LDADD = $(common_tests_ldadd) libostreetest.la
|
||||||
|
|
@ -2586,6 +2603,7 @@ dist_installed_test_data = tests/archive-test.sh \
|
||||||
tests/pre-endian-deltas-repo-little.tar.xz \
|
tests/pre-endian-deltas-repo-little.tar.xz \
|
||||||
tests/fah-deltadata-old.tar.xz \
|
tests/fah-deltadata-old.tar.xz \
|
||||||
tests/fah-deltadata-new.tar.xz \
|
tests/fah-deltadata-new.tar.xz \
|
||||||
|
tests/ostree-path-traverse.tar.gz \
|
||||||
tests/libtest-core.sh \
|
tests/libtest-core.sh \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
|
|
@ -2628,7 +2646,7 @@ libreaddir_rand_la_LIBADD = \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
libreaddir_rand_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version \
|
libreaddir_rand_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version \
|
||||||
$(am__append_75)
|
$(am__append_76)
|
||||||
_installed_or_uninstalled_test_programs = tests/test-varint \
|
_installed_or_uninstalled_test_programs = tests/test-varint \
|
||||||
tests/test-ot-unix-utils tests/test-bsdiff \
|
tests/test-ot-unix-utils tests/test-bsdiff \
|
||||||
tests/test-mutable-tree tests/test-keyfile-utils \
|
tests/test-mutable-tree tests/test-keyfile-utils \
|
||||||
|
|
@ -2636,7 +2654,7 @@ _installed_or_uninstalled_test_programs = tests/test-varint \
|
||||||
tests/test-gpg-verify-result tests/test-checksum \
|
tests/test-gpg-verify-result tests/test-checksum \
|
||||||
tests/test-lzma tests/test-rollsum tests/test-basic-c \
|
tests/test-lzma tests/test-rollsum tests/test-basic-c \
|
||||||
tests/test-sysroot-c tests/test-pull-c tests/test-repo \
|
tests/test-sysroot-c tests/test-pull-c tests/test-repo \
|
||||||
$(am__append_78)
|
$(am__append_79)
|
||||||
common_tests_cflags = $(ostree_bin_shared_cflags) $(OT_INTERNAL_GIO_UNIX_CFLAGS) -I$(srcdir)/libglnx
|
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)
|
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
|
libostreetest_la_SOURCES = tests/libostreetest.c tests/test-mock-gio.c tests/test-mock-gio.h
|
||||||
|
|
@ -2739,8 +2757,8 @@ tests_test_gpg_verify_result_LDADD = $(TESTS_LDADD) $(OT_INTERNAL_GPGME_LIBS)
|
||||||
@ENABLE_MAN_TRUE@ ostree-pull.1 ostree-refs.1 ostree-remote.1 \
|
@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-reset.1 ostree-rev-parse.1 \
|
||||||
@ENABLE_MAN_TRUE@ ostree-show.1 ostree-summary.1 \
|
@ENABLE_MAN_TRUE@ ostree-show.1 ostree-summary.1 \
|
||||||
@ENABLE_MAN_TRUE@ ostree-static-delta.1 $(am__append_85) \
|
@ENABLE_MAN_TRUE@ ostree-static-delta.1 $(am__append_86) \
|
||||||
@ENABLE_MAN_TRUE@ $(am__append_87)
|
@ENABLE_MAN_TRUE@ $(am__append_88)
|
||||||
@ENABLE_MAN_TRUE@man5_files = ostree.repo.5 ostree.repo-config.5
|
@ENABLE_MAN_TRUE@man5_files = ostree.repo.5 ostree.repo-config.5
|
||||||
@ENABLE_MAN_TRUE@man1_MANS = $(addprefix man/,$(man1_files))
|
@ENABLE_MAN_TRUE@man1_MANS = $(addprefix man/,$(man1_files))
|
||||||
@ENABLE_MAN_TRUE@man5_MANS = $(addprefix man/,$(man5_files))
|
@ENABLE_MAN_TRUE@man5_MANS = $(addprefix man/,$(man5_files))
|
||||||
|
|
@ -3874,6 +3892,12 @@ libglnx/tests/test_libglnx_xattrs-test-libglnx-xattrs.$(OBJEXT): \
|
||||||
test-libglnx-xattrs$(EXEEXT): $(test_libglnx_xattrs_OBJECTS) $(test_libglnx_xattrs_DEPENDENCIES) $(EXTRA_test_libglnx_xattrs_DEPENDENCIES)
|
test-libglnx-xattrs$(EXEEXT): $(test_libglnx_xattrs_OBJECTS) $(test_libglnx_xattrs_DEPENDENCIES) $(EXTRA_test_libglnx_xattrs_DEPENDENCIES)
|
||||||
@rm -f test-libglnx-xattrs$(EXEEXT)
|
@rm -f test-libglnx-xattrs$(EXEEXT)
|
||||||
$(AM_V_CCLD)$(test_libglnx_xattrs_LINK) $(test_libglnx_xattrs_OBJECTS) $(test_libglnx_xattrs_LDADD) $(LIBS)
|
$(AM_V_CCLD)$(test_libglnx_xattrs_LINK) $(test_libglnx_xattrs_OBJECTS) $(test_libglnx_xattrs_LDADD) $(LIBS)
|
||||||
|
tests/tests_get_byte_order-get-byte-order.$(OBJEXT): \
|
||||||
|
tests/$(am__dirstamp) tests/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
|
||||||
|
tests/get-byte-order$(EXEEXT): $(tests_get_byte_order_OBJECTS) $(tests_get_byte_order_DEPENDENCIES) $(EXTRA_tests_get_byte_order_DEPENDENCIES) tests/$(am__dirstamp)
|
||||||
|
@rm -f tests/get-byte-order$(EXEEXT)
|
||||||
|
$(AM_V_CCLD)$(tests_get_byte_order_LINK) $(tests_get_byte_order_OBJECTS) $(tests_get_byte_order_LDADD) $(LIBS)
|
||||||
tests/tests_repo_finder_mount-repo-finder-mount.$(OBJEXT): \
|
tests/tests_repo_finder_mount-repo-finder-mount.$(OBJEXT): \
|
||||||
tests/$(am__dirstamp) tests/$(DEPDIR)/$(am__dirstamp)
|
tests/$(am__dirstamp) tests/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
|
||||||
|
|
@ -4429,6 +4453,7 @@ distclean-compile:
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/libostreetest_la-libostreetest.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/libostreetest_la-libostreetest.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/libostreetest_la-test-mock-gio.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/libostreetest_la-test-mock-gio.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/libreaddir_rand_la-readdir-rand.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/libreaddir_rand_la-readdir-rand.Plo@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_get_byte_order-get-byte-order.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_repo_finder_mount-repo-finder-mount.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_repo_finder_mount-repo-finder-mount.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_test_basic_c-test-basic-c.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_test_basic_c-test-basic-c.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_test_bloom-test-bloom.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_test_bloom-test-bloom.Po@am__quote@
|
||||||
|
|
@ -6037,6 +6062,20 @@ libglnx/tests/test_libglnx_xattrs-test-libglnx-xattrs.obj: libglnx/tests/test-li
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_libglnx_xattrs_CFLAGS) $(CFLAGS) -c -o libglnx/tests/test_libglnx_xattrs-test-libglnx-xattrs.obj `if test -f 'libglnx/tests/test-libglnx-xattrs.c'; then $(CYGPATH_W) 'libglnx/tests/test-libglnx-xattrs.c'; else $(CYGPATH_W) '$(srcdir)/libglnx/tests/test-libglnx-xattrs.c'; fi`
|
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_libglnx_xattrs_CFLAGS) $(CFLAGS) -c -o libglnx/tests/test_libglnx_xattrs-test-libglnx-xattrs.obj `if test -f 'libglnx/tests/test-libglnx-xattrs.c'; then $(CYGPATH_W) 'libglnx/tests/test-libglnx-xattrs.c'; else $(CYGPATH_W) '$(srcdir)/libglnx/tests/test-libglnx-xattrs.c'; fi`
|
||||||
|
|
||||||
|
tests/tests_get_byte_order-get-byte-order.o: tests/get-byte-order.c
|
||||||
|
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_get_byte_order_CFLAGS) $(CFLAGS) -MT tests/tests_get_byte_order-get-byte-order.o -MD -MP -MF tests/$(DEPDIR)/tests_get_byte_order-get-byte-order.Tpo -c -o tests/tests_get_byte_order-get-byte-order.o `test -f 'tests/get-byte-order.c' || echo '$(srcdir)/'`tests/get-byte-order.c
|
||||||
|
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_get_byte_order-get-byte-order.Tpo tests/$(DEPDIR)/tests_get_byte_order-get-byte-order.Po
|
||||||
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tests/get-byte-order.c' object='tests/tests_get_byte_order-get-byte-order.o' libtool=no @AMDEPBACKSLASH@
|
||||||
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
|
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_get_byte_order_CFLAGS) $(CFLAGS) -c -o tests/tests_get_byte_order-get-byte-order.o `test -f 'tests/get-byte-order.c' || echo '$(srcdir)/'`tests/get-byte-order.c
|
||||||
|
|
||||||
|
tests/tests_get_byte_order-get-byte-order.obj: tests/get-byte-order.c
|
||||||
|
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_get_byte_order_CFLAGS) $(CFLAGS) -MT tests/tests_get_byte_order-get-byte-order.obj -MD -MP -MF tests/$(DEPDIR)/tests_get_byte_order-get-byte-order.Tpo -c -o tests/tests_get_byte_order-get-byte-order.obj `if test -f 'tests/get-byte-order.c'; then $(CYGPATH_W) 'tests/get-byte-order.c'; else $(CYGPATH_W) '$(srcdir)/tests/get-byte-order.c'; fi`
|
||||||
|
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_get_byte_order-get-byte-order.Tpo tests/$(DEPDIR)/tests_get_byte_order-get-byte-order.Po
|
||||||
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tests/get-byte-order.c' object='tests/tests_get_byte_order-get-byte-order.obj' libtool=no @AMDEPBACKSLASH@
|
||||||
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
|
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_get_byte_order_CFLAGS) $(CFLAGS) -c -o tests/tests_get_byte_order-get-byte-order.obj `if test -f 'tests/get-byte-order.c'; then $(CYGPATH_W) 'tests/get-byte-order.c'; else $(CYGPATH_W) '$(srcdir)/tests/get-byte-order.c'; fi`
|
||||||
|
|
||||||
tests/tests_repo_finder_mount-repo-finder-mount.o: tests/repo-finder-mount.c
|
tests/tests_repo_finder_mount-repo-finder-mount.o: tests/repo-finder-mount.c
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_repo_finder_mount_CFLAGS) $(CFLAGS) -MT tests/tests_repo_finder_mount-repo-finder-mount.o -MD -MP -MF tests/$(DEPDIR)/tests_repo_finder_mount-repo-finder-mount.Tpo -c -o tests/tests_repo_finder_mount-repo-finder-mount.o `test -f 'tests/repo-finder-mount.c' || echo '$(srcdir)/'`tests/repo-finder-mount.c
|
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_repo_finder_mount_CFLAGS) $(CFLAGS) -MT tests/tests_repo_finder_mount-repo-finder-mount.o -MD -MP -MF tests/$(DEPDIR)/tests_repo_finder_mount-repo-finder-mount.Tpo -c -o tests/tests_repo_finder_mount-repo-finder-mount.o `test -f 'tests/repo-finder-mount.c' || echo '$(srcdir)/'`tests/repo-finder-mount.c
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_repo_finder_mount-repo-finder-mount.Tpo tests/$(DEPDIR)/tests_repo_finder_mount-repo-finder-mount.Po
|
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_repo_finder_mount-repo-finder-mount.Tpo tests/$(DEPDIR)/tests_repo_finder_mount-repo-finder-mount.Po
|
||||||
|
|
@ -7727,6 +7766,13 @@ tests/test-summary-view.sh.log: tests/test-summary-view.sh
|
||||||
--log-file $$b.log --trs-file $$b.trs \
|
--log-file $$b.log --trs-file $$b.trs \
|
||||||
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
|
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
|
||||||
"$$tst" $(AM_TESTS_FD_REDIRECT)
|
"$$tst" $(AM_TESTS_FD_REDIRECT)
|
||||||
|
tests/test-no-initramfs.sh.log: tests/test-no-initramfs.sh
|
||||||
|
@p='tests/test-no-initramfs.sh'; \
|
||||||
|
b='tests/test-no-initramfs.sh'; \
|
||||||
|
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
|
||||||
|
--log-file $$b.log --trs-file $$b.trs \
|
||||||
|
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
|
||||||
|
"$$tst" $(AM_TESTS_FD_REDIRECT)
|
||||||
tests/test-create-usb.sh.log: tests/test-create-usb.sh
|
tests/test-create-usb.sh.log: tests/test-create-usb.sh
|
||||||
@p='tests/test-create-usb.sh'; \
|
@p='tests/test-create-usb.sh'; \
|
||||||
b='tests/test-create-usb.sh'; \
|
b='tests/test-create-usb.sh'; \
|
||||||
|
|
@ -8443,6 +8489,12 @@ tests/%-symlink-stamp: % Makefile
|
||||||
@ENABLE_INSTALLED_TESTS_EXCLUSIVE_TRUE@check-local:
|
@ENABLE_INSTALLED_TESTS_EXCLUSIVE_TRUE@check-local:
|
||||||
@ENABLE_INSTALLED_TESTS_EXCLUSIVE_TRUE@ echo "NOTE: Exclusive installed tests are enabled; to run them, make install, then: gnome-desktop-testing-runner -p 0 libostree/"
|
@ENABLE_INSTALLED_TESTS_EXCLUSIVE_TRUE@ echo "NOTE: Exclusive installed tests are enabled; to run them, make install, then: gnome-desktop-testing-runner -p 0 libostree/"
|
||||||
|
|
||||||
|
@USE_LIBSOUP_FALSE@no-soup-for-you-warning:
|
||||||
|
@USE_LIBSOUP_FALSE@ @echo "WARNING: $(PACKAGE) was built without libsoup, which is currently" 1>&2
|
||||||
|
@USE_LIBSOUP_FALSE@ @echo "WARNING: required for many unit tests." 1>&2
|
||||||
|
@USE_LIBSOUP_FALSE@ sleep 10
|
||||||
|
@USE_LIBSOUP_FALSE@check: no-soup-for-you-warning
|
||||||
|
|
||||||
# Unfortunately the glib test data APIs don't actually handle
|
# Unfortunately the glib test data APIs don't actually handle
|
||||||
# non-recursive Automake, so we change our code to canonically look
|
# non-recursive Automake, so we change our code to canonically look
|
||||||
# for tests/ which is just a symlink when installed.
|
# for tests/ which is just a symlink when installed.
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,24 @@
|
||||||
# Boston, MA 02111-1307, USA.
|
# Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
# -*- mode: makefile -*-
|
# -*- mode: makefile -*-
|
||||||
|
#
|
||||||
|
# gtk-doc.make - make rules for gtk-doc
|
||||||
|
# Copyright (C) 2003 James Henstridge
|
||||||
|
# 2004-2007 Damon Chaplin
|
||||||
|
# 2007-2017 Stefan Sauer
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program 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 General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
####################################
|
####################################
|
||||||
# Everything below here is generic #
|
# Everything below here is generic #
|
||||||
|
|
@ -830,6 +848,9 @@ sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HF
|
||||||
sgml.stamp: sgml-build.stamp
|
sgml.stamp: sgml-build.stamp
|
||||||
@true
|
@true
|
||||||
|
|
||||||
|
$(DOC_MAIN_SGML_FILE): sgml-build.stamp
|
||||||
|
@true
|
||||||
|
|
||||||
xml/gtkdocentities.ent: Makefile
|
xml/gtkdocentities.ent: Makefile
|
||||||
$(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
|
$(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
|
||||||
echo "<!ENTITY package \"$(PACKAGE)\">"; \
|
echo "<!ENTITY package \"$(PACKAGE)\">"; \
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
|
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
|
||||||
<link rel="home" href="index.html" title="OSTree API references">
|
<link rel="home" href="index.html" title="OSTree API references">
|
||||||
<link rel="next" href="reference.html" title="API Reference">
|
<link rel="next" href="reference.html" title="API Reference">
|
||||||
<meta name="generator" content="GTK-Doc V1.26 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
<div class="titlepage">
|
<div class="titlepage">
|
||||||
<div>
|
<div>
|
||||||
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">OSTree API references</p></th></tr></table></div>
|
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">OSTree API references</p></th></tr></table></div>
|
||||||
<div><p class="releaseinfo">for OSTree 2017.15</p></div>
|
<div><p class="releaseinfo">for OSTree 2018.1</p></div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -68,6 +68,6 @@
|
||||||
</dl></div>
|
</dl></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.26</div>
|
<hr>Generated by GTK-Doc V1.27</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="reference.html" title="API Reference">
|
<link rel="prev" href="reference.html" title="API Reference">
|
||||||
<link rel="next" href="ostree-OstreeRepo.html" title="OstreeRepo: Content-addressed object store">
|
<link rel="next" href="ostree-OstreeRepo.html" title="OstreeRepo: Content-addressed object store">
|
||||||
<meta name="generator" content="GTK-Doc V1.26 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -2561,6 +2561,6 @@ Unix epoch in UTC, big-endian) when the commit was committed</p></li></ul></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.26</div>
|
<hr>Generated by GTK-Doc V1.27</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-Simple-upgrade-class.html" title="Simple upgrade class">
|
<link rel="prev" href="ostree-Simple-upgrade-class.html" title="Simple upgrade class">
|
||||||
<link rel="next" href="ostree-ostree-bootconfig-parser.html" title="ostree-bootconfig-parser">
|
<link rel="next" href="ostree-ostree-bootconfig-parser.html" title="ostree-bootconfig-parser">
|
||||||
<meta name="generator" content="GTK-Doc V1.26 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -560,6 +560,8 @@ These may be returned by any API which creates or verifies signatures.</p>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="refsect2">
|
<div class="refsect2">
|
||||||
<a name="OstreeGpgVerifyResult"></a><h3>OstreeGpgVerifyResult</h3>
|
<a name="OstreeGpgVerifyResult"></a><h3>OstreeGpgVerifyResult</h3>
|
||||||
|
<pre class="programlisting">typedef struct OstreeGpgVerifyResult OstreeGpgVerifyResult;
|
||||||
|
</pre>
|
||||||
<p>Private instance structure.</p>
|
<p>Private instance structure.</p>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
@ -705,6 +707,6 @@ for future variations.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.26</div>
|
<hr>Generated by GTK-Doc V1.27</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-OstreeRepo.html" title="OstreeRepo: Content-addressed object store">
|
<link rel="prev" href="ostree-OstreeRepo.html" title="OstreeRepo: Content-addressed object store">
|
||||||
<link rel="next" href="ostree-Root-partition-mount-point.html" title="Root partition mount point">
|
<link rel="next" href="ostree-Root-partition-mount-point.html" title="Root partition mount point">
|
||||||
<meta name="generator" content="GTK-Doc V1.26 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -358,11 +358,13 @@ ostree_mutable_tree_get_files (<em class="parameter"><code><a class="link" href=
|
||||||
<a name="ostree-In-memory-modifiable-filesystem-tree.other_details"></a><h2>Types and Values</h2>
|
<a name="ostree-In-memory-modifiable-filesystem-tree.other_details"></a><h2>Types and Values</h2>
|
||||||
<div class="refsect2">
|
<div class="refsect2">
|
||||||
<a name="OstreeMutableTree"></a><h3>OstreeMutableTree</h3>
|
<a name="OstreeMutableTree"></a><h3>OstreeMutableTree</h3>
|
||||||
|
<pre class="programlisting">typedef struct OstreeMutableTree OstreeMutableTree;
|
||||||
|
</pre>
|
||||||
<p>Private instance structure.</p>
|
<p>Private instance structure.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.26</div>
|
<hr>Generated by GTK-Doc V1.27</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-Core-repository-independent-functions.html" title="Core repository-independent functions">
|
<link rel="prev" href="ostree-Core-repository-independent-functions.html" title="Core repository-independent functions">
|
||||||
<link rel="next" href="ostree-In-memory-modifiable-filesystem-tree.html" title="In-memory modifiable filesystem tree">
|
<link rel="next" href="ostree-In-memory-modifiable-filesystem-tree.html" title="In-memory modifiable filesystem tree">
|
||||||
<meta name="generator" content="GTK-Doc V1.26 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -7549,6 +7549,8 @@ order.</p>
|
||||||
<a name="ostree-OstreeRepo.other_details"></a><h2>Types and Values</h2>
|
<a name="ostree-OstreeRepo.other_details"></a><h2>Types and Values</h2>
|
||||||
<div class="refsect2">
|
<div class="refsect2">
|
||||||
<a name="OstreeRepo"></a><h3>OstreeRepo</h3>
|
<a name="OstreeRepo"></a><h3>OstreeRepo</h3>
|
||||||
|
<pre class="programlisting">typedef struct OstreeRepo OstreeRepo;
|
||||||
|
</pre>
|
||||||
<p>Private instance structure.</p>
|
<p>Private instance structure.</p>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
@ -7855,6 +7857,8 @@ by <a class="link" href="ostree-OstreeRepo.html#ostree-repo-load-commit" title="
|
||||||
<hr>
|
<hr>
|
||||||
<div class="refsect2">
|
<div class="refsect2">
|
||||||
<a name="OstreeRepoCommitModifier"></a><h3>OstreeRepoCommitModifier</h3>
|
<a name="OstreeRepoCommitModifier"></a><h3>OstreeRepoCommitModifier</h3>
|
||||||
|
<pre class="programlisting">typedef struct OstreeRepoCommitModifier OstreeRepoCommitModifier;
|
||||||
|
</pre>
|
||||||
<p>A structure allowing control over commits.</p>
|
<p>A structure allowing control over commits.</p>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
@ -8264,6 +8268,6 @@ as - List of pack file checksums in which this object appears</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.26</div>
|
<hr>Generated by GTK-Doc V1.27</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-Root-partition-mount-point.html" title="Root partition mount point">
|
<link rel="prev" href="ostree-Root-partition-mount-point.html" title="Root partition mount point">
|
||||||
<link rel="next" href="ostree-SELinux-policy-management.html" title="SELinux policy management">
|
<link rel="next" href="ostree-SELinux-policy-management.html" title="SELinux policy management">
|
||||||
<meta name="generator" content="GTK-Doc V1.26 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -540,10 +540,12 @@ events will be queued.</p>
|
||||||
<a name="ostree-Progress-notification-system-for-asynchronous-operations.other_details"></a><h2>Types and Values</h2>
|
<a name="ostree-Progress-notification-system-for-asynchronous-operations.other_details"></a><h2>Types and Values</h2>
|
||||||
<div class="refsect2">
|
<div class="refsect2">
|
||||||
<a name="OstreeAsyncProgress"></a><h3>OstreeAsyncProgress</h3>
|
<a name="OstreeAsyncProgress"></a><h3>OstreeAsyncProgress</h3>
|
||||||
|
<pre class="programlisting">typedef struct OstreeAsyncProgress OstreeAsyncProgress;
|
||||||
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.26</div>
|
<hr>Generated by GTK-Doc V1.27</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-In-memory-modifiable-filesystem-tree.html" title="In-memory modifiable filesystem tree">
|
<link rel="prev" href="ostree-In-memory-modifiable-filesystem-tree.html" title="In-memory modifiable filesystem tree">
|
||||||
<link rel="next" href="ostree-Progress-notification-system-for-asynchronous-operations.html" title="Progress notification system for asynchronous operations">
|
<link rel="next" href="ostree-Progress-notification-system-for-asynchronous-operations.html" title="Progress notification system for asynchronous operations">
|
||||||
<meta name="generator" content="GTK-Doc V1.26 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -1686,6 +1686,8 @@ later, instead.</p>
|
||||||
<a name="ostree-Root-partition-mount-point.other_details"></a><h2>Types and Values</h2>
|
<a name="ostree-Root-partition-mount-point.other_details"></a><h2>Types and Values</h2>
|
||||||
<div class="refsect2">
|
<div class="refsect2">
|
||||||
<a name="OstreeSysroot"></a><h3>OstreeSysroot</h3>
|
<a name="OstreeSysroot"></a><h3>OstreeSysroot</h3>
|
||||||
|
<pre class="programlisting">typedef struct OstreeSysroot OstreeSysroot;
|
||||||
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="refsect2">
|
<div class="refsect2">
|
||||||
|
|
@ -1736,6 +1738,6 @@ later, instead.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.26</div>
|
<hr>Generated by GTK-Doc V1.27</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-Progress-notification-system-for-asynchronous-operations.html" title="Progress notification system for asynchronous operations">
|
<link rel="prev" href="ostree-Progress-notification-system-for-asynchronous-operations.html" title="Progress notification system for asynchronous operations">
|
||||||
<link rel="next" href="ostree-Simple-upgrade-class.html" title="Simple upgrade class">
|
<link rel="next" href="ostree-Simple-upgrade-class.html" title="Simple upgrade class">
|
||||||
<meta name="generator" content="GTK-Doc V1.26 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -447,6 +447,8 @@ ostree_sepolicy_fscreatecon_cleanup (<em class="parameter"><code><span class="ty
|
||||||
<a name="ostree-SELinux-policy-management.other_details"></a><h2>Types and Values</h2>
|
<a name="ostree-SELinux-policy-management.other_details"></a><h2>Types and Values</h2>
|
||||||
<div class="refsect2">
|
<div class="refsect2">
|
||||||
<a name="OstreeSePolicy"></a><h3>OstreeSePolicy</h3>
|
<a name="OstreeSePolicy"></a><h3>OstreeSePolicy</h3>
|
||||||
|
<pre class="programlisting">typedef struct OstreeSePolicy OstreeSePolicy;
|
||||||
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="refsect2">
|
<div class="refsect2">
|
||||||
|
|
@ -482,6 +484,6 @@ ostree_sepolicy_fscreatecon_cleanup (<em class="parameter"><code><span class="ty
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.26</div>
|
<hr>Generated by GTK-Doc V1.27</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-SELinux-policy-management.html" title="SELinux policy management">
|
<link rel="prev" href="ostree-SELinux-policy-management.html" title="SELinux policy management">
|
||||||
<link rel="next" href="ostree-GPG-signature-verification-results.html" title="GPG signature verification results">
|
<link rel="next" href="ostree-GPG-signature-verification-results.html" title="GPG signature verification results">
|
||||||
<meta name="generator" content="GTK-Doc V1.26 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -642,6 +642,8 @@ with /etc, and update the bootloader configuration.</p>
|
||||||
<a name="ostree-Simple-upgrade-class.other_details"></a><h2>Types and Values</h2>
|
<a name="ostree-Simple-upgrade-class.other_details"></a><h2>Types and Values</h2>
|
||||||
<div class="refsect2">
|
<div class="refsect2">
|
||||||
<a name="OstreeSysrootUpgrader"></a><h3>OstreeSysrootUpgrader</h3>
|
<a name="OstreeSysrootUpgrader"></a><h3>OstreeSysrootUpgrader</h3>
|
||||||
|
<pre class="programlisting">typedef struct OstreeSysrootUpgrader OstreeSysrootUpgrader;
|
||||||
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="refsect2">
|
<div class="refsect2">
|
||||||
|
|
@ -708,6 +710,6 @@ with /etc, and update the bootloader configuration.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.26</div>
|
<hr>Generated by GTK-Doc V1.27</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-GPG-signature-verification-results.html" title="GPG signature verification results">
|
<link rel="prev" href="ostree-GPG-signature-verification-results.html" title="GPG signature verification results">
|
||||||
<link rel="next" href="ostree-ostree-chain-input-stream.html" title="ostree-chain-input-stream">
|
<link rel="next" href="ostree-ostree-chain-input-stream.html" title="ostree-chain-input-stream">
|
||||||
<meta name="generator" content="GTK-Doc V1.26 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -256,6 +256,6 @@ ostree_bootconfig_parser_get (<em class="parameter"><code><a class="link" href="
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.26</div>
|
<hr>Generated by GTK-Doc V1.27</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-ostree-bootconfig-parser.html" title="ostree-bootconfig-parser">
|
<link rel="prev" href="ostree-ostree-bootconfig-parser.html" title="ostree-bootconfig-parser">
|
||||||
<link rel="next" href="ostree-ostree-checksum-input-stream.html" title="ostree-checksum-input-stream">
|
<link rel="next" href="ostree-ostree-checksum-input-stream.html" title="ostree-checksum-input-stream">
|
||||||
<meta name="generator" content="GTK-Doc V1.26 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -84,6 +84,6 @@ ostree_chain_input_stream_new (<em class="parameter"><code><span class="type">GP
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.26</div>
|
<hr>Generated by GTK-Doc V1.27</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-ostree-chain-input-stream.html" title="ostree-chain-input-stream">
|
<link rel="prev" href="ostree-ostree-chain-input-stream.html" title="ostree-chain-input-stream">
|
||||||
<link rel="next" href="ostree-ostree-deployment.html" title="ostree-deployment">
|
<link rel="next" href="ostree-ostree-deployment.html" title="ostree-deployment">
|
||||||
<meta name="generator" content="GTK-Doc V1.26 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -85,6 +85,6 @@ ostree_checksum_input_stream_new (<em class="parameter"><code><span class="type"
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.26</div>
|
<hr>Generated by GTK-Doc V1.27</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-ostree-checksum-input-stream.html" title="ostree-checksum-input-stream">
|
<link rel="prev" href="ostree-ostree-checksum-input-stream.html" title="ostree-checksum-input-stream">
|
||||||
<link rel="next" href="ostree-ostree-diff.html" title="ostree-diff">
|
<link rel="next" href="ostree-ostree-diff.html" title="ostree-diff">
|
||||||
<meta name="generator" content="GTK-Doc V1.26 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -522,6 +522,6 @@ ostree_deployment_unlocked_state_to_string
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.26</div>
|
<hr>Generated by GTK-Doc V1.27</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-ostree-deployment.html" title="ostree-deployment">
|
<link rel="prev" href="ostree-ostree-deployment.html" title="ostree-deployment">
|
||||||
<link rel="next" href="ostree-ostree-repo-file.html" title="ostree-repo-file">
|
<link rel="next" href="ostree-ostree-repo-file.html" title="ostree-repo-file">
|
||||||
<meta name="generator" content="GTK-Doc V1.26 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -363,6 +363,6 @@ ostree_diff_print (<em class="parameter"><code><span class="type">GFile</span> *
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.26</div>
|
<hr>Generated by GTK-Doc V1.27</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
<link rel="home" href="index.html" title="OSTree API references">
|
<link rel="home" href="index.html" title="OSTree API references">
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-ostree-diff.html" title="ostree-diff">
|
<link rel="prev" href="ostree-ostree-diff.html" title="ostree-diff">
|
||||||
<meta name="generator" content="GTK-Doc V1.26 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -255,10 +255,12 @@ ostree_repo_file_tree_query_child (<em class="parameter"><code><a class="link" h
|
||||||
<a name="ostree-ostree-repo-file.other_details"></a><h2>Types and Values</h2>
|
<a name="ostree-ostree-repo-file.other_details"></a><h2>Types and Values</h2>
|
||||||
<div class="refsect2">
|
<div class="refsect2">
|
||||||
<a name="OstreeRepoFile"></a><h3>OstreeRepoFile</h3>
|
<a name="OstreeRepoFile"></a><h3>OstreeRepoFile</h3>
|
||||||
|
<pre class="programlisting">typedef struct OstreeRepoFile OstreeRepoFile;
|
||||||
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.26</div>
|
<hr>Generated by GTK-Doc V1.27</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="index.html" title="OSTree API references">
|
<link rel="up" href="index.html" title="OSTree API references">
|
||||||
<link rel="prev" href="index.html" title="OSTree API references">
|
<link rel="prev" href="index.html" title="OSTree API references">
|
||||||
<link rel="next" href="ostree-Core-repository-independent-functions.html" title="Core repository-independent functions">
|
<link rel="next" href="ostree-Core-repository-independent-functions.html" title="Core repository-independent functions">
|
||||||
<meta name="generator" content="GTK-Doc V1.26 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -1584,6 +1584,6 @@ OSTREE_YEAR_VERSION, macro in ostree-version
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.26</div>
|
<hr>Generated by GTK-Doc V1.27</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -1 +1 @@
|
||||||
2017.15
|
2018.1
|
||||||
|
|
@ -783,6 +783,8 @@ _ostree_commit() {
|
||||||
local options_with_args="
|
local options_with_args="
|
||||||
--add-detached-metadata-string
|
--add-detached-metadata-string
|
||||||
--add-metadata-string
|
--add-metadata-string
|
||||||
|
--add-metadata
|
||||||
|
--keep-metadata
|
||||||
--bind-ref
|
--bind-ref
|
||||||
--body -m
|
--body -m
|
||||||
--body-file -F
|
--body-file -F
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,29 @@
|
||||||
dnl -*- mode: autoconf -*-
|
# -*- mode: autoconf -*-
|
||||||
|
#
|
||||||
|
# gtk-doc.m4 - configure macro to check for gtk-doc
|
||||||
|
# Copyright (C) 2003 James Henstridge
|
||||||
|
# 2007-2017 Stefan Sauer
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program 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 General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# As a special exception, the above copyright owner gives unlimited
|
||||||
|
# permission to copy, distribute and modify the configure scripts that
|
||||||
|
# are the output of Autoconf when processing the Macro. You need not
|
||||||
|
# follow the terms of the GNU General Public License when using or
|
||||||
|
# distributing such scripts, even though portions of the text of the
|
||||||
|
# Macro appear in them. The GNU General Public License (GPL) does govern
|
||||||
|
# all other use of the material that constitutes the Autoconf Macro.
|
||||||
|
|
||||||
# serial 2
|
# serial 2
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.69 for libostree 2017.15.
|
# Generated by GNU Autoconf 2.69 for libostree 2018.1.
|
||||||
#
|
#
|
||||||
# Report bugs to <walters@verbum.org>.
|
# Report bugs to <walters@verbum.org>.
|
||||||
#
|
#
|
||||||
|
|
@ -590,8 +590,8 @@ MAKEFLAGS=
|
||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='libostree'
|
PACKAGE_NAME='libostree'
|
||||||
PACKAGE_TARNAME='libostree'
|
PACKAGE_TARNAME='libostree'
|
||||||
PACKAGE_VERSION='2017.15'
|
PACKAGE_VERSION='2018.1'
|
||||||
PACKAGE_STRING='libostree 2017.15'
|
PACKAGE_STRING='libostree 2018.1'
|
||||||
PACKAGE_BUGREPORT='walters@verbum.org'
|
PACKAGE_BUGREPORT='walters@verbum.org'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
|
|
@ -1541,7 +1541,7 @@ if test "$ac_init_help" = "long"; then
|
||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# 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.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures libostree 2017.15 to adapt to many kinds of systems.
|
\`configure' configures libostree 2018.1 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
|
|
@ -1611,7 +1611,7 @@ fi
|
||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of libostree 2017.15:";;
|
short | recursive ) echo "Configuration of libostree 2018.1:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
|
|
@ -1853,7 +1853,7 @@ fi
|
||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
libostree configure 2017.15
|
libostree configure 2018.1
|
||||||
generated by GNU Autoconf 2.69
|
generated by GNU Autoconf 2.69
|
||||||
|
|
||||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||||
|
|
@ -2325,7 +2325,7 @@ cat >config.log <<_ACEOF
|
||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by libostree $as_me 2017.15, which was
|
It was created by libostree $as_me 2018.1, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
|
|
@ -3193,7 +3193,7 @@ fi
|
||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='libostree'
|
PACKAGE='libostree'
|
||||||
VERSION='2017.15'
|
VERSION='2018.1'
|
||||||
|
|
||||||
|
|
||||||
# Some tools Automake needs.
|
# Some tools Automake needs.
|
||||||
|
|
@ -5925,11 +5925,11 @@ done
|
||||||
test -n "$YACC" || YACC="yacc"
|
test -n "$YACC" || YACC="yacc"
|
||||||
|
|
||||||
|
|
||||||
YEAR_VERSION=2017
|
YEAR_VERSION=2018
|
||||||
|
|
||||||
RELEASE_VERSION=15
|
RELEASE_VERSION=1
|
||||||
|
|
||||||
PACKAGE_VERSION=2017.15
|
PACKAGE_VERSION=2018.1
|
||||||
|
|
||||||
|
|
||||||
if echo "$CFLAGS" | grep -q -E -e '-Werror($| )'; then :
|
if echo "$CFLAGS" | grep -q -E -e '-Werror($| )'; then :
|
||||||
|
|
@ -5951,7 +5951,7 @@ else
|
||||||
-Werror=switch \
|
-Werror=switch \
|
||||||
-Werror=overflow \
|
-Werror=overflow \
|
||||||
-Werror=int-conversion \
|
-Werror=int-conversion \
|
||||||
-Werror=parenthesis \
|
-Werror=parentheses \
|
||||||
-Werror=undef \
|
-Werror=undef \
|
||||||
-Werror=incompatible-pointer-types \
|
-Werror=incompatible-pointer-types \
|
||||||
-Werror=misleading-indentation \
|
-Werror=misleading-indentation \
|
||||||
|
|
@ -15210,7 +15210,8 @@ fi
|
||||||
|
|
||||||
if test x$with_curl = xyes && test x$with_soup = xno; then :
|
if test x$with_curl = xyes && test x$with_soup = xno; then :
|
||||||
|
|
||||||
as_fn_error $? "Curl enabled, but libsoup is not; libsoup is needed for tests" "$LINENO" 5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Curl enabled, but libsoup is not; libsoup is needed for tests (make check, etc.)" >&5
|
||||||
|
$as_echo "$as_me: WARNING: Curl enabled, but libsoup is not; libsoup is needed for tests (make check, etc.)" >&2;}
|
||||||
|
|
||||||
fi
|
fi
|
||||||
if test x$with_curl != xno || test x$with_soup != xno; then
|
if test x$with_curl != xno || test x$with_soup != xno; then
|
||||||
|
|
@ -18380,7 +18381,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by libostree $as_me 2017.15, which was
|
This file was extended by libostree $as_me 2018.1, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
|
|
@ -18446,7 +18447,7 @@ _ACEOF
|
||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
libostree config.status 2017.15
|
libostree config.status 2018.1
|
||||||
configured by $0, generated by GNU Autoconf 2.69,
|
configured by $0, generated by GNU Autoconf 2.69,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,8 @@ dnl If doing a final release, remember to follow the instructions to
|
||||||
dnl update libostree-released.sym from libostree-devel.sym, and update the checksum
|
dnl update libostree-released.sym from libostree-devel.sym, and update the checksum
|
||||||
dnl in test-symbols.sh, and also set is_release_build=yes below. Then make
|
dnl in test-symbols.sh, and also set is_release_build=yes below. Then make
|
||||||
dnl another post-release commit to bump the version, and set is_release_build=no.
|
dnl another post-release commit to bump the version, and set is_release_build=no.
|
||||||
m4_define([year_version], [2017])
|
m4_define([year_version], [2018])
|
||||||
m4_define([release_version], [15])
|
m4_define([release_version], [1])
|
||||||
m4_define([package_version], [year_version.release_version])
|
m4_define([package_version], [year_version.release_version])
|
||||||
AC_INIT([libostree], [package_version], [walters@verbum.org])
|
AC_INIT([libostree], [package_version], [walters@verbum.org])
|
||||||
is_release_build=yes
|
is_release_build=yes
|
||||||
|
|
@ -43,7 +43,7 @@ CC_CHECK_FLAGS_APPEND([WARN_CFLAGS], [CFLAGS], [\
|
||||||
-Werror=switch \
|
-Werror=switch \
|
||||||
-Werror=overflow \
|
-Werror=overflow \
|
||||||
-Werror=int-conversion \
|
-Werror=int-conversion \
|
||||||
-Werror=parenthesis \
|
-Werror=parentheses \
|
||||||
-Werror=undef \
|
-Werror=undef \
|
||||||
-Werror=incompatible-pointer-types \
|
-Werror=incompatible-pointer-types \
|
||||||
-Werror=misleading-indentation \
|
-Werror=misleading-indentation \
|
||||||
|
|
@ -197,7 +197,7 @@ AM_COND_IF(BUILDOPT_TRIVIAL_HTTPD,
|
||||||
)
|
)
|
||||||
|
|
||||||
AS_IF([test x$with_curl = xyes && test x$with_soup = xno], [
|
AS_IF([test x$with_curl = xyes && test x$with_soup = xno], [
|
||||||
AC_MSG_ERROR([Curl enabled, but libsoup is not; libsoup is needed for tests])
|
AC_MSG_WARN([Curl enabled, but libsoup is not; libsoup is needed for tests (make check, etc.)])
|
||||||
])
|
])
|
||||||
AM_CONDITIONAL(USE_CURL_OR_SOUP, test x$with_curl != xno || test x$with_soup != xno)
|
AM_CONDITIONAL(USE_CURL_OR_SOUP, test x$with_curl != xno || test x$with_soup != xno)
|
||||||
AS_IF([test x$with_curl != xno || test x$with_soup != xno],
|
AS_IF([test x$with_curl != xno || test x$with_soup != xno],
|
||||||
|
|
|
||||||
21
gtk-doc.make
21
gtk-doc.make
|
|
@ -1,4 +1,22 @@
|
||||||
# -*- mode: makefile -*-
|
# -*- mode: makefile -*-
|
||||||
|
#
|
||||||
|
# gtk-doc.make - make rules for gtk-doc
|
||||||
|
# Copyright (C) 2003 James Henstridge
|
||||||
|
# 2004-2007 Damon Chaplin
|
||||||
|
# 2007-2017 Stefan Sauer
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program 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 General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
####################################
|
####################################
|
||||||
# Everything below here is generic #
|
# Everything below here is generic #
|
||||||
|
|
@ -152,6 +170,9 @@ sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HF
|
||||||
sgml.stamp: sgml-build.stamp
|
sgml.stamp: sgml-build.stamp
|
||||||
@true
|
@true
|
||||||
|
|
||||||
|
$(DOC_MAIN_SGML_FILE): sgml-build.stamp
|
||||||
|
@true
|
||||||
|
|
||||||
xml/gtkdocentities.ent: Makefile
|
xml/gtkdocentities.ent: Makefile
|
||||||
$(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
|
$(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
|
||||||
echo "<!ENTITY package \"$(PACKAGE)\">"; \
|
echo "<!ENTITY package \"$(PACKAGE)\">"; \
|
||||||
|
|
|
||||||
|
|
@ -17,10 +17,14 @@
|
||||||
# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||||
# Boston, MA 02111-1307, USA.
|
# Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
# Gracefully exit if ostree is not installed
|
# Gracefully exit if ostree is not installed, or there's
|
||||||
|
# no system repository initialized.
|
||||||
if ! which ostree >/dev/null 2>/dev/null; then
|
if ! which ostree >/dev/null 2>/dev/null; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
if ! test -d /ostree/repo; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
# Make sure we're in the right environment
|
# Make sure we're in the right environment
|
||||||
if ! test -n "${GRUB_DEVICE}"; then
|
if ! test -n "${GRUB_DEVICE}"; then
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# To use a custrom script for generating grub.cfg, set the --with-grub2-mkconfig=no
|
# The builtin grub.cfg generator.
|
||||||
# configure switch when configuring and building OSTree.
|
|
||||||
#
|
#
|
||||||
# This script is called by ostree/src/libostree/ostree-bootloader-grub2.c whenever
|
# This script is called by ostree/src/libostree/ostree-bootloader-grub2.c whenever
|
||||||
# boot loader configuration file needs to be updated. It can be used as a template
|
# boot loader configuration file needs to be updated. It can be used as a template
|
||||||
|
|
@ -28,7 +27,7 @@ entries_path=$(dirname $new_grub2_cfg)/entries
|
||||||
|
|
||||||
read_config()
|
read_config()
|
||||||
{
|
{
|
||||||
config_file=${entries_path}/${1}
|
config_file=${1}
|
||||||
title=""
|
title=""
|
||||||
initrd=""
|
initrd=""
|
||||||
options=""
|
options=""
|
||||||
|
|
@ -67,11 +66,13 @@ populate_menu()
|
||||||
else
|
else
|
||||||
boot_prefix="${OSTREE_BOOT_PARTITION}"
|
boot_prefix="${OSTREE_BOOT_PARTITION}"
|
||||||
fi
|
fi
|
||||||
for config in $(ls ${entries_path}); do
|
for config in $(ls $entries_path/*.conf); do
|
||||||
read_config ${config}
|
read_config ${config}
|
||||||
menu="${menu}menuentry '${title}' {\n"
|
menu="${menu}menuentry '${title}' {\n"
|
||||||
menu="${menu}\t linux ${boot_prefix}${linux} ${options}\n"
|
menu="${menu}\t linux ${boot_prefix}${linux} ${options}\n"
|
||||||
|
if [ -n "${initrd}" ] ; then
|
||||||
menu="${menu}\t initrd ${boot_prefix}${initrd}\n"
|
menu="${menu}\t initrd ${boot_prefix}${initrd}\n"
|
||||||
|
fi
|
||||||
menu="${menu}}\n\n"
|
menu="${menu}}\n\n"
|
||||||
done
|
done
|
||||||
# The printf command seems to be more reliable across shells for special character (\n, \t) evaluation
|
# The printf command seems to be more reliable across shells for special character (\n, \t) evaluation
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,8 @@
|
||||||
***/
|
***/
|
||||||
|
|
||||||
/* Add new symbols here. Release commits should copy this section into -released.sym. */
|
/* Add new symbols here. Release commits should copy this section into -released.sym. */
|
||||||
LIBOSTREE_2017.16 {
|
LIBOSTREE_2018.2 {
|
||||||
} LIBOSTREE_2017.15;
|
} LIBOSTREE_2018.1;
|
||||||
|
|
||||||
/* Stub section for the stable release *after* this development one; don't
|
/* Stub section for the stable release *after* this development one; don't
|
||||||
* edit this other than to update the last number. This is just a copy/paste
|
* edit this other than to update the last number. This is just a copy/paste
|
||||||
|
|
|
||||||
|
|
@ -451,6 +451,9 @@ LIBOSTREE_2017.15 {
|
||||||
ostree_break_hardlink;
|
ostree_break_hardlink;
|
||||||
} LIBOSTREE_2017.14;
|
} LIBOSTREE_2017.14;
|
||||||
|
|
||||||
|
LIBOSTREE_2018.1 {
|
||||||
|
} LIBOSTREE_2017.15;
|
||||||
|
|
||||||
/* NOTE: Only add more content here in release commits! See the
|
/* NOTE: Only add more content here in release commits! See the
|
||||||
* comments at the top of this file.
|
* comments at the top of this file.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -164,6 +164,17 @@ _ostree_loose_path (char *buf,
|
||||||
OstreeObjectType objtype,
|
OstreeObjectType objtype,
|
||||||
OstreeRepoMode repo_mode);
|
OstreeRepoMode repo_mode);
|
||||||
|
|
||||||
|
gboolean _ostree_validate_structureof_metadata (OstreeObjectType objtype,
|
||||||
|
GVariant *commit,
|
||||||
|
GError **error);
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
_ostree_verify_metadata_object (OstreeObjectType objtype,
|
||||||
|
const char *expected_checksum,
|
||||||
|
GVariant *metadata,
|
||||||
|
GError **error);
|
||||||
|
|
||||||
|
|
||||||
#define _OSTREE_METADATA_GPGSIGS_NAME "ostree.gpgsigs"
|
#define _OSTREE_METADATA_GPGSIGS_NAME "ostree.gpgsigs"
|
||||||
#define _OSTREE_METADATA_GPGSIGS_TYPE G_VARIANT_TYPE ("aay")
|
#define _OSTREE_METADATA_GPGSIGS_TYPE G_VARIANT_TYPE ("aay")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2071,6 +2071,74 @@ validate_variant (GVariant *variant,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* TODO: make this public later; just wraps the previously public
|
||||||
|
* commit/dirtree/dirmeta verifiers.
|
||||||
|
*/
|
||||||
|
gboolean
|
||||||
|
_ostree_validate_structureof_metadata (OstreeObjectType objtype,
|
||||||
|
GVariant *metadata,
|
||||||
|
GError **error)
|
||||||
|
{
|
||||||
|
g_assert (OSTREE_OBJECT_TYPE_IS_META (objtype));
|
||||||
|
|
||||||
|
switch (objtype)
|
||||||
|
{
|
||||||
|
case OSTREE_OBJECT_TYPE_COMMIT:
|
||||||
|
if (!ostree_validate_structureof_commit (metadata, error))
|
||||||
|
return FALSE;
|
||||||
|
break;
|
||||||
|
case OSTREE_OBJECT_TYPE_DIR_TREE:
|
||||||
|
if (!ostree_validate_structureof_dirtree (metadata, error))
|
||||||
|
return FALSE;
|
||||||
|
break;
|
||||||
|
case OSTREE_OBJECT_TYPE_DIR_META:
|
||||||
|
if (!ostree_validate_structureof_dirmeta (metadata, error))
|
||||||
|
return FALSE;
|
||||||
|
break;
|
||||||
|
case OSTREE_OBJECT_TYPE_TOMBSTONE_COMMIT:
|
||||||
|
case OSTREE_OBJECT_TYPE_COMMIT_META:
|
||||||
|
/* TODO */
|
||||||
|
break;
|
||||||
|
case OSTREE_OBJECT_TYPE_FILE:
|
||||||
|
g_assert_not_reached ();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Used by fsck as well as pull. Verify the checksum of a metadata object
|
||||||
|
* and its "structure" or the additional schema we impose on GVariants such
|
||||||
|
* as ensuring the "ay" checksum entries are of length 32. Another important
|
||||||
|
* one is checking for path traversal in dirtree objects.
|
||||||
|
*/
|
||||||
|
gboolean
|
||||||
|
_ostree_verify_metadata_object (OstreeObjectType objtype,
|
||||||
|
const char *expected_checksum,
|
||||||
|
GVariant *metadata,
|
||||||
|
GError **error)
|
||||||
|
{
|
||||||
|
g_assert (expected_checksum);
|
||||||
|
|
||||||
|
g_auto(OtChecksum) hasher = { 0, };
|
||||||
|
ot_checksum_init (&hasher);
|
||||||
|
ot_checksum_update (&hasher, g_variant_get_data (metadata), g_variant_get_size (metadata));
|
||||||
|
|
||||||
|
char actual_checksum[OSTREE_SHA256_STRING_LEN+1];
|
||||||
|
ot_checksum_get_hexdigest (&hasher, actual_checksum, sizeof (actual_checksum));
|
||||||
|
if (!_ostree_compare_object_checksum (objtype, expected_checksum, actual_checksum, error))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
/* Add the checksum + objtype prefix here */
|
||||||
|
{ const char *error_prefix = glnx_strjoina (expected_checksum, ".", ostree_object_type_to_string (objtype));
|
||||||
|
GLNX_AUTO_PREFIX_ERROR(error_prefix, error);
|
||||||
|
if (!_ostree_validate_structureof_metadata (objtype, metadata, error))
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ostree_validate_structureof_commit:
|
* ostree_validate_structureof_commit:
|
||||||
* @commit: A commit object, %OSTREE_OBJECT_TYPE_COMMIT
|
* @commit: A commit object, %OSTREE_OBJECT_TYPE_COMMIT
|
||||||
|
|
|
||||||
|
|
@ -714,7 +714,7 @@ initiate_next_curl_request (FetcherRequest *req,
|
||||||
curl_easy_setopt (req->easy, CURLOPT_URL, uri);
|
curl_easy_setopt (req->easy, CURLOPT_URL, uri);
|
||||||
}
|
}
|
||||||
|
|
||||||
curl_easy_setopt (req->easy, CURLOPT_USERAGENT, "ostree ");
|
curl_easy_setopt (req->easy, CURLOPT_USERAGENT, OSTREE_FETCHER_USERAGENT_STRING);
|
||||||
if (self->extra_headers)
|
if (self->extra_headers)
|
||||||
curl_easy_setopt (req->easy, CURLOPT_HTTPHEADER, self->extra_headers);
|
curl_easy_setopt (req->easy, CURLOPT_HTTPHEADER, self->extra_headers);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -479,7 +479,7 @@ ostree_fetcher_session_thread (gpointer data)
|
||||||
g_main_context_push_thread_default (mainctx);
|
g_main_context_push_thread_default (mainctx);
|
||||||
|
|
||||||
/* We retain ownership of the SoupSession reference. */
|
/* We retain ownership of the SoupSession reference. */
|
||||||
closure->session = soup_session_async_new_with_options (SOUP_SESSION_USER_AGENT, "ostree ",
|
closure->session = soup_session_async_new_with_options (SOUP_SESSION_USER_AGENT, OSTREE_FETCHER_USERAGENT_STRING,
|
||||||
SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE,
|
SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE,
|
||||||
SOUP_SESSION_USE_THREAD_CONTEXT, TRUE,
|
SOUP_SESSION_USE_THREAD_CONTEXT, TRUE,
|
||||||
SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_TYPE_REQUESTER,
|
SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_TYPE_REQUESTER,
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,12 @@
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
/* We used to only send "ostree/" but now include the version
|
||||||
|
* https://github.com/ostreedev/ostree/issues/1405
|
||||||
|
* This came up in allowing Fedora infrastructure to work around a libcurl bug with HTTP2.
|
||||||
|
*/
|
||||||
|
#define OSTREE_FETCHER_USERAGENT_STRING (PACKAGE_NAME "/" PACKAGE_VERSION)
|
||||||
|
|
||||||
static inline gboolean
|
static inline gboolean
|
||||||
_ostree_fetcher_tmpf_from_flags (OstreeFetcherRequestFlags flags,
|
_ostree_fetcher_tmpf_from_flags (OstreeFetcherRequestFlags flags,
|
||||||
int dfd,
|
int dfd,
|
||||||
|
|
|
||||||
|
|
@ -535,6 +535,10 @@ checkout_one_file_at (OstreeRepo *repo,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
|
/* Validate this up front to prevent path traversal attacks */
|
||||||
|
if (!ot_util_filename_validate (destination_name, error))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
gboolean need_copy = TRUE;
|
gboolean need_copy = TRUE;
|
||||||
gboolean is_bare_user_symlink = FALSE;
|
gboolean is_bare_user_symlink = FALSE;
|
||||||
char loose_path_buf[_OSTREE_LOOSE_PATH_MAX];
|
char loose_path_buf[_OSTREE_LOOSE_PATH_MAX];
|
||||||
|
|
@ -897,6 +901,15 @@ checkout_tree_at_recurse (OstreeRepo *self,
|
||||||
while (g_variant_iter_loop (&viter, "(&s@ay@ay)", &dname,
|
while (g_variant_iter_loop (&viter, "(&s@ay@ay)", &dname,
|
||||||
&subdirtree_csum_v, &subdirmeta_csum_v))
|
&subdirtree_csum_v, &subdirmeta_csum_v))
|
||||||
{
|
{
|
||||||
|
/* Validate this up front to prevent path traversal attacks. Note that
|
||||||
|
* we don't validate at the top of this function like we do for
|
||||||
|
* checkout_one_file_at() becuase I believe in some cases this function
|
||||||
|
* can be called *initially* with user-specified paths for the root
|
||||||
|
* directory.
|
||||||
|
*/
|
||||||
|
if (!ot_util_filename_validate (dname, error))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
const size_t origlen = selabel_path_buf ? selabel_path_buf->len : 0;
|
const size_t origlen = selabel_path_buf ? selabel_path_buf->len : 0;
|
||||||
if (selabel_path_buf)
|
if (selabel_path_buf)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -2027,6 +2027,13 @@ ostree_repo_write_metadata (OstreeRepo *self,
|
||||||
if (!metadata_size_valid (objtype, g_variant_get_size (normalized), error))
|
if (!metadata_size_valid (objtype, g_variant_get_size (normalized), error))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
/* For untrusted objects, verify their structure here */
|
||||||
|
if (expected_checksum)
|
||||||
|
{
|
||||||
|
if (!_ostree_validate_structureof_metadata (objtype, object, error))
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
g_autoptr(GBytes) vdata = g_variant_get_data_as_bytes (normalized);
|
g_autoptr(GBytes) vdata = g_variant_get_data_as_bytes (normalized);
|
||||||
if (!write_metadata_object (self, objtype, expected_checksum,
|
if (!write_metadata_object (self, objtype, expected_checksum,
|
||||||
vdata, out_csum, cancellable, error))
|
vdata, out_csum, cancellable, error))
|
||||||
|
|
@ -4101,6 +4108,7 @@ _ostree_repo_import_object (OstreeRepo *self,
|
||||||
&variant, error))
|
&variant, error))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
/* Note this one also now verifies structure in the !trusted case */
|
||||||
g_autofree guchar *real_csum = NULL;
|
g_autofree guchar *real_csum = NULL;
|
||||||
if (!ostree_repo_write_metadata (self, objtype,
|
if (!ostree_repo_write_metadata (self, objtype,
|
||||||
checksum, variant,
|
checksum, variant,
|
||||||
|
|
|
||||||
|
|
@ -27,12 +27,12 @@
|
||||||
#include "libglnx.h"
|
#include "libglnx.h"
|
||||||
#include "ostree.h"
|
#include "ostree.h"
|
||||||
#include "otutil.h"
|
#include "otutil.h"
|
||||||
|
#include "ostree-repo-pull-private.h"
|
||||||
|
|
||||||
#ifdef HAVE_LIBCURL_OR_LIBSOUP
|
#ifdef HAVE_LIBCURL_OR_LIBSOUP
|
||||||
|
|
||||||
#include "ostree-core-private.h"
|
#include "ostree-core-private.h"
|
||||||
#include "ostree-repo-private.h"
|
#include "ostree-repo-private.h"
|
||||||
#include "ostree-repo-pull-private.h"
|
|
||||||
#include "ostree-repo-static-delta-private.h"
|
#include "ostree-repo-static-delta-private.h"
|
||||||
#include "ostree-metalink.h"
|
#include "ostree-metalink.h"
|
||||||
#include "ostree-fetcher-util.h"
|
#include "ostree-fetcher-util.h"
|
||||||
|
|
@ -736,6 +736,12 @@ scan_dirtree_object (OtPullData *pull_data,
|
||||||
|
|
||||||
g_variant_get_child (files_variant, i, "(&s@ay)", &filename, &csum);
|
g_variant_get_child (files_variant, i, "(&s@ay)", &filename, &csum);
|
||||||
|
|
||||||
|
/* Note this is now obsoleted by the _ostree_validate_structureof_metadata()
|
||||||
|
* but I'm keeping this since:
|
||||||
|
* 1) It's cheap
|
||||||
|
* 2) We want to continue to do validation for objects written to disk
|
||||||
|
* before libostree's validation was strengthened.
|
||||||
|
*/
|
||||||
if (!ot_util_filename_validate (filename, error))
|
if (!ot_util_filename_validate (filename, error))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
|
@ -810,6 +816,7 @@ scan_dirtree_object (OtPullData *pull_data,
|
||||||
g_variant_get_child (dirs_variant, i, "(&s@ay@ay)",
|
g_variant_get_child (dirs_variant, i, "(&s@ay@ay)",
|
||||||
&dirname, &tree_csum, &meta_csum);
|
&dirname, &tree_csum, &meta_csum);
|
||||||
|
|
||||||
|
/* See comment above for files */
|
||||||
if (!ot_util_filename_validate (dirname, error))
|
if (!ot_util_filename_validate (dirname, error))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
|
@ -1222,24 +1229,20 @@ meta_fetch_on_complete (GObject *object,
|
||||||
FALSE, &metadata, error))
|
FALSE, &metadata, error))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
/* For commit objects, compute the hash and check the GPG signature before
|
/* Compute checksum and verify structure now. Note this is a recent change
|
||||||
* writing to the repo, and also write the .commitpartial to say that
|
* (Jan 2018) - we used to verify the checksum only when writing down
|
||||||
* we're still processing this commit.
|
* below. But we want to do "structure" verification early on as well
|
||||||
|
* before the object is written even to the staging directory.
|
||||||
|
*/
|
||||||
|
if (!_ostree_verify_metadata_object (objtype, checksum, metadata, error))
|
||||||
|
goto out;
|
||||||
|
|
||||||
|
/* For commit objects, check the GPG signature before writing to the repo,
|
||||||
|
* and also write the .commitpartial to say that we're still processing
|
||||||
|
* this commit.
|
||||||
*/
|
*/
|
||||||
if (objtype == OSTREE_OBJECT_TYPE_COMMIT)
|
if (objtype == OSTREE_OBJECT_TYPE_COMMIT)
|
||||||
{
|
{
|
||||||
/* Verify checksum */
|
|
||||||
OtChecksum hasher = { 0, };
|
|
||||||
ot_checksum_init (&hasher);
|
|
||||||
{ g_autoptr(GBytes) bytes = g_variant_get_data_as_bytes (metadata);
|
|
||||||
ot_checksum_update_bytes (&hasher, bytes);
|
|
||||||
}
|
|
||||||
char hexdigest[OSTREE_SHA256_STRING_LEN+1];
|
|
||||||
ot_checksum_get_hexdigest (&hasher, hexdigest, sizeof (hexdigest));
|
|
||||||
|
|
||||||
if (!_ostree_compare_object_checksum (objtype, checksum, hexdigest, error))
|
|
||||||
goto out;
|
|
||||||
|
|
||||||
/* Do GPG verification. `detached_data` may be NULL if no detached
|
/* Do GPG verification. `detached_data` may be NULL if no detached
|
||||||
* metadata was found during pull; that's handled by
|
* metadata was found during pull; that's handled by
|
||||||
* gpg_verify_unwritten_commit(). If we ever change the pull code to
|
* gpg_verify_unwritten_commit(). If we ever change the pull code to
|
||||||
|
|
@ -1256,7 +1259,13 @@ meta_fetch_on_complete (GObject *object,
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
ostree_repo_write_metadata_async (pull_data->repo, objtype, checksum, metadata,
|
/* Note that we now (Jan 2018) pass NULL for checksum, which means "don't
|
||||||
|
* verify checksum", since we just did it above. Related to this...now
|
||||||
|
* that we're doing all the verification here, one thing we could do later
|
||||||
|
* just `glnx_link_tmpfile_at()` into the repository, like the content
|
||||||
|
* fetch path does for trusted commits.
|
||||||
|
*/
|
||||||
|
ostree_repo_write_metadata_async (pull_data->repo, objtype, NULL, metadata,
|
||||||
pull_data->cancellable,
|
pull_data->cancellable,
|
||||||
on_metadata_written, fetch_data);
|
on_metadata_written, fetch_data);
|
||||||
pull_data->n_outstanding_metadata_write_requests++;
|
pull_data->n_outstanding_metadata_write_requests++;
|
||||||
|
|
|
||||||
|
|
@ -497,8 +497,13 @@ dispatch_open_splice_and_close (OstreeRepo *repo,
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
metadata = g_variant_new_from_data (ostree_metadata_variant_type (state->output_objtype),
|
/* Unfortunately we need a copy because GVariant wants pointer-alignment
|
||||||
state->payload_data + offset, length, TRUE, NULL, NULL);
|
* and we didn't guarantee that in static deltas. We can do so in the
|
||||||
|
* future.
|
||||||
|
*/
|
||||||
|
g_autoptr(GBytes) metadata_copy = g_bytes_new (state->payload_data + offset, length);
|
||||||
|
metadata = g_variant_new_from_bytes (ostree_metadata_variant_type (state->output_objtype),
|
||||||
|
metadata_copy, FALSE);
|
||||||
|
|
||||||
{
|
{
|
||||||
g_autofree guchar *actual_csum = NULL;
|
g_autofree guchar *actual_csum = NULL;
|
||||||
|
|
|
||||||
|
|
@ -3941,6 +3941,7 @@ ostree_repo_delete_object (OstreeRepo *self,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Thin wrapper for _ostree_verify_metadata_object() */
|
||||||
static gboolean
|
static gboolean
|
||||||
fsck_metadata_object (OstreeRepo *self,
|
fsck_metadata_object (OstreeRepo *self,
|
||||||
OstreeObjectType objtype,
|
OstreeObjectType objtype,
|
||||||
|
|
@ -3956,39 +3957,7 @@ fsck_metadata_object (OstreeRepo *self,
|
||||||
cancellable, error))
|
cancellable, error))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
g_auto(OtChecksum) hasher = { 0, };
|
return _ostree_verify_metadata_object (objtype, sha256, metadata, error);
|
||||||
ot_checksum_init (&hasher);
|
|
||||||
ot_checksum_update (&hasher, g_variant_get_data (metadata), g_variant_get_size (metadata));
|
|
||||||
|
|
||||||
char actual_checksum[OSTREE_SHA256_STRING_LEN+1];
|
|
||||||
ot_checksum_get_hexdigest (&hasher, actual_checksum, sizeof (actual_checksum));
|
|
||||||
if (!_ostree_compare_object_checksum (objtype, sha256, actual_checksum, error))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
switch (objtype)
|
|
||||||
{
|
|
||||||
case OSTREE_OBJECT_TYPE_COMMIT:
|
|
||||||
if (!ostree_validate_structureof_commit (metadata, error))
|
|
||||||
return FALSE;
|
|
||||||
break;
|
|
||||||
case OSTREE_OBJECT_TYPE_DIR_TREE:
|
|
||||||
if (!ostree_validate_structureof_dirtree (metadata, error))
|
|
||||||
return FALSE;
|
|
||||||
break;
|
|
||||||
case OSTREE_OBJECT_TYPE_DIR_META:
|
|
||||||
if (!ostree_validate_structureof_dirmeta (metadata, error))
|
|
||||||
return FALSE;
|
|
||||||
break;
|
|
||||||
case OSTREE_OBJECT_TYPE_TOMBSTONE_COMMIT:
|
|
||||||
case OSTREE_OBJECT_TYPE_COMMIT_META:
|
|
||||||
/* TODO */
|
|
||||||
break;
|
|
||||||
case OSTREE_OBJECT_TYPE_FILE:
|
|
||||||
g_assert_not_reached ();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
|
|
||||||
|
|
@ -1700,21 +1700,29 @@ install_deployment_kernel (OstreeSysroot *sysroot,
|
||||||
g_autofree char * boot_relpath = g_strconcat ("/", bootcsumdir, "/", kernel_layout->kernel_namever, NULL);
|
g_autofree char * boot_relpath = g_strconcat ("/", bootcsumdir, "/", kernel_layout->kernel_namever, NULL);
|
||||||
ostree_bootconfig_parser_set (bootconfig, "linux", boot_relpath);
|
ostree_bootconfig_parser_set (bootconfig, "linux", boot_relpath);
|
||||||
|
|
||||||
|
val = ostree_bootconfig_parser_get (bootconfig, "options");
|
||||||
|
g_autoptr(OstreeKernelArgs) kargs = _ostree_kernel_args_from_string (val);
|
||||||
|
|
||||||
if (kernel_layout->initramfs_namever)
|
if (kernel_layout->initramfs_namever)
|
||||||
{
|
{
|
||||||
g_autofree char * boot_relpath = g_strconcat ("/", bootcsumdir, "/", kernel_layout->initramfs_namever, NULL);
|
g_autofree char * boot_relpath = g_strconcat ("/", bootcsumdir, "/", kernel_layout->initramfs_namever, NULL);
|
||||||
ostree_bootconfig_parser_set (bootconfig, "initrd", boot_relpath);
|
ostree_bootconfig_parser_set (bootconfig, "initrd", boot_relpath);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
val = ostree_bootconfig_parser_get (bootconfig, "options");
|
{
|
||||||
|
g_autofree char *prepare_root_arg = NULL;
|
||||||
|
prepare_root_arg = g_strdup_printf ("init=/ostree/boot.%d/%s/%s/%d/usr/lib/ostree/ostree-prepare-root",
|
||||||
|
new_bootversion, osname, bootcsum,
|
||||||
|
ostree_deployment_get_bootserial (deployment));
|
||||||
|
_ostree_kernel_args_replace_take (kargs, g_steal_pointer (&prepare_root_arg));
|
||||||
|
}
|
||||||
|
|
||||||
/* Note this is parsed in ostree-impl-system-generator.c */
|
/* Note this is parsed in ostree-impl-system-generator.c */
|
||||||
g_autofree char *ostree_kernel_arg = g_strdup_printf ("ostree=/ostree/boot.%d/%s/%s/%d",
|
g_autofree char *ostree_kernel_arg = g_strdup_printf ("ostree=/ostree/boot.%d/%s/%s/%d",
|
||||||
new_bootversion, osname, bootcsum,
|
new_bootversion, osname, bootcsum,
|
||||||
ostree_deployment_get_bootserial (deployment));
|
ostree_deployment_get_bootserial (deployment));
|
||||||
g_autoptr(OstreeKernelArgs) kargs = _ostree_kernel_args_from_string (val);
|
_ostree_kernel_args_replace_take (kargs, g_steal_pointer (&ostree_kernel_arg));
|
||||||
_ostree_kernel_args_replace_take (kargs, ostree_kernel_arg);
|
|
||||||
ostree_kernel_arg = NULL;
|
|
||||||
g_autofree char *options_key = _ostree_kernel_args_to_string (kargs);
|
g_autofree char *options_key = _ostree_kernel_args_to_string (kargs);
|
||||||
ostree_bootconfig_parser_set (bootconfig, "options", options_key);
|
ostree_bootconfig_parser_set (bootconfig, "options", options_key);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
*
|
*
|
||||||
* Since: 2017.4
|
* Since: 2017.4
|
||||||
*/
|
*/
|
||||||
#define OSTREE_YEAR_VERSION (2017)
|
#define OSTREE_YEAR_VERSION (2018)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OSTREE_RELEASE_VERSION:
|
* OSTREE_RELEASE_VERSION:
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
*
|
*
|
||||||
* Since: 2017.4
|
* Since: 2017.4
|
||||||
*/
|
*/
|
||||||
#define OSTREE_RELEASE_VERSION (15)
|
#define OSTREE_RELEASE_VERSION (1)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OSTREE_VERSION
|
* OSTREE_VERSION
|
||||||
|
|
@ -52,7 +52,7 @@
|
||||||
*
|
*
|
||||||
* Since: 2017.4
|
* Since: 2017.4
|
||||||
*/
|
*/
|
||||||
#define OSTREE_VERSION (2017.15)
|
#define OSTREE_VERSION (2018.1)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OSTREE_VERSION_S:
|
* OSTREE_VERSION_S:
|
||||||
|
|
@ -62,7 +62,7 @@
|
||||||
*
|
*
|
||||||
* Since: 2017.4
|
* Since: 2017.4
|
||||||
*/
|
*/
|
||||||
#define OSTREE_VERSION_S "2017.15"
|
#define OSTREE_VERSION_S "2018.1"
|
||||||
|
|
||||||
#define OSTREE_ENCODE_VERSION(year,release) \
|
#define OSTREE_ENCODE_VERSION(year,release) \
|
||||||
((year) << 16 | (release))
|
((year) << 16 | (release))
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ static char **opt_kernel_argv_append;
|
||||||
static gboolean opt_kernel_proc_cmdline;
|
static gboolean opt_kernel_proc_cmdline;
|
||||||
static char *opt_osname;
|
static char *opt_osname;
|
||||||
static char *opt_origin_path;
|
static char *opt_origin_path;
|
||||||
|
static gboolean opt_kernel_arg_none;
|
||||||
|
|
||||||
/* ATTENTION:
|
/* ATTENTION:
|
||||||
* Please remember to update the bash-completion script (bash/ostree) and
|
* Please remember to update the bash-completion script (bash/ostree) and
|
||||||
|
|
@ -56,6 +57,7 @@ static GOptionEntry options[] = {
|
||||||
{ "karg-proc-cmdline", 0, 0, G_OPTION_ARG_NONE, &opt_kernel_proc_cmdline, "Import current /proc/cmdline", NULL },
|
{ "karg-proc-cmdline", 0, 0, G_OPTION_ARG_NONE, &opt_kernel_proc_cmdline, "Import current /proc/cmdline", NULL },
|
||||||
{ "karg", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_kernel_argv, "Set kernel argument, like root=/dev/sda1; this overrides any earlier argument with the same name", "NAME=VALUE" },
|
{ "karg", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_kernel_argv, "Set kernel argument, like root=/dev/sda1; this overrides any earlier argument with the same name", "NAME=VALUE" },
|
||||||
{ "karg-append", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_kernel_argv_append, "Append kernel argument; useful with e.g. console= that can be used multiple times", "NAME=VALUE" },
|
{ "karg-append", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_kernel_argv_append, "Append kernel argument; useful with e.g. console= that can be used multiple times", "NAME=VALUE" },
|
||||||
|
{ "karg-none", 0, 0, G_OPTION_ARG_NONE, &opt_kernel_arg_none, "Do not import kernel arguments", NULL },
|
||||||
{ NULL }
|
{ NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -79,6 +81,12 @@ ot_admin_builtin_deploy (int argc, char **argv, OstreeCommandInvocation *invocat
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (opt_kernel_proc_cmdline && opt_kernel_arg_none)
|
||||||
|
{
|
||||||
|
ot_util_usage_error (context, "Can't specify both --karg-proc-cmdline and --karg-none", error);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
const char *refspec = argv[1];
|
const char *refspec = argv[1];
|
||||||
|
|
||||||
OstreeRepo *repo = ostree_sysroot_repo (sysroot);
|
OstreeRepo *repo = ostree_sysroot_repo (sysroot);
|
||||||
|
|
@ -130,7 +138,7 @@ ot_admin_builtin_deploy (int argc, char **argv, OstreeCommandInvocation *invocat
|
||||||
if (!_ostree_kernel_args_append_proc_cmdline (kargs, cancellable, error))
|
if (!_ostree_kernel_args_append_proc_cmdline (kargs, cancellable, error))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
else if (merge_deployment)
|
else if (merge_deployment && !opt_kernel_arg_none)
|
||||||
{
|
{
|
||||||
OstreeBootconfigParser *bootconfig = ostree_deployment_get_bootconfig (merge_deployment);
|
OstreeBootconfigParser *bootconfig = ostree_deployment_get_bootconfig (merge_deployment);
|
||||||
g_auto(GStrv) previous_args = g_strsplit (ostree_bootconfig_parser_get (bootconfig, "options"), " ", -1);
|
g_auto(GStrv) previous_args = g_strsplit (ostree_bootconfig_parser_get (bootconfig, "options"), " ", -1);
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ static char *opt_skiplist_file;
|
||||||
static char **opt_metadata_strings;
|
static char **opt_metadata_strings;
|
||||||
static char **opt_metadata_variants;
|
static char **opt_metadata_variants;
|
||||||
static char **opt_detached_metadata_strings;
|
static char **opt_detached_metadata_strings;
|
||||||
|
static char **opt_metadata_keep;
|
||||||
static gboolean opt_link_checkout_speedup;
|
static gboolean opt_link_checkout_speedup;
|
||||||
static gboolean opt_skip_if_unchanged;
|
static gboolean opt_skip_if_unchanged;
|
||||||
static gboolean opt_tar_autocreate_parents;
|
static gboolean opt_tar_autocreate_parents;
|
||||||
|
|
@ -96,6 +97,7 @@ static GOptionEntry options[] = {
|
||||||
{ "tree", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_trees, "Overlay the given argument as a tree", "dir=PATH or tar=TARFILE or ref=COMMIT" },
|
{ "tree", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_trees, "Overlay the given argument as a tree", "dir=PATH or tar=TARFILE or ref=COMMIT" },
|
||||||
{ "add-metadata-string", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_metadata_strings, "Add a key/value pair to metadata", "KEY=VALUE" },
|
{ "add-metadata-string", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_metadata_strings, "Add a key/value pair to metadata", "KEY=VALUE" },
|
||||||
{ "add-metadata", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_metadata_variants, "Add a key/value pair to metadata, where the KEY is a string, an VALUE is g_variant_parse() formatted", "KEY=VALUE" },
|
{ "add-metadata", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_metadata_variants, "Add a key/value pair to metadata, where the KEY is a string, an VALUE is g_variant_parse() formatted", "KEY=VALUE" },
|
||||||
|
{ "keep-metadata", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_metadata_keep, "Keep metadata KEY and its associated VALUE from parent", "KEY" },
|
||||||
{ "add-detached-metadata-string", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_detached_metadata_strings, "Add a key/value pair to detached metadata", "KEY=VALUE" },
|
{ "add-detached-metadata-string", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_detached_metadata_strings, "Add a key/value pair to detached metadata", "KEY=VALUE" },
|
||||||
{ "owner-uid", 0, 0, G_OPTION_ARG_INT, &opt_owner_uid, "Set file ownership user id", "UID" },
|
{ "owner-uid", 0, 0, G_OPTION_ARG_INT, &opt_owner_uid, "Set file ownership user id", "UID" },
|
||||||
{ "owner-gid", 0, 0, G_OPTION_ARG_INT, &opt_owner_gid, "Set file ownership group id", "GID" },
|
{ "owner-gid", 0, 0, G_OPTION_ARG_INT, &opt_owner_gid, "Set file ownership group id", "GID" },
|
||||||
|
|
@ -466,7 +468,47 @@ ostree_builtin_commit (int argc, char **argv, OstreeCommandInvocation *invocatio
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opt_metadata_strings || opt_metadata_variants)
|
if (!(opt_branch || opt_orphan))
|
||||||
|
{
|
||||||
|
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||||
|
"A branch must be specified with --branch, or use --orphan");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (opt_parent)
|
||||||
|
{
|
||||||
|
if (g_str_equal (opt_parent, "none"))
|
||||||
|
parent = NULL;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!ostree_validate_checksum_string (opt_parent, error))
|
||||||
|
goto out;
|
||||||
|
parent = g_strdup (opt_parent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (!opt_orphan)
|
||||||
|
{
|
||||||
|
if (!ostree_repo_resolve_rev (repo, opt_branch, TRUE, &parent, error))
|
||||||
|
{
|
||||||
|
if (g_error_matches (*error, G_IO_ERROR, G_IO_ERROR_IS_DIRECTORY))
|
||||||
|
{
|
||||||
|
/* A folder exists with the specified ref name,
|
||||||
|
* which is handled by _ostree_repo_write_ref */
|
||||||
|
g_clear_error (error);
|
||||||
|
}
|
||||||
|
else goto out;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!parent && opt_metadata_keep)
|
||||||
|
{
|
||||||
|
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||||
|
"Either --branch or --parent must be specified when using "
|
||||||
|
"--keep-metadata");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (opt_metadata_strings || opt_metadata_variants || opt_metadata_keep)
|
||||||
{
|
{
|
||||||
g_autoptr(GVariantBuilder) builder =
|
g_autoptr(GVariantBuilder) builder =
|
||||||
g_variant_builder_new (G_VARIANT_TYPE ("a{sv}"));
|
g_variant_builder_new (G_VARIANT_TYPE ("a{sv}"));
|
||||||
|
|
@ -479,6 +521,31 @@ ostree_builtin_commit (int argc, char **argv, OstreeCommandInvocation *invocatio
|
||||||
!parse_keyvalue_strings (builder, opt_metadata_variants, TRUE, error))
|
!parse_keyvalue_strings (builder, opt_metadata_variants, TRUE, error))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
if (opt_metadata_keep)
|
||||||
|
{
|
||||||
|
g_assert (parent);
|
||||||
|
|
||||||
|
g_autoptr(GVariant) parent_commit = NULL;
|
||||||
|
if (!ostree_repo_load_commit (repo, parent, &parent_commit, NULL, error))
|
||||||
|
goto out;
|
||||||
|
|
||||||
|
g_auto(GVariantDict) dict;
|
||||||
|
g_variant_dict_init (&dict, g_variant_get_child_value (parent_commit, 0));
|
||||||
|
for (char **keyp = opt_metadata_keep; keyp && *keyp; keyp++)
|
||||||
|
{
|
||||||
|
const char *key = *keyp;
|
||||||
|
g_autoptr(GVariant) val = g_variant_dict_lookup_value (&dict, key, NULL);
|
||||||
|
if (!val)
|
||||||
|
{
|
||||||
|
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||||
|
"Missing metadata key '%s' from commit '%s'", key, parent);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_variant_builder_add (builder, "{sv}", key, val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
metadata = g_variant_ref_sink (g_variant_builder_end (builder));
|
metadata = g_variant_ref_sink (g_variant_builder_end (builder));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -493,13 +560,6 @@ ostree_builtin_commit (int argc, char **argv, OstreeCommandInvocation *invocatio
|
||||||
detached_metadata = g_variant_ref_sink (g_variant_builder_end (builder));
|
detached_metadata = g_variant_ref_sink (g_variant_builder_end (builder));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(opt_branch || opt_orphan))
|
|
||||||
{
|
|
||||||
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
|
||||||
"A branch must be specified with --branch, or use --orphan");
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (opt_no_xattrs)
|
if (opt_no_xattrs)
|
||||||
flags |= OSTREE_REPO_COMMIT_MODIFIER_FLAGS_SKIP_XATTRS;
|
flags |= OSTREE_REPO_COMMIT_MODIFIER_FLAGS_SKIP_XATTRS;
|
||||||
if (opt_consume)
|
if (opt_consume)
|
||||||
|
|
@ -543,31 +603,6 @@ ostree_builtin_commit (int argc, char **argv, OstreeCommandInvocation *invocatio
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opt_parent)
|
|
||||||
{
|
|
||||||
if (g_str_equal (opt_parent, "none"))
|
|
||||||
parent = NULL;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (!ostree_validate_checksum_string (opt_parent, error))
|
|
||||||
goto out;
|
|
||||||
parent = g_strdup (opt_parent);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (!opt_orphan)
|
|
||||||
{
|
|
||||||
if (!ostree_repo_resolve_rev (repo, opt_branch, TRUE, &parent, error))
|
|
||||||
{
|
|
||||||
if (g_error_matches (*error, G_IO_ERROR, G_IO_ERROR_IS_DIRECTORY))
|
|
||||||
{
|
|
||||||
/* A folder exists with the specified ref name,
|
|
||||||
* which is handled by _ostree_repo_write_ref */
|
|
||||||
g_clear_error (error);
|
|
||||||
}
|
|
||||||
else goto out;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (opt_editor)
|
if (opt_editor)
|
||||||
{
|
{
|
||||||
if (!commit_editor (repo, opt_branch, &opt_subject, &commit_body, cancellable, error))
|
if (!commit_editor (repo, opt_branch, &opt_subject, &commit_body, cancellable, error))
|
||||||
|
|
|
||||||
|
|
@ -30,12 +30,14 @@
|
||||||
#include "ostree-remote-private.h"
|
#include "ostree-remote-private.h"
|
||||||
|
|
||||||
static gchar *opt_cache_dir = NULL;
|
static gchar *opt_cache_dir = NULL;
|
||||||
|
static gchar *opt_finders = NULL;
|
||||||
static gboolean opt_disable_fsync = FALSE;
|
static gboolean opt_disable_fsync = FALSE;
|
||||||
static gboolean opt_pull = FALSE;
|
static gboolean opt_pull = FALSE;
|
||||||
|
|
||||||
static GOptionEntry options[] =
|
static GOptionEntry options[] =
|
||||||
{
|
{
|
||||||
{ "cache-dir", 0, 0, G_OPTION_ARG_FILENAME, &opt_cache_dir, "Use custom cache dir", NULL },
|
{ "cache-dir", 0, 0, G_OPTION_ARG_FILENAME, &opt_cache_dir, "Use custom cache dir", NULL },
|
||||||
|
{ "finders", 0, 0, G_OPTION_ARG_STRING, &opt_finders, "Use the specified comma separated list of finders (e.g. config,lan,mount)", "FINDERS" },
|
||||||
{ "disable-fsync", 0, 0, G_OPTION_ARG_NONE, &opt_disable_fsync, "Do not invoke fsync()", NULL },
|
{ "disable-fsync", 0, 0, G_OPTION_ARG_NONE, &opt_disable_fsync, "Do not invoke fsync()", NULL },
|
||||||
{ "pull", 0, 0, G_OPTION_ARG_NONE, &opt_pull, "Pull the updates after finding them", NULL },
|
{ "pull", 0, 0, G_OPTION_ARG_NONE, &opt_pull, "Pull the updates after finding them", NULL },
|
||||||
{ NULL }
|
{ NULL }
|
||||||
|
|
@ -116,6 +118,52 @@ collection_ref_free0 (OstreeCollectionRef *ref)
|
||||||
ostree_collection_ref_free (ref);
|
ostree_collection_ref_free (ref);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
validate_finders_list (char **finders,
|
||||||
|
GOptionContext *context,
|
||||||
|
GError **error)
|
||||||
|
{
|
||||||
|
typedef struct {
|
||||||
|
gchar *finder_name;
|
||||||
|
gboolean already_used;
|
||||||
|
} Finder;
|
||||||
|
Finder valid_finders[] = {
|
||||||
|
{.finder_name = "config", .already_used = FALSE},
|
||||||
|
{.finder_name = "lan", .already_used = FALSE},
|
||||||
|
{.finder_name = "mount", .already_used = FALSE}
|
||||||
|
};
|
||||||
|
|
||||||
|
if (finders == NULL || *finders == NULL)
|
||||||
|
{
|
||||||
|
ot_util_usage_error (context, "List of finders in --finders option must not be empty", error);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (char **iter = finders; iter && *iter; iter++)
|
||||||
|
{
|
||||||
|
gboolean is_valid_finder = FALSE;
|
||||||
|
for (int i = 0; i < 3; i++)
|
||||||
|
{
|
||||||
|
if (valid_finders[i].already_used == TRUE)
|
||||||
|
continue;
|
||||||
|
if (g_strcmp0 (*iter, valid_finders[i].finder_name) == 0)
|
||||||
|
{
|
||||||
|
is_valid_finder = TRUE;
|
||||||
|
valid_finders[i].already_used = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!is_valid_finder)
|
||||||
|
{
|
||||||
|
g_autofree gchar *error_msg = NULL;
|
||||||
|
error_msg = g_strdup_printf ("Unknown or duplicate finder type given in --finders option: ‘%s’", *iter);
|
||||||
|
ot_util_usage_error (context, error_msg, error);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* TODO: Add a man page. */
|
/* TODO: Add a man page. */
|
||||||
gboolean
|
gboolean
|
||||||
ostree_builtin_find_remotes (int argc,
|
ostree_builtin_find_remotes (int argc,
|
||||||
|
|
@ -127,12 +175,17 @@ ostree_builtin_find_remotes (int argc,
|
||||||
g_autoptr(GOptionContext) context = NULL;
|
g_autoptr(GOptionContext) context = NULL;
|
||||||
g_autoptr(OstreeRepo) repo = NULL;
|
g_autoptr(OstreeRepo) repo = NULL;
|
||||||
g_autoptr(GPtrArray) refs = NULL; /* (element-type OstreeCollectionRef) */
|
g_autoptr(GPtrArray) refs = NULL; /* (element-type OstreeCollectionRef) */
|
||||||
|
g_autoptr(GPtrArray) finders = NULL; /* (element-type OstreeRepoFinder) */
|
||||||
|
g_autoptr(OstreeRepoFinder) finder_config = NULL;
|
||||||
|
g_autoptr(OstreeRepoFinder) finder_mount = NULL;
|
||||||
|
g_autoptr(OstreeRepoFinder) finder_avahi = NULL;
|
||||||
g_autoptr(OstreeAsyncProgress) progress = NULL;
|
g_autoptr(OstreeAsyncProgress) progress = NULL;
|
||||||
gsize i;
|
gsize i;
|
||||||
g_autoptr(GAsyncResult) find_result = NULL, pull_result = NULL;
|
g_autoptr(GAsyncResult) find_result = NULL, pull_result = NULL;
|
||||||
g_auto(OstreeRepoFinderResultv) results = NULL;
|
g_auto(OstreeRepoFinderResultv) results = NULL;
|
||||||
g_auto(GLnxConsoleRef) console = { 0, };
|
g_auto(GLnxConsoleRef) console = { 0, };
|
||||||
g_autoptr(GHashTable) refs_found = NULL; /* set (element-type OstreeCollectionRef) */
|
g_autoptr(GHashTable) refs_found = NULL; /* set (element-type OstreeCollectionRef) */
|
||||||
|
g_auto(GStrv) finders_strings = NULL;
|
||||||
|
|
||||||
context = g_option_context_new ("COLLECTION-ID REF [COLLECTION-ID REF...]");
|
context = g_option_context_new ("COLLECTION-ID REF [COLLECTION-ID REF...]");
|
||||||
|
|
||||||
|
|
@ -176,18 +229,65 @@ ostree_builtin_find_remotes (int argc,
|
||||||
|
|
||||||
g_ptr_array_add (refs, NULL);
|
g_ptr_array_add (refs, NULL);
|
||||||
|
|
||||||
|
/* Build the array of OstreeRepoFinder instances */
|
||||||
|
if (opt_finders != NULL)
|
||||||
|
{
|
||||||
|
g_auto(GStrv) finders_strings = NULL;
|
||||||
|
|
||||||
|
finders_strings = g_strsplit (opt_finders, ",", 0);
|
||||||
|
if (!validate_finders_list (finders_strings, context, error))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
finders = g_ptr_array_new ();
|
||||||
|
for (char **iter =finders_strings; iter && *iter; iter++)
|
||||||
|
{
|
||||||
|
if (g_strcmp0 (*iter, "config") == 0)
|
||||||
|
{
|
||||||
|
finder_config = OSTREE_REPO_FINDER (ostree_repo_finder_config_new ());
|
||||||
|
g_ptr_array_add (finders, finder_config);
|
||||||
|
}
|
||||||
|
else if (g_strcmp0 (*iter, "mount") == 0)
|
||||||
|
{
|
||||||
|
finder_mount = OSTREE_REPO_FINDER (ostree_repo_finder_mount_new (NULL));
|
||||||
|
g_ptr_array_add (finders, finder_mount);
|
||||||
|
}
|
||||||
|
else if (g_strcmp0 (*iter, "lan") == 0)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_AVAHI
|
||||||
|
GMainContext *main_context = g_main_context_get_thread_default ();
|
||||||
|
g_autoptr(GError) local_error = NULL;
|
||||||
|
|
||||||
|
finder_avahi = OSTREE_REPO_FINDER (ostree_repo_finder_avahi_new (main_context));
|
||||||
|
ostree_repo_finder_avahi_start (OSTREE_REPO_FINDER_AVAHI (finder_avahi), &local_error);
|
||||||
|
|
||||||
|
if (local_error != NULL)
|
||||||
|
{
|
||||||
|
g_warning ("Avahi finder failed; removing it: %s", local_error->message);
|
||||||
|
g_clear_object (&finder_avahi);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
g_ptr_array_add (finders, finder_avahi);
|
||||||
|
#else
|
||||||
|
ot_util_usage_error (context, "LAN repo finder requested but ostree was compiled without Avahi support", error);
|
||||||
|
return FALSE;
|
||||||
|
#endif /* HAVE_AVAHI */
|
||||||
|
}
|
||||||
|
else
|
||||||
|
g_assert_not_reached ();
|
||||||
|
}
|
||||||
|
g_ptr_array_add (finders, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
/* Run the operation. */
|
/* Run the operation. */
|
||||||
glnx_console_lock (&console);
|
glnx_console_lock (&console);
|
||||||
|
|
||||||
if (console.is_tty)
|
if (console.is_tty)
|
||||||
progress = ostree_async_progress_new_and_connect (ostree_repo_pull_default_console_progress_changed, &console);
|
progress = ostree_async_progress_new_and_connect (ostree_repo_pull_default_console_progress_changed, &console);
|
||||||
|
|
||||||
/* FIXME: Eventually some command line options for customising the finders
|
|
||||||
* list would be good. */
|
|
||||||
ostree_repo_find_remotes_async (repo,
|
ostree_repo_find_remotes_async (repo,
|
||||||
(const OstreeCollectionRef * const *) refs->pdata,
|
(const OstreeCollectionRef * const *) refs->pdata,
|
||||||
NULL /* no options */,
|
NULL /* no options */,
|
||||||
NULL /* default finders */,
|
finders != NULL ? (OstreeRepoFinder **) finders->pdata : NULL,
|
||||||
progress, cancellable,
|
progress, cancellable,
|
||||||
get_result_cb, &find_result);
|
get_result_cb, &find_result);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ static OstreeCommand remote_subcommands[] = {
|
||||||
{ "gpg-import", OSTREE_BUILTIN_FLAG_NONE,
|
{ "gpg-import", OSTREE_BUILTIN_FLAG_NONE,
|
||||||
ot_remote_builtin_gpg_import,
|
ot_remote_builtin_gpg_import,
|
||||||
"Import GPG keys" },
|
"Import GPG keys" },
|
||||||
#ifdef HAVE_LIBSOUP
|
#ifdef HAVE_LIBCURL_OR_LIBSOUP
|
||||||
{ "add-cookie", OSTREE_BUILTIN_FLAG_NONE,
|
{ "add-cookie", OSTREE_BUILTIN_FLAG_NONE,
|
||||||
ot_remote_builtin_add_cookie,
|
ot_remote_builtin_add_cookie,
|
||||||
"Add a cookie to remote" },
|
"Add a cookie to remote" },
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ BUILTINPROTO(add);
|
||||||
BUILTINPROTO(delete);
|
BUILTINPROTO(delete);
|
||||||
BUILTINPROTO(gpg_import);
|
BUILTINPROTO(gpg_import);
|
||||||
BUILTINPROTO(list);
|
BUILTINPROTO(list);
|
||||||
#ifdef HAVE_LIBSOUP
|
#ifdef HAVE_LIBCURL_OR_LIBSOUP
|
||||||
BUILTINPROTO(add_cookie);
|
BUILTINPROTO(add_cookie);
|
||||||
BUILTINPROTO(list_cookies);
|
BUILTINPROTO(list_cookies);
|
||||||
BUILTINPROTO(delete_cookie);
|
BUILTINPROTO(delete_cookie);
|
||||||
|
|
|
||||||
|
|
@ -19,5 +19,7 @@ bin_PROGRAMS += rofiles-fuse
|
||||||
|
|
||||||
rofiles_fuse_SOURCES = src/rofiles-fuse/main.c
|
rofiles_fuse_SOURCES = src/rofiles-fuse/main.c
|
||||||
|
|
||||||
rofiles_fuse_CFLAGS = $(AM_CFLAGS) -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 $(BUILDOPT_FUSE_CFLAGS) $(OT_INTERNAL_GIO_UNIX_CFLAGS) -I$(srcdir)/libglnx $(NULL)
|
rofiles_fuse_CFLAGS = $(AM_CFLAGS) -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 $(BUILDOPT_FUSE_CFLAGS) \
|
||||||
rofiles_fuse_LDADD = libglnx.la $(BUILDOPT_FUSE_LIBS) $(OT_INTERNAL_GIO_UNIX_LIBS)
|
$(OT_INTERNAL_GIO_UNIX_CFLAGS) -I $(srcdir)/src/libostree -I $(builddir)/src/libostree \
|
||||||
|
-I$(srcdir)/libglnx
|
||||||
|
rofiles_fuse_LDADD = libglnx.la $(BUILDOPT_FUSE_LIBS) $(OT_INTERNAL_GIO_UNIX_LIBS) libostree-1.la
|
||||||
|
|
|
||||||
|
|
@ -35,9 +35,14 @@
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
|
||||||
#include "libglnx.h"
|
#include "libglnx.h"
|
||||||
|
#include "ostree.h"
|
||||||
|
|
||||||
// Global to store our read-write path
|
// Global to store our read-write path
|
||||||
static int basefd = -1;
|
static int basefd = -1;
|
||||||
|
/* Whether or not to automatically "copyup" (in overlayfs terms).
|
||||||
|
* What we're really doing is breaking hardlinks.
|
||||||
|
*/
|
||||||
|
static gboolean opt_copyup;
|
||||||
|
|
||||||
static inline const char *
|
static inline const char *
|
||||||
ENSURE_RELPATH (const char *path)
|
ENSURE_RELPATH (const char *path)
|
||||||
|
|
@ -200,43 +205,94 @@ callback_link (const char *from, const char *to)
|
||||||
/* Check whether @stbuf refers to a hardlinked regfile or symlink, and if so
|
/* Check whether @stbuf refers to a hardlinked regfile or symlink, and if so
|
||||||
* return -EROFS. Otherwise return 0.
|
* return -EROFS. Otherwise return 0.
|
||||||
*/
|
*/
|
||||||
static int
|
static gboolean
|
||||||
can_write_stbuf (struct stat *stbuf)
|
can_write_stbuf (const struct stat *stbuf)
|
||||||
{
|
{
|
||||||
/* If it's not a regular file or symlink, ostree won't hardlink it, so allow
|
/* If it's not a regular file or symlink, ostree won't hardlink it, so allow
|
||||||
* writes - it might be a FIFO or device that somehow
|
* writes - it might be a FIFO or device that somehow
|
||||||
* ended up underneath our mount.
|
* ended up underneath our mount.
|
||||||
*/
|
*/
|
||||||
if (!(S_ISREG (stbuf->st_mode) || S_ISLNK (stbuf->st_mode)))
|
if (!(S_ISREG (stbuf->st_mode) || S_ISLNK (stbuf->st_mode)))
|
||||||
return 0;
|
return TRUE;
|
||||||
/* If the object isn't hardlinked, it's OK to write */
|
/* If the object isn't hardlinked, it's OK to write */
|
||||||
if (stbuf->st_nlink <= 1)
|
if (stbuf->st_nlink <= 1)
|
||||||
return 0;
|
return TRUE;
|
||||||
/* Otherwise, it's a hardlinked file or symlink; it must be
|
/* Otherwise, it's a hardlinked file or symlink; it must be
|
||||||
* immutable.
|
* immutable.
|
||||||
*/
|
*/
|
||||||
return -EROFS;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check whether @path refers to a hardlinked regfile or symlink, and if so
|
|
||||||
* return -EROFS. Otherwise return 0.
|
|
||||||
*/
|
|
||||||
static int
|
static int
|
||||||
can_write (const char *path)
|
gioerror_to_errno (GIOErrorEnum e)
|
||||||
{
|
{
|
||||||
struct stat stbuf;
|
/* It's obviously crappy to have to do this but
|
||||||
if (fstatat (basefd, path, &stbuf, AT_SYMLINK_NOFOLLOW) == -1)
|
* we also don't want to try to have "raw errno" versions
|
||||||
|
* of everything down in ostree_break_hardlink() so...
|
||||||
|
* let's just reverse map a few ones I think are going to be common.
|
||||||
|
*/
|
||||||
|
switch (e)
|
||||||
|
{
|
||||||
|
case G_IO_ERROR_NOT_FOUND:
|
||||||
|
return ENOENT;
|
||||||
|
case G_IO_ERROR_IS_DIRECTORY:
|
||||||
|
return EISDIR;
|
||||||
|
case G_IO_ERROR_PERMISSION_DENIED:
|
||||||
|
return EPERM;
|
||||||
|
case G_IO_ERROR_NO_SPACE:
|
||||||
|
return ENOSPC;
|
||||||
|
default:
|
||||||
|
return EIO;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
verify_write_or_copyup (const char *path, const struct stat *stbuf,
|
||||||
|
gboolean *out_did_copyup)
|
||||||
|
{
|
||||||
|
struct stat stbuf_local;
|
||||||
|
|
||||||
|
if (out_did_copyup)
|
||||||
|
*out_did_copyup = FALSE;
|
||||||
|
|
||||||
|
/* If a stbuf wasn't provided, gather it now */
|
||||||
|
if (!stbuf)
|
||||||
|
{
|
||||||
|
if (fstatat (basefd, path, &stbuf_local, AT_SYMLINK_NOFOLLOW) == -1)
|
||||||
{
|
{
|
||||||
if (errno == ENOENT)
|
if (errno == ENOENT)
|
||||||
return 0;
|
return 0;
|
||||||
else
|
else
|
||||||
return -errno;
|
return -errno;
|
||||||
}
|
}
|
||||||
return can_write_stbuf (&stbuf);
|
stbuf = &stbuf_local;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Verify writability, if that fails, perform copy-up if enabled */
|
||||||
|
if (!can_write_stbuf (stbuf))
|
||||||
|
{
|
||||||
|
if (opt_copyup)
|
||||||
|
{
|
||||||
|
g_autoptr(GError) tmp_error = NULL;
|
||||||
|
if (!ostree_break_hardlink (basefd, path, FALSE, NULL, &tmp_error))
|
||||||
|
return -gioerror_to_errno ((GIOErrorEnum)tmp_error->code);
|
||||||
|
if (out_did_copyup)
|
||||||
|
*out_did_copyup = TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return -EROFS;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define VERIFY_WRITE(path) do { \
|
/* Given a path (which is absolute), convert it
|
||||||
int r = can_write (path); \
|
* to a relative path (even for the caller) and
|
||||||
|
* perform either write verification or copy-up.
|
||||||
|
*/
|
||||||
|
#define PATH_WRITE_ENTRYPOINT(path) do { \
|
||||||
|
path = ENSURE_RELPATH (path); \
|
||||||
|
int r = verify_write_or_copyup (path, NULL, NULL); \
|
||||||
if (r != 0) \
|
if (r != 0) \
|
||||||
return r; \
|
return r; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
@ -244,8 +300,8 @@ can_write (const char *path)
|
||||||
static int
|
static int
|
||||||
callback_chmod (const char *path, mode_t mode)
|
callback_chmod (const char *path, mode_t mode)
|
||||||
{
|
{
|
||||||
path = ENSURE_RELPATH (path);
|
PATH_WRITE_ENTRYPOINT (path);
|
||||||
VERIFY_WRITE(path);
|
|
||||||
/* Note we can't use AT_SYMLINK_NOFOLLOW yet;
|
/* Note we can't use AT_SYMLINK_NOFOLLOW yet;
|
||||||
* https://marc.info/?l=linux-kernel&m=148830147803162&w=2
|
* https://marc.info/?l=linux-kernel&m=148830147803162&w=2
|
||||||
* https://marc.info/?l=linux-fsdevel&m=149193779929561&w=2
|
* https://marc.info/?l=linux-fsdevel&m=149193779929561&w=2
|
||||||
|
|
@ -258,8 +314,8 @@ callback_chmod (const char *path, mode_t mode)
|
||||||
static int
|
static int
|
||||||
callback_chown (const char *path, uid_t uid, gid_t gid)
|
callback_chown (const char *path, uid_t uid, gid_t gid)
|
||||||
{
|
{
|
||||||
path = ENSURE_RELPATH (path);
|
PATH_WRITE_ENTRYPOINT (path);
|
||||||
VERIFY_WRITE(path);
|
|
||||||
if (fchownat (basefd, path, uid, gid, AT_SYMLINK_NOFOLLOW) != 0)
|
if (fchownat (basefd, path, uid, gid, AT_SYMLINK_NOFOLLOW) != 0)
|
||||||
return -errno;
|
return -errno;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
@ -268,12 +324,9 @@ callback_chown (const char *path, uid_t uid, gid_t gid)
|
||||||
static int
|
static int
|
||||||
callback_truncate (const char *path, off_t size)
|
callback_truncate (const char *path, off_t size)
|
||||||
{
|
{
|
||||||
glnx_autofd int fd = -1;
|
PATH_WRITE_ENTRYPOINT (path);
|
||||||
|
|
||||||
path = ENSURE_RELPATH (path);
|
glnx_autofd int fd = openat (basefd, path, O_NOFOLLOW|O_WRONLY);
|
||||||
VERIFY_WRITE(path);
|
|
||||||
|
|
||||||
fd = openat (basefd, path, O_NOFOLLOW|O_WRONLY);
|
|
||||||
if (fd == -1)
|
if (fd == -1)
|
||||||
return -errno;
|
return -errno;
|
||||||
|
|
||||||
|
|
@ -286,6 +339,9 @@ callback_truncate (const char *path, off_t size)
|
||||||
static int
|
static int
|
||||||
callback_utimens (const char *path, const struct timespec tv[2])
|
callback_utimens (const char *path, const struct timespec tv[2])
|
||||||
{
|
{
|
||||||
|
/* This one isn't write-verified, we support changing times
|
||||||
|
* even for hardlinked files.
|
||||||
|
*/
|
||||||
path = ENSURE_RELPATH (path);
|
path = ENSURE_RELPATH (path);
|
||||||
|
|
||||||
if (utimensat (basefd, path, tv, AT_SYMLINK_NOFOLLOW) == -1)
|
if (utimensat (basefd, path, tv, AT_SYMLINK_NOFOLLOW) == -1)
|
||||||
|
|
@ -324,14 +380,32 @@ do_open (const char *path, mode_t mode, struct fuse_file_info *finfo)
|
||||||
return -errno;
|
return -errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
int r = can_write_stbuf (&stbuf);
|
gboolean did_copyup;
|
||||||
|
int r = verify_write_or_copyup (path, &stbuf, &did_copyup);
|
||||||
if (r != 0)
|
if (r != 0)
|
||||||
{
|
{
|
||||||
(void) close (fd);
|
(void) close (fd);
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Handle O_TRUNC here only after verifying hardlink state */
|
/* In the copyup case, we need to re-open */
|
||||||
|
if (did_copyup)
|
||||||
|
{
|
||||||
|
(void) close (fd);
|
||||||
|
/* Note that unlike the initial open, we will pass through
|
||||||
|
* O_TRUNC. More ideally in this copyup case we'd avoid copying
|
||||||
|
* the whole file in the first place, but eh. It's not like we're
|
||||||
|
* high performance anyways.
|
||||||
|
*/
|
||||||
|
fd = openat (basefd, path, finfo->flags & ~(O_EXCL|O_CREAT), mode);
|
||||||
|
if (fd == -1)
|
||||||
|
return -errno;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* In the non-copyup case we handle O_TRUNC here, after we've verified
|
||||||
|
* the hardlink state above with verify_write_or_copyup().
|
||||||
|
*/
|
||||||
if (finfo->flags & O_TRUNC)
|
if (finfo->flags & O_TRUNC)
|
||||||
{
|
{
|
||||||
if (ftruncate (fd, 0) == -1)
|
if (ftruncate (fd, 0) == -1)
|
||||||
|
|
@ -341,6 +415,7 @@ do_open (const char *path, mode_t mode, struct fuse_file_info *finfo)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
finfo->fh = fd;
|
finfo->fh = fd;
|
||||||
|
|
||||||
|
|
@ -521,6 +596,7 @@ struct fuse_operations callback_oper = {
|
||||||
enum {
|
enum {
|
||||||
KEY_HELP,
|
KEY_HELP,
|
||||||
KEY_VERSION,
|
KEY_VERSION,
|
||||||
|
KEY_COPYUP,
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
@ -565,6 +641,9 @@ rofs_parse_opt (void *data, const char *arg, int key,
|
||||||
case KEY_HELP:
|
case KEY_HELP:
|
||||||
usage (outargs->argv[0]);
|
usage (outargs->argv[0]);
|
||||||
exit (EXIT_SUCCESS);
|
exit (EXIT_SUCCESS);
|
||||||
|
case KEY_COPYUP:
|
||||||
|
opt_copyup = TRUE;
|
||||||
|
return 0;
|
||||||
default:
|
default:
|
||||||
fprintf (stderr, "see `%s -h' for usage\n", outargs->argv[0]);
|
fprintf (stderr, "see `%s -h' for usage\n", outargs->argv[0]);
|
||||||
exit (EXIT_FAILURE);
|
exit (EXIT_FAILURE);
|
||||||
|
|
@ -577,6 +656,7 @@ static struct fuse_opt rofs_opts[] = {
|
||||||
FUSE_OPT_KEY ("--help", KEY_HELP),
|
FUSE_OPT_KEY ("--help", KEY_HELP),
|
||||||
FUSE_OPT_KEY ("-V", KEY_VERSION),
|
FUSE_OPT_KEY ("-V", KEY_VERSION),
|
||||||
FUSE_OPT_KEY ("--version", KEY_VERSION),
|
FUSE_OPT_KEY ("--version", KEY_VERSION),
|
||||||
|
FUSE_OPT_KEY ("--copyup", KEY_COPYUP),
|
||||||
FUSE_OPT_END
|
FUSE_OPT_END
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -102,10 +102,16 @@ main(int argc, char *argv[])
|
||||||
struct stat stbuf;
|
struct stat stbuf;
|
||||||
int we_mounted_proc = 0;
|
int we_mounted_proc = 0;
|
||||||
|
|
||||||
if (argc < 2)
|
if (getpid() == 1)
|
||||||
|
{
|
||||||
root_arg = "/";
|
root_arg = "/";
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if (argc < 2)
|
||||||
|
err (EXIT_FAILURE, "usage: ostree-prepare-root SYSROOT");
|
||||||
root_arg = argv[1];
|
root_arg = argv[1];
|
||||||
|
}
|
||||||
|
|
||||||
if (stat ("/proc/cmdline", &stbuf) < 0)
|
if (stat ("/proc/cmdline", &stbuf) < 0)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
echo "1..$((78 + ${extra_basic_tests:-0}))"
|
echo "1..$((79 + ${extra_basic_tests:-0}))"
|
||||||
|
|
||||||
CHECKOUT_U_ARG=""
|
CHECKOUT_U_ARG=""
|
||||||
CHECKOUT_H_ARGS="-H"
|
CHECKOUT_H_ARGS="-H"
|
||||||
|
|
@ -759,14 +759,38 @@ $OSTREE show --print-metadata-key=FOO test2 > test2-meta
|
||||||
assert_file_has_content test2-meta "BAR"
|
assert_file_has_content test2-meta "BAR"
|
||||||
$OSTREE show --print-metadata-key=KITTENS test2 > test2-meta
|
$OSTREE show --print-metadata-key=KITTENS test2 > test2-meta
|
||||||
assert_file_has_content test2-meta "CUTE"
|
assert_file_has_content test2-meta "CUTE"
|
||||||
|
|
||||||
$OSTREE show --print-metadata-key=SOMENUM test2 > test2-meta
|
$OSTREE show --print-metadata-key=SOMENUM test2 > test2-meta
|
||||||
assert_file_has_content test2-meta "uint64 3026418949592973312"
|
case "$("${test_builddir}/get-byte-order")" in
|
||||||
|
(4321)
|
||||||
|
assert_file_has_content test2-meta "uint64 42"
|
||||||
|
;;
|
||||||
|
(1234)
|
||||||
|
assert_file_has_content test2-meta "uint64 3026418949592973312"
|
||||||
|
;;
|
||||||
|
(*)
|
||||||
|
fatal "neither little-endian nor big-endian?"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
$OSTREE show -B --print-metadata-key=SOMENUM test2 > test2-meta
|
$OSTREE show -B --print-metadata-key=SOMENUM test2 > test2-meta
|
||||||
assert_file_has_content test2-meta "uint64 42"
|
assert_file_has_content test2-meta "uint64 42"
|
||||||
$OSTREE show --print-detached-metadata-key=SIGNATURE test2 > test2-meta
|
$OSTREE show --print-detached-metadata-key=SIGNATURE test2 > test2-meta
|
||||||
assert_file_has_content test2-meta "HANCOCK"
|
assert_file_has_content test2-meta "HANCOCK"
|
||||||
echo "ok metadata commit with strings"
|
echo "ok metadata commit with strings"
|
||||||
|
|
||||||
|
$OSTREE commit ${COMMIT_ARGS} -b test2 --tree=ref=test2 \
|
||||||
|
--add-detached-metadata-string=SIGNATURE=HANCOCK \
|
||||||
|
--keep-metadata=KITTENS --keep-metadata=SOMENUM
|
||||||
|
if $OSTREE show --print-metadata-key=FOO test2; then
|
||||||
|
assert_not_reached "FOO was kept without explicit --keep-metadata?"
|
||||||
|
fi
|
||||||
|
$OSTREE show --print-metadata-key=KITTENS test2 > test2-meta
|
||||||
|
assert_file_has_content test2-meta "CUTE"
|
||||||
|
$OSTREE show -B --print-metadata-key=SOMENUM test2 > test2-meta
|
||||||
|
assert_file_has_content test2-meta "uint64 42"
|
||||||
|
echo "ok keep metadata from parent"
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
cd ${test_tmpdir}
|
||||||
$OSTREE show --print-metadata-key=ostree.ref-binding test2 > test2-ref-binding
|
$OSTREE show --print-metadata-key=ostree.ref-binding test2 > test2-ref-binding
|
||||||
assert_file_has_content test2-ref-binding 'test2'
|
assert_file_has_content test2-ref-binding 'test2'
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
/* Helper for OSTree tests: return host byte order */
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#include <glib.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
main (void)
|
||||||
|
{
|
||||||
|
g_print ("%d\n", G_BYTE_ORDER);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
@ -112,9 +112,12 @@ assert_file_has_content () {
|
||||||
}
|
}
|
||||||
|
|
||||||
assert_file_has_content_literal () {
|
assert_file_has_content_literal () {
|
||||||
if ! grep -q -F -e "$2" "$1"; then
|
fpath=$1; shift
|
||||||
_fatal_print_file "$1" "File '$1' doesn't match fixed string list '$2'"
|
for s in "$@"; do
|
||||||
|
if ! grep -q -F -e "$s" "$fpath"; then
|
||||||
|
_fatal_print_file "$fpath" "File '$fpath' doesn't match fixed string list '$s'"
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
assert_file_has_mode () {
|
assert_file_has_mode () {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# To use a custrom script for generating grub.cfg, set the --with-grub2-mkconfig=no
|
# The builtin grub.cfg generator.
|
||||||
# configure switch when configuring and building OSTree.
|
|
||||||
#
|
#
|
||||||
# This script is called by ostree/src/libostree/ostree-bootloader-grub2.c whenever
|
# This script is called by ostree/src/libostree/ostree-bootloader-grub2.c whenever
|
||||||
# boot loader configuration file needs to be updated. It can be used as a template
|
# boot loader configuration file needs to be updated. It can be used as a template
|
||||||
|
|
@ -28,7 +27,7 @@ entries_path=$(dirname $new_grub2_cfg)/entries
|
||||||
|
|
||||||
read_config()
|
read_config()
|
||||||
{
|
{
|
||||||
config_file=${entries_path}/${1}
|
config_file=${1}
|
||||||
title=""
|
title=""
|
||||||
initrd=""
|
initrd=""
|
||||||
options=""
|
options=""
|
||||||
|
|
@ -67,11 +66,13 @@ populate_menu()
|
||||||
else
|
else
|
||||||
boot_prefix="${OSTREE_BOOT_PARTITION}"
|
boot_prefix="${OSTREE_BOOT_PARTITION}"
|
||||||
fi
|
fi
|
||||||
for config in $(ls ${entries_path}); do
|
for config in $(ls $entries_path/*.conf); do
|
||||||
read_config ${config}
|
read_config ${config}
|
||||||
menu="${menu}menuentry '${title}' {\n"
|
menu="${menu}menuentry '${title}' {\n"
|
||||||
menu="${menu}\t linux ${boot_prefix}${linux} ${options}\n"
|
menu="${menu}\t linux ${boot_prefix}${linux} ${options}\n"
|
||||||
|
if [ -n "${initrd}" ] ; then
|
||||||
menu="${menu}\t initrd ${boot_prefix}${initrd}\n"
|
menu="${menu}\t initrd ${boot_prefix}${initrd}\n"
|
||||||
|
fi
|
||||||
menu="${menu}}\n\n"
|
menu="${menu}}\n\n"
|
||||||
done
|
done
|
||||||
# The printf command seems to be more reliable across shells for special character (\n, \t) evaluation
|
# The printf command seems to be more reliable across shells for special character (\n, \t) evaluation
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -52,7 +52,7 @@ function verify_initial_contents() {
|
||||||
assert_file_has_content baz/cow '^moo$'
|
assert_file_has_content baz/cow '^moo$'
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "1..33"
|
echo "1..34"
|
||||||
|
|
||||||
# Try both syntaxes
|
# Try both syntaxes
|
||||||
repo_init --no-gpg-verify
|
repo_init --no-gpg-verify
|
||||||
|
|
@ -217,6 +217,24 @@ else
|
||||||
echo "ok corruption (skipped)"
|
echo "ok corruption (skipped)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
cd ${test_tmpdir}/ostree-srv
|
||||||
|
tar xf ${test_srcdir}/ostree-path-traverse.tar.gz
|
||||||
|
cd ${test_tmpdir}
|
||||||
|
rm corruptrepo -rf
|
||||||
|
ostree_repo_init corruptrepo --mode=archive
|
||||||
|
${CMD_PREFIX} ostree --repo=corruptrepo remote add --set=gpg-verify=false pathtraverse $(cat httpd-address)/ostree/ostree-path-traverse/repo
|
||||||
|
if ${CMD_PREFIX} ostree --repo=corruptrepo pull pathtraverse pathtraverse-test 2>err.txt; then
|
||||||
|
fatal "Pulled a repo with path traversal in dirtree"
|
||||||
|
fi
|
||||||
|
assert_file_has_content_literal err.txt 'ae9a5d2701a02740aa2ee317ba53b13e3efb0f29609cd4896e1bafeee4caddb5.dirtree: Invalid / in filename ../afile'
|
||||||
|
# And verify we didn't write the object into the staging directory even
|
||||||
|
find corruptrepo/tmp -name '9a5d2701a02740aa2ee317ba53b13e3efb0f29609cd4896e1bafeee4caddb5.dirtree' >find.txt
|
||||||
|
assert_not_file_has_content find.txt '9a5d2701a02740aa2ee317ba53b13e3efb0f29609cd4896e1bafeee4caddb5'
|
||||||
|
rm corruptrepo -rf
|
||||||
|
echo "ok path traversal checked on pull"
|
||||||
|
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
cd ${test_tmpdir}
|
||||||
rm mirrorrepo/refs/remotes/* -rf
|
rm mirrorrepo/refs/remotes/* -rf
|
||||||
${CMD_PREFIX} ostree --repo=mirrorrepo prune --refs-only
|
${CMD_PREFIX} ostree --repo=mirrorrepo prune --refs-only
|
||||||
|
|
|
||||||
|
|
@ -104,18 +104,20 @@ cd ${test_tmpdir}
|
||||||
rm -rf test2-checkout
|
rm -rf test2-checkout
|
||||||
$OSTREE checkout -H -U test2 test2-checkout
|
$OSTREE checkout -H -U test2 test2-checkout
|
||||||
# With --link-checkout-speedup, specifying --owner-uid should "win" by default.
|
# With --link-checkout-speedup, specifying --owner-uid should "win" by default.
|
||||||
myid=$(id -u)
|
myuid=$(id -u)
|
||||||
newid=$((${myid} + 1))
|
mygid=$(id -g)
|
||||||
$OSTREE commit ${COMMIT_ARGS} --owner-uid ${newid} --owner-gid ${newid} \
|
newuid=$((${myuid} + 1))
|
||||||
|
newgid=$((${mygid} + 1))
|
||||||
|
$OSTREE commit ${COMMIT_ARGS} --owner-uid ${newuid} --owner-gid ${newgid} \
|
||||||
--link-checkout-speedup -b test2-linkcheckout-test --tree=dir=test2-checkout
|
--link-checkout-speedup -b test2-linkcheckout-test --tree=dir=test2-checkout
|
||||||
$OSTREE ls test2-linkcheckout-test /baz/cow > ls.txt
|
$OSTREE ls test2-linkcheckout-test /baz/cow > ls.txt
|
||||||
assert_file_has_content ls.txt "^-006.. ${newid} ${newid} .*/baz/cow"
|
assert_file_has_content ls.txt "^-006.. ${newuid} ${newgid} .*/baz/cow"
|
||||||
|
|
||||||
# But --devino-canonical should override that
|
# But --devino-canonical should override that
|
||||||
$OSTREE commit ${COMMIT_ARGS} --owner-uid ${newid} --owner-gid ${newid} \
|
$OSTREE commit ${COMMIT_ARGS} --owner-uid ${newuid} --owner-gid ${newgid} \
|
||||||
-I -b test2-devino-test --tree=dir=test2-checkout
|
-I -b test2-devino-test --tree=dir=test2-checkout
|
||||||
$OSTREE ls test2-devino-test /baz/cow > ls.txt
|
$OSTREE ls test2-devino-test /baz/cow > ls.txt
|
||||||
assert_file_has_content ls.txt "^-006.. ${myid} ${myid} .*/baz/cow"
|
assert_file_has_content ls.txt "^-006.. ${myuid} ${mygid} .*/baz/cow"
|
||||||
|
|
||||||
$OSTREE refs --delete test2-{linkcheckout,devino}-test
|
$OSTREE refs --delete test2-{linkcheckout,devino}-test
|
||||||
echo "ok commit with -I"
|
echo "ok commit with -I"
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
echo "1..4"
|
echo "1..6"
|
||||||
|
|
||||||
. $(dirname $0)/libtest.sh
|
. $(dirname $0)/libtest.sh
|
||||||
|
|
||||||
|
|
@ -72,3 +72,18 @@ fi
|
||||||
assert_file_has_content_literal err.txt "Loading commit for ref test2: No such metadata object"
|
assert_file_has_content_literal err.txt "Loading commit for ref test2: No such metadata object"
|
||||||
|
|
||||||
echo "ok missing commit"
|
echo "ok missing commit"
|
||||||
|
|
||||||
|
cd ${test_tmpdir}
|
||||||
|
tar xf ${test_srcdir}/ostree-path-traverse.tar.gz
|
||||||
|
if ${CMD_PREFIX} ostree --repo=ostree-path-traverse/repo fsck -q 2>err.txt; then
|
||||||
|
fatal "fsck unexpectedly succeeded"
|
||||||
|
fi
|
||||||
|
assert_file_has_content_literal err.txt '.dirtree: Invalid / in filename ../afile'
|
||||||
|
echo "ok path traverse fsck"
|
||||||
|
|
||||||
|
cd ${test_tmpdir}
|
||||||
|
if ${CMD_PREFIX} ostree --repo=ostree-path-traverse/repo checkout pathtraverse-test pathtraverse-test 2>err.txt; then
|
||||||
|
fatal "checkout with path traversal unexpectedly succeeded"
|
||||||
|
fi
|
||||||
|
assert_file_has_content_literal err.txt 'Invalid / in filename ../afile'
|
||||||
|
echo "ok path traverse checkout"
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,7 @@ assert_file_has_content local-mirror/refs/mirrors/org.example.OsCollection/os/am
|
||||||
|
|
||||||
for repo in local local-mirror; do
|
for repo in local local-mirror; do
|
||||||
# Try finding an update for an existing branch.
|
# Try finding an update for an existing branch.
|
||||||
${CMD_PREFIX} ostree --repo=$repo find-remotes org.example.AppsCollection app1 > find
|
${CMD_PREFIX} ostree --repo=$repo find-remotes --finders=config org.example.AppsCollection app1 > find
|
||||||
assert_file_has_content find "^Result [0-9]\+: file://$(pwd)/apps-collection$"
|
assert_file_has_content find "^Result [0-9]\+: file://$(pwd)/apps-collection$"
|
||||||
assert_file_has_content find "^ - Keyring: apps-remote.trustedkeys.gpg$"
|
assert_file_has_content find "^ - Keyring: apps-remote.trustedkeys.gpg$"
|
||||||
assert_file_has_content find "^ - (org.example.AppsCollection, app1) = $(cat app1-checksum)$"
|
assert_file_has_content find "^ - (org.example.AppsCollection, app1) = $(cat app1-checksum)$"
|
||||||
|
|
@ -94,7 +94,7 @@ for repo in local local-mirror; do
|
||||||
assert_not_file_has_content find "^No results.$"
|
assert_not_file_has_content find "^No results.$"
|
||||||
|
|
||||||
# Find several updates for several existing branches.
|
# Find several updates for several existing branches.
|
||||||
${CMD_PREFIX} ostree --repo=$repo find-remotes org.example.AppsCollection app1 org.example.OsCollection os/amd64/master > find
|
${CMD_PREFIX} ostree --repo=$repo find-remotes --finders=config org.example.AppsCollection app1 org.example.OsCollection os/amd64/master > find
|
||||||
assert_file_has_content find "^Result [0-9]\+: file://$(pwd)/apps-collection$"
|
assert_file_has_content find "^Result [0-9]\+: file://$(pwd)/apps-collection$"
|
||||||
assert_file_has_content find "^ - Keyring: apps-remote.trustedkeys.gpg$"
|
assert_file_has_content find "^ - Keyring: apps-remote.trustedkeys.gpg$"
|
||||||
assert_file_has_content find "^ - (org.example.AppsCollection, app1) = $(cat app1-checksum)$"
|
assert_file_has_content find "^ - (org.example.AppsCollection, app1) = $(cat app1-checksum)$"
|
||||||
|
|
@ -105,7 +105,7 @@ for repo in local local-mirror; do
|
||||||
assert_not_file_has_content find "^No results.$"
|
assert_not_file_has_content find "^No results.$"
|
||||||
|
|
||||||
# Find some updates and a new branch.
|
# Find some updates and a new branch.
|
||||||
${CMD_PREFIX} ostree --repo=$repo find-remotes org.example.AppsCollection app1 org.example.AppsCollection app2 org.example.OsCollection os/amd64/master > find
|
${CMD_PREFIX} ostree --repo=$repo find-remotes --finders=config org.example.AppsCollection app1 org.example.AppsCollection app2 org.example.OsCollection os/amd64/master > find
|
||||||
assert_file_has_content find "^Result [0-9]\+: file://$(pwd)/apps-collection$"
|
assert_file_has_content find "^Result [0-9]\+: file://$(pwd)/apps-collection$"
|
||||||
assert_file_has_content find "^ - Keyring: apps-remote.trustedkeys.gpg$"
|
assert_file_has_content find "^ - Keyring: apps-remote.trustedkeys.gpg$"
|
||||||
assert_file_has_content find "^ - (org.example.AppsCollection, app1) = $(cat app1-checksum)$"
|
assert_file_has_content find "^ - (org.example.AppsCollection, app1) = $(cat app1-checksum)$"
|
||||||
|
|
@ -117,7 +117,7 @@ for repo in local local-mirror; do
|
||||||
assert_not_file_has_content find "^No results.$"
|
assert_not_file_has_content find "^No results.$"
|
||||||
|
|
||||||
# Find an update and a non-existent branch.
|
# Find an update and a non-existent branch.
|
||||||
${CMD_PREFIX} ostree --repo=$repo find-remotes org.example.AppsCollection app1 org.example.AppsCollection not-an-app > find
|
${CMD_PREFIX} ostree --repo=$repo find-remotes --finders=config org.example.AppsCollection app1 org.example.AppsCollection not-an-app > find
|
||||||
assert_file_has_content find "^Result [0-9]\+: file://$(pwd)/apps-collection$"
|
assert_file_has_content find "^Result [0-9]\+: file://$(pwd)/apps-collection$"
|
||||||
assert_file_has_content find "^ - Keyring: apps-remote.trustedkeys.gpg$"
|
assert_file_has_content find "^ - Keyring: apps-remote.trustedkeys.gpg$"
|
||||||
assert_file_has_content find "^ - (org.example.AppsCollection, not-an-app) = (not found)$"
|
assert_file_has_content find "^ - (org.example.AppsCollection, not-an-app) = (not found)$"
|
||||||
|
|
@ -128,20 +128,20 @@ for repo in local local-mirror; do
|
||||||
assert_not_file_has_content find "^No results.$"
|
assert_not_file_has_content find "^No results.$"
|
||||||
|
|
||||||
# Do all the above, but pull this time.
|
# Do all the above, but pull this time.
|
||||||
${CMD_PREFIX} ostree --repo=$repo find-remotes --pull org.example.AppsCollection app1 > pull || true
|
${CMD_PREFIX} ostree --repo=$repo find-remotes --finders=config --pull org.example.AppsCollection app1 > pull || true
|
||||||
assert_file_has_content pull "^1/1 refs were found.$"
|
assert_file_has_content pull "^1/1 refs were found.$"
|
||||||
assert_file_has_content pull "^Pulled 1/1 refs successfully.$"
|
assert_file_has_content pull "^Pulled 1/1 refs successfully.$"
|
||||||
assert_not_file_has_content pull "Failed to pull some refs from the remotes"
|
assert_not_file_has_content pull "Failed to pull some refs from the remotes"
|
||||||
assert_ref $repo app1 $(cat app1-checksum)
|
assert_ref $repo app1 $(cat app1-checksum)
|
||||||
|
|
||||||
${CMD_PREFIX} ostree --repo=$repo find-remotes --pull org.example.AppsCollection app1 org.example.OsCollection os/amd64/master > pull
|
${CMD_PREFIX} ostree --repo=$repo find-remotes --finders=config --pull org.example.AppsCollection app1 org.example.OsCollection os/amd64/master > pull
|
||||||
assert_file_has_content pull "^2/2 refs were found.$"
|
assert_file_has_content pull "^2/2 refs were found.$"
|
||||||
assert_file_has_content pull "^Pulled 2/2 refs successfully.$"
|
assert_file_has_content pull "^Pulled 2/2 refs successfully.$"
|
||||||
assert_not_file_has_content pull "Failed to pull some refs from the remotes"
|
assert_not_file_has_content pull "Failed to pull some refs from the remotes"
|
||||||
assert_ref $repo app1 $(cat app1-checksum)
|
assert_ref $repo app1 $(cat app1-checksum)
|
||||||
assert_ref $repo os/amd64/master $(cat os-checksum)
|
assert_ref $repo os/amd64/master $(cat os-checksum)
|
||||||
|
|
||||||
${CMD_PREFIX} ostree --repo=$repo find-remotes --pull org.example.AppsCollection app1 org.example.AppsCollection app2 org.example.OsCollection os/amd64/master > pull
|
${CMD_PREFIX} ostree --repo=$repo find-remotes --finders=config --pull org.example.AppsCollection app1 org.example.AppsCollection app2 org.example.OsCollection os/amd64/master > pull
|
||||||
assert_file_has_content pull "^3/3 refs were found.$"
|
assert_file_has_content pull "^3/3 refs were found.$"
|
||||||
assert_file_has_content pull "^Pulled 3/3 refs successfully.$"
|
assert_file_has_content pull "^Pulled 3/3 refs successfully.$"
|
||||||
assert_not_file_has_content pull "Failed to pull some refs from the remotes"
|
assert_not_file_has_content pull "Failed to pull some refs from the remotes"
|
||||||
|
|
@ -149,7 +149,7 @@ for repo in local local-mirror; do
|
||||||
assert_ref $repo app2 $(cat app2-checksum)
|
assert_ref $repo app2 $(cat app2-checksum)
|
||||||
assert_ref $repo os/amd64/master $(cat os-checksum)
|
assert_ref $repo os/amd64/master $(cat os-checksum)
|
||||||
|
|
||||||
${CMD_PREFIX} ostree --repo=$repo find-remotes --pull org.example.AppsCollection app1 org.example.AppsCollection not-an-app > pull
|
${CMD_PREFIX} ostree --repo=$repo find-remotes --finders=config --pull org.example.AppsCollection app1 org.example.AppsCollection not-an-app > pull
|
||||||
assert_file_has_content pull "^1/2 refs were found.$"
|
assert_file_has_content pull "^1/2 refs were found.$"
|
||||||
assert_not_file_has_content pull "Failed to pull some refs from the remotes"
|
assert_not_file_has_content pull "Failed to pull some refs from the remotes"
|
||||||
assert_ref $repo app1 $(cat app1-checksum)
|
assert_ref $repo app1 $(cat app1-checksum)
|
||||||
|
|
@ -164,7 +164,7 @@ ${CMD_PREFIX} ostree --repo=os-collection summary --update --gpg-homedir=${TEST_
|
||||||
|
|
||||||
for repo in local-mirror; do
|
for repo in local-mirror; do
|
||||||
# Try finding an update for that branch.
|
# Try finding an update for that branch.
|
||||||
${CMD_PREFIX} ostree --repo=$repo find-remotes org.example.OsCollection os/amd64/master > find
|
${CMD_PREFIX} ostree --repo=$repo find-remotes --finders=config org.example.OsCollection os/amd64/master > find
|
||||||
assert_file_has_content find "^Result [0-9]\+: file://$(pwd)/os-collection$"
|
assert_file_has_content find "^Result [0-9]\+: file://$(pwd)/os-collection$"
|
||||||
assert_file_has_content find "^ - Keyring: os-remote.trustedkeys.gpg$"
|
assert_file_has_content find "^ - Keyring: os-remote.trustedkeys.gpg$"
|
||||||
assert_file_has_content find "^ - (org.example.OsCollection, os/amd64/master) = $(cat os-checksum-2)$"
|
assert_file_has_content find "^ - (org.example.OsCollection, os/amd64/master) = $(cat os-checksum-2)$"
|
||||||
|
|
@ -172,7 +172,7 @@ for repo in local-mirror; do
|
||||||
assert_not_file_has_content find "^No results.$"
|
assert_not_file_has_content find "^No results.$"
|
||||||
|
|
||||||
# Pull it.
|
# Pull it.
|
||||||
${CMD_PREFIX} ostree --repo=$repo find-remotes --pull org.example.OsCollection os/amd64/master > pull || true
|
${CMD_PREFIX} ostree --repo=$repo find-remotes --finders=config --pull org.example.OsCollection os/amd64/master > pull || true
|
||||||
assert_file_has_content pull "^1/1 refs were found.$"
|
assert_file_has_content pull "^1/1 refs were found.$"
|
||||||
assert_file_has_content pull "^Pulled 1/1 refs successfully.$"
|
assert_file_has_content pull "^Pulled 1/1 refs successfully.$"
|
||||||
assert_not_file_has_content pull "Failed to pull some refs from the remotes"
|
assert_not_file_has_content pull "Failed to pull some refs from the remotes"
|
||||||
|
|
@ -191,7 +191,7 @@ ${CMD_PREFIX} ostree --repo=local remote add os-remote-local-mirror file://$(pwd
|
||||||
|
|
||||||
for repo in local; do
|
for repo in local; do
|
||||||
# Try finding an update for that branch.
|
# Try finding an update for that branch.
|
||||||
${CMD_PREFIX} ostree --repo=$repo find-remotes org.example.OsCollection os/amd64/master > find
|
${CMD_PREFIX} ostree --repo=$repo find-remotes --finders=config org.example.OsCollection os/amd64/master > find
|
||||||
assert_file_has_content find "^Result [0-9]\+: file://$(pwd)/os-collection$"
|
assert_file_has_content find "^Result [0-9]\+: file://$(pwd)/os-collection$"
|
||||||
assert_file_has_content find "^ - Keyring: os-remote.trustedkeys.gpg$"
|
assert_file_has_content find "^ - Keyring: os-remote.trustedkeys.gpg$"
|
||||||
assert_file_has_content find "^ - (org.example.OsCollection, os/amd64/master) = $(cat os-checksum-2)$"
|
assert_file_has_content find "^ - (org.example.OsCollection, os/amd64/master) = $(cat os-checksum-2)$"
|
||||||
|
|
@ -202,7 +202,7 @@ for repo in local; do
|
||||||
assert_not_file_has_content find "^No results.$"
|
assert_not_file_has_content find "^No results.$"
|
||||||
|
|
||||||
# Pull it.
|
# Pull it.
|
||||||
${CMD_PREFIX} ostree --repo=$repo find-remotes --pull org.example.OsCollection os/amd64/master > pull || true
|
${CMD_PREFIX} ostree --repo=$repo find-remotes --finders=config --pull org.example.OsCollection os/amd64/master > pull || true
|
||||||
assert_file_has_content pull "^1/1 refs were found.$"
|
assert_file_has_content pull "^1/1 refs were found.$"
|
||||||
assert_file_has_content pull "^Pulled 1/1 refs successfully.$"
|
assert_file_has_content pull "^Pulled 1/1 refs successfully.$"
|
||||||
assert_not_file_has_content pull "Failed to pull some refs from the remotes"
|
assert_not_file_has_content pull "Failed to pull some refs from the remotes"
|
||||||
|
|
@ -218,7 +218,7 @@ ${CMD_PREFIX} ostree --repo=os-collection summary --update --gpg-homedir=${TEST_
|
||||||
|
|
||||||
for repo in local; do
|
for repo in local; do
|
||||||
# Try finding an update for that branch.
|
# Try finding an update for that branch.
|
||||||
${CMD_PREFIX} ostree --repo=$repo find-remotes org.example.OsCollection os/amd64/master > find
|
${CMD_PREFIX} ostree --repo=$repo find-remotes --finders=config org.example.OsCollection os/amd64/master > find
|
||||||
assert_file_has_content find "^Result [0-9]\+: file://$(pwd)/os-collection$"
|
assert_file_has_content find "^Result [0-9]\+: file://$(pwd)/os-collection$"
|
||||||
assert_file_has_content find "^ - Keyring: os-remote.trustedkeys.gpg$"
|
assert_file_has_content find "^ - Keyring: os-remote.trustedkeys.gpg$"
|
||||||
assert_file_has_content find "^ - (org.example.OsCollection, os/amd64/master) = $(cat os-checksum-3)$"
|
assert_file_has_content find "^ - (org.example.OsCollection, os/amd64/master) = $(cat os-checksum-3)$"
|
||||||
|
|
@ -226,7 +226,7 @@ for repo in local; do
|
||||||
assert_not_file_has_content find "^No results.$"
|
assert_not_file_has_content find "^No results.$"
|
||||||
|
|
||||||
# Pull it.
|
# Pull it.
|
||||||
${CMD_PREFIX} ostree --repo=$repo find-remotes --pull org.example.OsCollection os/amd64/master > pull || true
|
${CMD_PREFIX} ostree --repo=$repo find-remotes --finders=config --pull org.example.OsCollection os/amd64/master > pull || true
|
||||||
assert_file_has_content pull "^1/1 refs were found.$"
|
assert_file_has_content pull "^1/1 refs were found.$"
|
||||||
assert_file_has_content pull "^Pulled 1/1 refs successfully.$"
|
assert_file_has_content pull "^Pulled 1/1 refs successfully.$"
|
||||||
assert_not_file_has_content pull "Failed to pull some refs from the remotes"
|
assert_not_file_has_content pull "Failed to pull some refs from the remotes"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,78 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
. $(dirname $0)/libtest.sh
|
||||||
|
|
||||||
|
echo "1..7"
|
||||||
|
|
||||||
|
setup_os_repository "archive-z2" "uboot"
|
||||||
|
|
||||||
|
cd ${test_tmpdir}
|
||||||
|
|
||||||
|
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo remote add --set=gpg-verify=false testos $(cat httpd-address)/ostree/testos-repo
|
||||||
|
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo pull testos testos/buildmaster/x86_64-runtime
|
||||||
|
${CMD_PREFIX} ostree admin deploy --karg=root=LABEL=rootfs --os=testos testos:testos/buildmaster/x86_64-runtime
|
||||||
|
|
||||||
|
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'root=LABEL=rootfs'
|
||||||
|
assert_not_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'init='
|
||||||
|
|
||||||
|
echo "ok deployment with initramfs"
|
||||||
|
|
||||||
|
pull_test_tree() {
|
||||||
|
kernel_contents=$1
|
||||||
|
initramfs_contents=$2
|
||||||
|
|
||||||
|
printf "TEST SETUP:\n kernel: %s\n initramfs: %s\n layout: %s\n" \
|
||||||
|
"$kernel_contents" "$initramfs_contents" "$layout"
|
||||||
|
|
||||||
|
rm -rf ${test_tmpdir}/osdata/usr/lib/modules/3.6.0/{initramfs.img,vmlinuz} \
|
||||||
|
${test_tmpdir}/osdata/usr/lib/ostree-boot \
|
||||||
|
${test_tmpdir}/osdata/boot
|
||||||
|
if [ "$layout" = "/usr/lib/modules" ]; then
|
||||||
|
# Fedora compatible layout
|
||||||
|
cd ${test_tmpdir}/osdata/usr/lib/modules/3.6.0
|
||||||
|
echo -n "$kernel_contents" > vmlinuz
|
||||||
|
[ -n "$initramfs_contents" ] && echo -n "$initramfs_contents" > initramfs.img
|
||||||
|
elif [ "$layout" = "/usr/lib/ostree-boot" ] || [ "$layout" = "/boot" ]; then
|
||||||
|
# "Legacy" layout
|
||||||
|
mkdir -p "${test_tmpdir}/osdata/$layout"
|
||||||
|
cd "${test_tmpdir}/osdata/$layout"
|
||||||
|
bootcsum=$(echo -n "$kernel_contents$initramfs_contents" \
|
||||||
|
| sha256sum | cut -f 1 -d ' ')
|
||||||
|
echo -n "$kernel_contents" > vmlinuz-${bootcsum}
|
||||||
|
[ -n "$initramfs_contents" ] && echo -n "$initramfs_contents" > initramfs-${bootcsum}
|
||||||
|
else
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cd -
|
||||||
|
${CMD_PREFIX} ostree --repo=${test_tmpdir}/testos-repo commit --tree=dir=osdata/ -b testos/buildmaster/x86_64-runtime
|
||||||
|
${CMD_PREFIX} ostree pull testos:testos/buildmaster/x86_64-runtime
|
||||||
|
}
|
||||||
|
|
||||||
|
get_key_from_bootloader_conf() {
|
||||||
|
conffile=$1
|
||||||
|
key=$2
|
||||||
|
|
||||||
|
assert_file_has_content "$conffile" "^$key"
|
||||||
|
awk "/^$key/ { print \$2 }" "$conffile"
|
||||||
|
}
|
||||||
|
|
||||||
|
for layout in /usr/lib/modules /usr/lib/ostree-boot /boot;
|
||||||
|
do
|
||||||
|
pull_test_tree "the kernel only"
|
||||||
|
${CMD_PREFIX} ostree admin deploy --os=testos --karg=root=/dev/sda2 --karg=rootwait testos:testos/buildmaster/x86_64-runtime
|
||||||
|
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'rootwait'
|
||||||
|
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'init='
|
||||||
|
assert_not_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'initrd'
|
||||||
|
|
||||||
|
echo "ok switching to bootdir with no initramfs layout=$layout"
|
||||||
|
|
||||||
|
pull_test_tree "the kernel" "initramfs to assist the kernel"
|
||||||
|
${CMD_PREFIX} ostree admin deploy --os=testos --karg-none --karg=root=LABEL=rootfs testos:testos/buildmaster/x86_64-runtime
|
||||||
|
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'initrd'
|
||||||
|
assert_file_has_content sysroot/boot/$(get_key_from_bootloader_conf sysroot/boot/loader/entries/ostree-testos-0.conf "initrd") "initramfs to assist the kernel"
|
||||||
|
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'root=LABEL=rootfs'
|
||||||
|
assert_not_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'rootwait'
|
||||||
|
assert_not_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'init='
|
||||||
|
|
||||||
|
echo "ok switching from no initramfs to initramfs enabled sysroot layout=$layout"
|
||||||
|
done
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Alexander Larsson <alexl@redhat.com>
|
# Copyright (C) 2014 Alexander Larsson <alexl@redhat.com>
|
||||||
|
# Copyright (C) 2018 Red Hat, Inc.
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or
|
# This library is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU Lesser General Public
|
# modify it under the terms of the GNU Lesser General Public
|
||||||
|
|
@ -22,7 +23,7 @@ set -euo pipefail
|
||||||
|
|
||||||
. $(dirname $0)/libtest.sh
|
. $(dirname $0)/libtest.sh
|
||||||
|
|
||||||
echo '1..3'
|
echo '1..4'
|
||||||
|
|
||||||
setup_test_repository "bare"
|
setup_test_repository "bare"
|
||||||
|
|
||||||
|
|
@ -60,10 +61,20 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -rf repo2
|
rm -rf repo2
|
||||||
mkdir repo2
|
|
||||||
ostree_repo_init repo2 --mode="bare"
|
ostree_repo_init repo2 --mode="bare"
|
||||||
if ${CMD_PREFIX} ostree --repo=repo2 pull-local --untrusted repo; then
|
if ${CMD_PREFIX} ostree --repo=repo2 pull-local --untrusted repo; then
|
||||||
assert_not_reached "corrupted untrusted pull unexpectedly failed!"
|
assert_not_reached "corrupted untrusted pull unexpectedly failed!"
|
||||||
else
|
else
|
||||||
echo "ok untrusted pull with corruption failed"
|
echo "ok untrusted pull with corruption failed"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
cd ${test_tmpdir}
|
||||||
|
tar xf ${test_srcdir}/ostree-path-traverse.tar.gz
|
||||||
|
rm -rf repo2
|
||||||
|
ostree_repo_init repo2 --mode=archive
|
||||||
|
if ${CMD_PREFIX} ostree --repo=repo2 pull-local --untrusted ostree-path-traverse/repo pathtraverse-test 2>err.txt; then
|
||||||
|
fatal "pull-local unexpectedly succeeded"
|
||||||
|
fi
|
||||||
|
assert_file_has_content_literal err.txt 'Invalid / in filename ../afile'
|
||||||
|
echo "ok untrusted pull-local path traversal"
|
||||||
|
|
|
||||||
|
|
@ -109,12 +109,12 @@ for fs_type in ext4 vfat; do
|
||||||
ostree_repo_init peer-repo_$fs_type
|
ostree_repo_init peer-repo_$fs_type
|
||||||
${CMD_PREFIX} ostree --repo=peer-repo_$fs_type remote add remote1 file://just-here-for-the-keyring --collection-id org.example.Collection1 --gpg-import="${test_tmpdir}/gpghome/key1.asc"
|
${CMD_PREFIX} ostree --repo=peer-repo_$fs_type remote add remote1 file://just-here-for-the-keyring --collection-id org.example.Collection1 --gpg-import="${test_tmpdir}/gpghome/key1.asc"
|
||||||
|
|
||||||
${CMD_PREFIX} ostree --repo=peer-repo_$fs_type find-remotes org.example.Collection1 test-1 > find-results
|
${CMD_PREFIX} ostree --repo=peer-repo_$fs_type find-remotes --finders=mount org.example.Collection1 test-1 > find-results
|
||||||
assert_not_file_has_content find-results "^No results.$"
|
assert_not_file_has_content find-results "^No results.$"
|
||||||
assert_file_has_content find-results "^Result 0: file://${usb_mount}"
|
assert_file_has_content find-results "^Result 0: file://${usb_mount}"
|
||||||
assert_file_has_content find-results "(org.example.Collection1, test-1) = $(cat ref1-checksum)$"
|
assert_file_has_content find-results "(org.example.Collection1, test-1) = $(cat ref1-checksum)$"
|
||||||
|
|
||||||
${CMD_PREFIX} ostree --repo=peer-repo_$fs_type find-remotes --pull org.example.Collection1 test-1 > pull-results
|
${CMD_PREFIX} ostree --repo=peer-repo_$fs_type find-remotes --finders=mount --pull org.example.Collection1 test-1 > pull-results
|
||||||
assert_file_has_content pull-results "^Pulled 1/1 refs successfully.$"
|
assert_file_has_content pull-results "^Pulled 1/1 refs successfully.$"
|
||||||
|
|
||||||
${CMD_PREFIX} ostree --repo=peer-repo_$fs_type refs --collections > refs
|
${CMD_PREFIX} ostree --repo=peer-repo_$fs_type refs --collections > refs
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ skip_without_user_xattrs
|
||||||
|
|
||||||
setup_test_repository "bare"
|
setup_test_repository "bare"
|
||||||
|
|
||||||
echo "1..8"
|
echo "1..11"
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
cd ${test_tmpdir}
|
||||||
mkdir mnt
|
mkdir mnt
|
||||||
|
|
@ -117,3 +117,58 @@ echo "ok checkout copy fallback"
|
||||||
|
|
||||||
# check that O_RDONLY|O_CREAT is handled correctly; used by flock(1) at least
|
# check that O_RDONLY|O_CREAT is handled correctly; used by flock(1) at least
|
||||||
flock mnt/nonexistent-file echo "ok create file in ro mode"
|
flock mnt/nonexistent-file echo "ok create file in ro mode"
|
||||||
|
echo "ok flock"
|
||||||
|
|
||||||
|
# And now with --copyup enabled
|
||||||
|
|
||||||
|
copyup_reset() {
|
||||||
|
cd ${test_tmpdir}
|
||||||
|
fusermount -u mnt
|
||||||
|
rm checkout-test2 -rf
|
||||||
|
$OSTREE checkout -H test2 checkout-test2
|
||||||
|
rofiles-fuse --copyup checkout-test2 mnt
|
||||||
|
}
|
||||||
|
|
||||||
|
assert_test_file() {
|
||||||
|
t=$1
|
||||||
|
f=$2
|
||||||
|
if ! test ${t} "${f}"; then
|
||||||
|
ls -al "${f}"
|
||||||
|
fatal "Failed test ${t} ${f}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
copyup_reset
|
||||||
|
assert_file_has_content mnt/firstfile first
|
||||||
|
echo "ok copyup mount"
|
||||||
|
|
||||||
|
# Test O_TRUNC directly
|
||||||
|
firstfile_orig_inode=$(stat -c %i checkout-test2/firstfile)
|
||||||
|
echo -n truncating > mnt/firstfile
|
||||||
|
assert_streq "$(cat mnt/firstfile)" truncating
|
||||||
|
firstfile_new_inode=$(stat -c %i checkout-test2/firstfile)
|
||||||
|
assert_not_streq "${firstfile_orig_inode}" "${firstfile_new_inode}"
|
||||||
|
assert_test_file -f checkout-test2/firstfile
|
||||||
|
|
||||||
|
copyup_reset
|
||||||
|
firstfile_link_orig_inode=$(stat -c %i checkout-test2/firstfile-link)
|
||||||
|
firstfile_orig_inode=$(stat -c %i checkout-test2/firstfile)
|
||||||
|
# Now write via the symlink
|
||||||
|
echo -n truncating > mnt/firstfile-link
|
||||||
|
assert_streq "$(cat mnt/firstfile)" truncating
|
||||||
|
firstfile_new_inode=$(stat -c %i checkout-test2/firstfile)
|
||||||
|
firstfile_link_new_inode=$(stat -c %i checkout-test2/firstfile-link)
|
||||||
|
assert_not_streq "${firstfile_orig_inode}" "${firstfile_new_inode}"
|
||||||
|
assert_streq "${firstfile_link_orig_inode}" "${firstfile_link_new_inode}"
|
||||||
|
assert_test_file -f checkout-test2/firstfile
|
||||||
|
# Verify we didn't replace the link with a regfile somehow
|
||||||
|
assert_test_file -L checkout-test2/firstfile-link
|
||||||
|
|
||||||
|
# These both end up creating new files; in the sed case we'll then do a rename()
|
||||||
|
copyup_reset
|
||||||
|
echo "hello new file" > mnt/a-new-non-copyup-file
|
||||||
|
assert_file_has_content_literal mnt/a-new-non-copyup-file "hello new file"
|
||||||
|
sed -i -e s,first,second, mnt/firstfile
|
||||||
|
assert_file_has_content_literal mnt/firstfile "second"
|
||||||
|
|
||||||
|
echo "ok copyup"
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ echo 'ok documented symbols'
|
||||||
|
|
||||||
# ONLY update this checksum in release commits!
|
# ONLY update this checksum in release commits!
|
||||||
cat > released-sha256.txt <<EOF
|
cat > released-sha256.txt <<EOF
|
||||||
3dbe0aa610c7229050f4a651fd18893742f8a24c34f3e25bf807ff98fbfc7f72 ${released_syms}
|
e880ade1f3b4cc7587dc1a7a30059ab1d5287484ee70843f1bb4f258fbec677c ${released_syms}
|
||||||
EOF
|
EOF
|
||||||
sha256sum -c released-sha256.txt
|
sha256sum -c released-sha256.txt
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue