diff --git a/Makefile-libostree-defines.am b/Makefile-libostree-defines.am index 58f77a2c..77748a41 100644 --- a/Makefile-libostree-defines.am +++ b/Makefile-libostree-defines.am @@ -38,10 +38,6 @@ libostree_public_headers = \ src/libostree/ostree-deployment.h \ src/libostree/ostree-bootconfig-parser.h \ src/libostree/ostree-repo-deprecated.h \ - $(NULL) - -if ENABLE_EXPERIMENTAL_API -libostree_public_headers += \ src/libostree/ostree-ref.h \ src/libostree/ostree-remote.h \ src/libostree/ostree-repo-finder.h \ @@ -50,7 +46,6 @@ libostree_public_headers += \ src/libostree/ostree-repo-finder-mount.h \ src/libostree/ostree-repo-finder-override.h \ $(NULL) -endif # This one is generated via configure.ac, and the gtk-doc # code hence needs to look in the builddir. diff --git a/Makefile-libostree.am b/Makefile-libostree.am index 9dc81b2f..01a209d1 100644 --- a/Makefile-libostree.am +++ b/Makefile-libostree.am @@ -140,6 +140,13 @@ libostree_1_la_SOURCES = \ src/libostree/ostree-gpg-verify-result.c \ src/libostree/ostree-gpg-verify-result-private.h \ src/libostree/ostree-autocleanups.h \ + src/libostree/ostree-bloom.c \ + src/libostree/ostree-bloom-private.h \ + src/libostree/ostree-repo-finder.c \ + src/libostree/ostree-repo-finder-avahi.c \ + src/libostree/ostree-repo-finder-config.c \ + src/libostree/ostree-repo-finder-mount.c \ + src/libostree/ostree-repo-finder-override.c \ $(NULL) if USE_LIBARCHIVE libostree_1_la_SOURCES += src/libostree/ostree-libarchive-input-stream.h \ @@ -154,26 +161,13 @@ libostree_1_la_SOURCES += \ $(NULL) endif libostree_experimental_headers = \ - src/libostree/ostree-ref.h \ - src/libostree/ostree-remote.h \ - src/libostree/ostree-repo-finder.h \ - src/libostree/ostree-repo-finder-avahi.h \ - src/libostree/ostree-repo-finder-config.h \ - src/libostree/ostree-repo-finder-mount.h \ - src/libostree/ostree-repo-finder-override.h \ $(NULL) if !ENABLE_EXPERIMENTAL_API libostree_1_la_SOURCES += $(libostree_experimental_headers) else # if ENABLE_EXPERIMENTAL_API libostree_1_la_SOURCES += \ - src/libostree/ostree-bloom.c \ - src/libostree/ostree-bloom-private.h \ - src/libostree/ostree-repo-finder.c \ - src/libostree/ostree-repo-finder-avahi.c \ - src/libostree/ostree-repo-finder-config.c \ - src/libostree/ostree-repo-finder-mount.c \ - src/libostree/ostree-repo-finder-override.c \ $(NULL) +endif if USE_AVAHI libostree_1_la_SOURCES += \ @@ -181,20 +175,15 @@ libostree_1_la_SOURCES += \ src/libostree/ostree-repo-finder-avahi-private.h \ $(NULL) endif # USE_AVAHI -endif symbol_files = $(top_srcdir)/src/libostree/libostree-released.sym if BUILDOPT_IS_DEVEL_BUILD symbol_files += $(top_srcdir)/src/libostree/libostree-devel.sym endif -if ENABLE_EXPERIMENTAL_API -symbol_files += $(top_srcdir)/src/libostree/libostree-experimental.sym -endif # http://blog.jgc.org/2007/06/escaping-comma-and-space-in-gnu-make.html wl_versionscript_arg = -Wl,--version-script= EXTRA_DIST += \ $(top_srcdir)/src/libostree/libostree-devel.sym \ - $(top_srcdir)/src/libostree/libostree-experimental.sym \ $(top_srcdir)/src/libostree/libostree-released.sym \ $(NULL) @@ -216,12 +205,10 @@ libostree_1_la_CFLAGS += $(OT_DEP_LIBARCHIVE_CFLAGS) libostree_1_la_LIBADD += $(OT_DEP_LIBARCHIVE_LIBS) endif -if ENABLE_EXPERIMENTAL_API if USE_AVAHI libostree_1_la_CFLAGS += $(OT_DEP_AVAHI_CFLAGS) libostree_1_la_LIBADD += $(OT_DEP_AVAHI_LIBS) endif -endif if BUILDOPT_LIBSYSTEMD libostree_1_la_CFLAGS += $(LIBSYSTEMD_CFLAGS) diff --git a/Makefile-man.am b/Makefile-man.am index 342af520..8ccbba8c 100644 --- a/Makefile-man.am +++ b/Makefile-man.am @@ -28,11 +28,12 @@ ostree-admin-status.1 ostree-admin-set-origin.1 ostree-admin-switch.1 \ ostree-admin-undeploy.1 ostree-admin-upgrade.1 ostree-admin-unlock.1 \ ostree-admin-pin.1 \ ostree-admin.1 ostree-cat.1 ostree-checkout.1 ostree-checksum.1 \ -ostree-commit.1 ostree-export.1 ostree-gpg-sign.1 ostree-config.1 \ -ostree-diff.1 ostree-fsck.1 ostree-init.1 ostree-log.1 ostree-ls.1 \ -ostree-prune.1 ostree-pull-local.1 ostree-pull.1 ostree-refs.1 \ -ostree-remote.1 ostree-reset.1 ostree-rev-parse.1 ostree-show.1 \ -ostree-summary.1 ostree-static-delta.1 +ostree-commit.1 ostree-create-usb.1 ostree-export.1 ostree-gpg-sign.1 \ +ostree-config.1 ostree-diff.1 ostree-find-remotes.1 ostree-fsck.1 \ +ostree-init.1 ostree-log.1 ostree-ls.1 ostree-prune.1 ostree-pull-local.1 \ +ostree-pull.1 ostree-refs.1 ostree-remote.1 ostree-reset.1 \ +ostree-rev-parse.1 ostree-show.1 ostree-summary.1 \ +ostree-static-delta.1 if BUILDOPT_TRIVIAL_HTTPD man1_files += ostree-trivial-httpd.1 else @@ -44,10 +45,6 @@ if BUILDOPT_FUSE man1_files += rofiles-fuse.1 endif -if ENABLE_EXPERIMENTAL_API -man1_files += ostree-find-remotes.1 ostree-create-usb.1 -endif - man5_files = ostree.repo.5 ostree.repo-config.5 man1_MANS = $(addprefix man/,$(man1_files)) diff --git a/Makefile-ostree.am b/Makefile-ostree.am index 91d8383d..8d352e38 100644 --- a/Makefile-ostree.am +++ b/Makefile-ostree.am @@ -29,8 +29,10 @@ ostree_SOURCES = src/ostree/main.c \ src/ostree/ot-builtin-checkout.c \ src/ostree/ot-builtin-checksum.c \ src/ostree/ot-builtin-commit.c \ + src/ostree/ot-builtin-create-usb.c \ src/ostree/ot-builtin-diff.c \ src/ostree/ot-builtin-export.c \ + src/ostree/ot-builtin-find-remotes.c \ src/ostree/ot-builtin-fsck.c \ src/ostree/ot-builtin-gpg-sign.c \ src/ostree/ot-builtin-init.c \ @@ -60,8 +62,6 @@ nodist_ostree_SOURCES = \ if ENABLE_EXPERIMENTAL_API ostree_SOURCES += \ - src/ostree/ot-builtin-create-usb.c \ - src/ostree/ot-builtin-find-remotes.c \ $(NULL) endif diff --git a/Makefile-tests.am b/Makefile-tests.am index 48363b9a..97a71d0d 100644 --- a/Makefile-tests.am +++ b/Makefile-tests.am @@ -54,7 +54,11 @@ dist_uninstalled_test_scripts = tests/test-symbols.sh tests/coccinelle.sh # This overrides the glib-tap.mk emphasis on doing both, if we'd # used e.g. `dist_test_scripts`. dist_test_scripts = $(NULL) -test_programs = $(NULL) +test_programs = \ + tests/test-bloom \ + tests/test-repo-finder-config \ + tests/test-repo-finder-mount \ + $(NULL) _installed_or_uninstalled_test_scripts = \ tests/test-basic.sh \ tests/test-basic-user.sh \ @@ -119,9 +123,6 @@ _installed_or_uninstalled_test_scripts = \ tests/test-summary-update.sh \ tests/test-summary-view.sh \ tests/test-no-initramfs.sh \ - $(NULL) - -experimental_test_scripts = \ tests/test-create-usb.sh \ tests/test-find-remotes.sh \ tests/test-fsck-collections.sh \ @@ -133,8 +134,12 @@ experimental_test_scripts = \ tests/test-summary-collections.sh \ tests/test-pull-collections.sh \ $(NULL) + +experimental_test_scripts = \ + $(NULL) test_extra_programs = \ tests/get-byte-order \ + tests/repo-finder-mount \ $(NULL) tests_get_byte_order_SOURCES = tests/get-byte-order.c @@ -147,7 +152,6 @@ tests_repo_finder_mount_LDADD = $(common_tests_ldadd) libostreetest.la if ENABLE_EXPERIMENTAL_API _installed_or_uninstalled_test_scripts += $(experimental_test_scripts) -test_extra_programs += tests/repo-finder-mount else EXTRA_DIST += $(experimental_test_scripts) endif @@ -238,19 +242,11 @@ endif _installed_or_uninstalled_test_programs = tests/test-varint tests/test-ot-unix-utils tests/test-bsdiff tests/test-mutable-tree \ tests/test-keyfile-utils tests/test-ot-opt-utils tests/test-ot-tool-util \ tests/test-gpg-verify-result tests/test-checksum tests/test-lzma tests/test-rollsum \ - tests/test-basic-c tests/test-sysroot-c tests/test-pull-c tests/test-repo - -if ENABLE_EXPERIMENTAL_API -test_programs += \ - tests/test-bloom \ - tests/test-repo-finder-config \ - tests/test-repo-finder-mount \ - $(NULL) + tests/test-basic-c tests/test-sysroot-c tests/test-pull-c tests/test-repo tests/test-include-ostree-h if USE_AVAHI test_programs += tests/test-repo-finder-avahi endif -endif # An interactive tool noinst_PROGRAMS += tests/test-rollsum-cli @@ -282,6 +278,13 @@ tests_test_bloom_SOURCES = src/libostree/ostree-bloom.c tests/test-bloom.c tests_test_bloom_CFLAGS = $(TESTS_CFLAGS) tests_test_bloom_LDADD = $(TESTS_LDADD) +tests_test_include_ostree_h_SOURCES = tests/test-include-ostree-h.c +# Don't use TESTS_CFLAGS so we test if the public header can be included by external programs +tests_test_include_ostree_h_CFLAGS = $(AM_CFLAGS) $(OT_INTERNAL_GIO_UNIX_CFLAGS) -I$(srcdir)/src/libostree -I$(builddir)/src/libostree +# Don't define OSTREE_COMPILATION so that we're compiling as if it's an external program +tests_test_include_ostree_h_CPPFLAGS = $(AM_CPPFLAGS) -UOSTREE_COMPILATION +tests_test_include_ostree_h_LDADD = $(TESTS_LDADD) + if USE_AVAHI tests_test_repo_finder_avahi_SOURCES = src/libostree/ostree-repo-finder-avahi-parser.c tests/test-repo-finder-avahi.c tests_test_repo_finder_avahi_CFLAGS = $(TESTS_CFLAGS) diff --git a/Makefile.in b/Makefile.in index 689b0347..edab772c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -383,13 +383,13 @@ host_triplet = @host@ bin_PROGRAMS = ostree$(EXEEXT) $(am__EXEEXT_1) sbin_PROGRAMS = libexec_PROGRAMS = -pkglibexec_PROGRAMS = $(am__EXEEXT_20) -noinst_PROGRAMS = $(am__EXEEXT_17) tests/test-rollsum-cli$(EXEEXT) -ostree_boot_PROGRAMS = $(am__EXEEXT_18) $(am__EXEEXT_19) -TESTS = $(am__EXEEXT_8) $(am__EXEEXT_27) \ - $(dist_uninstalled_test_scripts) $(am__EXEEXT_14) -installed_test_PROGRAMS = $(am__EXEEXT_16) -check_PROGRAMS = $(am__EXEEXT_13) $(am__EXEEXT_14) $(am__EXEEXT_15) +pkglibexec_PROGRAMS = $(am__EXEEXT_18) +noinst_PROGRAMS = $(am__EXEEXT_15) tests/test-rollsum-cli$(EXEEXT) +ostree_boot_PROGRAMS = $(am__EXEEXT_16) $(am__EXEEXT_17) +TESTS = $(am__EXEEXT_7) $(am__EXEEXT_25) \ + $(dist_uninstalled_test_scripts) $(am__EXEEXT_12) +installed_test_PROGRAMS = $(am__EXEEXT_14) +check_PROGRAMS = $(am__EXEEXT_11) $(am__EXEEXT_12) $(am__EXEEXT_13) @ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__append_1 = $(all_test_ltlibs) @ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__append_2 = $(all_test_programs) @ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__append_3 = $(all_test_scripts) @@ -417,55 +417,37 @@ check_PROGRAMS = $(am__EXEEXT_13) $(am__EXEEXT_14) $(am__EXEEXT_15) @ENABLE_INSTALLED_TESTS_TRUE@am__append_13 = $(installed_test_meta_DATA) @ENABLE_GTK_DOC_TRUE@am__append_14 = apidoc @ENABLE_RUST_TRUE@am__append_15 = $(srcdir)/rust/Cargo.toml $(srcdir)/rust/cargo-vendor-config -@ENABLE_EXPERIMENTAL_API_TRUE@am__append_16 = \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-ref.h \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-remote.h \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-repo-finder.h \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-repo-finder-avahi.h \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-repo-finder-config.h \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-repo-finder-mount.h \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-repo-finder-override.h \ -@ENABLE_EXPERIMENTAL_API_TRUE@ $(NULL) - -@ENABLE_RUST_TRUE@am__append_17 = $(BUPSPLIT_RUST_SRCS) -@ENABLE_RUST_FALSE@am__append_18 = libbupsplit.la -@USE_LIBARCHIVE_TRUE@am__append_19 = src/libostree/ostree-libarchive-input-stream.h \ +@ENABLE_RUST_TRUE@am__append_16 = $(BUPSPLIT_RUST_SRCS) +@ENABLE_RUST_FALSE@am__append_17 = libbupsplit.la +@USE_LIBARCHIVE_TRUE@am__append_18 = src/libostree/ostree-libarchive-input-stream.h \ @USE_LIBARCHIVE_TRUE@ src/libostree/ostree-libarchive-input-stream.c \ @USE_LIBARCHIVE_TRUE@ src/libostree/ostree-libarchive-private.h \ @USE_LIBARCHIVE_TRUE@ $(NULL) -@HAVE_LIBSOUP_CLIENT_CERTS_TRUE@am__append_20 = \ +@HAVE_LIBSOUP_CLIENT_CERTS_TRUE@am__append_19 = \ @HAVE_LIBSOUP_CLIENT_CERTS_TRUE@ src/libostree/ostree-tls-cert-interaction.c \ @HAVE_LIBSOUP_CLIENT_CERTS_TRUE@ src/libostree/ostree-tls-cert-interaction.h \ @HAVE_LIBSOUP_CLIENT_CERTS_TRUE@ $(NULL) -@ENABLE_EXPERIMENTAL_API_FALSE@am__append_21 = $(libostree_experimental_headers) -@ENABLE_EXPERIMENTAL_API_TRUE@am__append_22 = \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-bloom.c \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-bloom-private.h \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-repo-finder.c \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-repo-finder-avahi.c \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-repo-finder-config.c \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-repo-finder-mount.c \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-repo-finder-override.c \ +@ENABLE_EXPERIMENTAL_API_FALSE@am__append_20 = $(libostree_experimental_headers) +@ENABLE_EXPERIMENTAL_API_TRUE@am__append_21 = \ @ENABLE_EXPERIMENTAL_API_TRUE@ $(NULL) -@ENABLE_EXPERIMENTAL_API_TRUE@@USE_AVAHI_TRUE@am__append_23 = \ -@ENABLE_EXPERIMENTAL_API_TRUE@@USE_AVAHI_TRUE@ src/libostree/ostree-repo-finder-avahi-parser.c \ -@ENABLE_EXPERIMENTAL_API_TRUE@@USE_AVAHI_TRUE@ src/libostree/ostree-repo-finder-avahi-private.h \ -@ENABLE_EXPERIMENTAL_API_TRUE@@USE_AVAHI_TRUE@ $(NULL) +@USE_AVAHI_TRUE@am__append_22 = \ +@USE_AVAHI_TRUE@ src/libostree/ostree-repo-finder-avahi-parser.c \ +@USE_AVAHI_TRUE@ src/libostree/ostree-repo-finder-avahi-private.h \ +@USE_AVAHI_TRUE@ $(NULL) -@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 +@BUILDOPT_IS_DEVEL_BUILD_TRUE@am__append_23 = $(top_srcdir)/src/libostree/libostree-devel.sym # Some change between rust-1.21.0-1.fc27 and rust-1.22.1-1.fc27.x86_64 -@ENABLE_RUST_TRUE@am__append_26 = -ldl -@USE_LIBARCHIVE_TRUE@am__append_27 = $(OT_DEP_LIBARCHIVE_CFLAGS) -@USE_LIBARCHIVE_TRUE@am__append_28 = $(OT_DEP_LIBARCHIVE_LIBS) -@ENABLE_EXPERIMENTAL_API_TRUE@@USE_AVAHI_TRUE@am__append_29 = $(OT_DEP_AVAHI_CFLAGS) -@ENABLE_EXPERIMENTAL_API_TRUE@@USE_AVAHI_TRUE@am__append_30 = $(OT_DEP_AVAHI_LIBS) -@BUILDOPT_LIBSYSTEMD_TRUE@am__append_31 = $(LIBSYSTEMD_CFLAGS) -@BUILDOPT_LIBSYSTEMD_TRUE@am__append_32 = $(LIBSYSTEMD_LIBS) -@USE_CURL_OR_SOUP_TRUE@am__append_33 = \ +@ENABLE_RUST_TRUE@am__append_24 = -ldl +@USE_LIBARCHIVE_TRUE@am__append_25 = $(OT_DEP_LIBARCHIVE_CFLAGS) +@USE_LIBARCHIVE_TRUE@am__append_26 = $(OT_DEP_LIBARCHIVE_LIBS) +@USE_AVAHI_TRUE@am__append_27 = $(OT_DEP_AVAHI_CFLAGS) +@USE_AVAHI_TRUE@am__append_28 = $(OT_DEP_AVAHI_LIBS) +@BUILDOPT_LIBSYSTEMD_TRUE@am__append_29 = $(LIBSYSTEMD_CFLAGS) +@BUILDOPT_LIBSYSTEMD_TRUE@am__append_30 = $(LIBSYSTEMD_LIBS) +@USE_CURL_OR_SOUP_TRUE@am__append_31 = \ @USE_CURL_OR_SOUP_TRUE@ src/libostree/ostree-fetcher.h \ @USE_CURL_OR_SOUP_TRUE@ src/libostree/ostree-fetcher-util.h \ @USE_CURL_OR_SOUP_TRUE@ src/libostree/ostree-fetcher-util.c \ @@ -474,32 +456,30 @@ 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@ $(NULL) -@USE_CURL_TRUE@am__append_34 = src/libostree/ostree-fetcher-curl.c \ +@USE_CURL_TRUE@am__append_32 = src/libostree/ostree-fetcher-curl.c \ @USE_CURL_TRUE@ src/libostree/ostree-soup-uri.h src/libostree/ostree-soup-uri.c \ @USE_CURL_TRUE@ src/libostree/ostree-soup-form.c \ @USE_CURL_TRUE@ $(NULL) -@USE_CURL_TRUE@am__append_35 = $(OT_DEP_CURL_CFLAGS) -@USE_CURL_TRUE@am__append_36 = $(OT_DEP_CURL_LIBS) -@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_37 = src/libostree/ostree-fetcher-soup.c -@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_38 = $(OT_INTERNAL_SOUP_CFLAGS) -@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_39 = $(OT_INTERNAL_SOUP_LIBS) -@USE_LIBMOUNT_TRUE@am__append_40 = $(OT_DEP_LIBMOUNT_CFLAGS) -@USE_LIBMOUNT_TRUE@am__append_41 = $(OT_DEP_LIBMOUNT_LIBS) -@USE_SELINUX_TRUE@am__append_42 = $(OT_DEP_SELINUX_CFLAGS) -@USE_SELINUX_TRUE@am__append_43 = $(OT_DEP_SELINUX_LIBS) +@USE_CURL_TRUE@am__append_33 = $(OT_DEP_CURL_CFLAGS) +@USE_CURL_TRUE@am__append_34 = $(OT_DEP_CURL_LIBS) +@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_35 = src/libostree/ostree-fetcher-soup.c +@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_36 = $(OT_INTERNAL_SOUP_CFLAGS) +@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_37 = $(OT_INTERNAL_SOUP_LIBS) +@USE_LIBMOUNT_TRUE@am__append_38 = $(OT_DEP_LIBMOUNT_CFLAGS) +@USE_LIBMOUNT_TRUE@am__append_39 = $(OT_DEP_LIBMOUNT_LIBS) +@USE_SELINUX_TRUE@am__append_40 = $(OT_DEP_SELINUX_CFLAGS) +@USE_SELINUX_TRUE@am__append_41 = $(OT_DEP_SELINUX_LIBS) # 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_44 = -DOSTREE_ENABLE_EXPERIMENTAL_API=1 -@BUILDOPT_INTROSPECTION_TRUE@am__append_45 = OSTree-1.0.gir -@BUILDOPT_INTROSPECTION_TRUE@am__append_46 = OSTree-1.0.gir -@BUILDOPT_INTROSPECTION_TRUE@am__append_47 = OSTree-1.0.typelib -@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-find-remotes.c \ +@BUILDOPT_INTROSPECTION_TRUE@@ENABLE_EXPERIMENTAL_API_TRUE@am__append_42 = -DOSTREE_ENABLE_EXPERIMENTAL_API=1 +@BUILDOPT_INTROSPECTION_TRUE@am__append_43 = OSTree-1.0.gir +@BUILDOPT_INTROSPECTION_TRUE@am__append_44 = OSTree-1.0.gir +@BUILDOPT_INTROSPECTION_TRUE@am__append_45 = OSTree-1.0.typelib +@BUILDOPT_INTROSPECTION_TRUE@am__append_46 = $(gir_DATA) $(typelib_DATA) +@ENABLE_EXPERIMENTAL_API_TRUE@am__append_47 = \ @ENABLE_EXPERIMENTAL_API_TRUE@ $(NULL) -@USE_CURL_OR_SOUP_TRUE@am__append_50 = src/ostree/ot-remote-builtin-add-cookie.c \ +@USE_CURL_OR_SOUP_TRUE@am__append_48 = src/ostree/ot-remote-builtin-add-cookie.c \ @USE_CURL_OR_SOUP_TRUE@ src/ostree/ot-remote-builtin-delete-cookie.c \ @USE_CURL_OR_SOUP_TRUE@ src/ostree/ot-remote-builtin-list-cookies.c \ @USE_CURL_OR_SOUP_TRUE@ src/ostree/ot-remote-cookie-util.h \ @@ -507,67 +487,59 @@ check_PROGRAMS = $(am__EXEEXT_13) $(am__EXEEXT_14) $(am__EXEEXT_15) @USE_CURL_OR_SOUP_TRUE@ $(NULL) src/ostree/ot-builtin-pull.c # Eventually once we stop things from using this, we should support disabling this -@USE_LIBSOUP_TRUE@am__append_51 = src/ostree/ot-builtin-trivial-httpd.c -@USE_LIBSOUP_TRUE@am__append_52 = ostree-trivial-httpd +@USE_LIBSOUP_TRUE@am__append_49 = src/ostree/ot-builtin-trivial-httpd.c +@USE_LIBSOUP_TRUE@am__append_50 = ostree-trivial-httpd # This is necessary for the cookie jar bits -@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_53 = $(OT_INTERNAL_SOUP_CFLAGS) -@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_54 = $(OT_INTERNAL_SOUP_LIBS) -@USE_LIBARCHIVE_TRUE@am__append_55 = $(OT_DEP_LIBARCHIVE_CFLAGS) -@USE_LIBARCHIVE_TRUE@am__append_56 = $(OT_DEP_LIBARCHIVE_LIBS) -@BUILDOPT_SYSTEMD_TRUE@am__append_57 = ostree-remount +@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_51 = $(OT_INTERNAL_SOUP_CFLAGS) +@USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__append_52 = $(OT_INTERNAL_SOUP_LIBS) +@USE_LIBARCHIVE_TRUE@am__append_53 = $(OT_DEP_LIBARCHIVE_CFLAGS) +@USE_LIBARCHIVE_TRUE@am__append_54 = $(OT_DEP_LIBARCHIVE_LIBS) +@BUILDOPT_SYSTEMD_TRUE@am__append_55 = ostree-remount # It is built anyway as a side-effect of having the symlink in tests/, # and if we declare it here, it gets cleaned up properly -@BUILDOPT_SYSTEMD_FALSE@am__append_58 = ostree-remount -@BUILDOPT_USE_STATIC_COMPILER_FALSE@am__append_59 = ostree-prepare-root +@BUILDOPT_SYSTEMD_FALSE@am__append_56 = ostree-remount +@BUILDOPT_USE_STATIC_COMPILER_FALSE@am__append_57 = ostree-prepare-root # This is the "new mode" of using a generator for /var; see # https://github.com/ostreedev/ostree/issues/855 -@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_60 = -DHAVE_SYSTEMD_AND_LIBMOUNT=1 -@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_61 = -DHAVE_SYSTEMD_AND_LIBMOUNT=1 +@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_58 = -DHAVE_SYSTEMD_AND_LIBMOUNT=1 +@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_59 = -DHAVE_SYSTEMD_AND_LIBMOUNT=1 @BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@systemdsystemgenerator_PROGRAMS = ostree-system-generator$(EXEEXT) -@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_62 = $(systemdsystemgenerator_PROGRAMS) +@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_60 = $(systemdsystemgenerator_PROGRAMS) # Allow the distcheck install under $prefix test to pass -@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_63 = --with-systemdsystemgeneratordir='$${libdir}/systemd/system-generators' -@BUILDOPT_FUSE_TRUE@am__append_64 = rofiles-fuse -@BUILDOPT_ASAN_TRUE@am__append_65 = OT_SKIP_READDIR_RAND=1 G_SLICE=always-malloc -@ENABLE_EXPERIMENTAL_API_TRUE@am__append_66 = $(experimental_test_scripts) -@ENABLE_EXPERIMENTAL_API_TRUE@am__append_67 = tests/repo-finder-mount -@ENABLE_EXPERIMENTAL_API_FALSE@am__append_68 = $(experimental_test_scripts) -@BUILDOPT_FUSE_TRUE@am__append_69 = tests/test-rofiles-fuse.sh -@BUILDOPT_FUSE_TRUE@am__append_70 = tests/rofiles-fuse-symlink-stamp -@BUILDOPT_FUSE_FALSE@am__append_71 = tests/test-rofiles-fuse.sh -@USE_LIBSOUP_TRUE@am__append_72 = tests/test-remote-cookies.sh -@BUILDOPT_GJS_TRUE@am__append_73 = $(js_tests) $(js_installed_tests) -@BUILDOPT_GJS_FALSE@am__append_74 = $(js_tests) -@BUILDOPT_GJS_FALSE@am__append_75 = $(js_installed_tests) -@ENABLE_INSTALLED_TESTS_FALSE@am__append_76 = -rpath $(abs_builddir) -@ENABLE_EXPERIMENTAL_API_TRUE@am__append_77 = \ -@ENABLE_EXPERIMENTAL_API_TRUE@ tests/test-bloom \ -@ENABLE_EXPERIMENTAL_API_TRUE@ tests/test-repo-finder-config \ -@ENABLE_EXPERIMENTAL_API_TRUE@ tests/test-repo-finder-mount \ -@ENABLE_EXPERIMENTAL_API_TRUE@ $(NULL) - -@ENABLE_EXPERIMENTAL_API_TRUE@@USE_AVAHI_TRUE@am__append_78 = tests/test-repo-finder-avahi -@USE_LIBARCHIVE_TRUE@am__append_79 = tests/test-libarchive-import -@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__append_80 = $(_installed_or_uninstalled_test_scripts) -@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__append_81 = $(_installed_or_uninstalled_test_programs) -@ENABLE_INSTALLED_TESTS_TRUE@am__append_82 = install-installed-tests-extra +@BUILDOPT_SYSTEMD_AND_LIBMOUNT_TRUE@am__append_61 = --with-systemdsystemgeneratordir='$${libdir}/systemd/system-generators' +@BUILDOPT_FUSE_TRUE@am__append_62 = rofiles-fuse +@BUILDOPT_ASAN_TRUE@am__append_63 = OT_SKIP_READDIR_RAND=1 G_SLICE=always-malloc +@ENABLE_EXPERIMENTAL_API_TRUE@am__append_64 = $(experimental_test_scripts) +@ENABLE_EXPERIMENTAL_API_FALSE@am__append_65 = $(experimental_test_scripts) +@BUILDOPT_FUSE_TRUE@am__append_66 = tests/test-rofiles-fuse.sh +@BUILDOPT_FUSE_TRUE@am__append_67 = tests/rofiles-fuse-symlink-stamp +@BUILDOPT_FUSE_FALSE@am__append_68 = tests/test-rofiles-fuse.sh +@USE_LIBSOUP_TRUE@am__append_69 = tests/test-remote-cookies.sh +@BUILDOPT_GJS_TRUE@am__append_70 = $(js_tests) $(js_installed_tests) +@BUILDOPT_GJS_FALSE@am__append_71 = $(js_tests) +@BUILDOPT_GJS_FALSE@am__append_72 = $(js_installed_tests) +@ENABLE_INSTALLED_TESTS_FALSE@am__append_73 = -rpath $(abs_builddir) +@USE_AVAHI_TRUE@am__append_74 = tests/test-repo-finder-avahi +@USE_LIBARCHIVE_TRUE@am__append_75 = tests/test-libarchive-import +@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__append_76 = $(_installed_or_uninstalled_test_scripts) +@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__append_77 = $(_installed_or_uninstalled_test_programs) +@ENABLE_INSTALLED_TESTS_TRUE@am__append_78 = install-installed-tests-extra # Allow the distcheck install under $prefix test to pass -@BUILDOPT_SYSTEMD_TRUE@am__append_83 = --with-systemdsystemunitdir='$${libdir}/systemd/system' +@BUILDOPT_SYSTEMD_TRUE@am__append_79 = --with-systemdsystemunitdir='$${libdir}/systemd/system' # We're using the system grub2-mkconfig generator -@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_FALSE@am__append_84 = src/boot/grub2/grub2-15_ostree -@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_FALSE@am__append_85 = install-grub2-config-hook -@BUILDOPT_TRIVIAL_HTTPD_TRUE@@ENABLE_MAN_TRUE@am__append_86 = ostree-trivial-httpd.1 +@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_FALSE@am__append_80 = src/boot/grub2/grub2-15_ostree +@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_FALSE@am__append_81 = install-grub2-config-hook +@BUILDOPT_TRIVIAL_HTTPD_TRUE@@ENABLE_MAN_TRUE@am__append_82 = ostree-trivial-httpd.1 # We still want to distribute the source, even if we are not building it -@BUILDOPT_TRIVIAL_HTTPD_FALSE@@ENABLE_MAN_TRUE@am__append_87 = man/ostree-trivial-httpd.xml -@BUILDOPT_FUSE_TRUE@@ENABLE_MAN_TRUE@am__append_88 = rofiles-fuse.1 -@ENABLE_EXPERIMENTAL_API_TRUE@@ENABLE_MAN_TRUE@am__append_89 = ostree-find-remotes.1 ostree-create-usb.1 -@ENABLE_MAN_TRUE@am__append_90 = $(man1_MANS:.1=.xml) $(man5_MANS:.5=.xml) -@ENABLE_MAN_TRUE@am__append_91 = \ +@BUILDOPT_TRIVIAL_HTTPD_FALSE@@ENABLE_MAN_TRUE@am__append_83 = man/ostree-trivial-httpd.xml +@BUILDOPT_FUSE_TRUE@@ENABLE_MAN_TRUE@am__append_84 = rofiles-fuse.1 +@ENABLE_MAN_TRUE@am__append_85 = $(man1_MANS:.1=.xml) $(man5_MANS:.5=.xml) +@ENABLE_MAN_TRUE@am__append_86 = \ @ENABLE_MAN_TRUE@ $(man1_MANS) \ @ENABLE_MAN_TRUE@ $(man5_MANS) \ @ENABLE_MAN_TRUE@ $(NULL) @@ -592,7 +564,7 @@ DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ $(am__dist_gpginsttest_trusted_DATA_DIST) \ $(am__dist_gpgvinsttest_DATA_DIST) \ $(am__dist_systemdtmpfiles_DATA_DIST) \ - $(am__libostreeinclude_HEADERS_DIST) $(am__DIST_COMMON) + $(libostreeinclude_HEADERS) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d @@ -688,7 +660,7 @@ libglnx_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(CFLAGS) $(libglnx_la_LDFLAGS) $(LDFLAGS) -o $@ am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) @USE_LIBARCHIVE_TRUE@am__DEPENDENCIES_4 = $(am__DEPENDENCIES_1) -@ENABLE_EXPERIMENTAL_API_TRUE@@USE_AVAHI_TRUE@am__DEPENDENCIES_5 = $(am__DEPENDENCIES_1) +@USE_AVAHI_TRUE@am__DEPENDENCIES_5 = $(am__DEPENDENCIES_1) @BUILDOPT_LIBSYSTEMD_TRUE@am__DEPENDENCIES_6 = $(am__DEPENDENCIES_1) @USE_CURL_TRUE@am__DEPENDENCIES_7 = $(am__DEPENDENCIES_1) @USE_CURL_FALSE@@USE_LIBSOUP_TRUE@am__DEPENDENCIES_8 = \ @@ -768,17 +740,6 @@ am__libostree_1_la_SOURCES_DIST = \ src/libostree/ostree-gpg-verify-result.c \ src/libostree/ostree-gpg-verify-result-private.h \ src/libostree/ostree-autocleanups.h \ - src/libostree/ostree-libarchive-input-stream.h \ - src/libostree/ostree-libarchive-input-stream.c \ - src/libostree/ostree-libarchive-private.h \ - src/libostree/ostree-tls-cert-interaction.c \ - src/libostree/ostree-tls-cert-interaction.h \ - src/libostree/ostree-ref.h src/libostree/ostree-remote.h \ - src/libostree/ostree-repo-finder.h \ - src/libostree/ostree-repo-finder-avahi.h \ - src/libostree/ostree-repo-finder-config.h \ - src/libostree/ostree-repo-finder-mount.h \ - src/libostree/ostree-repo-finder-override.h \ src/libostree/ostree-bloom.c \ src/libostree/ostree-bloom-private.h \ src/libostree/ostree-repo-finder.c \ @@ -786,6 +747,11 @@ am__libostree_1_la_SOURCES_DIST = \ src/libostree/ostree-repo-finder-config.c \ src/libostree/ostree-repo-finder-mount.c \ src/libostree/ostree-repo-finder-override.c \ + src/libostree/ostree-libarchive-input-stream.h \ + src/libostree/ostree-libarchive-input-stream.c \ + src/libostree/ostree-libarchive-private.h \ + src/libostree/ostree-tls-cert-interaction.c \ + src/libostree/ostree-tls-cert-interaction.h \ src/libostree/ostree-repo-finder-avahi-parser.c \ src/libostree/ostree-repo-finder-avahi-private.h \ src/libostree/ostree-fetcher.h \ @@ -805,15 +771,9 @@ am__libostree_1_la_SOURCES_DIST = \ @HAVE_LIBSOUP_CLIENT_CERTS_TRUE@ $(am__objects_1) am__objects_4 = $(am__objects_1) @ENABLE_EXPERIMENTAL_API_FALSE@am__objects_5 = $(am__objects_4) -@ENABLE_EXPERIMENTAL_API_TRUE@am__objects_6 = src/libostree/libostree_1_la-ostree-bloom.lo \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/libostree_1_la-ostree-repo-finder.lo \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/libostree_1_la-ostree-repo-finder-avahi.lo \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/libostree_1_la-ostree-repo-finder-config.lo \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/libostree_1_la-ostree-repo-finder-mount.lo \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/libostree_1_la-ostree-repo-finder-override.lo \ -@ENABLE_EXPERIMENTAL_API_TRUE@ $(am__objects_1) -@ENABLE_EXPERIMENTAL_API_TRUE@@USE_AVAHI_TRUE@am__objects_7 = src/libostree/libostree_1_la-ostree-repo-finder-avahi-parser.lo \ -@ENABLE_EXPERIMENTAL_API_TRUE@@USE_AVAHI_TRUE@ $(am__objects_1) +@ENABLE_EXPERIMENTAL_API_TRUE@am__objects_6 = $(am__objects_1) +@USE_AVAHI_TRUE@am__objects_7 = src/libostree/libostree_1_la-ostree-repo-finder-avahi-parser.lo \ +@USE_AVAHI_TRUE@ $(am__objects_1) @USE_CURL_OR_SOUP_TRUE@am__objects_8 = src/libostree/libostree_1_la-ostree-fetcher-util.lo \ @USE_CURL_OR_SOUP_TRUE@ src/libostree/libostree_1_la-ostree-fetcher-uri.lo \ @USE_CURL_OR_SOUP_TRUE@ src/libostree/libostree_1_la-ostree-metalink.lo \ @@ -868,6 +828,12 @@ am_libostree_1_la_OBJECTS = \ src/libostree/libostree_1_la-ostree-repo-static-delta-compilation-analysis.lo \ src/libostree/libostree_1_la-ostree-gpg-verifier.lo \ src/libostree/libostree_1_la-ostree-gpg-verify-result.lo \ + src/libostree/libostree_1_la-ostree-bloom.lo \ + src/libostree/libostree_1_la-ostree-repo-finder.lo \ + src/libostree/libostree_1_la-ostree-repo-finder-avahi.lo \ + src/libostree/libostree_1_la-ostree-repo-finder-config.lo \ + src/libostree/libostree_1_la-ostree-repo-finder-mount.lo \ + src/libostree/libostree_1_la-ostree-repo-finder-override.lo \ $(am__objects_1) $(am__objects_2) $(am__objects_3) \ $(am__objects_5) $(am__objects_6) $(am__objects_7) \ $(am__objects_8) $(am__objects_9) $(am__objects_10) @@ -934,15 +900,10 @@ libreaddir_rand_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ @ENABLE_INSTALLED_TESTS_TRUE@ $(installed_testdir) @BUILDOPT_FUSE_TRUE@am__EXEEXT_1 = rofiles-fuse$(EXEEXT) am__EXEEXT_2 = -@ENABLE_EXPERIMENTAL_API_TRUE@am__EXEEXT_3 = \ -@ENABLE_EXPERIMENTAL_API_TRUE@ tests/test-bloom$(EXEEXT) \ -@ENABLE_EXPERIMENTAL_API_TRUE@ tests/test-repo-finder-config$(EXEEXT) \ -@ENABLE_EXPERIMENTAL_API_TRUE@ tests/test-repo-finder-mount$(EXEEXT) \ -@ENABLE_EXPERIMENTAL_API_TRUE@ $(am__EXEEXT_2) -@ENABLE_EXPERIMENTAL_API_TRUE@@USE_AVAHI_TRUE@am__EXEEXT_4 = tests/test-repo-finder-avahi$(EXEEXT) -@USE_LIBARCHIVE_TRUE@am__EXEEXT_5 = \ +@USE_AVAHI_TRUE@am__EXEEXT_3 = tests/test-repo-finder-avahi$(EXEEXT) +@USE_LIBARCHIVE_TRUE@am__EXEEXT_4 = \ @USE_LIBARCHIVE_TRUE@ tests/test-libarchive-import$(EXEEXT) -am__EXEEXT_6 = tests/test-varint$(EXEEXT) \ +am__EXEEXT_5 = tests/test-varint$(EXEEXT) \ tests/test-ot-unix-utils$(EXEEXT) tests/test-bsdiff$(EXEEXT) \ tests/test-mutable-tree$(EXEEXT) \ tests/test-keyfile-utils$(EXEEXT) \ @@ -952,27 +913,29 @@ am__EXEEXT_6 = tests/test-varint$(EXEEXT) \ tests/test-checksum$(EXEEXT) tests/test-lzma$(EXEEXT) \ tests/test-rollsum$(EXEEXT) tests/test-basic-c$(EXEEXT) \ tests/test-sysroot-c$(EXEEXT) tests/test-pull-c$(EXEEXT) \ - tests/test-repo$(EXEEXT) $(am__EXEEXT_5) -@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__EXEEXT_7 = \ -@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@ $(am__EXEEXT_6) -am__EXEEXT_8 = $(am__EXEEXT_2) $(am__EXEEXT_3) $(am__EXEEXT_4) \ - $(am__EXEEXT_7) -@ENABLE_INSTALLED_TESTS_EXCLUSIVE_TRUE@am__EXEEXT_9 = $(am__EXEEXT_6) -@ENABLE_EXPERIMENTAL_API_TRUE@am__EXEEXT_10 = tests/repo-finder-mount$(EXEEXT) -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) -@ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__EXEEXT_13 = $(am__EXEEXT_12) -am__EXEEXT_14 = test-libglnx-xattrs$(EXEEXT) \ + tests/test-repo$(EXEEXT) tests/test-include-ostree-h$(EXEEXT) \ + $(am__EXEEXT_4) +@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__EXEEXT_6 = \ +@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@ $(am__EXEEXT_5) +am__EXEEXT_7 = tests/test-bloom$(EXEEXT) \ + tests/test-repo-finder-config$(EXEEXT) \ + tests/test-repo-finder-mount$(EXEEXT) $(am__EXEEXT_2) \ + $(am__EXEEXT_3) $(am__EXEEXT_6) +@ENABLE_INSTALLED_TESTS_EXCLUSIVE_TRUE@am__EXEEXT_8 = $(am__EXEEXT_5) +am__EXEEXT_9 = tests/get-byte-order$(EXEEXT) \ + tests/repo-finder-mount$(EXEEXT) $(am__EXEEXT_2) +am__EXEEXT_10 = $(am__EXEEXT_7) $(am__EXEEXT_8) $(am__EXEEXT_9) +@ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__EXEEXT_11 = $(am__EXEEXT_10) +am__EXEEXT_12 = test-libglnx-xattrs$(EXEEXT) \ test-libglnx-fdio$(EXEEXT) test-libglnx-errors$(EXEEXT) \ test-libglnx-macros$(EXEEXT) test-libglnx-shutil$(EXEEXT) -@BUILDOPT_SYSTEMD_FALSE@am__EXEEXT_15 = ostree-remount$(EXEEXT) -@ENABLE_INSTALLED_TESTS_TRUE@am__EXEEXT_16 = $(am__EXEEXT_8) \ -@ENABLE_INSTALLED_TESTS_TRUE@ $(am__EXEEXT_9) $(am__EXEEXT_11) -@ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__EXEEXT_17 = $(am__EXEEXT_12) -@BUILDOPT_SYSTEMD_TRUE@am__EXEEXT_18 = ostree-remount$(EXEEXT) -@BUILDOPT_USE_STATIC_COMPILER_FALSE@am__EXEEXT_19 = ostree-prepare-root$(EXEEXT) -@USE_LIBSOUP_TRUE@am__EXEEXT_20 = ostree-trivial-httpd$(EXEEXT) +@BUILDOPT_SYSTEMD_FALSE@am__EXEEXT_13 = ostree-remount$(EXEEXT) +@ENABLE_INSTALLED_TESTS_TRUE@am__EXEEXT_14 = $(am__EXEEXT_7) \ +@ENABLE_INSTALLED_TESTS_TRUE@ $(am__EXEEXT_8) $(am__EXEEXT_9) +@ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__EXEEXT_15 = $(am__EXEEXT_10) +@BUILDOPT_SYSTEMD_TRUE@am__EXEEXT_16 = ostree-remount$(EXEEXT) +@BUILDOPT_USE_STATIC_COMPILER_FALSE@am__EXEEXT_17 = ostree-prepare-root$(EXEEXT) +@USE_LIBSOUP_TRUE@am__EXEEXT_18 = ostree-trivial-httpd$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) $(installed_test_PROGRAMS) \ $(libexec_PROGRAMS) $(noinst_PROGRAMS) $(ostree_boot_PROGRAMS) \ $(pkglibexec_PROGRAMS) $(sbin_PROGRAMS) \ @@ -982,9 +945,12 @@ am__ostree_SOURCES_DIST = src/ostree/main.c \ src/ostree/ot-builtin-cat.c src/ostree/ot-builtin-config.c \ src/ostree/ot-builtin-checkout.c \ src/ostree/ot-builtin-checksum.c \ - src/ostree/ot-builtin-commit.c src/ostree/ot-builtin-diff.c \ - src/ostree/ot-builtin-export.c src/ostree/ot-builtin-fsck.c \ - src/ostree/ot-builtin-gpg-sign.c src/ostree/ot-builtin-init.c \ + src/ostree/ot-builtin-commit.c \ + src/ostree/ot-builtin-create-usb.c \ + src/ostree/ot-builtin-diff.c src/ostree/ot-builtin-export.c \ + src/ostree/ot-builtin-find-remotes.c \ + src/ostree/ot-builtin-fsck.c src/ostree/ot-builtin-gpg-sign.c \ + src/ostree/ot-builtin-init.c \ src/ostree/ot-builtin-pull-local.c src/ostree/ot-builtin-log.c \ src/ostree/ot-builtin-ls.c src/ostree/ot-builtin-prune.c \ src/ostree/ot-builtin-refs.c src/ostree/ot-builtin-remote.c \ @@ -994,8 +960,7 @@ am__ostree_SOURCES_DIST = src/ostree/main.c \ src/ostree/ot-builtin-static-delta.c src/ostree/ot-main.h \ src/ostree/ot-main.c src/ostree/ot-dump.h src/ostree/ot-dump.c \ src/ostree/ot-editor.c src/ostree/ot-editor.h \ - src/ostree/parse-datetime.h src/ostree/ot-builtin-create-usb.c \ - src/ostree/ot-builtin-find-remotes.c \ + src/ostree/parse-datetime.h \ src/ostree/ot-admin-builtin-init-fs.c \ src/ostree/ot-admin-builtin-diff.c \ src/ostree/ot-admin-builtin-deploy.c \ @@ -1032,16 +997,13 @@ am__ostree_SOURCES_DIST = src/ostree/main.c \ src/ostree/ot-remote-cookie-util.c \ src/ostree/ot-builtin-pull.c \ src/ostree/ot-builtin-trivial-httpd.c -@ENABLE_EXPERIMENTAL_API_TRUE@am__objects_11 = src/ostree/ostree-ot-builtin-create-usb.$(OBJEXT) \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/ostree/ostree-ot-builtin-find-remotes.$(OBJEXT) \ -@ENABLE_EXPERIMENTAL_API_TRUE@ $(am__objects_1) -@USE_CURL_OR_SOUP_TRUE@am__objects_12 = src/ostree/ostree-ot-remote-builtin-add-cookie.$(OBJEXT) \ +@USE_CURL_OR_SOUP_TRUE@am__objects_11 = src/ostree/ostree-ot-remote-builtin-add-cookie.$(OBJEXT) \ @USE_CURL_OR_SOUP_TRUE@ src/ostree/ostree-ot-remote-builtin-delete-cookie.$(OBJEXT) \ @USE_CURL_OR_SOUP_TRUE@ src/ostree/ostree-ot-remote-builtin-list-cookies.$(OBJEXT) \ @USE_CURL_OR_SOUP_TRUE@ src/ostree/ostree-ot-remote-cookie-util.$(OBJEXT) \ @USE_CURL_OR_SOUP_TRUE@ $(am__objects_1) \ @USE_CURL_OR_SOUP_TRUE@ src/ostree/ostree-ot-builtin-pull.$(OBJEXT) -@USE_LIBSOUP_TRUE@am__objects_13 = src/ostree/ostree-ot-builtin-trivial-httpd.$(OBJEXT) +@USE_LIBSOUP_TRUE@am__objects_12 = src/ostree/ostree-ot-builtin-trivial-httpd.$(OBJEXT) am_ostree_OBJECTS = src/ostree/ostree-main.$(OBJEXT) \ src/ostree/ostree-ot-builtin-admin.$(OBJEXT) \ src/ostree/ostree-ot-builtin-cat.$(OBJEXT) \ @@ -1049,8 +1011,10 @@ am_ostree_OBJECTS = src/ostree/ostree-main.$(OBJEXT) \ src/ostree/ostree-ot-builtin-checkout.$(OBJEXT) \ src/ostree/ostree-ot-builtin-checksum.$(OBJEXT) \ src/ostree/ostree-ot-builtin-commit.$(OBJEXT) \ + src/ostree/ostree-ot-builtin-create-usb.$(OBJEXT) \ src/ostree/ostree-ot-builtin-diff.$(OBJEXT) \ src/ostree/ostree-ot-builtin-export.$(OBJEXT) \ + src/ostree/ostree-ot-builtin-find-remotes.$(OBJEXT) \ src/ostree/ostree-ot-builtin-fsck.$(OBJEXT) \ src/ostree/ostree-ot-builtin-gpg-sign.$(OBJEXT) \ src/ostree/ostree-ot-builtin-init.$(OBJEXT) \ @@ -1068,7 +1032,7 @@ am_ostree_OBJECTS = src/ostree/ostree-main.$(OBJEXT) \ src/ostree/ostree-ot-main.$(OBJEXT) \ src/ostree/ostree-ot-dump.$(OBJEXT) \ src/ostree/ostree-ot-editor.$(OBJEXT) $(am__objects_1) \ - $(am__objects_11) \ + $(am__objects_6) \ src/ostree/ostree-ot-admin-builtin-init-fs.$(OBJEXT) \ src/ostree/ostree-ot-admin-builtin-diff.$(OBJEXT) \ src/ostree/ostree-ot-admin-builtin-deploy.$(OBJEXT) \ @@ -1095,7 +1059,7 @@ am_ostree_OBJECTS = src/ostree/ostree-main.$(OBJEXT) \ src/ostree/ostree-ot-remote-builtin-show-url.$(OBJEXT) \ src/ostree/ostree-ot-remote-builtin-refs.$(OBJEXT) \ src/ostree/ostree-ot-remote-builtin-summary.$(OBJEXT) \ - $(am__objects_1) $(am__objects_12) $(am__objects_13) + $(am__objects_1) $(am__objects_11) $(am__objects_12) nodist_ostree_OBJECTS = src/ostree/ostree-parse-datetime.$(OBJEXT) \ $(am__objects_1) ostree_OBJECTS = $(am_ostree_OBJECTS) $(nodist_ostree_OBJECTS) @@ -1248,6 +1212,14 @@ tests_test_gpg_verify_result_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(tests_test_gpg_verify_result_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ +am_tests_test_include_ostree_h_OBJECTS = tests/tests_test_include_ostree_h-test-include-ostree-h.$(OBJEXT) +tests_test_include_ostree_h_OBJECTS = \ + $(am_tests_test_include_ostree_h_OBJECTS) +tests_test_include_ostree_h_DEPENDENCIES = $(am__DEPENDENCIES_13) +tests_test_include_ostree_h_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(tests_test_include_ostree_h_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ tests_test_keyfile_utils_SOURCES = tests/test-keyfile-utils.c tests_test_keyfile_utils_OBJECTS = \ tests/tests_test_keyfile_utils-test-keyfile-utils.$(OBJEXT) @@ -1443,6 +1415,7 @@ SOURCES = $(libbsdiff_la_SOURCES) $(libbupsplit_la_SOURCES) \ $(tests_test_bloom_SOURCES) tests/test-bsdiff.c \ $(tests_test_checksum_SOURCES) \ $(tests_test_gpg_verify_result_SOURCES) \ + $(tests_test_include_ostree_h_SOURCES) \ tests/test-keyfile-utils.c \ $(tests_test_libarchive_import_SOURCES) \ $(tests_test_lzma_SOURCES) tests/test-mutable-tree.c \ @@ -1471,6 +1444,7 @@ DIST_SOURCES = $(libbsdiff_la_SOURCES) \ $(tests_test_bloom_SOURCES) tests/test-bsdiff.c \ $(tests_test_checksum_SOURCES) \ $(tests_test_gpg_verify_result_SOURCES) \ + $(tests_test_include_ostree_h_SOURCES) \ tests/test-keyfile-utils.c \ $(tests_test_libarchive_import_SOURCES) \ $(tests_test_lzma_SOURCES) tests/test-mutable-tree.c \ @@ -1516,27 +1490,6 @@ DATA = $(dist_completions_DATA) $(dist_gpginsttest_DATA) \ $(installed_test_meta_DATA) $(mkinitcpioconf_DATA) \ $(nobase_installed_test_DATA) $(noinst_DATA) $(pkgconfig_DATA) \ $(systemdsystemunit_DATA) $(typelib_DATA) -am__libostreeinclude_HEADERS_DIST = src/libostree/ostree.h \ - src/libostree/ostree-async-progress.h \ - src/libostree/ostree-autocleanups.h \ - src/libostree/ostree-core.h \ - src/libostree/ostree-dummy-enumtypes.h \ - src/libostree/ostree-mutable-tree.h \ - src/libostree/ostree-repo.h src/libostree/ostree-types.h \ - src/libostree/ostree-repo-file.h src/libostree/ostree-diff.h \ - src/libostree/ostree-gpg-verify-result.h \ - src/libostree/ostree-sepolicy.h src/libostree/ostree-sysroot.h \ - src/libostree/ostree-sysroot-upgrader.h \ - src/libostree/ostree-deployment.h \ - src/libostree/ostree-bootconfig-parser.h \ - src/libostree/ostree-repo-deprecated.h \ - src/libostree/ostree-ref.h src/libostree/ostree-remote.h \ - src/libostree/ostree-repo-finder.h \ - src/libostree/ostree-repo-finder-avahi.h \ - src/libostree/ostree-repo-finder-config.h \ - src/libostree/ostree-repo-finder-mount.h \ - src/libostree/ostree-repo-finder-override.h \ - src/libostree/ostree-version.h HEADERS = $(libostreeinclude_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive @@ -1723,18 +1676,12 @@ am__set_TESTS_bases = \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` RECHECK_LOGS = $(TEST_LOGS) -am__EXEEXT_21 = tests/test-create-usb.sh tests/test-find-remotes.sh \ - tests/test-fsck-collections.sh tests/test-init-collections.sh \ - tests/test-prune-collections.sh tests/test-refs-collections.sh \ - tests/test-remote-add-collections.sh \ - tests/test-repo-finder-mount-integration.sh \ - tests/test-summary-collections.sh \ - tests/test-pull-collections.sh $(am__EXEEXT_2) -@ENABLE_EXPERIMENTAL_API_TRUE@am__EXEEXT_22 = $(am__EXEEXT_21) -am__EXEEXT_23 = tests/test-core.js tests/test-remotes-config-dir.js \ +am__EXEEXT_19 = $(am__EXEEXT_2) +@ENABLE_EXPERIMENTAL_API_TRUE@am__EXEEXT_20 = $(am__EXEEXT_19) +am__EXEEXT_21 = tests/test-core.js tests/test-remotes-config-dir.js \ tests/test-sizes.js tests/test-sysroot.js $(am__EXEEXT_2) -@BUILDOPT_GJS_TRUE@am__EXEEXT_24 = $(js_tests) $(am__EXEEXT_23) -am__EXEEXT_25 = tests/test-basic.sh tests/test-basic-user.sh \ +@BUILDOPT_GJS_TRUE@am__EXEEXT_22 = $(js_tests) $(am__EXEEXT_21) +am__EXEEXT_23 = tests/test-basic.sh tests/test-basic-user.sh \ tests/test-basic-user-only.sh tests/test-basic-root.sh \ tests/test-pull-subpath.sh tests/test-archivez.sh \ tests/test-remote-add.sh tests/test-remote-headers.sh \ @@ -1773,11 +1720,19 @@ am__EXEEXT_25 = tests/test-basic.sh tests/test-basic-user.sh \ tests/test-demo-buildsystem.sh tests/test-switchroot.sh \ tests/test-pull-contenturl.sh tests/test-pull-mirrorlist.sh \ tests/test-summary-update.sh tests/test-summary-view.sh \ - tests/test-no-initramfs.sh $(am__EXEEXT_2) $(am__EXEEXT_22) \ - $(am__append_69) $(am__append_72) $(am__EXEEXT_24) -@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__EXEEXT_26 = \ -@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@ $(am__EXEEXT_25) -am__EXEEXT_27 = $(am__EXEEXT_2) $(am__EXEEXT_26) + tests/test-no-initramfs.sh tests/test-create-usb.sh \ + tests/test-find-remotes.sh tests/test-fsck-collections.sh \ + tests/test-init-collections.sh tests/test-prune-collections.sh \ + tests/test-refs-collections.sh \ + tests/test-remote-add-collections.sh \ + tests/test-repo-finder-mount-integration.sh \ + tests/test-summary-collections.sh \ + tests/test-pull-collections.sh $(am__EXEEXT_2) \ + $(am__EXEEXT_20) $(am__append_66) $(am__append_69) \ + $(am__EXEEXT_22) +@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@am__EXEEXT_24 = \ +@ENABLE_INSTALLED_TESTS_EXCLUSIVE_FALSE@ $(am__EXEEXT_23) +am__EXEEXT_25 = $(am__EXEEXT_2) $(am__EXEEXT_24) TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) @@ -2042,6 +1997,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ rustc = @rustc@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ @@ -2070,29 +2026,28 @@ AM_CFLAGS = -std=gnu99 -fno-strict-aliasing $(WARN_CFLAGS) # Allow the distcheck install under $prefix test to pass AM_DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-man \ - --disable-maintainer-mode $(NULL) $(am__append_63) \ - $(am__append_83) \ + --disable-maintainer-mode $(NULL) $(am__append_61) \ + $(am__append_79) \ BASH_COMPLETIONSDIR='$${datadir}/bash-completion/completions' SUBDIRS = . $(am__append_14) NULL = BUILT_SOURCES = $(nodist_libostree_1_la_SOURCES) MANPAGES = -CLEANFILES = $(am__append_13) $(BUILT_SOURCES) $(am__append_48) \ +CLEANFILES = $(am__append_13) $(BUILT_SOURCES) $(am__append_46) \ src/ostree/parse-datetime.c tests/libreaddir-rand.so \ tests/ostree-symlink-stamp \ tests/ostree-prepare-root-symlink-stamp \ tests/ostree-remount-symlink-stamp \ tests/rofiles-fuse-symlink-stamp tests/ostree \ tests/ostree-prepare-root tests/ostree-remount \ - tests/rofiles-fuse $(am__append_91) + tests/rofiles-fuse $(am__append_86) EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) autogen.sh \ COPYING README.md $(am__append_15) libglnx/README.md \ libglnx/COPYING libglnx/libglnx.m4 $(NULL) \ libglnx/Makefile-libglnx.am bsdiff/bsdiff.h bsdiff/bspatch.h \ bsdiff/LICENSE bsdiff/README.md bsdiff/Makefile-bsdiff.am \ - $(am__append_17) \ + $(am__append_16) \ $(top_srcdir)/src/libostree/libostree-devel.sym \ - $(top_srcdir)/src/libostree/libostree-experimental.sym \ $(top_srcdir)/src/libostree/libostree-released.sym $(NULL) \ src/libostree/README-gpg src/libostree/bupsplit.h \ src/libostree/ostree-enumtypes.h.template \ @@ -2101,8 +2056,8 @@ EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) autogen.sh \ src/libostree/ostree-repo-deprecated.h \ src/libostree/ostree-version.h src/ostree/parse-datetime.y \ buildutil/tap-driver.sh buildutil/tap-test tests/glib.supp \ - tests/ostree.supp $(NULL) $(am__append_68) $(am__append_71) \ - $(am__append_74) tests/libtest.sh $(am__append_75) \ + tests/ostree.supp $(NULL) $(am__append_65) $(am__append_68) \ + $(am__append_71) tests/libtest.sh $(am__append_72) \ tests/libostreetest.h tests/libtest.sh \ tests/gpg-verify-data/README.md $(NULL) \ src/boot/dracut/module-setup.sh src/boot/dracut/ostree.conf \ @@ -2111,23 +2066,23 @@ EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) autogen.sh \ src/boot/ostree-remount.service \ src/boot/ostree-finalize-staged.service \ src/boot/grub2/grub2-15_ostree \ - src/boot/grub2/ostree-grub-generator $(NULL) $(am__append_87) \ - $(am__append_90) + src/boot/grub2/ostree-grub-generator $(NULL) $(am__append_83) \ + $(am__append_85) bin_SCRIPTS = lib_LTLIBRARIES = libostree-1.la -pkglibexec_SCRIPTS = $(am__append_84) +pkglibexec_SCRIPTS = $(am__append_80) 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_17) \ libostreetest.la privlibdir = $(pkglibdir) privlib_LTLIBRARIES = pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = src/libostree/ostree-1.pc -INTROSPECTION_GIRS = $(am__append_45) +INTROSPECTION_GIRS = $(am__append_43) girdir = $(datadir)/gir-1.0 -gir_DATA = $(am__append_46) +gir_DATA = $(am__append_44) typelibdir = $(libdir)/girepository-1.0 -typelib_DATA = $(am__append_47) +typelib_DATA = $(am__append_45) gsettings_SCHEMAS = ostree_bootdir = $(prefix)/lib/ostree @@ -2146,7 +2101,7 @@ AM_TESTS_ENVIRONMENT = G_TEST_SRCDIR="$(abs_srcdir)" \ pwd)$${LD_LIBRARY_PATH:+:$${LD_LIBRARY_PATH}} PATH=$$(cd \ $(top_builddir)/tests && pwd):$${PATH} \ OSTREE_FEATURES="$(OSTREE_FEATURES)" PYTHONUNBUFFERED=1 \ - $(NULL) $(am__append_65) + $(NULL) $(am__append_63) LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/buildutil/tap-driver.sh LOG_COMPILER = $(top_srcdir)/buildutil/tap-test installed_test_LTLIBRARIES = $(am__append_12) @@ -2186,14 +2141,14 @@ all_test_ltlibs = $(test_ltlibraries) $(uninstalled_test_ltlibraries) $(installe # This initializes some more variables # This is a special facility to chain together hooks easily -INSTALL_DATA_HOOKS = install-mkdir-remotes-d-hook $(am__append_82) \ - $(am__append_85) +INSTALL_DATA_HOOKS = install-mkdir-remotes-d-hook $(am__append_78) \ + $(am__append_81) ALL_LOCAL_RULES = tests/libreaddir-rand.so shortened_sysconfdir = $$(echo "$(sysconfdir)" | sed -e 's|^$(prefix)||' -e 's|^/||') OSTREE_GITREV = $(shell cd $(srcdir) && if command -v git >/dev/null 2>&1 && test -d .git; then git describe --abbrev=42 --tags --always HEAD; fi) ACLOCAL_AMFLAGS = -I buildutil -I libglnx ${ACLOCAL_FLAGS} GITIGNOREFILES = aclocal.m4 build-aux/ buildutil/*.m4 config.h.in \ - gtk-doc.make $(am__append_62) + gtk-doc.make $(am__append_60) OT_INTERNAL_GIO_UNIX_CFLAGS = $(OT_DEP_GIO_UNIX_CFLAGS) OT_INTERNAL_GIO_UNIX_LIBS = $(OT_DEP_GIO_UNIX_LIBS) OT_INTERNAL_SOUP_CFLAGS = $(OT_DEP_SOUP_CFLAGS) @@ -2295,21 +2250,33 @@ libotutil_la_SOURCES = \ libotutil_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/libglnx -I$(srcdir)/src/libotutil -DLOCALEDIR=\"$(datadir)/locale\" $(OT_INTERNAL_GIO_UNIX_CFLAGS) $(OT_INTERNAL_GPGME_CFLAGS) $(LIBSYSTEMD_CFLAGS) libotutil_la_LIBADD = $(OT_INTERNAL_GIO_UNIX_LIBS) $(OT_INTERNAL_GPGME_LIBS) $(LIBSYSTEMD_LIBS) -libostree_public_headers = src/libostree/ostree.h \ +libostree_public_headers = \ + src/libostree/ostree.h \ src/libostree/ostree-async-progress.h \ src/libostree/ostree-autocleanups.h \ src/libostree/ostree-core.h \ src/libostree/ostree-dummy-enumtypes.h \ src/libostree/ostree-mutable-tree.h \ - src/libostree/ostree-repo.h src/libostree/ostree-types.h \ - src/libostree/ostree-repo-file.h src/libostree/ostree-diff.h \ + src/libostree/ostree-repo.h \ + src/libostree/ostree-types.h \ + src/libostree/ostree-repo-file.h \ + src/libostree/ostree-diff.h \ src/libostree/ostree-gpg-verify-result.h \ - src/libostree/ostree-sepolicy.h src/libostree/ostree-sysroot.h \ + src/libostree/ostree-sepolicy.h \ + src/libostree/ostree-sysroot.h \ src/libostree/ostree-sysroot-upgrader.h \ src/libostree/ostree-deployment.h \ src/libostree/ostree-bootconfig-parser.h \ - src/libostree/ostree-repo-deprecated.h $(NULL) \ - $(am__append_16) + src/libostree/ostree-repo-deprecated.h \ + src/libostree/ostree-ref.h \ + src/libostree/ostree-remote.h \ + src/libostree/ostree-repo-finder.h \ + src/libostree/ostree-repo-finder-avahi.h \ + src/libostree/ostree-repo-finder-config.h \ + src/libostree/ostree-repo-finder-mount.h \ + src/libostree/ostree-repo-finder-override.h \ + $(NULL) + # This one is generated via configure.ac, and the gtk-doc # code hence needs to look in the builddir. @@ -2396,22 +2363,22 @@ libostree_1_la_SOURCES = src/libostree/ostree-async-progress.c \ src/libostree/ostree-gpg-verifier.h \ src/libostree/ostree-gpg-verify-result.c \ src/libostree/ostree-gpg-verify-result-private.h \ - src/libostree/ostree-autocleanups.h $(NULL) $(am__append_19) \ - $(am__append_20) $(am__append_21) $(am__append_22) \ - $(am__append_23) $(am__append_33) $(am__append_34) \ - $(am__append_37) + src/libostree/ostree-autocleanups.h \ + src/libostree/ostree-bloom.c \ + src/libostree/ostree-bloom-private.h \ + src/libostree/ostree-repo-finder.c \ + src/libostree/ostree-repo-finder-avahi.c \ + src/libostree/ostree-repo-finder-config.c \ + src/libostree/ostree-repo-finder-mount.c \ + src/libostree/ostree-repo-finder-override.c $(NULL) \ + $(am__append_18) $(am__append_19) $(am__append_20) \ + $(am__append_21) $(am__append_22) $(am__append_31) \ + $(am__append_32) $(am__append_35) libostree_experimental_headers = \ - src/libostree/ostree-ref.h \ - src/libostree/ostree-remote.h \ - src/libostree/ostree-repo-finder.h \ - src/libostree/ostree-repo-finder-avahi.h \ - src/libostree/ostree-repo-finder-config.h \ - src/libostree/ostree-repo-finder-mount.h \ - src/libostree/ostree-repo-finder-override.h \ $(NULL) symbol_files = $(top_srcdir)/src/libostree/libostree-released.sym \ - $(am__append_24) $(am__append_25) + $(am__append_23) # http://blog.jgc.org/2007/06/escaping-comma-and-space-in-gnu-make.html wl_versionscript_arg = -Wl,--version-script= libostree_1_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/bsdiff \ @@ -2421,23 +2388,23 @@ libostree_1_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/bsdiff \ $(OT_DEP_LZMA_CFLAGS) $(OT_DEP_ZLIB_CFLAGS) \ $(OT_DEP_CRYPTO_CFLAGS) -fvisibility=hidden \ '-D_OSTREE_PUBLIC=__attribute__((visibility("default"))) \ - extern' $(am__append_27) $(am__append_29) $(am__append_31) \ - $(am__append_35) $(am__append_38) $(am__append_40) \ - $(am__append_42) + extern' $(am__append_25) $(am__append_27) $(am__append_29) \ + $(am__append_33) $(am__append_36) $(am__append_38) \ + $(am__append_40) 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) $(OT_DEP_LZMA_LIBS) \ - $(OT_DEP_ZLIB_LIBS) $(OT_DEP_CRYPTO_LIBS) $(am__append_26) \ - $(bupsplitpath) $(am__append_28) $(am__append_30) \ - $(am__append_32) $(am__append_36) $(am__append_39) \ - $(am__append_41) $(am__append_43) + $(OT_DEP_ZLIB_LIBS) $(OT_DEP_CRYPTO_LIBS) $(am__append_24) \ + $(bupsplitpath) $(am__append_26) $(am__append_28) \ + $(am__append_30) $(am__append_34) $(am__append_37) \ + $(am__append_39) $(am__append_41) 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_INCLUDES = Gio-2.0 @BUILDOPT_INTROSPECTION_TRUE@OSTree_1_0_gir_CFLAGS = \ @BUILDOPT_INTROSPECTION_TRUE@ $(libostree_1_la_CFLAGS) \ -@BUILDOPT_INTROSPECTION_TRUE@ $(am__append_44) +@BUILDOPT_INTROSPECTION_TRUE@ $(am__append_42) @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_FILES = $(libostreeinclude_HEADERS) $(filter-out %-private.h %/ostree-soup-uri.h $(libostree_experimental_headers),$(libostree_1_la_SOURCES)) @@ -2452,9 +2419,12 @@ ostree_SOURCES = src/ostree/main.c src/ostree/ot-builtin-admin.c \ src/ostree/ot-builtin-config.c \ src/ostree/ot-builtin-checkout.c \ src/ostree/ot-builtin-checksum.c \ - src/ostree/ot-builtin-commit.c src/ostree/ot-builtin-diff.c \ - src/ostree/ot-builtin-export.c src/ostree/ot-builtin-fsck.c \ - src/ostree/ot-builtin-gpg-sign.c src/ostree/ot-builtin-init.c \ + src/ostree/ot-builtin-commit.c \ + src/ostree/ot-builtin-create-usb.c \ + src/ostree/ot-builtin-diff.c src/ostree/ot-builtin-export.c \ + src/ostree/ot-builtin-find-remotes.c \ + src/ostree/ot-builtin-fsck.c src/ostree/ot-builtin-gpg-sign.c \ + src/ostree/ot-builtin-init.c \ src/ostree/ot-builtin-pull-local.c src/ostree/ot-builtin-log.c \ src/ostree/ot-builtin-ls.c src/ostree/ot-builtin-prune.c \ src/ostree/ot-builtin-refs.c src/ostree/ot-builtin-remote.c \ @@ -2464,7 +2434,7 @@ ostree_SOURCES = src/ostree/main.c src/ostree/ot-builtin-admin.c \ src/ostree/ot-builtin-static-delta.c src/ostree/ot-main.h \ src/ostree/ot-main.c src/ostree/ot-dump.h src/ostree/ot-dump.c \ src/ostree/ot-editor.c src/ostree/ot-editor.h \ - src/ostree/parse-datetime.h $(NULL) $(am__append_49) \ + src/ostree/parse-datetime.h $(NULL) $(am__append_47) \ src/ostree/ot-admin-builtin-init-fs.c \ src/ostree/ot-admin-builtin-diff.c \ src/ostree/ot-admin-builtin-deploy.c \ @@ -2494,7 +2464,7 @@ ostree_SOURCES = src/ostree/main.c src/ostree/ot-builtin-admin.c \ src/ostree/ot-remote-builtin-show-url.c \ src/ostree/ot-remote-builtin-refs.c \ src/ostree/ot-remote-builtin-summary.c $(NULL) \ - $(am__append_50) $(am__append_51) + $(am__append_48) $(am__append_49) nodist_ostree_SOURCES = \ src/ostree/parse-datetime.c \ $(NULL) @@ -2506,11 +2476,11 @@ ostree_bin_shared_cflags = $(AM_CFLAGS) -I$(srcdir)/src/libotutil -I$(srcdir)/sr ostree_bin_shared_ldadd = $(AM_LDFLAGS) libglnx.la libotutil.la libostree-1.la \ $(OT_INTERNAL_GIO_UNIX_LIBS) -ostree_CFLAGS = $(ostree_bin_shared_cflags) $(am__append_53) \ - $(am__append_55) +ostree_CFLAGS = $(ostree_bin_shared_cflags) $(am__append_51) \ + $(am__append_53) ostree_LDADD = $(ostree_bin_shared_ldadd) libbsdiff.la \ - libostree-kernel-args.la $(LIBSYSTEMD_LIBS) $(am__append_54) \ - $(am__append_56) + libostree-kernel-args.la $(LIBSYSTEMD_LIBS) $(am__append_52) \ + $(am__append_54) @USE_LIBSOUP_TRUE@ostree_trivial_httpd_SOURCES = src/ostree/ostree-trivial-httpd.c @USE_LIBSOUP_TRUE@ostree_trivial_httpd_CFLAGS = $(ostree_bin_shared_cflags) $(OT_INTERNAL_SOUP_CFLAGS) @USE_LIBSOUP_TRUE@ostree_trivial_httpd_LDADD = $(ostree_bin_shared_ldadd) $(OT_INTERNAL_SOUP_LIBS) @@ -2519,7 +2489,7 @@ ostree_prepare_root_SOURCES = \ src/switchroot/ostree-prepare-root.c \ $(NULL) -ostree_prepare_root_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_60) +ostree_prepare_root_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_58) # We're using our internal generator @BUILDOPT_BUILTIN_GRUB2_MKCONFIG_TRUE@ostree_boot_SCRIPTS = src/boot/grub2/ostree-grub-generator @@ -2541,7 +2511,7 @@ ostree_remount_SOURCES = \ $(NULL) ostree_remount_CPPFLAGS = $(AM_CPPFLAGS) -Isrc/switchroot \ - $(am__append_61) + $(am__append_59) @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 @@ -2556,7 +2526,7 @@ ostree_remount_CPPFLAGS = $(AM_CPPFLAGS) -Isrc/switchroot \ @BUILDOPT_FUSE_TRUE@rofiles_fuse_LDADD = libglnx.la $(BUILDOPT_FUSE_LIBS) $(OT_INTERNAL_GIO_UNIX_LIBS) libostree-1.la uninstalled_test_data = tests/ostree-symlink-stamp \ tests/ostree-prepare-root-symlink-stamp \ - tests/ostree-remount-symlink-stamp $(am__append_70) + tests/ostree-remount-symlink-stamp $(am__append_67) dist_uninstalled_test_scripts = tests/test-symbols.sh tests/coccinelle.sh # This logic implements ENABLE_INSTALLED_TESTS_EXCLUSIVE; see below. @@ -2564,9 +2534,10 @@ dist_uninstalled_test_scripts = tests/test-symbols.sh tests/coccinelle.sh # tests *only* run installed, to avoid having to run them twice in CI. # This overrides the glib-tap.mk emphasis on doing both, if we'd # used e.g. `dist_test_scripts`. -dist_test_scripts = $(NULL) $(am__append_80) -test_programs = $(NULL) $(am__append_77) $(am__append_78) \ - $(am__append_81) +dist_test_scripts = $(NULL) $(am__append_76) +test_programs = tests/test-bloom tests/test-repo-finder-config \ + tests/test-repo-finder-mount $(NULL) $(am__append_74) \ + $(am__append_77) _installed_or_uninstalled_test_scripts = tests/test-basic.sh \ tests/test-basic-user.sh tests/test-basic-user-only.sh \ tests/test-basic-root.sh tests/test-pull-subpath.sh \ @@ -2606,22 +2577,23 @@ _installed_or_uninstalled_test_scripts = tests/test-basic.sh \ tests/test-demo-buildsystem.sh tests/test-switchroot.sh \ tests/test-pull-contenturl.sh tests/test-pull-mirrorlist.sh \ tests/test-summary-update.sh tests/test-summary-view.sh \ - tests/test-no-initramfs.sh $(NULL) $(am__append_66) \ - $(am__append_69) $(am__append_72) $(am__append_73) -experimental_test_scripts = \ - tests/test-create-usb.sh \ - tests/test-find-remotes.sh \ - tests/test-fsck-collections.sh \ - tests/test-init-collections.sh \ - tests/test-prune-collections.sh \ + tests/test-no-initramfs.sh tests/test-create-usb.sh \ + tests/test-find-remotes.sh tests/test-fsck-collections.sh \ + tests/test-init-collections.sh tests/test-prune-collections.sh \ tests/test-refs-collections.sh \ tests/test-remote-add-collections.sh \ tests/test-repo-finder-mount-integration.sh \ tests/test-summary-collections.sh \ - tests/test-pull-collections.sh \ + tests/test-pull-collections.sh $(NULL) $(am__append_64) \ + $(am__append_66) $(am__append_69) $(am__append_70) +experimental_test_scripts = \ + $(NULL) + +test_extra_programs = \ + tests/get-byte-order \ + tests/repo-finder-mount \ $(NULL) -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) @@ -2683,7 +2655,7 @@ libreaddir_rand_la_LIBADD = \ $(NULL) libreaddir_rand_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version \ - $(am__append_76) + $(am__append_73) _installed_or_uninstalled_test_programs = tests/test-varint \ tests/test-ot-unix-utils tests/test-bsdiff \ tests/test-mutable-tree tests/test-keyfile-utils \ @@ -2691,7 +2663,7 @@ _installed_or_uninstalled_test_programs = tests/test-varint \ tests/test-gpg-verify-result tests/test-checksum \ tests/test-lzma tests/test-rollsum tests/test-basic-c \ tests/test-sysroot-c tests/test-pull-c tests/test-repo \ - $(am__append_79) + tests/test-include-ostree-h $(am__append_75) common_tests_cflags = $(ostree_bin_shared_cflags) $(OT_INTERNAL_GIO_UNIX_CFLAGS) -I$(srcdir)/libglnx common_tests_ldadd = $(ostree_bin_shared_ldadd) $(OT_INTERNAL_GIO_UNIX_LIBS) libostreetest_la_SOURCES = tests/libostreetest.c tests/test-mock-gio.c tests/test-mock-gio.h @@ -2708,6 +2680,12 @@ tests_test_rollsum_LDADD = $(bupsplitpath) $(TESTS_LDADD) $(OT_DEP_ZLIB_LIBS) tests_test_bloom_SOURCES = src/libostree/ostree-bloom.c tests/test-bloom.c tests_test_bloom_CFLAGS = $(TESTS_CFLAGS) tests_test_bloom_LDADD = $(TESTS_LDADD) +tests_test_include_ostree_h_SOURCES = tests/test-include-ostree-h.c +# Don't use TESTS_CFLAGS so we test if the public header can be included by external programs +tests_test_include_ostree_h_CFLAGS = $(AM_CFLAGS) $(OT_INTERNAL_GIO_UNIX_CFLAGS) -I$(srcdir)/src/libostree -I$(builddir)/src/libostree +# Don't define OSTREE_COMPILATION so that we're compiling as if it's an external program +tests_test_include_ostree_h_CPPFLAGS = $(AM_CPPFLAGS) -UOSTREE_COMPILATION +tests_test_include_ostree_h_LDADD = $(TESTS_LDADD) @USE_AVAHI_TRUE@tests_test_repo_finder_avahi_SOURCES = src/libostree/ostree-repo-finder-avahi-parser.c tests/test-repo-finder-avahi.c @USE_AVAHI_TRUE@tests_test_repo_finder_avahi_CFLAGS = $(TESTS_CFLAGS) @USE_AVAHI_TRUE@tests_test_repo_finder_avahi_LDADD = $(TESTS_LDADD) @@ -2788,15 +2766,16 @@ tests_test_gpg_verify_result_LDADD = $(TESTS_LDADD) $(OT_INTERNAL_GPGME_LIBS) @ENABLE_MAN_TRUE@ ostree-admin-pin.1 ostree-admin.1 \ @ENABLE_MAN_TRUE@ ostree-cat.1 ostree-checkout.1 \ @ENABLE_MAN_TRUE@ ostree-checksum.1 ostree-commit.1 \ -@ENABLE_MAN_TRUE@ ostree-export.1 ostree-gpg-sign.1 \ -@ENABLE_MAN_TRUE@ ostree-config.1 ostree-diff.1 ostree-fsck.1 \ -@ENABLE_MAN_TRUE@ ostree-init.1 ostree-log.1 ostree-ls.1 \ -@ENABLE_MAN_TRUE@ ostree-prune.1 ostree-pull-local.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-show.1 ostree-summary.1 \ -@ENABLE_MAN_TRUE@ ostree-static-delta.1 $(am__append_86) \ -@ENABLE_MAN_TRUE@ $(am__append_88) $(am__append_89) +@ENABLE_MAN_TRUE@ ostree-create-usb.1 ostree-export.1 \ +@ENABLE_MAN_TRUE@ ostree-gpg-sign.1 ostree-config.1 \ +@ENABLE_MAN_TRUE@ ostree-diff.1 ostree-find-remotes.1 \ +@ENABLE_MAN_TRUE@ ostree-fsck.1 ostree-init.1 ostree-log.1 \ +@ENABLE_MAN_TRUE@ ostree-ls.1 ostree-prune.1 \ +@ENABLE_MAN_TRUE@ ostree-pull-local.1 ostree-pull.1 \ +@ENABLE_MAN_TRUE@ ostree-refs.1 ostree-remote.1 ostree-reset.1 \ +@ENABLE_MAN_TRUE@ ostree-rev-parse.1 ostree-show.1 \ +@ENABLE_MAN_TRUE@ ostree-summary.1 ostree-static-delta.1 \ +@ENABLE_MAN_TRUE@ $(am__append_82) $(am__append_84) @ENABLE_MAN_TRUE@man5_files = ostree.repo.5 ostree.repo-config.5 @ENABLE_MAN_TRUE@man1_MANS = $(addprefix man/,$(man1_files)) @ENABLE_MAN_TRUE@man5_MANS = $(addprefix man/,$(man5_files)) @@ -3182,12 +3161,6 @@ src/libostree/libostree_1_la-ostree-gpg-verifier.lo: \ src/libostree/libostree_1_la-ostree-gpg-verify-result.lo: \ src/libostree/$(am__dirstamp) \ src/libostree/$(DEPDIR)/$(am__dirstamp) -src/libostree/libostree_1_la-ostree-libarchive-input-stream.lo: \ - src/libostree/$(am__dirstamp) \ - src/libostree/$(DEPDIR)/$(am__dirstamp) -src/libostree/libostree_1_la-ostree-tls-cert-interaction.lo: \ - src/libostree/$(am__dirstamp) \ - src/libostree/$(DEPDIR)/$(am__dirstamp) src/libostree/libostree_1_la-ostree-bloom.lo: \ src/libostree/$(am__dirstamp) \ src/libostree/$(DEPDIR)/$(am__dirstamp) @@ -3206,6 +3179,12 @@ src/libostree/libostree_1_la-ostree-repo-finder-mount.lo: \ src/libostree/libostree_1_la-ostree-repo-finder-override.lo: \ src/libostree/$(am__dirstamp) \ src/libostree/$(DEPDIR)/$(am__dirstamp) +src/libostree/libostree_1_la-ostree-libarchive-input-stream.lo: \ + src/libostree/$(am__dirstamp) \ + src/libostree/$(DEPDIR)/$(am__dirstamp) +src/libostree/libostree_1_la-ostree-tls-cert-interaction.lo: \ + src/libostree/$(am__dirstamp) \ + src/libostree/$(DEPDIR)/$(am__dirstamp) src/libostree/libostree_1_la-ostree-repo-finder-avahi-parser.lo: \ src/libostree/$(am__dirstamp) \ src/libostree/$(DEPDIR)/$(am__dirstamp) @@ -3689,12 +3668,18 @@ src/ostree/ostree-ot-builtin-checksum.$(OBJEXT): \ src/ostree/ostree-ot-builtin-commit.$(OBJEXT): \ src/ostree/$(am__dirstamp) \ src/ostree/$(DEPDIR)/$(am__dirstamp) +src/ostree/ostree-ot-builtin-create-usb.$(OBJEXT): \ + src/ostree/$(am__dirstamp) \ + src/ostree/$(DEPDIR)/$(am__dirstamp) src/ostree/ostree-ot-builtin-diff.$(OBJEXT): \ src/ostree/$(am__dirstamp) \ src/ostree/$(DEPDIR)/$(am__dirstamp) src/ostree/ostree-ot-builtin-export.$(OBJEXT): \ src/ostree/$(am__dirstamp) \ src/ostree/$(DEPDIR)/$(am__dirstamp) +src/ostree/ostree-ot-builtin-find-remotes.$(OBJEXT): \ + src/ostree/$(am__dirstamp) \ + src/ostree/$(DEPDIR)/$(am__dirstamp) src/ostree/ostree-ot-builtin-fsck.$(OBJEXT): \ src/ostree/$(am__dirstamp) \ src/ostree/$(DEPDIR)/$(am__dirstamp) @@ -3742,12 +3727,6 @@ src/ostree/ostree-ot-dump.$(OBJEXT): src/ostree/$(am__dirstamp) \ src/ostree/$(DEPDIR)/$(am__dirstamp) src/ostree/ostree-ot-editor.$(OBJEXT): src/ostree/$(am__dirstamp) \ src/ostree/$(DEPDIR)/$(am__dirstamp) -src/ostree/ostree-ot-builtin-create-usb.$(OBJEXT): \ - src/ostree/$(am__dirstamp) \ - src/ostree/$(DEPDIR)/$(am__dirstamp) -src/ostree/ostree-ot-builtin-find-remotes.$(OBJEXT): \ - src/ostree/$(am__dirstamp) \ - src/ostree/$(DEPDIR)/$(am__dirstamp) src/ostree/ostree-ot-admin-builtin-init-fs.$(OBJEXT): \ src/ostree/$(am__dirstamp) \ src/ostree/$(DEPDIR)/$(am__dirstamp) @@ -3984,6 +3963,12 @@ tests/tests_test_gpg_verify_result-test-gpg-verify-result.$(OBJEXT): \ tests/test-gpg-verify-result$(EXEEXT): $(tests_test_gpg_verify_result_OBJECTS) $(tests_test_gpg_verify_result_DEPENDENCIES) $(EXTRA_tests_test_gpg_verify_result_DEPENDENCIES) tests/$(am__dirstamp) @rm -f tests/test-gpg-verify-result$(EXEEXT) $(AM_V_CCLD)$(tests_test_gpg_verify_result_LINK) $(tests_test_gpg_verify_result_OBJECTS) $(tests_test_gpg_verify_result_LDADD) $(LIBS) +tests/tests_test_include_ostree_h-test-include-ostree-h.$(OBJEXT): \ + tests/$(am__dirstamp) tests/$(DEPDIR)/$(am__dirstamp) + +tests/test-include-ostree-h$(EXEEXT): $(tests_test_include_ostree_h_OBJECTS) $(tests_test_include_ostree_h_DEPENDENCIES) $(EXTRA_tests_test_include_ostree_h_DEPENDENCIES) tests/$(am__dirstamp) + @rm -f tests/test-include-ostree-h$(EXEEXT) + $(AM_V_CCLD)$(tests_test_include_ostree_h_LINK) $(tests_test_include_ostree_h_OBJECTS) $(tests_test_include_ostree_h_LDADD) $(LIBS) tests/tests_test_keyfile_utils-test-keyfile-utils.$(OBJEXT): \ tests/$(am__dirstamp) tests/$(DEPDIR)/$(am__dirstamp) @@ -4506,6 +4491,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_test_bsdiff-test-bsdiff.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_test_checksum-test-checksum.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_test_gpg_verify_result-test-gpg-verify-result.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_test_include_ostree_h-test-include-ostree-h.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_test_keyfile_utils-test-keyfile-utils.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_test_libarchive_import-test-libarchive-import.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_test_lzma-test-lzma.Po@am__quote@ @@ -4932,20 +4918,6 @@ src/libostree/libostree_1_la-ostree-gpg-verify-result.lo: src/libostree/ostree-g @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libostree_1_la_CFLAGS) $(CFLAGS) -c -o src/libostree/libostree_1_la-ostree-gpg-verify-result.lo `test -f 'src/libostree/ostree-gpg-verify-result.c' || echo '$(srcdir)/'`src/libostree/ostree-gpg-verify-result.c -src/libostree/libostree_1_la-ostree-libarchive-input-stream.lo: src/libostree/ostree-libarchive-input-stream.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libostree_1_la_CFLAGS) $(CFLAGS) -MT src/libostree/libostree_1_la-ostree-libarchive-input-stream.lo -MD -MP -MF src/libostree/$(DEPDIR)/libostree_1_la-ostree-libarchive-input-stream.Tpo -c -o src/libostree/libostree_1_la-ostree-libarchive-input-stream.lo `test -f 'src/libostree/ostree-libarchive-input-stream.c' || echo '$(srcdir)/'`src/libostree/ostree-libarchive-input-stream.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/libostree/$(DEPDIR)/libostree_1_la-ostree-libarchive-input-stream.Tpo src/libostree/$(DEPDIR)/libostree_1_la-ostree-libarchive-input-stream.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/libostree/ostree-libarchive-input-stream.c' object='src/libostree/libostree_1_la-ostree-libarchive-input-stream.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libostree_1_la_CFLAGS) $(CFLAGS) -c -o src/libostree/libostree_1_la-ostree-libarchive-input-stream.lo `test -f 'src/libostree/ostree-libarchive-input-stream.c' || echo '$(srcdir)/'`src/libostree/ostree-libarchive-input-stream.c - -src/libostree/libostree_1_la-ostree-tls-cert-interaction.lo: src/libostree/ostree-tls-cert-interaction.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libostree_1_la_CFLAGS) $(CFLAGS) -MT src/libostree/libostree_1_la-ostree-tls-cert-interaction.lo -MD -MP -MF src/libostree/$(DEPDIR)/libostree_1_la-ostree-tls-cert-interaction.Tpo -c -o src/libostree/libostree_1_la-ostree-tls-cert-interaction.lo `test -f 'src/libostree/ostree-tls-cert-interaction.c' || echo '$(srcdir)/'`src/libostree/ostree-tls-cert-interaction.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/libostree/$(DEPDIR)/libostree_1_la-ostree-tls-cert-interaction.Tpo src/libostree/$(DEPDIR)/libostree_1_la-ostree-tls-cert-interaction.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/libostree/ostree-tls-cert-interaction.c' object='src/libostree/libostree_1_la-ostree-tls-cert-interaction.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libostree_1_la_CFLAGS) $(CFLAGS) -c -o src/libostree/libostree_1_la-ostree-tls-cert-interaction.lo `test -f 'src/libostree/ostree-tls-cert-interaction.c' || echo '$(srcdir)/'`src/libostree/ostree-tls-cert-interaction.c - src/libostree/libostree_1_la-ostree-bloom.lo: src/libostree/ostree-bloom.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libostree_1_la_CFLAGS) $(CFLAGS) -MT src/libostree/libostree_1_la-ostree-bloom.lo -MD -MP -MF src/libostree/$(DEPDIR)/libostree_1_la-ostree-bloom.Tpo -c -o src/libostree/libostree_1_la-ostree-bloom.lo `test -f 'src/libostree/ostree-bloom.c' || echo '$(srcdir)/'`src/libostree/ostree-bloom.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/libostree/$(DEPDIR)/libostree_1_la-ostree-bloom.Tpo src/libostree/$(DEPDIR)/libostree_1_la-ostree-bloom.Plo @@ -4988,6 +4960,20 @@ src/libostree/libostree_1_la-ostree-repo-finder-override.lo: src/libostree/ostre @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libostree_1_la_CFLAGS) $(CFLAGS) -c -o src/libostree/libostree_1_la-ostree-repo-finder-override.lo `test -f 'src/libostree/ostree-repo-finder-override.c' || echo '$(srcdir)/'`src/libostree/ostree-repo-finder-override.c +src/libostree/libostree_1_la-ostree-libarchive-input-stream.lo: src/libostree/ostree-libarchive-input-stream.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libostree_1_la_CFLAGS) $(CFLAGS) -MT src/libostree/libostree_1_la-ostree-libarchive-input-stream.lo -MD -MP -MF src/libostree/$(DEPDIR)/libostree_1_la-ostree-libarchive-input-stream.Tpo -c -o src/libostree/libostree_1_la-ostree-libarchive-input-stream.lo `test -f 'src/libostree/ostree-libarchive-input-stream.c' || echo '$(srcdir)/'`src/libostree/ostree-libarchive-input-stream.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/libostree/$(DEPDIR)/libostree_1_la-ostree-libarchive-input-stream.Tpo src/libostree/$(DEPDIR)/libostree_1_la-ostree-libarchive-input-stream.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/libostree/ostree-libarchive-input-stream.c' object='src/libostree/libostree_1_la-ostree-libarchive-input-stream.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libostree_1_la_CFLAGS) $(CFLAGS) -c -o src/libostree/libostree_1_la-ostree-libarchive-input-stream.lo `test -f 'src/libostree/ostree-libarchive-input-stream.c' || echo '$(srcdir)/'`src/libostree/ostree-libarchive-input-stream.c + +src/libostree/libostree_1_la-ostree-tls-cert-interaction.lo: src/libostree/ostree-tls-cert-interaction.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libostree_1_la_CFLAGS) $(CFLAGS) -MT src/libostree/libostree_1_la-ostree-tls-cert-interaction.lo -MD -MP -MF src/libostree/$(DEPDIR)/libostree_1_la-ostree-tls-cert-interaction.Tpo -c -o src/libostree/libostree_1_la-ostree-tls-cert-interaction.lo `test -f 'src/libostree/ostree-tls-cert-interaction.c' || echo '$(srcdir)/'`src/libostree/ostree-tls-cert-interaction.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/libostree/$(DEPDIR)/libostree_1_la-ostree-tls-cert-interaction.Tpo src/libostree/$(DEPDIR)/libostree_1_la-ostree-tls-cert-interaction.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/libostree/ostree-tls-cert-interaction.c' object='src/libostree/libostree_1_la-ostree-tls-cert-interaction.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libostree_1_la_CFLAGS) $(CFLAGS) -c -o src/libostree/libostree_1_la-ostree-tls-cert-interaction.lo `test -f 'src/libostree/ostree-tls-cert-interaction.c' || echo '$(srcdir)/'`src/libostree/ostree-tls-cert-interaction.c + src/libostree/libostree_1_la-ostree-repo-finder-avahi-parser.lo: src/libostree/ostree-repo-finder-avahi-parser.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libostree_1_la_CFLAGS) $(CFLAGS) -MT src/libostree/libostree_1_la-ostree-repo-finder-avahi-parser.lo -MD -MP -MF src/libostree/$(DEPDIR)/libostree_1_la-ostree-repo-finder-avahi-parser.Tpo -c -o src/libostree/libostree_1_la-ostree-repo-finder-avahi-parser.lo `test -f 'src/libostree/ostree-repo-finder-avahi-parser.c' || echo '$(srcdir)/'`src/libostree/ostree-repo-finder-avahi-parser.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/libostree/$(DEPDIR)/libostree_1_la-ostree-repo-finder-avahi-parser.Tpo src/libostree/$(DEPDIR)/libostree_1_la-ostree-repo-finder-avahi-parser.Plo @@ -5254,6 +5240,20 @@ src/ostree/ostree-ot-builtin-commit.obj: src/ostree/ot-builtin-commit.c @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) $(ostree_CFLAGS) $(CFLAGS) -c -o src/ostree/ostree-ot-builtin-commit.obj `if test -f 'src/ostree/ot-builtin-commit.c'; then $(CYGPATH_W) 'src/ostree/ot-builtin-commit.c'; else $(CYGPATH_W) '$(srcdir)/src/ostree/ot-builtin-commit.c'; fi` +src/ostree/ostree-ot-builtin-create-usb.o: src/ostree/ot-builtin-create-usb.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -MT src/ostree/ostree-ot-builtin-create-usb.o -MD -MP -MF src/ostree/$(DEPDIR)/ostree-ot-builtin-create-usb.Tpo -c -o src/ostree/ostree-ot-builtin-create-usb.o `test -f 'src/ostree/ot-builtin-create-usb.c' || echo '$(srcdir)/'`src/ostree/ot-builtin-create-usb.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/ostree/$(DEPDIR)/ostree-ot-builtin-create-usb.Tpo src/ostree/$(DEPDIR)/ostree-ot-builtin-create-usb.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ostree/ot-builtin-create-usb.c' object='src/ostree/ostree-ot-builtin-create-usb.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) $(ostree_CFLAGS) $(CFLAGS) -c -o src/ostree/ostree-ot-builtin-create-usb.o `test -f 'src/ostree/ot-builtin-create-usb.c' || echo '$(srcdir)/'`src/ostree/ot-builtin-create-usb.c + +src/ostree/ostree-ot-builtin-create-usb.obj: src/ostree/ot-builtin-create-usb.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -MT src/ostree/ostree-ot-builtin-create-usb.obj -MD -MP -MF src/ostree/$(DEPDIR)/ostree-ot-builtin-create-usb.Tpo -c -o src/ostree/ostree-ot-builtin-create-usb.obj `if test -f 'src/ostree/ot-builtin-create-usb.c'; then $(CYGPATH_W) 'src/ostree/ot-builtin-create-usb.c'; else $(CYGPATH_W) '$(srcdir)/src/ostree/ot-builtin-create-usb.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/ostree/$(DEPDIR)/ostree-ot-builtin-create-usb.Tpo src/ostree/$(DEPDIR)/ostree-ot-builtin-create-usb.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ostree/ot-builtin-create-usb.c' object='src/ostree/ostree-ot-builtin-create-usb.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) $(ostree_CFLAGS) $(CFLAGS) -c -o src/ostree/ostree-ot-builtin-create-usb.obj `if test -f 'src/ostree/ot-builtin-create-usb.c'; then $(CYGPATH_W) 'src/ostree/ot-builtin-create-usb.c'; else $(CYGPATH_W) '$(srcdir)/src/ostree/ot-builtin-create-usb.c'; fi` + src/ostree/ostree-ot-builtin-diff.o: src/ostree/ot-builtin-diff.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -MT src/ostree/ostree-ot-builtin-diff.o -MD -MP -MF src/ostree/$(DEPDIR)/ostree-ot-builtin-diff.Tpo -c -o src/ostree/ostree-ot-builtin-diff.o `test -f 'src/ostree/ot-builtin-diff.c' || echo '$(srcdir)/'`src/ostree/ot-builtin-diff.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/ostree/$(DEPDIR)/ostree-ot-builtin-diff.Tpo src/ostree/$(DEPDIR)/ostree-ot-builtin-diff.Po @@ -5282,6 +5282,20 @@ src/ostree/ostree-ot-builtin-export.obj: src/ostree/ot-builtin-export.c @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) $(ostree_CFLAGS) $(CFLAGS) -c -o src/ostree/ostree-ot-builtin-export.obj `if test -f 'src/ostree/ot-builtin-export.c'; then $(CYGPATH_W) 'src/ostree/ot-builtin-export.c'; else $(CYGPATH_W) '$(srcdir)/src/ostree/ot-builtin-export.c'; fi` +src/ostree/ostree-ot-builtin-find-remotes.o: src/ostree/ot-builtin-find-remotes.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -MT src/ostree/ostree-ot-builtin-find-remotes.o -MD -MP -MF src/ostree/$(DEPDIR)/ostree-ot-builtin-find-remotes.Tpo -c -o src/ostree/ostree-ot-builtin-find-remotes.o `test -f 'src/ostree/ot-builtin-find-remotes.c' || echo '$(srcdir)/'`src/ostree/ot-builtin-find-remotes.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/ostree/$(DEPDIR)/ostree-ot-builtin-find-remotes.Tpo src/ostree/$(DEPDIR)/ostree-ot-builtin-find-remotes.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ostree/ot-builtin-find-remotes.c' object='src/ostree/ostree-ot-builtin-find-remotes.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) $(ostree_CFLAGS) $(CFLAGS) -c -o src/ostree/ostree-ot-builtin-find-remotes.o `test -f 'src/ostree/ot-builtin-find-remotes.c' || echo '$(srcdir)/'`src/ostree/ot-builtin-find-remotes.c + +src/ostree/ostree-ot-builtin-find-remotes.obj: src/ostree/ot-builtin-find-remotes.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -MT src/ostree/ostree-ot-builtin-find-remotes.obj -MD -MP -MF src/ostree/$(DEPDIR)/ostree-ot-builtin-find-remotes.Tpo -c -o src/ostree/ostree-ot-builtin-find-remotes.obj `if test -f 'src/ostree/ot-builtin-find-remotes.c'; then $(CYGPATH_W) 'src/ostree/ot-builtin-find-remotes.c'; else $(CYGPATH_W) '$(srcdir)/src/ostree/ot-builtin-find-remotes.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/ostree/$(DEPDIR)/ostree-ot-builtin-find-remotes.Tpo src/ostree/$(DEPDIR)/ostree-ot-builtin-find-remotes.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ostree/ot-builtin-find-remotes.c' object='src/ostree/ostree-ot-builtin-find-remotes.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) $(ostree_CFLAGS) $(CFLAGS) -c -o src/ostree/ostree-ot-builtin-find-remotes.obj `if test -f 'src/ostree/ot-builtin-find-remotes.c'; then $(CYGPATH_W) 'src/ostree/ot-builtin-find-remotes.c'; else $(CYGPATH_W) '$(srcdir)/src/ostree/ot-builtin-find-remotes.c'; fi` + src/ostree/ostree-ot-builtin-fsck.o: src/ostree/ot-builtin-fsck.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -MT src/ostree/ostree-ot-builtin-fsck.o -MD -MP -MF src/ostree/$(DEPDIR)/ostree-ot-builtin-fsck.Tpo -c -o src/ostree/ostree-ot-builtin-fsck.o `test -f 'src/ostree/ot-builtin-fsck.c' || echo '$(srcdir)/'`src/ostree/ot-builtin-fsck.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/ostree/$(DEPDIR)/ostree-ot-builtin-fsck.Tpo src/ostree/$(DEPDIR)/ostree-ot-builtin-fsck.Po @@ -5520,34 +5534,6 @@ src/ostree/ostree-ot-editor.obj: src/ostree/ot-editor.c @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) $(ostree_CFLAGS) $(CFLAGS) -c -o src/ostree/ostree-ot-editor.obj `if test -f 'src/ostree/ot-editor.c'; then $(CYGPATH_W) 'src/ostree/ot-editor.c'; else $(CYGPATH_W) '$(srcdir)/src/ostree/ot-editor.c'; fi` -src/ostree/ostree-ot-builtin-create-usb.o: src/ostree/ot-builtin-create-usb.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -MT src/ostree/ostree-ot-builtin-create-usb.o -MD -MP -MF src/ostree/$(DEPDIR)/ostree-ot-builtin-create-usb.Tpo -c -o src/ostree/ostree-ot-builtin-create-usb.o `test -f 'src/ostree/ot-builtin-create-usb.c' || echo '$(srcdir)/'`src/ostree/ot-builtin-create-usb.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/ostree/$(DEPDIR)/ostree-ot-builtin-create-usb.Tpo src/ostree/$(DEPDIR)/ostree-ot-builtin-create-usb.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ostree/ot-builtin-create-usb.c' object='src/ostree/ostree-ot-builtin-create-usb.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) $(ostree_CFLAGS) $(CFLAGS) -c -o src/ostree/ostree-ot-builtin-create-usb.o `test -f 'src/ostree/ot-builtin-create-usb.c' || echo '$(srcdir)/'`src/ostree/ot-builtin-create-usb.c - -src/ostree/ostree-ot-builtin-create-usb.obj: src/ostree/ot-builtin-create-usb.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -MT src/ostree/ostree-ot-builtin-create-usb.obj -MD -MP -MF src/ostree/$(DEPDIR)/ostree-ot-builtin-create-usb.Tpo -c -o src/ostree/ostree-ot-builtin-create-usb.obj `if test -f 'src/ostree/ot-builtin-create-usb.c'; then $(CYGPATH_W) 'src/ostree/ot-builtin-create-usb.c'; else $(CYGPATH_W) '$(srcdir)/src/ostree/ot-builtin-create-usb.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/ostree/$(DEPDIR)/ostree-ot-builtin-create-usb.Tpo src/ostree/$(DEPDIR)/ostree-ot-builtin-create-usb.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ostree/ot-builtin-create-usb.c' object='src/ostree/ostree-ot-builtin-create-usb.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) $(ostree_CFLAGS) $(CFLAGS) -c -o src/ostree/ostree-ot-builtin-create-usb.obj `if test -f 'src/ostree/ot-builtin-create-usb.c'; then $(CYGPATH_W) 'src/ostree/ot-builtin-create-usb.c'; else $(CYGPATH_W) '$(srcdir)/src/ostree/ot-builtin-create-usb.c'; fi` - -src/ostree/ostree-ot-builtin-find-remotes.o: src/ostree/ot-builtin-find-remotes.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -MT src/ostree/ostree-ot-builtin-find-remotes.o -MD -MP -MF src/ostree/$(DEPDIR)/ostree-ot-builtin-find-remotes.Tpo -c -o src/ostree/ostree-ot-builtin-find-remotes.o `test -f 'src/ostree/ot-builtin-find-remotes.c' || echo '$(srcdir)/'`src/ostree/ot-builtin-find-remotes.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/ostree/$(DEPDIR)/ostree-ot-builtin-find-remotes.Tpo src/ostree/$(DEPDIR)/ostree-ot-builtin-find-remotes.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ostree/ot-builtin-find-remotes.c' object='src/ostree/ostree-ot-builtin-find-remotes.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) $(ostree_CFLAGS) $(CFLAGS) -c -o src/ostree/ostree-ot-builtin-find-remotes.o `test -f 'src/ostree/ot-builtin-find-remotes.c' || echo '$(srcdir)/'`src/ostree/ot-builtin-find-remotes.c - -src/ostree/ostree-ot-builtin-find-remotes.obj: src/ostree/ot-builtin-find-remotes.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -MT src/ostree/ostree-ot-builtin-find-remotes.obj -MD -MP -MF src/ostree/$(DEPDIR)/ostree-ot-builtin-find-remotes.Tpo -c -o src/ostree/ostree-ot-builtin-find-remotes.obj `if test -f 'src/ostree/ot-builtin-find-remotes.c'; then $(CYGPATH_W) 'src/ostree/ot-builtin-find-remotes.c'; else $(CYGPATH_W) '$(srcdir)/src/ostree/ot-builtin-find-remotes.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/ostree/$(DEPDIR)/ostree-ot-builtin-find-remotes.Tpo src/ostree/$(DEPDIR)/ostree-ot-builtin-find-remotes.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ostree/ot-builtin-find-remotes.c' object='src/ostree/ostree-ot-builtin-find-remotes.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) $(ostree_CFLAGS) $(CFLAGS) -c -o src/ostree/ostree-ot-builtin-find-remotes.obj `if test -f 'src/ostree/ot-builtin-find-remotes.c'; then $(CYGPATH_W) 'src/ostree/ot-builtin-find-remotes.c'; else $(CYGPATH_W) '$(srcdir)/src/ostree/ot-builtin-find-remotes.c'; fi` - src/ostree/ostree-ot-admin-builtin-init-fs.o: src/ostree/ot-admin-builtin-init-fs.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -MT src/ostree/ostree-ot-admin-builtin-init-fs.o -MD -MP -MF src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-init-fs.Tpo -c -o src/ostree/ostree-ot-admin-builtin-init-fs.o `test -f 'src/ostree/ot-admin-builtin-init-fs.c' || echo '$(srcdir)/'`src/ostree/ot-admin-builtin-init-fs.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-init-fs.Tpo src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-init-fs.Po @@ -6262,6 +6248,20 @@ tests/tests_test_gpg_verify_result-test-gpg-verify-result.obj: tests/test-gpg-ve @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_test_gpg_verify_result_CFLAGS) $(CFLAGS) -c -o tests/tests_test_gpg_verify_result-test-gpg-verify-result.obj `if test -f 'tests/test-gpg-verify-result.c'; then $(CYGPATH_W) 'tests/test-gpg-verify-result.c'; else $(CYGPATH_W) '$(srcdir)/tests/test-gpg-verify-result.c'; fi` +tests/tests_test_include_ostree_h-test-include-ostree-h.o: tests/test-include-ostree-h.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(tests_test_include_ostree_h_CPPFLAGS) $(CPPFLAGS) $(tests_test_include_ostree_h_CFLAGS) $(CFLAGS) -MT tests/tests_test_include_ostree_h-test-include-ostree-h.o -MD -MP -MF tests/$(DEPDIR)/tests_test_include_ostree_h-test-include-ostree-h.Tpo -c -o tests/tests_test_include_ostree_h-test-include-ostree-h.o `test -f 'tests/test-include-ostree-h.c' || echo '$(srcdir)/'`tests/test-include-ostree-h.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_test_include_ostree_h-test-include-ostree-h.Tpo tests/$(DEPDIR)/tests_test_include_ostree_h-test-include-ostree-h.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tests/test-include-ostree-h.c' object='tests/tests_test_include_ostree_h-test-include-ostree-h.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) $(tests_test_include_ostree_h_CPPFLAGS) $(CPPFLAGS) $(tests_test_include_ostree_h_CFLAGS) $(CFLAGS) -c -o tests/tests_test_include_ostree_h-test-include-ostree-h.o `test -f 'tests/test-include-ostree-h.c' || echo '$(srcdir)/'`tests/test-include-ostree-h.c + +tests/tests_test_include_ostree_h-test-include-ostree-h.obj: tests/test-include-ostree-h.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(tests_test_include_ostree_h_CPPFLAGS) $(CPPFLAGS) $(tests_test_include_ostree_h_CFLAGS) $(CFLAGS) -MT tests/tests_test_include_ostree_h-test-include-ostree-h.obj -MD -MP -MF tests/$(DEPDIR)/tests_test_include_ostree_h-test-include-ostree-h.Tpo -c -o tests/tests_test_include_ostree_h-test-include-ostree-h.obj `if test -f 'tests/test-include-ostree-h.c'; then $(CYGPATH_W) 'tests/test-include-ostree-h.c'; else $(CYGPATH_W) '$(srcdir)/tests/test-include-ostree-h.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_test_include_ostree_h-test-include-ostree-h.Tpo tests/$(DEPDIR)/tests_test_include_ostree_h-test-include-ostree-h.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tests/test-include-ostree-h.c' object='tests/tests_test_include_ostree_h-test-include-ostree-h.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) $(tests_test_include_ostree_h_CPPFLAGS) $(CPPFLAGS) $(tests_test_include_ostree_h_CFLAGS) $(CFLAGS) -c -o tests/tests_test_include_ostree_h-test-include-ostree-h.obj `if test -f 'tests/test-include-ostree-h.c'; then $(CYGPATH_W) 'tests/test-include-ostree-h.c'; else $(CYGPATH_W) '$(srcdir)/tests/test-include-ostree-h.c'; fi` + tests/tests_test_keyfile_utils-test-keyfile-utils.o: tests/test-keyfile-utils.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_test_keyfile_utils_CFLAGS) $(CFLAGS) -MT tests/tests_test_keyfile_utils-test-keyfile-utils.o -MD -MP -MF tests/$(DEPDIR)/tests_test_keyfile_utils-test-keyfile-utils.Tpo -c -o tests/tests_test_keyfile_utils-test-keyfile-utils.o `test -f 'tests/test-keyfile-utils.c' || echo '$(srcdir)/'`tests/test-keyfile-utils.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_test_keyfile_utils-test-keyfile-utils.Tpo tests/$(DEPDIR)/tests_test_keyfile_utils-test-keyfile-utils.Po @@ -7399,6 +7399,13 @@ tests/test-repo.log: tests/test-repo$(EXEEXT) --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-include-ostree-h.log: tests/test-include-ostree-h$(EXEEXT) + @p='tests/test-include-ostree-h$(EXEEXT)'; \ + b='tests/test-include-ostree-h'; \ + $(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-libarchive-import.log: tests/test-libarchive-import$(EXEEXT) @p='tests/test-libarchive-import$(EXEEXT)'; \ b='tests/test-libarchive-import'; \ diff --git a/aclocal.m4 b/aclocal.m4 index 0148f19a..0629a2c1 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -23,6 +23,9 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.]) # Configure paths for GLIB # Owen Taylor 1997-2001 +# Increment this whenever this file is changed. +#serial 1 + dnl AM_PATH_GLIB_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if gmodule, gobject, dnl gthread, or gio is specified in MODULES, pass to pkg-config @@ -112,7 +115,7 @@ dnl #include int -main () +main (void) { unsigned int major, minor, micro; @@ -613,9 +616,9 @@ AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE], _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require]) ]) -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# serial 11 (pkg-config-0.29.1) - +dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +dnl serial 11 (pkg-config-0.29) +dnl dnl Copyright © 2004 Scott James Remnant . dnl Copyright © 2012-2015 Dan Nicholson dnl @@ -656,7 +659,7 @@ dnl dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], -[m4_define([PKG_MACROS_VERSION], [0.29.1]) +[m4_define([PKG_MACROS_VERSION], [0.29]) m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) ])dnl PKG_PREREQ @@ -889,74 +892,6 @@ AS_VAR_COPY([$1], [pkg_cv_][$1]) AS_VAR_IF([$1], [""], [$5], [$4])dnl ])dnl PKG_CHECK_VAR -dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES, -dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND], -dnl [DESCRIPTION], [DEFAULT]) -dnl ------------------------------------------ -dnl -dnl Prepare a "--with-" configure option using the lowercase -dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and -dnl PKG_CHECK_MODULES in a single macro. -AC_DEFUN([PKG_WITH_MODULES], -[ -m4_pushdef([with_arg], m4_tolower([$1])) - -m4_pushdef([description], - [m4_default([$5], [build with ]with_arg[ support])]) - -m4_pushdef([def_arg], [m4_default([$6], [auto])]) -m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes]) -m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no]) - -m4_case(def_arg, - [yes],[m4_pushdef([with_without], [--without-]with_arg)], - [m4_pushdef([with_without],[--with-]with_arg)]) - -AC_ARG_WITH(with_arg, - AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),, - [AS_TR_SH([with_]with_arg)=def_arg]) - -AS_CASE([$AS_TR_SH([with_]with_arg)], - [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)], - [auto],[PKG_CHECK_MODULES([$1],[$2], - [m4_n([def_action_if_found]) $3], - [m4_n([def_action_if_not_found]) $4])]) - -m4_popdef([with_arg]) -m4_popdef([description]) -m4_popdef([def_arg]) - -])dnl PKG_WITH_MODULES - -dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES, -dnl [DESCRIPTION], [DEFAULT]) -dnl ----------------------------------------------- -dnl -dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES -dnl check._[VARIABLE-PREFIX] is exported as make variable. -AC_DEFUN([PKG_HAVE_WITH_MODULES], -[ -PKG_WITH_MODULES([$1],[$2],,,[$3],[$4]) - -AM_CONDITIONAL([HAVE_][$1], - [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"]) -])dnl PKG_HAVE_WITH_MODULES - -dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES, -dnl [DESCRIPTION], [DEFAULT]) -dnl ------------------------------------------------------ -dnl -dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after -dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make -dnl and preprocessor variable. -AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES], -[ -PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4]) - -AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"], - [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])]) -])dnl PKG_HAVE_DEFINE_WITH_MODULES - # Copyright (C) 2002-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation diff --git a/apidoc/Makefile.in b/apidoc/Makefile.in index 05ea1c49..25ebba07 100644 --- a/apidoc/Makefile.in +++ b/apidoc/Makefile.in @@ -152,16 +152,6 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@ENABLE_EXPERIMENTAL_API_TRUE@am__append_1 = \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-ref.h \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-remote.h \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-repo-finder.h \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-repo-finder-avahi.h \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-repo-finder-config.h \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-repo-finder-mount.h \ -@ENABLE_EXPERIMENTAL_API_TRUE@ src/libostree/ostree-repo-finder-override.h \ -@ENABLE_EXPERIMENTAL_API_TRUE@ $(NULL) - subdir = apidoc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/buildutil/attributes.m4 \ @@ -382,6 +372,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ rustc = @rustc@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ @@ -393,20 +384,33 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -libostree_public_headers = src/libostree/ostree.h \ +libostree_public_headers = \ + src/libostree/ostree.h \ src/libostree/ostree-async-progress.h \ src/libostree/ostree-autocleanups.h \ src/libostree/ostree-core.h \ src/libostree/ostree-dummy-enumtypes.h \ src/libostree/ostree-mutable-tree.h \ - src/libostree/ostree-repo.h src/libostree/ostree-types.h \ - src/libostree/ostree-repo-file.h src/libostree/ostree-diff.h \ + src/libostree/ostree-repo.h \ + src/libostree/ostree-types.h \ + src/libostree/ostree-repo-file.h \ + src/libostree/ostree-diff.h \ src/libostree/ostree-gpg-verify-result.h \ - src/libostree/ostree-sepolicy.h src/libostree/ostree-sysroot.h \ + src/libostree/ostree-sepolicy.h \ + src/libostree/ostree-sysroot.h \ src/libostree/ostree-sysroot-upgrader.h \ src/libostree/ostree-deployment.h \ src/libostree/ostree-bootconfig-parser.h \ - src/libostree/ostree-repo-deprecated.h $(NULL) $(am__append_1) + src/libostree/ostree-repo-deprecated.h \ + src/libostree/ostree-ref.h \ + src/libostree/ostree-remote.h \ + src/libostree/ostree-repo-finder.h \ + src/libostree/ostree-repo-finder-avahi.h \ + src/libostree/ostree-repo-finder-config.h \ + src/libostree/ostree-repo-finder-mount.h \ + src/libostree/ostree-repo-finder-override.h \ + $(NULL) + # This one is generated via configure.ac, and the gtk-doc # code hence needs to look in the builddir. @@ -884,6 +888,7 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_con for file in $(HTML_IMAGES) ; do \ test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \ test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \ + test -f $$file && cp $$file $(abs_builddir)/html; \ done; $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) $(AM_V_at)touch html-build.stamp diff --git a/apidoc/html/home.png b/apidoc/html/home.png index 9346b336..e80e202a 100644 Binary files a/apidoc/html/home.png and b/apidoc/html/home.png differ diff --git a/apidoc/html/index.html b/apidoc/html/index.html index 1007a895..9062b3fd 100644 --- a/apidoc/html/index.html +++ b/apidoc/html/index.html @@ -3,10 +3,10 @@ OSTree API references: OSTree API references - + - + @@ -14,7 +14,7 @@
-

for OSTree 2018.4

+

for OSTree 2018.6


@@ -68,6 +68,6 @@ +
Generated by GTK-Doc V1.28 \ No newline at end of file diff --git a/apidoc/html/left-insensitive.png b/apidoc/html/left-insensitive.png index 3269393a..fea007e7 100644 Binary files a/apidoc/html/left-insensitive.png and b/apidoc/html/left-insensitive.png differ diff --git a/apidoc/html/left.png b/apidoc/html/left.png index 2abde032..193905fc 100644 Binary files a/apidoc/html/left.png and b/apidoc/html/left.png differ diff --git a/apidoc/html/ostree-Core-repository-independent-functions.html b/apidoc/html/ostree-Core-repository-independent-functions.html index 1b01255d..0107006c 100644 --- a/apidoc/html/ostree-Core-repository-independent-functions.html +++ b/apidoc/html/ostree-Core-repository-independent-functions.html @@ -3,12 +3,12 @@ Core repository-independent functions: OSTree API references - + - + @@ -46,7 +46,7 @@ -const GVariantType * +const GVariantType * ostree_metadata_variant_type () @@ -54,7 +54,7 @@ -gboolean +gboolean ostree_validate_checksum_string () @@ -62,7 +62,7 @@ -guchar * +guchar * ostree_checksum_to_bytes () @@ -70,7 +70,7 @@ -GVariant * +GVariant * ostree_checksum_to_bytes_v () @@ -109,14 +109,14 @@ -const guchar * +const guchar * ostree_checksum_bytes_peek () -const guchar * +const guchar * ostree_checksum_bytes_peek_validate () @@ -132,7 +132,7 @@ -guchar * +guchar * ostree_checksum_b64_to_bytes () @@ -164,7 +164,7 @@ -gboolean +gboolean ostree_validate_rev () @@ -172,7 +172,7 @@ -gboolean +gboolean ostree_validate_remote_name () @@ -180,7 +180,7 @@ -gboolean +gboolean ostree_parse_refspec () @@ -203,7 +203,7 @@ -guint +guint ostree_hash_object_name () @@ -211,7 +211,7 @@ -GVariant * +GVariant * ostree_object_name_serialize () @@ -243,7 +243,7 @@ -gboolean +gboolean ostree_content_stream_parse () @@ -251,7 +251,7 @@ -gboolean +gboolean ostree_content_file_parse () @@ -259,7 +259,7 @@ -gboolean +gboolean ostree_content_file_parse_at () @@ -267,7 +267,7 @@ -gboolean +gboolean ostree_raw_file_to_archive_z2_stream () @@ -275,7 +275,7 @@ -gboolean +gboolean ostree_raw_file_to_archive_z2_stream_with_options () @@ -283,7 +283,7 @@ -gboolean +gboolean ostree_raw_file_to_content_stream () @@ -291,7 +291,7 @@ -gboolean +gboolean ostree_break_hardlink () @@ -299,7 +299,7 @@ -gboolean +gboolean ostree_checksum_file_from_input () @@ -307,7 +307,7 @@ -gboolean +gboolean ostree_checksum_file () @@ -315,7 +315,7 @@ -gboolean +gboolean ostree_checksum_file_at () @@ -331,7 +331,7 @@ -gboolean +gboolean ostree_checksum_file_async_finish () @@ -339,7 +339,7 @@ -GVariant * +GVariant * ostree_create_directory_metadata () @@ -347,7 +347,7 @@ -gboolean +gboolean ostree_validate_structureof_objtype () @@ -355,7 +355,7 @@ -gboolean +gboolean ostree_validate_structureof_csum_v () @@ -363,7 +363,7 @@ -gboolean +gboolean ostree_validate_structureof_checksum_string () @@ -371,7 +371,7 @@ -gboolean +gboolean ostree_validate_structureof_file_mode () @@ -379,7 +379,7 @@ -gboolean +gboolean ostree_validate_structureof_commit () @@ -387,7 +387,7 @@ -gboolean +gboolean ostree_validate_structureof_dirtree () @@ -395,7 +395,7 @@ -gboolean +gboolean ostree_validate_structureof_dirmeta () @@ -403,7 +403,7 @@ -gchar * +gchar * ostree_commit_get_parent () @@ -411,7 +411,7 @@ -guint64 +guint64 ostree_commit_get_timestamp () @@ -419,7 +419,7 @@ -gchar * +gchar * ostree_commit_get_content_checksum () @@ -427,7 +427,7 @@ -gboolean +gboolean ostree_check_version () @@ -507,11 +507,11 @@

Description

These functions implement repository-independent algorithms for operating on the core OSTree data formats, such as converting -GFileInfo into a GVariant.

+GFileInfo into a GVariant.

There are 4 types of objects; file, dirmeta, tree, and commit. The last 3 are metadata, and the file object is the only content object type.

-

All metadata objects are stored as GVariant (big endian). The +

All metadata objects are stored as GVariant (big endian). The rationale for this is the same as that of the ext{2,3,4} family of filesystems; most developers will be using LE, and so it's better to continually test the BE->LE swap.

@@ -540,21 +540,21 @@ to continually test the BE->LE swap.

Returns

-

TRUE if object type is metadata

+

TRUE if object type is metadata


ostree_metadata_variant_type ()

-
const GVariantType *
+
const GVariantType *
 ostree_metadata_variant_type (OstreeObjectType objtype);

ostree_validate_checksum_string ()

-
gboolean
+
gboolean
 ostree_validate_checksum_string (const char *sha256,
-                                 GError **error);
+ GError **error);

Use this function to see if input strings are checksums.

Parameters

@@ -580,14 +580,14 @@ ostree_validate_checksum_string (const

Returns

-

TRUE if sha256 -is a valid checksum string, FALSE otherwise

+

TRUE if sha256 +is a valid checksum string, FALSE otherwise


ostree_checksum_to_bytes ()

-
guchar *
+
guchar *
 ostree_checksum_to_bytes (const char *checksum);

Parameters

@@ -607,14 +607,14 @@ ostree_checksum_to_bytes (const c

Returns

Binary checksum from checksum -of length 32; free with g_free().

+of length 32; free with g_free().

[transfer full][array fixed-size=32]


ostree_checksum_to_bytes_v ()

-
GVariant *
+
GVariant *
 ostree_checksum_to_bytes_v (const char *checksum);

Parameters

@@ -633,7 +633,7 @@ ostree_checksum_to_bytes_v (const

Returns

-

New GVariant of type ay with length 32.

+

New GVariant of type ay with length 32.

[transfer full]

@@ -641,7 +641,7 @@ ostree_checksum_to_bytes_v (const

ostree_checksum_from_bytes ()

char *
-ostree_checksum_from_bytes (const guchar *csum);
+ostree_checksum_from_bytes (const guchar *csum);

Parameters

@@ -668,7 +668,7 @@ ostree_checksum_from_bytes (const

ostree_checksum_from_bytes_v ()

char *
-ostree_checksum_from_bytes_v (GVariant *csum_v);
+ostree_checksum_from_bytes_v (GVariant *csum_v);

Parameters

@@ -679,7 +679,7 @@ ostree_checksum_from_bytes_v (GVa - +

csum_v

GVariant of type ay

GVariant of type ay

 
@@ -695,7 +695,7 @@ ostree_checksum_from_bytes_v (GVa

ostree_checksum_inplace_from_bytes ()

void
-ostree_checksum_inplace_from_bytes (const guchar *csum,
+ostree_checksum_inplace_from_bytes (const guchar *csum,
                                     char *buf);

Overwrite the contents of buf with stringified version of csum @@ -729,7 +729,7 @@ ostree_checksum_inplace_from_bytes (const

ostree_checksum_inplace_to_bytes ()

void
 ostree_checksum_inplace_to_bytes (const char *checksum,
-                                  guchar *buf);
+ guchar *buf);

Convert checksum from a string to binary in-place, without allocating memory. Use this function in hot code paths.

@@ -759,8 +759,8 @@ allocating memory. Use this function in hot code paths.


ostree_checksum_bytes_peek ()

-
const guchar *
-ostree_checksum_bytes_peek (GVariant *bytes);
+
const guchar *
+ostree_checksum_bytes_peek (GVariant *bytes);

Parameters

@@ -771,7 +771,7 @@ ostree_checksum_bytes_peek (GVari - +

bytes

GVariant of type ay

GVariant of type ay

 
@@ -780,16 +780,16 @@ ostree_checksum_bytes_peek (GVari

Returns

Binary checksum data in bytes ; do not free. If bytes -does not have the correct length, return NULL.

+does not have the correct length, return NULL.

[transfer none][array fixed-size=32][element-type guint8]


ostree_checksum_bytes_peek_validate ()

-
const guchar *
-ostree_checksum_bytes_peek_validate (GVariant *bytes,
-                                     GError **error);
+
const guchar *
+ostree_checksum_bytes_peek_validate (GVariant *bytes,
+                                     GError **error);

Like ostree_checksum_bytes_peek(), but also throws error .

@@ -803,7 +803,7 @@ ostree_checksum_bytes_peek_validate (

bytes

-

GVariant of type ay

+

GVariant of type ay

  @@ -824,7 +824,7 @@ ostree_checksum_bytes_peek_validate (

ostree_checksum_b64_from_bytes ()

char *
-ostree_checksum_b64_from_bytes (const guchar *csum);
+ostree_checksum_b64_from_bytes (const guchar *csum);

Parameters

@@ -852,7 +852,7 @@ character is used.


ostree_checksum_b64_to_bytes ()

-
guchar *
+
guchar *
 ostree_checksum_b64_to_bytes (const char *checksum);

Parameters

@@ -881,7 +881,7 @@ ostree_checksum_b64_to_bytes (const

ostree_checksum_b64_inplace_from_bytes ()

void
 ostree_checksum_b64_inplace_from_bytes
-                               (const guchar *csum,
+                               (const guchar *csum,
                                 char *buf);

Overwrite the contents of buf with modified base64 encoding of csum @@ -917,7 +917,7 @@ character is used.

ostree_checksum_b64_inplace_to_bytes ()

void
 ostree_checksum_b64_inplace_to_bytes (const char *checksum,
-                                      guint8 *buf);
+ guint8 *buf);

Overwrite the contents of buf with stringified version of csum .

@@ -949,8 +949,8 @@ ostree_checksum_b64_inplace_to_bytes (const

ostree_cmp_checksum_bytes ()

int
-ostree_cmp_checksum_bytes (const guchar *a,
-                           const guchar *b);
+ostree_cmp_checksum_bytes (const guchar *a, + const guchar *b);

Compare two binary checksums, using memcmp().

Parameters

@@ -978,9 +978,9 @@ ostree_cmp_checksum_bytes (const

ostree_validate_rev ()

-
gboolean
+
gboolean
 ostree_validate_rev (const char *rev,
-                     GError **error);
+ GError **error);

Parameters

@@ -1005,16 +1005,16 @@ ostree_validate_rev (const char

Returns

-

TRUE if rev +

TRUE if rev is a valid ref string


ostree_validate_remote_name ()

-
gboolean
+
gboolean
 ostree_validate_remote_name (const char *remote_name,
-                             GError **error);
+ GError **error);

Parameters

@@ -1039,7 +1039,7 @@ ostree_validate_remote_name (const

Returns

-

TRUE if remote_name +

TRUE if remote_name is a valid remote name

Since: 2017.8

@@ -1047,20 +1047,20 @@ is a valid remote name


ostree_parse_refspec ()

-
gboolean
+
gboolean
 ostree_parse_refspec (const char *refspec,
                       char **out_remote,
                       char **out_ref,
-                      GError **error);
+ GError **error);

Split a refspec like gnome-ostree:gnome-ostree/buildmaster or just gnome-ostree/buildmaster into two parts. In the first case, out_remote will be set to gnome-ostree, and out_ref to gnome-ostree/buildmaster. In the second case (a local ref), out_remote - will be NULL, and out_ref + will be NULL, and out_ref -will be gnome-ostree/buildmaster. In both cases, TRUE will be returned.

+will be gnome-ostree/buildmaster. In both cases, TRUE will be returned.

Parameters

@@ -1078,7 +1078,7 @@ will be gnome-ostree/buildmaster. In both cases, +or NULL if the refspec refs to a local ref.

@@ -1096,7 +1096,7 @@ or NULL if the refspec refs to a local ref.

Returns

-

TRUE on successful parsing, FALSE otherwise

+

TRUE on successful parsing, FALSE otherwise


@@ -1147,9 +1147,9 @@ ostree_object_type_from_string (const

ostree_hash_object_name ()

-
guint
-ostree_hash_object_name (gconstpointer a);
-

Use this function with GHashTable and ostree_object_name_serialize().

+
guint
+ostree_hash_object_name (gconstpointer a);
+

Use this function with GHashTable and ostree_object_name_serialize().

Parameters

out_remote

Return location for the remote name, -or NULL if the refspec refs to a local ref.

[out][nullable][optional]
@@ -1160,7 +1160,7 @@ ostree_hash_object_name (gconstpo - +

a

A GVariant containing a serialized object

A GVariant containing a serialized object

 
@@ -1169,7 +1169,7 @@ ostree_hash_object_name (gconstpo

ostree_object_name_serialize ()

-
GVariant *
+
GVariant *
 ostree_object_name_serialize (const char *checksum,
                               OstreeObjectType objtype);
@@ -1196,7 +1196,7 @@ ostree_object_name_serialize (const

Returns

-

A new floating GVariant containing checksum string and objtype.

+

A new floating GVariant containing checksum string and objtype.

[transfer floating]

@@ -1204,7 +1204,7 @@ ostree_object_name_serialize (const

ostree_object_name_deserialize ()

void
-ostree_object_name_deserialize (GVariant *variant,
+ostree_object_name_deserialize (GVariant *variant,
                                 const char **out_checksum,
                                 OstreeObjectType *out_objtype);

Reverse ostree_object_name_serialize(). Note that out_checksum @@ -1222,7 +1222,7 @@ only valid for the lifetime of variant

variant

-

A GVariant of type (su)

+

A GVariant of type (su)

  @@ -1280,7 +1280,7 @@ and a stringifed version of objtype

ostree_object_from_string ()

void
 ostree_object_from_string (const char *str,
-                           gchar **out_checksum,
+                           gchar **out_checksum,
                            OstreeObjectType *out_objtype);

Reverse ostree_object_to_string().

@@ -1314,16 +1314,16 @@ ostree_object_from_string (const

ostree_content_stream_parse ()

-
gboolean
-ostree_content_stream_parse (gboolean compressed,
-                             GInputStream *input,
-                             guint64 input_length,
-                             gboolean trusted,
-                             GInputStream **out_input,
-                             GFileInfo **out_file_info,
-                             GVariant **out_xattrs,
-                             GCancellable *cancellable,
-                             GError **error);
+
gboolean
+ostree_content_stream_parse (gboolean compressed,
+                             GInputStream *input,
+                             guint64 input_length,
+                             gboolean trusted,
+                             GInputStream **out_input,
+                             GFileInfo **out_file_info,
+                             GVariant **out_xattrs,
+                             GCancellable *cancellable,
+                             GError **error);

The reverse of ostree_raw_file_to_content_stream(); this function converts an object content stream back into components.

@@ -1352,7 +1352,7 @@ converts an object content stream back into components.

trusted

-

If TRUE, assume the content has been validated

+

If TRUE, assume the content has been validated

  @@ -1387,15 +1387,15 @@ converts an object content stream back into components.


ostree_content_file_parse ()

-
gboolean
-ostree_content_file_parse (gboolean compressed,
-                           GFile *content_path,
-                           gboolean trusted,
-                           GInputStream **out_input,
-                           GFileInfo **out_file_info,
-                           GVariant **out_xattrs,
-                           GCancellable *cancellable,
-                           GError **error);
+
gboolean
+ostree_content_file_parse (gboolean compressed,
+                           GFile *content_path,
+                           gboolean trusted,
+                           GInputStream **out_input,
+                           GFileInfo **out_file_info,
+                           GVariant **out_xattrs,
+                           GCancellable *cancellable,
+                           GError **error);

A thin wrapper for ostree_content_stream_parse(); this function converts an object content stream back into components.

@@ -1419,7 +1419,7 @@ converts an object content stream back into components.

trusted

-

If TRUE, assume the content has been validated

+

If TRUE, assume the content has been validated

  @@ -1454,16 +1454,16 @@ converts an object content stream back into components.


ostree_content_file_parse_at ()

-
gboolean
-ostree_content_file_parse_at (gboolean compressed,
+
gboolean
+ostree_content_file_parse_at (gboolean compressed,
                               int parent_dfd,
                               const char *path,
-                              gboolean trusted,
-                              GInputStream **out_input,
-                              GFileInfo **out_file_info,
-                              GVariant **out_xattrs,
-                              GCancellable *cancellable,
-                              GError **error);
+ gboolean trusted, + GInputStream **out_input, + GFileInfo **out_file_info, + GVariant **out_xattrs, + GCancellable *cancellable, + GError **error);

A thin wrapper for ostree_content_stream_parse(); this function converts an object content stream back into components.

@@ -1492,7 +1492,7 @@ converts an object content stream back into components.

trusted

-

If TRUE, assume the content has been validated

+

If TRUE, assume the content has been validated

  @@ -1527,13 +1527,13 @@ converts an object content stream back into components.


ostree_raw_file_to_archive_z2_stream ()

-
gboolean
-ostree_raw_file_to_archive_z2_stream (GInputStream *input,
-                                      GFileInfo *file_info,
-                                      GVariant *xattrs,
-                                      GInputStream **out_input,
-                                      GCancellable *cancellable,
-                                      GError **error);
+
gboolean
+ostree_raw_file_to_archive_z2_stream (GInputStream *input,
+                                      GFileInfo *file_info,
+                                      GVariant *xattrs,
+                                      GInputStream **out_input,
+                                      GCancellable *cancellable,
+                                      GError **error);

Convert from a "bare" file representation into an OSTREE_OBJECT_TYPE_FILE stream suitable for ostree pull.

@@ -1582,15 +1582,15 @@ OSTREE_OBJECT_TYPE_FILE stream suitable for ostree pull.


ostree_raw_file_to_archive_z2_stream_with_options ()

-
gboolean
+
gboolean
 ostree_raw_file_to_archive_z2_stream_with_options
-                               (GInputStream *input,
-                                GFileInfo *file_info,
-                                GVariant *xattrs,
-                                GVariant *options,
-                                GInputStream **out_input,
-                                GCancellable *cancellable,
-                                GError **error);
+ (GInputStream *input, + GFileInfo *file_info, + GVariant *xattrs, + GVariant *options, + GInputStream **out_input, + GCancellable *cancellable, + GError **error);

Like ostree_raw_file_to_archive_z2_stream(), but supports an extensible set of flags. The following flags are currently defined:

  • compression-level (i): Level of compression to use, 0–9, with 0 being @@ -1647,14 +1647,14 @@ the least compression, and <0 giving the default level (currently 6).

  • ostree_raw_file_to_content_stream ()

    -
    gboolean
    -ostree_raw_file_to_content_stream (GInputStream *input,
    -                                   GFileInfo *file_info,
    -                                   GVariant *xattrs,
    -                                   GInputStream **out_input,
    -                                   guint64 *out_length,
    -                                   GCancellable *cancellable,
    -                                   GError **error);
    +
    gboolean
    +ostree_raw_file_to_content_stream (GInputStream *input,
    +                                   GFileInfo *file_info,
    +                                   GVariant *xattrs,
    +                                   GInputStream **out_input,
    +                                   guint64 *out_length,
    +                                   GCancellable *cancellable,
    +                                   GError **error);

    Convert from a "bare" file representation into an OSTREE_OBJECT_TYPE_FILE stream. This is a fundamental operation for writing data to an OstreeRepo.

    @@ -1709,12 +1709,12 @@ for writing data to an

    ostree_break_hardlink ()

    -
    gboolean
    +
    gboolean
     ostree_break_hardlink (int dfd,
                            const char *path,
    -                       gboolean skip_xattrs,
    -                       GCancellable *cancellable,
    -                       GError **error);
    + gboolean skip_xattrs, + GCancellable *cancellable, + GError **error);

    In many cases using libostree, a program may need to "break" hardlinks by performing a copy. For example, in order to logically append to a file.

    @@ -1764,14 +1764,14 @@ care of synchronization.


    ostree_checksum_file_from_input ()

    -
    gboolean
    -ostree_checksum_file_from_input (GFileInfo *file_info,
    -                                 GVariant *xattrs,
    -                                 GInputStream *in,
    +
    gboolean
    +ostree_checksum_file_from_input (GFileInfo *file_info,
    +                                 GVariant *xattrs,
    +                                 GInputStream *in,
                                      OstreeObjectType objtype,
    -                                 guchar **out_csum,
    -                                 GCancellable *cancellable,
    -                                 GError **error);
    + guchar **out_csum, + GCancellable *cancellable, + GError **error);

    Compute the OSTree checksum for a given input.

    Parameters

    @@ -1794,7 +1794,7 @@ ostree_checksum_file_from_input (

    in

    -

    File content, should be NULL for symbolic links.

    +

    File content, should be NULL for symbolic links.

    [allow-none] @@ -1824,12 +1824,12 @@ ostree_checksum_file_from_input (

    ostree_checksum_file ()

    -
    gboolean
    -ostree_checksum_file (GFile *f,
    +
    gboolean
    +ostree_checksum_file (GFile *f,
                           OstreeObjectType objtype,
    -                      guchar **out_csum,
    -                      GCancellable *cancellable,
    -                      GError **error);
    + guchar **out_csum, + GCancellable *cancellable, + GError **error);

    Compute the OSTree checksum for a given file.

    Parameters

    @@ -1872,15 +1872,15 @@ ostree_checksum_file (GFile

    ostree_checksum_file_at ()

    -
    gboolean
    +
    gboolean
     ostree_checksum_file_at (int dfd,
                              const char *path,
                              struct stat *stbuf,
                              OstreeObjectType objtype,
                              OstreeChecksumFlags flags,
                              char **out_checksum,
    -                         GCancellable *cancellable,
    -                         GError **error);
    + GCancellable *cancellable, + GError **error);

    Compute the OSTree checksum for a given file. This is an fd-relative version of ostree_checksum_file() which also takes flags and fills in a caller allocated buffer.

    @@ -1942,12 +1942,12 @@ allocated buffer.

    ostree_checksum_file_async ()

    void
    -ostree_checksum_file_async (GFile *f,
    +ostree_checksum_file_async (GFile *f,
                                 OstreeObjectType objtype,
                                 int io_priority,
    -                            GCancellable *cancellable,
    -                            GAsyncReadyCallback callback,
    -                            gpointer user_data);
    + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data);

    Asynchronously compute the OSTree checksum for a given file; complete with ostree_checksum_file_async_finish().

    @@ -1997,11 +1997,11 @@ complete with

    ostree_checksum_file_async_finish ()

    -
    gboolean
    -ostree_checksum_file_async_finish (GFile *f,
    -                                   GAsyncResult *result,
    -                                   guchar **out_csum,
    -                                   GError **error);
    +
    gboolean
    +ostree_checksum_file_async_finish (GFile *f,
    +                                   GAsyncResult *result,
    +                                   guchar **out_csum,
    +                                   GError **error);

    Finish computing the OSTree checksum for a given file; see ostree_checksum_file_async().

    @@ -2040,9 +2040,9 @@ ostree_checksum_file_async_finish (

    ostree_create_directory_metadata ()

    -
    GVariant *
    -ostree_create_directory_metadata (GFileInfo *dir_info,
    -                                  GVariant *xattrs);
    +
    GVariant *
    +ostree_create_directory_metadata (GFileInfo *dir_info,
    +                                  GVariant *xattrs);

    Parameters

    @@ -2054,7 +2054,7 @@ ostree_create_directory_metadata ( - + @@ -2067,16 +2067,16 @@ ostree_create_directory_metadata (

    Returns

    -

    A new GVariant containing OSTREE_OBJECT_TYPE_DIR_META.

    +

    A new GVariant containing OSTREE_OBJECT_TYPE_DIR_META.

    [transfer full]


    ostree_validate_structureof_objtype ()

    -
    gboolean
    -ostree_validate_structureof_objtype (guchar objtype,
    -                                     GError **error);
    +
    gboolean
    +ostree_validate_structureof_objtype (guchar objtype,
    +                                     GError **error);

    Parameters

    dir_info

    a GFileInfo containing directory information

    a GFileInfo containing directory information

     
    @@ -2094,16 +2094,16 @@ ostree_validate_structureof_objtype (

    Returns

    -

    TRUE if objtype +

    TRUE if objtype represents a valid object type


    ostree_validate_structureof_csum_v ()

    -
    gboolean
    -ostree_validate_structureof_csum_v (GVariant *checksum,
    -                                    GError **error);
    +
    gboolean
    +ostree_validate_structureof_csum_v (GVariant *checksum,
    +                                    GError **error);

    Parameters

    @@ -2115,7 +2115,7 @@ ostree_validate_structureof_csum_v (

    checksum

    -
    + @@ -2128,17 +2128,17 @@ ostree_validate_structureof_csum_v (

    Returns

    -

    TRUE if checksum +

    TRUE if checksum is a valid binary SHA256 checksum


    ostree_validate_structureof_checksum_string ()

    -
    gboolean
    +
    gboolean
     ostree_validate_structureof_checksum_string
                                    (const char *checksum,
    -                                GError **error);
    + GError **error);

    Parameters

    a GVariant of type "ay"

    a GVariant of type "ay"

     
    @@ -2163,16 +2163,16 @@ ostree_validate_structureof_checksum_string

    Returns

    -

    TRUE if checksum +

    TRUE if checksum is a valid ASCII SHA256 checksum


    ostree_validate_structureof_file_mode ()

    -
    gboolean
    -ostree_validate_structureof_file_mode (guint32 mode,
    -                                       GError **error);
    +
    gboolean
    +ostree_validate_structureof_file_mode (guint32 mode,
    +                                       GError **error);

    Parameters

    @@ -2197,16 +2197,16 @@ ostree_validate_structureof_file_mode (

    Returns

    -

    TRUE if mode +

    TRUE if mode represents a valid file type and permissions


    ostree_validate_structureof_commit ()

    -
    gboolean
    -ostree_validate_structureof_commit (GVariant *commit,
    -                                    GError **error);
    +
    gboolean
    +ostree_validate_structureof_commit (GVariant *commit,
    +                                    GError **error);

    Use this to validate the basic structure of commit , independent of any other objects it references.

    @@ -2234,16 +2234,16 @@ any other objects it references.

    Returns

    -

    TRUE if commit +

    TRUE if commit is structurally valid


    ostree_validate_structureof_dirtree ()

    -
    gboolean
    -ostree_validate_structureof_dirtree (GVariant *dirtree,
    -                                     GError **error);
    +
    gboolean
    +ostree_validate_structureof_dirtree (GVariant *dirtree,
    +                                     GError **error);

    Use this to validate the basic structure of dirtree , independent of any other objects it references.

    @@ -2271,16 +2271,16 @@ any other objects it references.

    Returns

    -

    TRUE if dirtree +

    TRUE if dirtree is structurally valid


    ostree_validate_structureof_dirmeta ()

    -
    gboolean
    -ostree_validate_structureof_dirmeta (GVariant *dirmeta,
    -                                     GError **error);
    +
    gboolean
    +ostree_validate_structureof_dirmeta (GVariant *dirmeta,
    +                                     GError **error);

    Use this to validate the basic structure of dirmeta .

    @@ -2307,15 +2307,15 @@ ostree_validate_structureof_dirmeta (

    Returns

    -

    TRUE if dirmeta +

    TRUE if dirmeta is structurally valid


    ostree_commit_get_parent ()

    -
    gchar *
    -ostree_commit_get_parent (GVariant *commit_variant);
    +
    gchar *
    +ostree_commit_get_parent (GVariant *commit_variant);

    Parameters

    @@ -2334,21 +2334,21 @@ ostree_commit_get_parent (GVarian

    Returns

    Checksum of the parent commit of commit_variant -, or NULL +, or NULL if none


    ostree_commit_get_timestamp ()

    -
    guint64
    -ostree_commit_get_timestamp (GVariant *commit_variant);
    +
    guint64
    +ostree_commit_get_timestamp (GVariant *commit_variant);

    ostree_commit_get_content_checksum ()

    -
    gchar *
    -ostree_commit_get_content_checksum (GVariant *commit_variant);
    +
    gchar *
    +ostree_commit_get_content_checksum (GVariant *commit_variant);

    There are use cases where one wants a checksum just of the content of a commit. OSTree commits by default capture the current timestamp, and may have additional metadata, which means that re-committing identical content @@ -2375,7 +2375,7 @@ root "dirmeta" checksum (both in binary form, not hexadecimal).

    Returns

    -

    A SHA-256 hex string, or NULL if commit_variant +

    A SHA-256 hex string, or NULL if commit_variant is not well-formed.

    [nullable]

    @@ -2383,9 +2383,9 @@ is not well-formed.


    ostree_check_version ()

    -
    gboolean
    -ostree_check_version (guint required_year,
    -                      guint required_release);
    +
    gboolean
    +ostree_check_version (guint required_year,
    +                      guint required_release);

    Parameters

    @@ -2410,7 +2410,7 @@ ostree_check_version (guint

    Returns

    -

    TRUE if current libostree has at least the requested version, FALSE otherwise

    +

    TRUE if current libostree has at least the requested version, FALSE otherwise

    @@ -2618,6 +2618,6 @@ Unix epoch in UTC, big-endian) when the commit was committed

    +
    Generated by GTK-Doc V1.28 \ No newline at end of file diff --git a/apidoc/html/ostree-GPG-signature-verification-results.html b/apidoc/html/ostree-GPG-signature-verification-results.html index 2065a167..84821a72 100644 --- a/apidoc/html/ostree-GPG-signature-verification-results.html +++ b/apidoc/html/ostree-GPG-signature-verification-results.html @@ -3,12 +3,12 @@ GPG signature verification results: OSTree API references - + - + @@ -41,7 +41,7 @@
    +, or NULL.

    @@ -248,22 +248,22 @@ signed by key_id

    Returns

    -

    TRUE on success, FALSE on failure

    +

    TRUE on success, FALSE on failure


    ostree_gpg_verify_result_get ()

    -
    GVariant *
    +
    GVariant *
     ostree_gpg_verify_result_get (OstreeGpgVerifyResult *result,
    -                              guint signature_index,
    +                              guint signature_index,
                                   OstreeGpgSignatureAttr *attrs,
    -                              guint n_attrs);
    -

    Builds a GVariant tuple of requested attributes for the GPG signature at + guint n_attrs);

    +

    Builds a GVariant tuple of requested attributes for the GPG signature at signature_index in result . See the OstreeGpgSignatureAttr description -for the GVariantType of each available attribute.

    +for the GVariantType of each available attribute.

    It is a programmer error to request an invalid OstreeGpgSignatureAttr or an invalid signature_index . Use ostree_gpg_verify_result_count_all() to @@ -304,29 +304,29 @@ array

    Returns

    -

    a new, floating, GVariant tuple

    +

    a new, floating, GVariant tuple


    ostree_gpg_verify_result_get_all ()

    -
    GVariant *
    +
    GVariant *
     ostree_gpg_verify_result_get_all (OstreeGpgVerifyResult *result,
    -                                  guint signature_index);
    -

    Builds a GVariant tuple of all available attributes for the GPG signature + guint signature_index);

    +

    Builds a GVariant tuple of all available attributes for the GPG signature at signature_index in result .

    -

    The child values in the returned GVariant tuple are ordered to match the +

    The child values in the returned GVariant tuple are ordered to match the OstreeGpgSignatureAttr enumeration, which means the enum values can be -used as index values in functions like g_variant_get_child(). See the -OstreeGpgSignatureAttr description for the GVariantType of each +used as index values in functions like g_variant_get_child(). See the +OstreeGpgSignatureAttr description for the GVariantType of each available attribute.

    The OstreeGpgSignatureAttr enumeration may be extended in the future - with new attributes, which would affect the GVariant tuple returned by + with new attributes, which would affect the GVariant tuple returned by this function. While the position and type of current child values in - the GVariant tuple will not change, to avoid backward-compatibility + the GVariant tuple will not change, to avoid backward-compatibility issues please do not depend on the tuple's overall size or type signature.

    @@ -359,7 +359,7 @@ available attribute.

    Returns

    -

    a new, floating, GVariant tuple

    +

    a new, floating, GVariant tuple


    @@ -367,9 +367,9 @@ available attribute.

    ostree_gpg_verify_result_describe ()

    void
     ostree_gpg_verify_result_describe (OstreeGpgVerifyResult *result,
    -                                   guint signature_index,
    -                                   GString *output_buffer,
    -                                   const gchar *line_prefix,
    +                                   guint signature_index,
    +                                   GString *output_buffer,
    +                                   const gchar *line_prefix,
                                        OstreeGpgSignatureFormatFlags flags);

    Appends a brief, human-readable description of the GPG signature at signature_index @@ -408,7 +408,7 @@ format. Currently must be 0.

    - + @@ -430,11 +430,11 @@ format. Currently must be 0.

    ostree_gpg_verify_result_describe_variant ()

    void
     ostree_gpg_verify_result_describe_variant
    -                               (GVariant *variant,
    -                                GString *output_buffer,
    -                                const gchar *line_prefix,
    +                               (GVariant *variant,
    +                                GString *output_buffer,
    +                                const gchar *line_prefix,
                                     OstreeGpgSignatureFormatFlags flags);
    -

    Similar to ostree_gpg_verify_result_describe() but takes a GVariant of +

    Similar to ostree_gpg_verify_result_describe() but takes a GVariant of all attributes for a GPG signature instead of an OstreeGpgVerifyResult and signature index.

    The variant @@ -451,12 +451,12 @@ and signature index.

    - + - + @@ -476,14 +476,14 @@ and signature index.


    ostree_gpg_verify_result_require_valid_signature ()

    -
    gboolean
    +
    gboolean
     ostree_gpg_verify_result_require_valid_signature
                                    (OstreeGpgVerifyResult *result,
    -                                GError **error);
    + GError **error);

    Checks if the result contains at least one signature from the trusted keyring. You can call this function immediately after ostree_repo_verify_summary() or ostree_repo_verify_commit_ext() - -it will handle the NULL result +it will handle the NULL result and filled error too.

    @@ -502,7 +502,7 @@ it will handle the NULL
    - + @@ -510,9 +510,9 @@ it will handle the NULL

    Returns

    -

    TRUE if result -was not NULL and had at least one -signature from trusted keyring, otherwise FALSE

    +

    TRUE if result +was not NULL and had at least one +signature from trusted keyring, otherwise FALSE

    @@ -568,7 +568,7 @@ These may be returned by any API which creates or verifies signatures.

    enum OstreeGpgSignatureAttr

    Signature attributes available from an OstreeGpgVerifyResult. -The attribute's GVariantType is shown in brackets.

    +The attribute's GVariantType is shown in brackets.

    Members

    -guint +guint ostree_gpg_verify_result_count_all () @@ -49,7 +49,7 @@
    -guint +guint ostree_gpg_verify_result_count_valid () @@ -57,7 +57,7 @@
    -gboolean +gboolean ostree_gpg_verify_result_lookup () @@ -65,7 +65,7 @@
    -GVariant * +GVariant * ostree_gpg_verify_result_get () @@ -73,7 +73,7 @@
    -GVariant * +GVariant * ostree_gpg_verify_result_get_all () @@ -97,7 +97,7 @@
    -gboolean +gboolean ostree_gpg_verify_result_require_valid_signature () @@ -150,7 +150,7 @@ or get all signature details with

    Functions

    ostree_gpg_verify_result_count_all ()

    -
    guint
    +
    guint
     ostree_gpg_verify_result_count_all (OstreeGpgVerifyResult *result);

    Counts all the signatures in result .

    @@ -177,7 +177,7 @@ ostree_gpg_verify_result_count_all (

    ostree_gpg_verify_result_count_valid ()

    -
    guint
    +
    guint
     ostree_gpg_verify_result_count_valid (OstreeGpgVerifyResult *result);

    Counts only the valid signatures in result .

    @@ -204,17 +204,17 @@ ostree_gpg_verify_result_count_valid (

    ostree_gpg_verify_result_lookup ()

    -
    gboolean
    +
    gboolean
     ostree_gpg_verify_result_lookup (OstreeGpgVerifyResult *result,
    -                                 const gchar *key_id,
    -                                 guint *out_signature_index);
    + const gchar *key_id, + guint *out_signature_index);

    Searches result for a signature signed by key_id . If a match is found, -the function returns TRUE and sets out_signature_index +the function returns TRUE and sets out_signature_index so that further signature details can be obtained through ostree_gpg_verify_result_get(). -If no match is found, the function returns FALSE and leaves +If no match is found, the function returns FALSE and leaves out_signature_index unchanged.

    @@ -240,7 +240,7 @@ If no match is found, the function returns FALSE an

    out_signature_index

    return location for the index of the signature signed by key_id -, or NULL.

    [out]

    output_buffer

    a GString to hold the description

    a GString to hold the description

     

    variant

    a GVariant from ostree_gpg_verify_result_get_all()

    a GVariant from ostree_gpg_verify_result_get_all()

     

    output_buffer

    a GString to hold the description

    a GString to hold the description

     

    error

    A GError

    A GError

     
    @@ -581,56 +581,56 @@ The attribute's GVariantType is shown in brackets.

    @@ -638,7 +638,7 @@ The attribute's GVariantType is shown in brackets.

    @@ -646,7 +646,7 @@ The attribute's GVariantType is shown in brackets.

    @@ -654,14 +654,14 @@ The attribute's GVariantType is shown in brackets.

    @@ -669,7 +669,7 @@ The attribute's GVariantType is shown in brackets.

    - + @@ -281,12 +281,12 @@ exist.


    ostree_mutable_tree_walk ()

    -
    gboolean
    +
    gboolean
     ostree_mutable_tree_walk (OstreeMutableTree *self,
    -                          GPtrArray *split_path,
    -                          guint start,
    +                          GPtrArray *split_path,
    +                          guint start,
                               OstreeMutableTree **out_subdir,
    -                          GError **error);
    + GError **error);

    Traverse start number of elements starting from split_path ; the @@ -334,7 +334,7 @@ child will be returned in out_subdir


    ostree_mutable_tree_get_subdirs ()

    -
    GHashTable *
    +
    GHashTable *
     ostree_mutable_tree_get_subdirs (OstreeMutableTree *self);
    + + + + - + @@ -6960,15 +7022,15 @@ one around this call.


    ostree_repo_pull_one_dir ()

    -
    gboolean
    +
    gboolean
     ostree_repo_pull_one_dir (OstreeRepo *self,
                               const char *remote_name,
                               const char *dir_to_pull,
                               char **refs_to_fetch,
                               OstreeRepoPullFlags flags,
                               OstreeAsyncProgress *progress,
    -                          GCancellable *cancellable,
    -                          GError **error);
    + GCancellable *cancellable, + GError **error);

    This is similar to ostree_repo_pull(), but only fetches a single subpath.

    @@ -6997,7 +7059,7 @@ subpath.

    - + @@ -7027,13 +7089,13 @@ subpath.


    ostree_repo_pull_with_options ()

    -
    gboolean
    +
    gboolean
     ostree_repo_pull_with_options (OstreeRepo *self,
                                    const char *remote_name_or_baseurl,
    -                               GVariant *options,
    +                               GVariant *options,
                                    OstreeAsyncProgress *progress,
    -                               GCancellable *cancellable,
    -                               GError **error);
    + GCancellable *cancellable, + GError **error);

    Like ostree_repo_pull(), but supports an extensible set of flags. The following are currently defined:

      @@ -7059,6 +7121,9 @@ string to pull the latest commit for that ref

    • update-frequency (u): Frequency to call the async progress callback in milliseconds, if any; only values higher than 0 are valid

    • localcache-repos (as): File paths for local repos to use as caches when doing remote fetches

    • append-user-agent (s): Additional string to append to the user agent

    • +
    • n-network-retries (u): Number of times to retry each download on receiving +a transient network error, such as a socket timeout; default is 5, 0 +means return errors without retrying

    Parameters

    @@ -7109,7 +7174,7 @@ string to pull the latest commit for that ref

    void
     ostree_repo_pull_default_console_progress_changed
                                    (OstreeAsyncProgress *progress,
    -                                gpointer user_data);
    + gpointer user_data);

    Convenient "changed" callback for use with ostree_async_progress_new_and_connect() when pulling from a remote repository.

    @@ -7148,13 +7213,13 @@ and user_data

    ostree_repo_sign_commit ()

    -
    gboolean
    +
    gboolean
     ostree_repo_sign_commit (OstreeRepo *self,
    -                         const gchar *commit_checksum,
    -                         const gchar *key_id,
    -                         const gchar *homedir,
    -                         GCancellable *cancellable,
    -                         GError **error);
    + const gchar *commit_checksum, + const gchar *key_id, + const gchar *homedir, + GCancellable *cancellable, + GError **error);

    Add a GPG signature to a commit.

    Parameters

    @@ -7182,17 +7247,17 @@ ostree_repo_sign_commit (

    homedir

    -
    + - + - + @@ -7202,12 +7267,12 @@ ostree_repo_sign_commit (

    ostree_repo_append_gpg_signature ()

    -
    gboolean
    +
    gboolean
     ostree_repo_append_gpg_signature (OstreeRepo *self,
    -                                  const gchar *commit_checksum,
    -                                  GBytes *signature_bytes,
    -                                  GCancellable *cancellable,
    -                                  GError **error);
    + const gchar *commit_checksum, + GBytes *signature_bytes, + GCancellable *cancellable, + GError **error);

    Append a GPG signature to a commit.

    Parameters

    @@ -7235,12 +7300,12 @@ ostree_repo_append_gpg_signature (
    - + - + @@ -7250,12 +7315,12 @@ ostree_repo_append_gpg_signature (

    ostree_repo_add_gpg_signature_summary ()

    -
    gboolean
    +
    gboolean
     ostree_repo_add_gpg_signature_summary (OstreeRepo *self,
    -                                       const gchar **key_id,
    -                                       const gchar *homedir,
    -                                       GCancellable *cancellable,
    -                                       GError **error);
    + const gchar **key_id, + const gchar *homedir, + GCancellable *cancellable, + GError **error);

    Add a GPG signature to a summary file.

    Parameters

    @@ -7278,17 +7343,17 @@ ostree_repo_add_gpg_signature_summary (

    homedir

    -
    + - + - + @@ -7300,20 +7365,20 @@ ostree_repo_add_gpg_signature_summary (

    ostree_repo_gpg_verify_data ()

    OstreeGpgVerifyResult *
     ostree_repo_gpg_verify_data (OstreeRepo *self,
    -                             const gchar *remote_name,
    -                             GBytes *data,
    -                             GBytes *signatures,
    -                             GFile *keyringdir,
    -                             GFile *extra_keyring,
    -                             GCancellable *cancellable,
    -                             GError **error);
    + const gchar *remote_name, + GBytes *data, + GBytes *signatures, + GFile *keyringdir, + GFile *extra_keyring, + GCancellable *cancellable, + GError **error);

    Verify signatures for data using GPG keys in the keyring for remote_name , and return an OstreeGpgVerifyResult.

    The remote_name - parameter can be NULL. In that case it will do + parameter can be NULL. In that case it will do the verifications using GPG keys in the keyrings of all remotes.

    Parameters

    @@ -7336,12 +7401,12 @@ the verifications using GPG keys in the keyrings of all remotes.

    - + - + @@ -7369,20 +7434,20 @@ the verifications using GPG keys in the keyrings of all remotes.

    Returns

    -

    an OstreeGpgVerifyResult, or NULL on error.

    +

    an OstreeGpgVerifyResult, or NULL on error.

    [transfer full]


    ostree_repo_verify_commit ()

    -
    gboolean
    +
    gboolean
     ostree_repo_verify_commit (OstreeRepo *self,
    -                           const gchar *commit_checksum,
    -                           GFile *keyringdir,
    -                           GFile *extra_keyring,
    -                           GCancellable *cancellable,
    -                           GError **error);
    + const gchar *commit_checksum, + GFile *keyringdir, + GFile *extra_keyring, + GCancellable *cancellable, + GError **error);

    Check for a valid GPG signature on commit named by the ASCII checksum commit_checksum .

    @@ -7430,7 +7495,7 @@ checksum commit_checksum

    Returns

    -

    TRUE if there was a GPG signature from a trusted keyring, otherwise FALSE

    +

    TRUE if there was a GPG signature from a trusted keyring, otherwise FALSE


    @@ -7438,11 +7503,11 @@ checksum commit_checksum

    ostree_repo_verify_commit_ext ()

    OstreeGpgVerifyResult *
     ostree_repo_verify_commit_ext (OstreeRepo *self,
    -                               const gchar *commit_checksum,
    -                               GFile *keyringdir,
    -                               GFile *extra_keyring,
    -                               GCancellable *cancellable,
    -                               GError **error);
    + const gchar *commit_checksum, + GFile *keyringdir, + GFile *extra_keyring, + GCancellable *cancellable, + GError **error);

    Read GPG signature(s) on the commit named by the ASCII checksum commit_checksum and return detailed results.

    @@ -7490,7 +7555,7 @@ ostree_repo_verify_commit_ext (

    Returns

    -

    an OstreeGpgVerifyResult, or NULL on error.

    +

    an OstreeGpgVerifyResult, or NULL on error.

    [transfer full]

    @@ -7499,10 +7564,10 @@ ostree_repo_verify_commit_ext (

    ostree_repo_verify_commit_for_remote ()

    OstreeGpgVerifyResult *
     ostree_repo_verify_commit_for_remote (OstreeRepo *self,
    -                                      const gchar *commit_checksum,
    -                                      const gchar *remote_name,
    -                                      GCancellable *cancellable,
    -                                      GError **error);
    + const gchar *commit_checksum, + const gchar *remote_name, + GCancellable *cancellable, + GError **error);

    Read GPG signature(s) on the commit named by the ASCII checksum commit_checksum and return detailed results, based on the keyring @@ -7547,7 +7612,7 @@ configured for remote

    Returns

    -

    an OstreeGpgVerifyResult, or NULL on error.

    +

    an OstreeGpgVerifyResult, or NULL on error.

    [transfer full]

    @@ -7557,10 +7622,10 @@ configured for remote
    OstreeGpgVerifyResult *
     ostree_repo_verify_summary (OstreeRepo *self,
                                 const char *remote_name,
    -                            GBytes *summary,
    -                            GBytes *signatures,
    -                            GCancellable *cancellable,
    -                            GError **error);
    + GBytes *summary, + GBytes *signatures, + GCancellable *cancellable, + GError **error);

    Verify signatures for summary data using GPG keys in the keyring for @@ -7587,12 +7652,12 @@ ostree_repo_verify_summary (

    summary

    -
    + - + @@ -7610,18 +7675,18 @@ ostree_repo_verify_summary (

    Returns

    -

    an OstreeGpgVerifyResult, or NULL on error.

    +

    an OstreeGpgVerifyResult, or NULL on error.

    [transfer full]


    ostree_repo_regenerate_summary ()

    -
    gboolean
    +
    gboolean
     ostree_repo_regenerate_summary (OstreeRepo *self,
    -                                GVariant *additional_metadata,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GVariant *additional_metadata, + GCancellable *cancellable, + GError **error);

    An OSTree repository can contain a high level "summary" file that describes the available branches and other metadata.

    If the timetable for making commits and updating the summary file is fairly @@ -7652,7 +7717,7 @@ lexicographic order.

    - + @@ -7803,52 +7868,52 @@ interesting for reporting purposes.

    - + - + - + - + - + - + - + - + - + @@ -8208,7 +8273,7 @@ supercedes previous separate enumeration usage in

    OSTREE_REPO_LIST_OBJECTS_VARIANT_TYPE

    #define OSTREE_REPO_LIST_OBJECTS_VARIANT_TYPE (G_VARIANT_TYPE ("(bas)")
     
    -

    b - TRUE if object is available "loose" +

    b - TRUE if object is available "loose" as - List of pack file checksums in which this object appears


    @@ -8395,6 +8460,6 @@ as - List of pack file checksums in which this object appears

    +
    Generated by GTK-Doc V1.28 \ No newline at end of file diff --git a/apidoc/html/ostree-Progress-notification-system-for-asynchronous-operations.html b/apidoc/html/ostree-Progress-notification-system-for-asynchronous-operations.html index 95907dfe..0d1fdae4 100644 --- a/apidoc/html/ostree-Progress-notification-system-for-asynchronous-operations.html +++ b/apidoc/html/ostree-Progress-notification-system-for-asynchronous-operations.html @@ -3,12 +3,12 @@ Progress notification system for asynchronous operations: OSTree API references - + - + @@ -73,7 +73,7 @@
    - +ostree_async_progress_get (progress, + "outstanding-fetches", "u", &outstanding_fetches, + "bytes-received", "t", &bytes_received, + "status", "s", &status, + "refs", "@a{ss}", &refs_variant, + NULL);

    OSTREE_GPG_SIGNATURE_ATTR_VALID

    -

    [G_VARIANT_TYPE_BOOLEAN] Is the signature valid?

    +

    [G_VARIANT_TYPE_BOOLEAN] Is the signature valid?

     

    OSTREE_GPG_SIGNATURE_ATTR_SIG_EXPIRED

    -

    [G_VARIANT_TYPE_BOOLEAN] Has the signature expired?

    +

    [G_VARIANT_TYPE_BOOLEAN] Has the signature expired?

     

    OSTREE_GPG_SIGNATURE_ATTR_KEY_EXPIRED

    -

    [G_VARIANT_TYPE_BOOLEAN] Has the signing key expired?

    +

    [G_VARIANT_TYPE_BOOLEAN] Has the signing key expired?

     

    OSTREE_GPG_SIGNATURE_ATTR_KEY_REVOKED

    -

    [G_VARIANT_TYPE_BOOLEAN] Has the signing key been revoked?

    +

    [G_VARIANT_TYPE_BOOLEAN] Has the signing key been revoked?

     

    OSTREE_GPG_SIGNATURE_ATTR_KEY_MISSING

    -

    [G_VARIANT_TYPE_BOOLEAN] Is the signing key missing?

    +

    [G_VARIANT_TYPE_BOOLEAN] Is the signing key missing?

     

    OSTREE_GPG_SIGNATURE_ATTR_FINGERPRINT

    -

    [G_VARIANT_TYPE_STRING] Fingerprint of the signing key

    +

    [G_VARIANT_TYPE_STRING] Fingerprint of the signing key

     

    OSTREE_GPG_SIGNATURE_ATTR_TIMESTAMP

    -

    [G_VARIANT_TYPE_INT64] Signature creation Unix timestamp

    +

    [G_VARIANT_TYPE_INT64] Signature creation Unix timestamp

     

    OSTREE_GPG_SIGNATURE_ATTR_EXP_TIMESTAMP

    -

    [G_VARIANT_TYPE_INT64] Signature expiration Unix timestamp (0 if no +

    [G_VARIANT_TYPE_INT64] Signature expiration Unix timestamp (0 if no expiration)

     

    OSTREE_GPG_SIGNATURE_ATTR_PUBKEY_ALGO_NAME

    -

    [G_VARIANT_TYPE_STRING] Name of the public key algorithm used to create +

    [G_VARIANT_TYPE_STRING] Name of the public key algorithm used to create the signature

     

    OSTREE_GPG_SIGNATURE_ATTR_HASH_ALGO_NAME

    -

    [G_VARIANT_TYPE_STRING] Name of the hash algorithm used to create the +

    [G_VARIANT_TYPE_STRING] Name of the hash algorithm used to create the signature

     

    OSTREE_GPG_SIGNATURE_ATTR_USER_NAME

    -

    [G_VARIANT_TYPE_STRING] The name of the signing key's primary user

    +

    [G_VARIANT_TYPE_STRING] The name of the signing key's primary user

     

    OSTREE_GPG_SIGNATURE_ATTR_USER_EMAIL

    -

    [G_VARIANT_TYPE_STRING] The email address of the signing key's primary +

    [G_VARIANT_TYPE_STRING] The email address of the signing key's primary user

     

    OSTREE_GPG_SIGNATURE_ATTR_FINGERPRINT_PRIMARY

    -

    [G_VARIANT_TYPE_STRING] Fingerprint of the signing key's primary key +

    [G_VARIANT_TYPE_STRING] Fingerprint of the signing key's primary key (will be the same as OSTREE_GPG_SIGNATURE_ATTR_FINGERPRINT if the the signature is already from the primary key rather than a subkey, and will be the empty string if the key is missing.)

    @@ -707,6 +707,6 @@ for future variations.

    +
    Generated by GTK-Doc V1.28 \ No newline at end of file diff --git a/apidoc/html/ostree-In-memory-modifiable-filesystem-tree.html b/apidoc/html/ostree-In-memory-modifiable-filesystem-tree.html index aab735f0..d90aa551 100644 --- a/apidoc/html/ostree-In-memory-modifiable-filesystem-tree.html +++ b/apidoc/html/ostree-In-memory-modifiable-filesystem-tree.html @@ -3,12 +3,12 @@ In-memory modifiable filesystem tree: OSTree API references - + - + @@ -79,7 +79,7 @@
    -gboolean +gboolean ostree_mutable_tree_replace_file () @@ -87,7 +87,7 @@
    -gboolean +gboolean ostree_mutable_tree_ensure_dir () @@ -95,7 +95,7 @@
    -gboolean +gboolean ostree_mutable_tree_lookup () @@ -103,7 +103,7 @@
    -gboolean +gboolean ostree_mutable_tree_ensure_parent_dirs () @@ -111,7 +111,7 @@
    -gboolean +gboolean ostree_mutable_tree_walk () @@ -119,7 +119,7 @@
    -GHashTable * +GHashTable * ostree_mutable_tree_get_subdirs () @@ -127,7 +127,7 @@
    -GHashTable * +GHashTable * ostree_mutable_tree_get_files () @@ -202,41 +202,41 @@ ostree_mutable_tree_get_contents_checksum

    ostree_mutable_tree_replace_file ()

    -
    gboolean
    +
    gboolean
     ostree_mutable_tree_replace_file (OstreeMutableTree *self,
                                       const char *name,
                                       const char *checksum,
    -                                  GError **error);
    + GError **error);

    ostree_mutable_tree_ensure_dir ()

    -
    gboolean
    +
    gboolean
     ostree_mutable_tree_ensure_dir (OstreeMutableTree *self,
                                     const char *name,
                                     OstreeMutableTree **out_subdir,
    -                                GError **error);
    + GError **error);

    ostree_mutable_tree_lookup ()

    -
    gboolean
    +
    gboolean
     ostree_mutable_tree_lookup (OstreeMutableTree *self,
                                 const char *name,
                                 char **out_file_checksum,
                                 OstreeMutableTree **out_subdir,
    -                            GError **error);
    + GError **error);

    ostree_mutable_tree_ensure_parent_dirs ()

    -
    gboolean
    +
    gboolean
     ostree_mutable_tree_ensure_parent_dirs
                                    (OstreeMutableTree *self,
    -                                GPtrArray *split_path,
    +                                GPtrArray *split_path,
                                     const char *metadata_checksum,
                                     OstreeMutableTree **out_parent,
    -                                GError **error);
    + GError **error);

    Create all parent trees necessary for the given split_path to exist.

    @@ -271,7 +271,7 @@ exist.

    error

    a GError

    a GError

     
    -gboolean +gboolean ostree_repo_mode_from_string () @@ -81,7 +81,7 @@
    -gboolean +gboolean ostree_repo_open () @@ -97,7 +97,7 @@
    -gboolean +gboolean ostree_repo_get_disable_fsync () @@ -105,7 +105,7 @@
    -gboolean +gboolean ostree_repo_is_system () @@ -113,7 +113,7 @@
    -gboolean +gboolean ostree_repo_is_writable () @@ -129,7 +129,7 @@
    -gboolean +gboolean ostree_repo_create () @@ -137,7 +137,7 @@
    -GFile * +GFile * ostree_repo_get_path () @@ -153,7 +153,7 @@
    -GKeyFile * +GKeyFile * ostree_repo_get_config () @@ -169,7 +169,7 @@
    -guint +guint ostree_repo_hash () @@ -177,7 +177,7 @@
    -gboolean +gboolean ostree_repo_equal () @@ -185,7 +185,7 @@
    -GKeyFile * +GKeyFile * ostree_repo_copy_config () @@ -193,7 +193,7 @@
    -gboolean +gboolean ostree_repo_remote_add () @@ -201,7 +201,7 @@
    -gboolean +gboolean ostree_repo_remote_delete () @@ -209,7 +209,7 @@
    -gboolean +gboolean ostree_repo_remote_change () @@ -225,7 +225,7 @@
    -gboolean +gboolean ostree_repo_remote_get_url () @@ -233,7 +233,7 @@
    -gboolean +gboolean ostree_repo_remote_get_gpg_verify () @@ -241,7 +241,7 @@
    -gboolean +gboolean ostree_repo_remote_get_gpg_verify_summary () @@ -249,7 +249,7 @@
    -gboolean +gboolean ostree_repo_remote_gpg_import () @@ -257,7 +257,7 @@
    -gboolean +gboolean ostree_repo_remote_fetch_summary () @@ -265,7 +265,7 @@
    -gboolean +gboolean ostree_repo_remote_fetch_summary_with_options () @@ -273,7 +273,7 @@
    -gboolean +gboolean ostree_repo_reload_config () @@ -281,7 +281,7 @@
    -gboolean +gboolean ostree_repo_get_remote_boolean_option () @@ -289,7 +289,7 @@
    -gboolean +gboolean ostree_repo_get_remote_list_option () @@ -297,7 +297,7 @@
    -gboolean +gboolean ostree_repo_get_remote_option () @@ -313,7 +313,7 @@
    -gboolean +gboolean ostree_repo_write_config () @@ -321,7 +321,7 @@
    -gboolean +gboolean ostree_repo_scan_hardlinks () @@ -329,7 +329,7 @@
    -gboolean +gboolean ostree_repo_prepare_transaction () @@ -337,7 +337,7 @@
    -gboolean +gboolean ostree_repo_commit_transaction () @@ -345,7 +345,7 @@
    -gboolean +gboolean ostree_repo_abort_transaction () @@ -369,7 +369,7 @@
    -gboolean +gboolean ostree_repo_set_ref_immediate () @@ -377,7 +377,7 @@
    -gboolean +gboolean ostree_repo_set_alias_ref_immediate () @@ -385,7 +385,7 @@
    -gboolean +gboolean ostree_repo_set_cache_dir () @@ -393,7 +393,7 @@
    -gboolean +gboolean ostree_repo_sign_delta () @@ -401,7 +401,7 @@
    -gboolean +gboolean ostree_repo_has_object () @@ -409,7 +409,7 @@
    -gboolean +gboolean ostree_repo_mark_commit_partial () @@ -417,7 +417,7 @@
    -gboolean +gboolean ostree_repo_write_metadata () @@ -433,7 +433,7 @@
    -gboolean +gboolean ostree_repo_write_metadata_finish () @@ -441,7 +441,7 @@
    -gboolean +gboolean ostree_repo_write_content () @@ -449,7 +449,7 @@
    -gboolean +gboolean ostree_repo_write_metadata_trusted () @@ -457,7 +457,7 @@
    -gboolean +gboolean ostree_repo_write_metadata_stream_trusted () @@ -465,7 +465,7 @@
    -gboolean +gboolean ostree_repo_write_content_trusted () @@ -481,7 +481,7 @@
    -gboolean +gboolean ostree_repo_write_content_finish () @@ -489,7 +489,7 @@
    -gboolean +gboolean ostree_repo_resolve_rev () @@ -497,7 +497,7 @@
    -gboolean +gboolean ostree_repo_resolve_rev_ext () @@ -505,7 +505,7 @@
    -gboolean +gboolean ostree_repo_list_refs () @@ -513,7 +513,7 @@
    -gboolean +gboolean ostree_repo_list_refs_ext () @@ -521,7 +521,7 @@
    -gboolean +gboolean ostree_repo_remote_list_refs () @@ -529,7 +529,7 @@
    -gboolean +gboolean ostree_repo_load_variant () @@ -537,7 +537,7 @@
    -gboolean +gboolean ostree_repo_load_commit () @@ -545,7 +545,7 @@
    -gboolean +gboolean ostree_repo_load_variant_if_exists () @@ -553,7 +553,7 @@
    -gboolean +gboolean ostree_repo_load_file () @@ -561,7 +561,7 @@
    -gboolean +gboolean ostree_repo_load_object_stream () @@ -569,7 +569,7 @@
    -gboolean +gboolean ostree_repo_query_object_storage_size () @@ -577,7 +577,7 @@
    -gboolean +gboolean ostree_repo_import_object_from () @@ -585,7 +585,7 @@
    -gboolean +gboolean ostree_repo_import_object_from_with_trust () @@ -593,7 +593,7 @@
    -gboolean +gboolean ostree_repo_import_archive_to_mtree () @@ -601,7 +601,7 @@
    -gboolean +gboolean ostree_repo_export_tree_to_archive () @@ -609,7 +609,7 @@
    -gboolean +gboolean ostree_repo_delete_object () @@ -617,7 +617,7 @@
    -gboolean +gboolean ostree_repo_fsck_object () @@ -641,7 +641,7 @@
    -GVariant * +GVariant * (*OstreeRepoCommitModifierXattrCallback) () @@ -713,7 +713,7 @@
    -GType +GType ostree_repo_devino_cache_get_type () @@ -721,7 +721,7 @@
    -gboolean +gboolean ostree_repo_write_directory_to_mtree () @@ -729,7 +729,7 @@
    -gboolean +gboolean ostree_repo_write_dfd_to_mtree () @@ -737,7 +737,7 @@
    -gboolean +gboolean ostree_repo_write_archive_to_mtree () @@ -745,7 +745,7 @@
    -gboolean +gboolean ostree_repo_write_mtree () @@ -753,7 +753,7 @@
    -gboolean +gboolean ostree_repo_write_commit () @@ -761,7 +761,7 @@
    -gboolean +gboolean ostree_repo_write_commit_with_time () @@ -769,7 +769,7 @@
    -gboolean +gboolean ostree_repo_read_commit_detached_metadata () @@ -777,7 +777,7 @@
    -gboolean +gboolean ostree_repo_write_commit_detached_metadata () @@ -793,7 +793,7 @@
    -gboolean +gboolean ostree_repo_checkout_tree () @@ -801,7 +801,7 @@
    -gboolean +gboolean ostree_repo_checkout_tree_at () @@ -809,7 +809,7 @@
    -gboolean +gboolean ostree_repo_checkout_at () @@ -817,7 +817,7 @@
    -gboolean +gboolean ostree_repo_checkout_gc () @@ -825,7 +825,7 @@
    -gboolean +gboolean ostree_repo_read_commit () @@ -833,7 +833,7 @@
    -gboolean +gboolean ostree_repo_list_objects () @@ -841,7 +841,7 @@
    -gboolean +gboolean ostree_repo_list_commit_objects_starting_with () @@ -849,7 +849,7 @@
    -gboolean +gboolean ostree_repo_list_static_delta_names () @@ -857,7 +857,7 @@
    -gboolean +gboolean ostree_repo_static_delta_generate () @@ -865,7 +865,7 @@
    -gboolean +gboolean ostree_repo_static_delta_execute_offline () @@ -873,7 +873,7 @@
    -GHashTable * +GHashTable * ostree_repo_traverse_new_reachable () @@ -881,7 +881,7 @@
    -GHashTable * +GHashTable * ostree_repo_traverse_new_parents () @@ -897,7 +897,7 @@
    -gboolean +gboolean ostree_repo_traverse_commit () @@ -905,7 +905,7 @@
    -gboolean +gboolean ostree_repo_traverse_commit_union () @@ -913,7 +913,7 @@
    -gboolean +gboolean ostree_repo_traverse_commit_union_with_parents () @@ -953,7 +953,7 @@
    -gboolean +gboolean ostree_repo_commit_traverse_iter_init_commit () @@ -961,7 +961,7 @@
    -gboolean +gboolean ostree_repo_commit_traverse_iter_init_dirtree () @@ -977,7 +977,7 @@
    -gboolean +gboolean ostree_repo_prune () @@ -985,7 +985,7 @@
    -gboolean +gboolean ostree_repo_prune_static_deltas () @@ -993,7 +993,15 @@
    -gboolean +gboolean + +ostree_repo_traverse_reachable_refs () +
    +gboolean ostree_repo_prune_from_reachable () @@ -1001,7 +1009,7 @@
    -gboolean +gboolean ostree_repo_pull () @@ -1009,7 +1017,7 @@
    -gboolean +gboolean ostree_repo_pull_one_dir () @@ -1017,7 +1025,7 @@
    -gboolean +gboolean ostree_repo_pull_with_options () @@ -1033,7 +1041,7 @@
    -gboolean +gboolean ostree_repo_sign_commit () @@ -1041,7 +1049,7 @@
    -gboolean +gboolean ostree_repo_append_gpg_signature () @@ -1049,7 +1057,7 @@
    -gboolean +gboolean ostree_repo_add_gpg_signature_summary () @@ -1065,7 +1073,7 @@
    -gboolean +gboolean ostree_repo_verify_commit () @@ -1097,7 +1105,7 @@
    -gboolean +gboolean ostree_repo_regenerate_summary () @@ -1243,10 +1251,10 @@ collection IDs, see ostree_validate_collection_id()

    Functions

    ostree_repo_mode_from_string ()

    -
    gboolean
    +
    gboolean
     ostree_repo_mode_from_string (const char *mode,
                                   OstreeRepoMode *out_mode,
    -                              GError **error);
    + GError **error);

    @@ -1254,8 +1262,8 @@ ostree_repo_mode_from_string (const OstreeRepo * ostree_repo_open_at (int dfd, const char *path, - GCancellable *cancellable, - GError **error); + GCancellable *cancellable, + GError **error);

    This combines ostree_repo_new() (but using fd-relative access) with ostree_repo_open(). Use this when you know you should be operating on an already extant repository. If you want to create one, use ostree_repo_create_at().

    @@ -1293,7 +1301,7 @@ already extant repository. If you want to create one, use

    ostree_repo_new ()

    OstreeRepo *
    -ostree_repo_new (GFile *path);
    +ostree_repo_new (GFile *path);

    Parameters

    @@ -1320,8 +1328,8 @@ ostree_repo_new (GFile *pa

    ostree_repo_new_for_sysroot_path ()

    OstreeRepo *
    -ostree_repo_new_for_sysroot_path (GFile *repo_path,
    -                                  GFile *sysroot_path);
    +ostree_repo_new_for_sysroot_path (GFile *repo_path, + GFile *sysroot_path);

    Creates a new OstreeRepo instance, taking the system root path explicitly instead of assuming "/".

    @@ -1372,17 +1380,17 @@ Otherwise use the path in the OSTREE_REPO environment variable

    ostree_repo_open ()

    -
    gboolean
    +
    gboolean
     ostree_repo_open (OstreeRepo *self,
    -                  GCancellable *cancellable,
    -                  GError **error);
    + GCancellable *cancellable, + GError **error);

    ostree_repo_set_disable_fsync ()

    void
     ostree_repo_set_disable_fsync (OstreeRepo *self,
    -                               gboolean disable_fsync);
    + gboolean disable_fsync);

    Disable requests to fsync() to stable storage during commits. This option should only be used by build system tools which are creating disposable virtual machines, or have higher level mechanisms for @@ -1403,7 +1411,7 @@ ensuring data consistency.

    - + @@ -1413,7 +1421,7 @@ ensuring data consistency.


    ostree_repo_get_disable_fsync ()

    -
    gboolean
    +
    gboolean
     ostree_repo_get_disable_fsync (OstreeRepo *self);

    For more information see ostree_repo_set_disable_fsync().

    @@ -1439,7 +1447,7 @@ ostree_repo_get_disable_fsync (

    ostree_repo_is_system ()

    -
    gboolean
    +
    gboolean
     ostree_repo_is_system (OstreeRepo *repo);

    Parameters

    @@ -1458,15 +1466,15 @@ ostree_repo_is_system (

    Returns

    -

    TRUE if this repository is the root-owned system global repository

    +

    TRUE if this repository is the root-owned system global repository


    ostree_repo_is_writable ()

    -
    gboolean
    +
    gboolean
     ostree_repo_is_writable (OstreeRepo *self,
    -                         GError **error);
    + GError **error);

    Returns whether the repository is writable by the current user. If the repository is not writable, the error indicates why.

    @@ -1486,7 +1494,7 @@ If the repository is not writable, the error<
    - + @@ -1494,7 +1502,7 @@ If the repository is not writable, the error<

    Returns

    -

    TRUE if this repository is writable

    +

    TRUE if this repository is writable


    @@ -1504,9 +1512,9 @@ If the repository is not writable, the error< ostree_repo_create_at (int dfd, const char *path, OstreeRepoMode mode, - GVariant *options, - GCancellable *cancellable, - GError **error); + GVariant *options, + GCancellable *cancellable, + GError **error);

    This is a file-descriptor relative version of ostree_repo_create(). Create the underlying structure on disk for the repository, and call ostree_repo_open_at() on the result, preparing it for use.

    @@ -1570,11 +1578,11 @@ the mode or configuration (repo/config) of an exist

    ostree_repo_create ()

    -
    gboolean
    +
    gboolean
     ostree_repo_create (OstreeRepo *self,
                         OstreeRepoMode mode,
    -                    GCancellable *cancellable,
    -                    GError **error);
    + GCancellable *cancellable, + GError **error);

    Create the underlying structure on disk for the repository, and call ostree_repo_open() on the result, preparing it for use.

    Since version 2016.8, this function will succeed on an existing @@ -1622,7 +1630,7 @@ this function on a repository initialized via

    ostree_repo_get_path ()

    -
    GFile *
    +
    GFile *
     ostree_repo_get_path (OstreeRepo *self);

    Note that since the introduction of ostree_repo_open_at(), this function may return a process-specific path in /proc if the repository was created using @@ -1657,7 +1665,7 @@ ostree_repo_get_mode (

    ostree_repo_get_config ()

    -
    GKeyFile *
    +
    GKeyFile *
     ostree_repo_get_config (OstreeRepo *self);

    Returns

    @@ -1698,7 +1706,7 @@ repository (to see whether a ref was written).


    ostree_repo_hash ()

    -
    guint
    +
    guint
     ostree_repo_hash (OstreeRepo *self);

    Calculate a hash value for the given open repository, suitable for use when putting it into a hash table. It is an error to call this on an OstreeRepo @@ -1729,14 +1737,14 @@ the repository is open and the inode of its root directory has been loaded.


    ostree_repo_equal ()

    -
    gboolean
    +
    gboolean
     ostree_repo_equal (OstreeRepo *a,
                        OstreeRepo *b);

    Check whether two opened repositories are the same on disk: if their root directories are the same inode. If a or b are not open yet (due to -ostree_repo_open() not being called on them yet), FALSE will be returned.

    +ostree_repo_open() not being called on them yet), FALSE will be returned.

    Parameters

    disable_fsync

    If TRUE, do not fsync

    If TRUE, do not fsync

     

    error

    a GError

    a GError

     
    @@ -1761,16 +1769,16 @@ directories are the same inode. If a

    Returns

    -

    TRUE if a +

    TRUE if a and b -are the same repository on disk, FALSE otherwise

    +are the same repository on disk, FALSE otherwise

    Since: 2017.12


    ostree_repo_copy_config ()

    -
    GKeyFile *
    +
    GKeyFile *
     ostree_repo_copy_config (OstreeRepo *self);

    Returns

    @@ -1781,24 +1789,24 @@ ostree_repo_copy_config (

    ostree_repo_remote_add ()

    -
    gboolean
    +
    gboolean
     ostree_repo_remote_add (OstreeRepo *self,
                             const char *name,
                             const char *url,
    -                        GVariant *options,
    -                        GCancellable *cancellable,
    -                        GError **error);
    + GVariant *options, + GCancellable *cancellable, + GError **error);

    Create a new remote named name pointing to url . If options is -provided, then it will be mapped to GKeyFile entries, where the +provided, then it will be mapped to GKeyFile entries, where the GVariant dictionary key is an option string, and the value is mapped as follows:

    Parameters

    @@ -1846,11 +1854,11 @@ mapped as follows:


    ostree_repo_remote_delete ()

    -
    gboolean
    +
    gboolean
     ostree_repo_remote_delete (OstreeRepo *self,
                                const char *name,
    -                           GCancellable *cancellable,
    -                           GError **error);
    + GCancellable *cancellable, + GError **error);

    Delete the remote named name . It is an error if the provided remote does not exist.

    @@ -1890,15 +1898,15 @@ remote does not exist.


    ostree_repo_remote_change ()

    -
    gboolean
    +
    gboolean
     ostree_repo_remote_change (OstreeRepo *self,
    -                           GFile *sysroot,
    +                           GFile *sysroot,
                                OstreeRepoRemoteChange changeop,
                                const char *name,
                                const char *url,
    -                           GVariant *options,
    -                           GCancellable *cancellable,
    -                           GError **error);
    + GVariant *options, + GCancellable *cancellable, + GError **error);

    A combined function handling the equivalent of ostree_repo_remote_add(), ostree_repo_remote_delete(), with more options.

    @@ -1960,9 +1968,9 @@ options.

    ostree_repo_remote_list ()

    char **
     ostree_repo_remote_list (OstreeRepo *self,
    -                         guint *out_n_remotes);
    + guint *out_n_remotes);

    List available remote names in an OstreeRepo. Remote names are sorted -alphabetically. If no remotes are available the function returns NULL.

    +alphabetically. If no remotes are available the function returns NULL.

    Parameters

    @@ -1987,7 +1995,7 @@ alphabetically. If no remotes are available the function returns

    Returns

    -

    a NULL-terminated +

    a NULL-terminated array of remote names.

    [array length=out_n_remotes][transfer full]

    @@ -1995,11 +2003,11 @@ array of remote names.


    ostree_repo_remote_get_url ()

    -
    gboolean
    +
    gboolean
     ostree_repo_remote_get_url (OstreeRepo *self,
                                 const char *name,
                                 char **out_url,
    -                            GError **error);
    + GError **error);

    Return the URL of the remote named name through out_url . It is an @@ -2038,17 +2046,17 @@ error if the provided remote does not exist.

    Returns

    -

    TRUE on success, FALSE on failure

    +

    TRUE on success, FALSE on failure


    ostree_repo_remote_get_gpg_verify ()

    -
    gboolean
    +
    gboolean
     ostree_repo_remote_get_gpg_verify (OstreeRepo *self,
                                        const char *name,
    -                                   gboolean *out_gpg_verify,
    -                                   GError **error);
    + gboolean *out_gpg_verify, + GError **error);

    Return whether GPG verification is enabled for the remote named name through out_gpg_verify @@ -2088,18 +2096,18 @@ not exist.

    Returns

    -

    TRUE on success, FALSE on failure

    +

    TRUE on success, FALSE on failure


    ostree_repo_remote_get_gpg_verify_summary ()

    -
    gboolean
    +
    gboolean
     ostree_repo_remote_get_gpg_verify_summary
                                    (OstreeRepo *self,
                                     const char *name,
    -                                gboolean *out_gpg_verify_summary,
    -                                GError **error);
    + gboolean *out_gpg_verify_summary, + GError **error);

    Return whether GPG verification of the summary is enabled for the remote named name through out_gpg_verify_summary @@ -2139,27 +2147,27 @@ remote does not exist.

    Returns

    -

    TRUE on success, FALSE on failure

    +

    TRUE on success, FALSE on failure


    ostree_repo_remote_gpg_import ()

    -
    gboolean
    +
    gboolean
     ostree_repo_remote_gpg_import (OstreeRepo *self,
                                    const char *name,
    -                               GInputStream *source_stream,
    +                               GInputStream *source_stream,
                                    const char * const *key_ids,
    -                               guint *out_imported,
    -                               GCancellable *cancellable,
    -                               GError **error);
    + guint *out_imported, + GCancellable *cancellable, + GError **error);

    Imports one or more GPG keys from the open source_stream , or from the user's personal keyring if source_stream - is NULL. The key_ids + is NULL. The key_ids array can optionally restrict which keys are imported. If key_ids - is NULL, + is NULL, then all keys are imported.

    The imported keys will be used to conduct GPG verification when pulling from the remote named name @@ -2185,28 +2193,28 @@ from the remote named name

    - + - + +keys, or NULL.

    - + - + @@ -2214,19 +2222,19 @@ keys, or NULL.

    Returns

    -

    TRUE on success, FALSE on failure

    +

    TRUE on success, FALSE on failure


    ostree_repo_remote_fetch_summary ()

    -
    gboolean
    +
    gboolean
     ostree_repo_remote_fetch_summary (OstreeRepo *self,
                                       const char *name,
    -                                  GBytes **out_summary,
    -                                  GBytes **out_signatures,
    -                                  GCancellable *cancellable,
    -                                  GError **error);
    + GBytes **out_summary, + GBytes **out_signatures, + GCancellable *cancellable, + GError **error);

    Tries to fetch the summary file and any GPG signatures on the summary file over HTTP, and returns the binary data in out_summary and out_signatures @@ -2238,10 +2246,10 @@ respectively.

    . Likewise if the summary file is not signed, out_signatures is set to NULL -. In either case the function still returns TRUE.

    +. In either case the function still returns TRUE.

    This method does not verify the signature of the downloaded summary file. Use ostree_repo_verify_summary() for that.

    -

    Parse the summary data into a GVariant using g_variant_new_from_bytes() +

    Parse the summary data into a GVariant using g_variant_new_from_bytes() with OSTREE_SUMMARY_GVARIANT_FORMAT as the format string.

    Parameters

    @@ -2265,23 +2273,23 @@ with

    out_summary

    +NULL.

    +signature data, or NULL.

    - + - + @@ -2289,27 +2297,30 @@ signature data, or NULL.

    Returns

    -

    TRUE on success, FALSE on failure

    +

    TRUE on success, FALSE on failure


    ostree_repo_remote_fetch_summary_with_options ()

    -
    gboolean
    +
    gboolean
     ostree_repo_remote_fetch_summary_with_options
                                    (OstreeRepo *self,
                                     const char *name,
    -                                GVariant *options,
    -                                GBytes **out_summary,
    -                                GBytes **out_signatures,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GVariant *options, + GBytes **out_summary, + GBytes **out_signatures, + GCancellable *cancellable, + GError **error);

    Like ostree_repo_remote_fetch_summary(), but supports an extensible set of flags. The following are currently defined:

    • override-url (s): Fetch summary from this URL if remote specifies no metalink in options

    • http-headers (a(ss)): Additional headers to add to all HTTP requests

    • append-user-agent (s): Additional string to append to the user agent

    • +
    • n-network-retries (u): Number of times to retry each download on receiving +a transient network error, such as a socket timeout; default is 5, 0 +means return errors without retrying

    Parameters

    @@ -2338,23 +2349,23 @@ The following are currently defined:

    +NULL.

    +signature data, or NULL.

    - + - + @@ -2362,16 +2373,16 @@ signature data, or NULL.

    Returns

    -

    TRUE on success, FALSE on failure

    +

    TRUE on success, FALSE on failure


    ostree_repo_reload_config ()

    -
    gboolean
    +
    gboolean
     ostree_repo_reload_config (OstreeRepo *self,
    -                           GCancellable *cancellable,
    -                           GError **error);
    + GCancellable *cancellable, + GError **error);

    By default, an OstreeRepo will cache the remote configuration and its own repo/config data. This API can be used to reload it.

    @@ -2405,13 +2416,13 @@ own repo/config data. This API can be used to reload it.


    ostree_repo_get_remote_boolean_option ()

    -
    gboolean
    +
    gboolean
     ostree_repo_get_remote_boolean_option (OstreeRepo *self,
                                            const char *remote_name,
                                            const char *option_name,
    -                                       gboolean default_value,
    -                                       gboolean *out_value,
    -                                       GError **error);
    + gboolean default_value, + gboolean *out_value, + GError **error);

    OSTree remotes are represented by keyfile groups, formatted like: [remote "remotename"]. This function returns a value named option_name @@ -2420,7 +2431,7 @@ If the option is not set, out_value will be set to default_value . If an error is returned, out_value - will be set to FALSE.

    + will be set to FALSE.

    Parameters

    source_stream

    a GInputStream, or NULL.

    a GInputStream, or NULL.

    [allow-none]

    key_ids

    a NULL-terminated array of GPG key IDs, or NULL.

    a NULL-terminated array of GPG key IDs, or NULL.

    [array zero-terminated=1][element-type utf8][allow-none]

    out_imported

    return location for the number of imported -keys, or NULL.

    [allow-none]

    cancellable

    a GCancellable

    a GCancellable

     

    error

    a GError

    a GError

     

    return location for raw summary data, or -NULL.

    [out][optional]

    out_signatures

    return location for raw summary -signature data, or NULL.

    [out][optional]

    cancellable

    a GCancellable

    a GCancellable

     

    error

    a GError

    a GError

     

    out_summary

    return location for raw summary data, or -NULL.

    [out][optional]

    out_signatures

    return location for raw summary -signature data, or NULL.

    [out][optional]

    cancellable

    a GCancellable

    a GCancellable

     

    error

    a GError

    a GError

     
    @@ -2466,26 +2477,26 @@ is not present

    Returns

    -

    TRUE on success, otherwise FALSE with error +

    TRUE on success, otherwise FALSE with error set


    ostree_repo_get_remote_list_option ()

    -
    gboolean
    +
    gboolean
     ostree_repo_get_remote_list_option (OstreeRepo *self,
                                         const char *remote_name,
                                         const char *option_name,
                                         char ***out_value,
    -                                    GError **error);
    + GError **error);

    OSTree remotes are represented by keyfile groups, formatted like: [remote "remotename"]. This function returns a value named option_name underneath that group, and returns it as a zero terminated array of strings. If the option is not set, or if an error is returned, out_value will be set -to NULL.

    +to NULL.

    Parameters

    @@ -2514,7 +2525,7 @@ to NULL.

    +g_strfreev().

    @@ -2527,27 +2538,27 @@ of strings. The list should be freed with

    Returns

    -

    TRUE on success, otherwise FALSE with error +

    TRUE on success, otherwise FALSE with error set


    ostree_repo_get_remote_option ()

    -
    gboolean
    +
    gboolean
     ostree_repo_get_remote_option (OstreeRepo *self,
                                    const char *remote_name,
                                    const char *option_name,
                                    const char *default_value,
                                    char **out_value,
    -                               GError **error);
    + GError **error);

    OSTree remotes are represented by keyfile groups, formatted like: [remote "remotename"]. This function returns a value named option_name underneath that group, or default_value if the remote exists but not the option name. If an error is returned, out_value - will be set to NULL.

    + will be set to NULL.

    Parameters

    out_value

    location to store the list of strings. The list should be freed with -g_strfreev().

    [out][array zero-terminated=1]
    @@ -2593,7 +2604,7 @@ is not present.

    Returns

    -

    TRUE on success, otherwise FALSE with error +

    TRUE on success, otherwise FALSE with error set

    @@ -2621,17 +2632,17 @@ called.

    Returns

    -

    Parent repository, or NULL if none.

    +

    Parent repository, or NULL if none.

    [transfer none]


    ostree_repo_write_config ()

    -
    gboolean
    +
    gboolean
     ostree_repo_write_config (OstreeRepo *self,
    -                          GKeyFile *new_config,
    -                          GError **error);
    + GKeyFile *new_config, + GError **error);

    Save new_config in place of this repository's config file. Note that new_config @@ -2658,7 +2669,7 @@ simply adds a reference.

    - + @@ -2668,10 +2679,10 @@ simply adds a reference.


    ostree_repo_scan_hardlinks ()

    -
    gboolean
    +
    gboolean
     ostree_repo_scan_hardlinks (OstreeRepo *self,
    -                            GCancellable *cancellable,
    -                            GError **error);
    + GCancellable *cancellable, + GError **error);

    This function is deprecated in favor of using ostree_repo_devino_cache_new(), which allows a precise mapping to be built up between hardlink checkout files and their checksums between ostree_repo_checkout_at() and @@ -2717,11 +2728,11 @@ before you call

    ostree_repo_prepare_transaction ()

    -
    gboolean
    +
    gboolean
     ostree_repo_prepare_transaction (OstreeRepo *self,
    -                                 gboolean *out_transaction_resume,
    -                                 GCancellable *cancellable,
    -                                 GError **error);
    + gboolean *out_transaction_resume, + GCancellable *cancellable, + GError **error);

    Starts or resumes a transaction. In order to write to a repo, you need to start a transaction. You can complete the transaction with ostree_repo_commit_transaction(), or abort the transaction with @@ -2774,11 +2785,11 @@ pulls use per-commit state/.commitpartial files.

    ostree_repo_commit_transaction ()

    -
    gboolean
    +
    gboolean
     ostree_repo_commit_transaction (OstreeRepo *self,
                                     OstreeRepoTransactionStats *out_stats,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GCancellable *cancellable, + GError **error);

    Complete the transaction. Any refs set with ostree_repo_transaction_set_ref() or ostree_repo_transaction_set_refspec() will be written out.

    @@ -2824,10 +2835,10 @@ that happened during this transaction.


    ostree_repo_abort_transaction ()

    -
    gboolean
    +
    gboolean
     ostree_repo_abort_transaction (OstreeRepo *self,
    -                               GCancellable *cancellable,
    -                               GError **error);
    + GCancellable *cancellable, + GError **error);

    Abort the active transaction; any staged objects and ref changes will be discarded. You *must* invoke this if you have chosen not to invoke ostree_repo_commit_transaction(). Calling this function when not in a @@ -2909,13 +2920,13 @@ ostree_repo_transaction_set_ref (const char *ref, const char *checksum);

    If checksum - is not NULL, then record it as the target of ref named + is not NULL, then record it as the target of ref named ref ; if remote is provided, the ref will appear to originate from that remote.

    Otherwise, if checksum - is NULL, then record that the ref should + is NULL, then record that the ref should be deleted.

    The change will be written when the transaction is completed with ostree_repo_commit_transaction(); that function takes care of writing all of @@ -2966,13 +2977,13 @@ case.


    ostree_repo_set_ref_immediate ()

    -
    gboolean
    +
    gboolean
     ostree_repo_set_ref_immediate (OstreeRepo *self,
                                    const char *remote,
                                    const char *ref,
                                    const char *checksum,
    -                               GCancellable *cancellable,
    -                               GError **error);
    + GCancellable *cancellable, + GError **error);

    This is like ostree_repo_transaction_set_ref(), except it may be invoked outside of a transaction. This is presently safe for the case where we're creating or overwriting an existing ref.

    @@ -3003,7 +3014,7 @@ case where we're creating or overwriting an existing ref.

    - + @@ -3023,13 +3034,13 @@ case where we're creating or overwriting an existing ref.


    ostree_repo_set_alias_ref_immediate ()

    -
    gboolean
    +
    gboolean
     ostree_repo_set_alias_ref_immediate (OstreeRepo *self,
                                          const char *remote,
                                          const char *ref,
                                          const char *target,
    -                                     GCancellable *cancellable,
    -                                     GError **error);
    + GCancellable *cancellable, + GError **error);

    Like ostree_repo_set_ref_immediate(), but creates an alias.

    Parameters

    @@ -3057,7 +3068,7 @@ ostree_repo_set_alias_ref_immediate (
    - + @@ -3077,12 +3088,12 @@ ostree_repo_set_alias_ref_immediate (

    ostree_repo_set_cache_dir ()

    -
    gboolean
    +
    gboolean
     ostree_repo_set_cache_dir (OstreeRepo *self,
                                int dfd,
                                const char *path,
    -                           GCancellable *cancellable,
    -                           GError **error);
    + GCancellable *cancellable, + GError **error);

    Set a custom location for the cache directory used for e.g. per-remote summary caches. Setting this manually is useful when doing operations on a system repo as a user because you don't have @@ -3114,12 +3125,12 @@ write permissions in the repo, where the cache is normally stored.

    - + - + @@ -3129,14 +3140,14 @@ write permissions in the repo, where the cache is normally stored.


    ostree_repo_sign_delta ()

    -
    gboolean
    +
    gboolean
     ostree_repo_sign_delta (OstreeRepo *self,
    -                        const gchar *from_commit,
    -                        const gchar *to_commit,
    -                        const gchar *key_id,
    -                        const gchar *homedir,
    -                        GCancellable *cancellable,
    -                        GError **error);
    + const gchar *from_commit, + const gchar *to_commit, + const gchar *key_id, + const gchar *homedir, + GCancellable *cancellable, + GError **error);

    This function is deprecated, sign the summary file instead. Add a GPG signature to a static delta.

    @@ -3190,17 +3201,17 @@ Add a GPG signature to a static delta.


    ostree_repo_has_object ()

    -
    gboolean
    +
    gboolean
     ostree_repo_has_object (OstreeRepo *self,
                             OstreeObjectType objtype,
                             const char *checksum,
    -                        gboolean *out_have_object,
    -                        GCancellable *cancellable,
    -                        GError **error);
    + gboolean *out_have_object, + GCancellable *cancellable, + GError **error);

    Set out_have_object - to TRUE if self + to TRUE if self contains the given object; -FALSE otherwise.

    +FALSE otherwise.

    Parameters

    error

    a GError

    a GError

     

    checksum

    The checksum to point it to, or NULL to unset.

    The checksum to point it to, or NULL to unset.

    [allow-none]

    target

    The ref target to point it to, or NULL to unset.

    The ref target to point it to, or NULL to unset.

    [allow-none]

    cancellable

    a GCancellable

    a GCancellable

     

    error

    a GError

    a GError

     
    @@ -3227,7 +3238,7 @@ ostree_repo_has_object (

    out_have_object

    -
    + @@ -3245,17 +3256,17 @@ ostree_repo_has_object (

    Returns

    -

    FALSE if an unexpected error occurred, TRUE otherwise

    +

    FALSE if an unexpected error occurred, TRUE otherwise


    ostree_repo_mark_commit_partial ()

    -
    gboolean
    +
    gboolean
     ostree_repo_mark_commit_partial (OstreeRepo *self,
                                      const char *checksum,
    -                                 gboolean is_partial,
    -                                 GError **error);
    + gboolean is_partial, + GError **error);

    Commits in "partial" state do not have all their child objects written. This occurs in various situations, such as during a pull, but also if a "subpath" pull is used, as well as "commit only" pulls.

    @@ -3298,20 +3309,20 @@ should use this if you are implementing a different type of transport.


    ostree_repo_write_metadata ()

    -
    gboolean
    +
    gboolean
     ostree_repo_write_metadata (OstreeRepo *self,
                                 OstreeObjectType objtype,
                                 const char *expected_checksum,
    -                            GVariant *object,
    -                            guchar **out_csum,
    -                            GCancellable *cancellable,
    -                            GError **error);
    + GVariant *object, + guchar **out_csum, + GCancellable *cancellable, + GError **error);

    Store the metadata object object . Return the checksum as out_csum .

    If expected_checksum - is not NULL, verify it against the + is not NULL, verify it against the computed checksum.

    Parameters

    @@ -3368,10 +3379,10 @@ computed checksum.

    ostree_repo_write_metadata_async (OstreeRepo *self, OstreeObjectType objtype, const char *expected_checksum, - GVariant *object, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); + GVariant *object, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data);

    Asynchronously store the metadata object variant . If provided, the checksum expected_checksum @@ -3428,11 +3439,11 @@ the checksum expected_checksum


    ostree_repo_write_metadata_finish ()

    -
    gboolean
    +
    gboolean
     ostree_repo_write_metadata_finish (OstreeRepo *self,
    -                                   GAsyncResult *result,
    -                                   guchar **out_csum,
    -                                   GError **error);
    + GAsyncResult *result, + guchar **out_csum, + GError **error);

    Complete a call to ostree_repo_write_metadata_async().

    Parameters

    @@ -3470,14 +3481,14 @@ ostree_repo_write_metadata_finish (

    ostree_repo_write_content ()

    -
    gboolean
    +
    gboolean
     ostree_repo_write_content (OstreeRepo *self,
                                const char *expected_checksum,
    -                           GInputStream *object_input,
    -                           guint64 length,
    -                           guchar **out_csum,
    -                           GCancellable *cancellable,
    -                           GError **error);
    + GInputStream *object_input, + guint64 length, + guchar **out_csum, + GCancellable *cancellable, + GError **error);

    Store the content object streamed as object_input , with total length length @@ -3536,13 +3547,13 @@ be returned as out_csum


    ostree_repo_write_metadata_trusted ()

    -
    gboolean
    +
    gboolean
     ostree_repo_write_metadata_trusted (OstreeRepo *self,
                                         OstreeObjectType objtype,
                                         const char *checksum,
    -                                    GVariant *variant,
    -                                    GCancellable *cancellable,
    -                                    GError **error);
    + GVariant *variant, + GCancellable *cancellable, + GError **error);

    Store the metadata object variant ; the provided checksum is @@ -3593,15 +3604,15 @@ trusted.


    ostree_repo_write_metadata_stream_trusted ()

    -
    gboolean
    +
    gboolean
     ostree_repo_write_metadata_stream_trusted
                                    (OstreeRepo *self,
                                     OstreeObjectType objtype,
                                     const char *checksum,
    -                                GInputStream *object_input,
    -                                guint64 length,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GInputStream *object_input, + guint64 length, + GCancellable *cancellable, + GError **error);

    Store the metadata object variant ; the provided checksum is @@ -3657,13 +3668,13 @@ trusted.


    ostree_repo_write_content_trusted ()

    -
    gboolean
    +
    gboolean
     ostree_repo_write_content_trusted (OstreeRepo *self,
                                        const char *checksum,
    -                                   GInputStream *object_input,
    -                                   guint64 length,
    -                                   GCancellable *cancellable,
    -                                   GError **error);
    + GInputStream *object_input, + guint64 length, + GCancellable *cancellable, + GError **error);

    Store the content object streamed as object_input , with total length length @@ -3722,11 +3733,11 @@ disk, for example.

    void
     ostree_repo_write_content_async (OstreeRepo *self,
                                      const char *expected_checksum,
    -                                 GInputStream *object,
    -                                 guint64 length,
    -                                 GCancellable *cancellable,
    -                                 GAsyncReadyCallback callback,
    -                                 gpointer user_data);
    + GInputStream *object, + guint64 length, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data);

    Asynchronously store the content object object . If provided, the checksum expected_checksum @@ -3784,11 +3795,11 @@ checksum expected_checksum


    ostree_repo_write_content_finish ()

    -
    gboolean
    +
    gboolean
     ostree_repo_write_content_finish (OstreeRepo *self,
    -                                  GAsyncResult *result,
    -                                  guchar **out_csum,
    -                                  GError **error);
    + GAsyncResult *result, + guchar **out_csum, + GError **error);

    Completes an invocation of ostree_repo_write_content_async().

    Parameters

    @@ -3806,7 +3817,7 @@ ostree_repo_write_content_finish (
    - + @@ -3816,7 +3827,7 @@ ostree_repo_write_content_finish ( - + @@ -3826,12 +3837,12 @@ ostree_repo_write_content_finish (

    ostree_repo_resolve_rev ()

    -
    gboolean
    +
    gboolean
     ostree_repo_resolve_rev (OstreeRepo *self,
                              const char *refspec,
    -                         gboolean allow_noent,
    +                         gboolean allow_noent,
                              char **out_rev,
    -                         GError **error);
    + GError **error);

    Look up the given refspec, returning the checksum it references in the parameter out_rev . Will fall back on remote directory if cannot @@ -3862,7 +3873,7 @@ find the given refspec in local.

    - @@ -3878,13 +3889,13 @@ is true and it does not exist.


    ostree_repo_resolve_rev_ext ()

    -
    gboolean
    +
    gboolean
     ostree_repo_resolve_rev_ext (OstreeRepo *self,
                                  const char *refspec,
    -                             gboolean allow_noent,
    +                             gboolean allow_noent,
                                  OstreeRepoResolveRevExtFlags flags,
                                  char **out_rev,
    -                             GError **error);
    + GError **error);

    Look up the given refspec, returning the checksum it references in the parameter out_rev . Differently from ostree_repo_resolve_rev(), @@ -3921,7 +3932,7 @@ local ref is specified but not found.

    - @@ -3937,14 +3948,14 @@ is true and it does not exist.


    ostree_repo_list_refs ()

    -
    gboolean
    +
    gboolean
     ostree_repo_list_refs (OstreeRepo *self,
                            const char *refspec_prefix,
    -                       GHashTable **out_all_refs,
    -                       GCancellable *cancellable,
    -                       GError **error);
    + GHashTable **out_all_refs, + GCancellable *cancellable, + GError **error);

    If refspec_prefix - is NULL, list all local and remote refspecs, + is NULL, list all local and remote refspecs, with their current values in out_all_refs . Otherwise, only list refspecs which have refspec_prefix @@ -3952,7 +3963,7 @@ refspecs which have refspec_prefix

    out_all_refs will be returned as a mapping from refspecs (including the remote name) to checksums. If refspec_prefix - is non-NULL, it will be + is non-NULL, it will be removed as a prefix from the hash table keys.

    Parameters

    @@ -3995,15 +4006,15 @@ removed as a prefix from the hash table keys.


    ostree_repo_list_refs_ext ()

    -
    gboolean
    +
    gboolean
     ostree_repo_list_refs_ext (OstreeRepo *self,
                                const char *refspec_prefix,
    -                           GHashTable **out_all_refs,
    +                           GHashTable **out_all_refs,
                                OstreeRepoListRefsExtFlags flags,
    -                           GCancellable *cancellable,
    -                           GError **error);
    + GCancellable *cancellable, + GError **error);

    If refspec_prefix - is NULL, list all local and remote refspecs, + is NULL, list all local and remote refspecs, with their current values in out_all_refs . Otherwise, only list refspecs which have refspec_prefix @@ -4059,12 +4070,12 @@ remote name) to checksums. Differently from

    ostree_repo_remote_list_refs ()

    -
    gboolean
    +
    gboolean
     ostree_repo_remote_list_refs (OstreeRepo *self,
                                   const char *remote_name,
    -                              GHashTable **out_all_refs,
    -                              GCancellable *cancellable,
    -                              GError **error);
    + GHashTable **out_all_refs, + GCancellable *cancellable, + GError **error);

    Parameters

    TRUE if repository contains object.

    TRUE if repository contains object.

    [out]

    result

    a GAsyncResult

    a GAsyncResult

     

    error

    a GError

    a GError

     

    out_rev

    A checksum,or NULL if allow_noent +

    A checksum,or NULL if allow_noent is true and it does not exist.

    [out][transfer full]

    out_rev

    A checksum,or NULL if allow_noent +

    A checksum,or NULL if allow_noent is true and it does not exist.

    [out][transfer full]
    @@ -4106,12 +4117,12 @@ ostree_repo_remote_list_refs (

    ostree_repo_load_variant ()

    -
    gboolean
    +
    gboolean
     ostree_repo_load_variant (OstreeRepo *self,
                               OstreeObjectType objtype,
                               const char *sha256,
    -                          GVariant **out_variant,
    -                          GError **error);
    + GVariant **out_variant, + GError **error);

    Load the metadata object sha256 of type objtype , storing the @@ -4158,12 +4169,12 @@ result in out_variant


    ostree_repo_load_commit ()

    -
    gboolean
    +
    gboolean
     ostree_repo_load_commit (OstreeRepo *self,
                              const char *checksum,
    -                         GVariant **out_commit,
    +                         GVariant **out_commit,
                              OstreeRepoCommitState *out_state,
    -                         GError **error);
    + GError **error);

    A version of ostree_repo_load_variant() specialized to commits, capable of returning extended state information. Currently the only extended state is OSTREE_REPO_COMMIT_STATE_PARTIAL, which @@ -4209,18 +4220,18 @@ means that only a sub-path of the commit is available.


    ostree_repo_load_variant_if_exists ()

    -
    gboolean
    +
    gboolean
     ostree_repo_load_variant_if_exists (OstreeRepo *self,
                                         OstreeObjectType objtype,
                                         const char *sha256,
    -                                    GVariant **out_variant,
    -                                    GError **error);
    + GVariant **out_variant, + GError **error);

    Attempt to load the metadata object sha256 of type objtype if it exists, storing the result in out_variant . If it doesn't exist, -NULL is returned.

    +NULL is returned.

    Parameters

    @@ -4262,14 +4273,14 @@ exists, storing the result in out_variant

    ostree_repo_load_file ()

    -
    gboolean
    +
    gboolean
     ostree_repo_load_file (OstreeRepo *self,
                            const char *checksum,
    -                       GInputStream **out_input,
    -                       GFileInfo **out_file_info,
    -                       GVariant **out_xattrs,
    -                       GCancellable *cancellable,
    -                       GError **error);
    + GInputStream **out_input, + GFileInfo **out_file_info, + GVariant **out_xattrs, + GCancellable *cancellable, + GError **error);

    Load content object, decomposing it into three parts: the actual content (for regular files), the metadata, and extended attributes.

    @@ -4323,14 +4334,14 @@ content (for regular files), the metadata, and extended attributes.


    ostree_repo_load_object_stream ()

    -
    gboolean
    +
    gboolean
     ostree_repo_load_object_stream (OstreeRepo *self,
                                     OstreeObjectType objtype,
                                     const char *checksum,
    -                                GInputStream **out_input,
    -                                guint64 *out_size,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GInputStream **out_input, + guint64 *out_size, + GCancellable *cancellable, + GError **error);

    Load object as a stream; useful when copying objects between repositories.

    @@ -4385,13 +4396,13 @@ repositories.


    ostree_repo_query_object_storage_size ()

    -
    gboolean
    +
    gboolean
     ostree_repo_query_object_storage_size (OstreeRepo *self,
                                            OstreeObjectType objtype,
                                            const char *sha256,
    -                                       guint64 *out_size,
    -                                       GCancellable *cancellable,
    -                                       GError **error);
    + guint64 *out_size, + GCancellable *cancellable, + GError **error);

    Return the size in bytes of object with checksum sha256 , after any compression has been applied.

    @@ -4441,13 +4452,13 @@ compression has been applied.


    ostree_repo_import_object_from ()

    -
    gboolean
    +
    gboolean
     ostree_repo_import_object_from (OstreeRepo *self,
                                     OstreeRepo *source,
                                     OstreeObjectType objtype,
                                     const char *checksum,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GCancellable *cancellable, + GError **error);

    Copy object named by objtype and checksum into self @@ -4503,15 +4514,15 @@ hard link operation.


    ostree_repo_import_object_from_with_trust ()

    -
    gboolean
    +
    gboolean
     ostree_repo_import_object_from_with_trust
                                    (OstreeRepo *self,
                                     OstreeRepo *source,
                                     OstreeObjectType objtype,
                                     const char *checksum,
    -                                gboolean trusted,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + gboolean trusted, + GCancellable *cancellable, + GError **error);

    Copy object named by objtype and checksum into self @@ -4552,7 +4563,7 @@ hard link operation.

    - + @@ -4572,14 +4583,14 @@ hard link operation.


    ostree_repo_import_archive_to_mtree ()

    -
    gboolean
    +
    gboolean
     ostree_repo_import_archive_to_mtree (OstreeRepo *self,
                                          OstreeRepoImportArchiveOptions *opts,
                                          void *archive,
                                          OstreeMutableTree *mtree,
                                          OstreeRepoCommitModifier *modifier,
    -                                     GCancellable *cancellable,
    -                                     GError **error);
    + GCancellable *cancellable, + GError **error);

    Import an archive file archive into the repository, and write its file structure to mtree @@ -4636,13 +4647,13 @@ file structure to mtree


    ostree_repo_export_tree_to_archive ()

    -
    gboolean
    +
    gboolean
     ostree_repo_export_tree_to_archive (OstreeRepo *self,
                                         OstreeRepoExportArchiveOptions *opts,
                                         OstreeRepoFile *root,
                                         void *archive,
    -                                    GCancellable *cancellable,
    -                                    GError **error);
    + GCancellable *cancellable, + GError **error);

    Import an archive file archive into the repository, and write its file structure to mtree @@ -4694,16 +4705,16 @@ file structure to mtree


    ostree_repo_delete_object ()

    -
    gboolean
    +
    gboolean
     ostree_repo_delete_object (OstreeRepo *self,
                                OstreeObjectType objtype,
                                const char *sha256,
    -                           GCancellable *cancellable,
    -                           GError **error);
    + GCancellable *cancellable, + GError **error);

    Remove the object of type objtype with checksum sha256 -from the repository. An error of type G_IO_ERROR_NOT_FOUND +from the repository. An error of type G_IO_ERROR_NOT_FOUND is thrown if the object does not exist.

    Parameters

    @@ -4746,12 +4757,12 @@ is thrown if the object does not exist.


    ostree_repo_fsck_object ()

    -
    gboolean
    +
    gboolean
     ostree_repo_fsck_object (OstreeRepo *self,
                              OstreeObjectType objtype,
                              const char *sha256,
    -                         GCancellable *cancellable,
    -                         GError **error);
    + GCancellable *cancellable, + GError **error);

    Verify consistency of the object; this performs checks only relevant to the immediate object itself, such as checksumming. This API call will not itself traverse metadata objects for example.

    @@ -4800,8 +4811,8 @@ traverse metadata objects for example.

    OstreeRepoCommitFilterResult
     (*OstreeRepoCommitFilter) (OstreeRepo *repo,
                                const char *path,
    -                           GFileInfo *file_info,
    -                           gpointer user_data);
    + GFileInfo *file_info, + gpointer user_data);

    Parameters

    trusted

    If TRUE, assume the source repo is valid and trusted

    If TRUE, assume the source repo is valid and trusted

     
    @@ -4845,8 +4856,8 @@ traverse metadata objects for example.

    OstreeRepoCommitModifier *
     ostree_repo_commit_modifier_new (OstreeRepoCommitModifierFlags flags,
                                      OstreeRepoCommitFilter commit_filter,
    -                                 gpointer user_data,
    -                                 GDestroyNotify destroy_notify);
    + gpointer user_data, + GDestroyNotify destroy_notify);

    Parameters

    @@ -4873,7 +4884,7 @@ ostree_repo_commit_modifier_new ( - + @@ -4888,12 +4899,12 @@ ostree_repo_commit_modifier_new (

    OstreeRepoCommitModifierXattrCallback ()

    -
    GVariant *
    +
    GVariant *
     (*OstreeRepoCommitModifierXattrCallback)
                                    (OstreeRepo *repo,
                                     const char *path,
    -                                GFileInfo *file_info,
    -                                gpointer user_data);
    + GFileInfo *file_info, + gpointer user_data);

    @@ -4902,8 +4913,8 @@ ostree_repo_commit_modifier_new (OstreeRepoCommitModifier *modifier, OstreeRepoCommitModifierXattrCallback callback, - GDestroyNotify destroy, - gpointer user_data); + GDestroyNotify destroy, + gpointer user_data);

    If set, this function should return extended attributes to use for the given path. This is useful for things like ACLs and SELinux, where a build system can label the files as it's committing to the @@ -4950,7 +4961,7 @@ ostree_repo_commit_modifier_set_sepolicy (OstreeRepoCommitModifier *modifier, OstreeSePolicy *sepolicy);

    If policy - is non-NULL, use it to look up labels to use for + is non-NULL, use it to look up labels to use for "security.selinux" extended attributes.

    Note that any policy specified this way operates in addition to any extended attributes provided via @@ -5065,19 +5076,19 @@ ostree_repo_devino_cache_unref (O


    ostree_repo_devino_cache_get_type ()

    -
    GType
    +
    GType
     ostree_repo_devino_cache_get_type (void);

    ostree_repo_write_directory_to_mtree ()

    -
    gboolean
    +
    gboolean
     ostree_repo_write_directory_to_mtree (OstreeRepo *self,
    -                                      GFile *dir,
    +                                      GFile *dir,
                                           OstreeMutableTree *mtree,
                                           OstreeRepoCommitModifier *modifier,
    -                                      GCancellable *cancellable,
    -                                      GError **error);
    + GCancellable *cancellable, + GError **error);

    Store objects for dir and all children into the repository self , @@ -5129,14 +5140,14 @@ overlaying the resulting filesystem hierarchy into m


    ostree_repo_write_dfd_to_mtree ()

    -
    gboolean
    +
    gboolean
     ostree_repo_write_dfd_to_mtree (OstreeRepo *self,
                                     int dfd,
                                     const char *path,
                                     OstreeMutableTree *mtree,
                                     OstreeRepoCommitModifier *modifier,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GCancellable *cancellable, + GError **error);

    Store as objects all contents of the directory referred to by dfd and path @@ -5195,14 +5206,14 @@ resulting filesystem hierarchy into mtree

    ostree_repo_write_archive_to_mtree ()

    -
    gboolean
    +
    gboolean
     ostree_repo_write_archive_to_mtree (OstreeRepo *self,
    -                                    GFile *archive,
    +                                    GFile *archive,
                                         OstreeMutableTree *mtree,
                                         OstreeRepoCommitModifier *modifier,
    -                                    gboolean autocreate_parents,
    -                                    GCancellable *cancellable,
    -                                    GError **error);
    + gboolean autocreate_parents, + GCancellable *cancellable, + GError **error);

    Import an archive file archive into the repository, and write its file structure to mtree @@ -5258,12 +5269,12 @@ file structure to mtree


    ostree_repo_write_mtree ()

    -
    gboolean
    +
    gboolean
     ostree_repo_write_mtree (OstreeRepo *self,
                              OstreeMutableTree *mtree,
    -                         GFile **out_file,
    -                         GCancellable *cancellable,
    -                         GError **error);
    + GFile **out_file, + GCancellable *cancellable, + GError **error);

    Write all metadata objects for mtree to repo; the resulting out_file @@ -5312,16 +5323,16 @@ the mtree


    ostree_repo_write_commit ()

    -
    gboolean
    +
    gboolean
     ostree_repo_write_commit (OstreeRepo *self,
                               const char *parent,
                               const char *subject,
                               const char *body,
    -                          GVariant *metadata,
    +                          GVariant *metadata,
                               OstreeRepoFile *root,
                               char **out_commit,
    -                          GCancellable *cancellable,
    -                          GError **error);
    + GCancellable *cancellable, + GError **error);

    Write a commit metadata object, referencing root_contents_checksum and root_metadata_checksum @@ -5342,7 +5353,7 @@ and root_metadata_checksum

    - + @@ -5357,7 +5368,7 @@ and root_metadata_checksum - + @@ -5387,17 +5398,17 @@ and root_metadata_checksum

    ostree_repo_write_commit_with_time ()

    -
    gboolean
    +
    gboolean
     ostree_repo_write_commit_with_time (OstreeRepo *self,
                                         const char *parent,
                                         const char *subject,
                                         const char *body,
    -                                    GVariant *metadata,
    +                                    GVariant *metadata,
                                         OstreeRepoFile *root,
    -                                    guint64 time,
    +                                    guint64 time,
                                         char **out_commit,
    -                                    GCancellable *cancellable,
    -                                    GError **error);
    + GCancellable *cancellable, + GError **error);

    Write a commit metadata object, referencing root_contents_checksum and root_metadata_checksum @@ -5418,7 +5429,7 @@ and root_metadata_checksum

    - + @@ -5433,7 +5444,7 @@ and root_metadata_checksum - + @@ -5468,17 +5479,17 @@ and root_metadata_checksum

    ostree_repo_read_commit_detached_metadata ()

    -
    gboolean
    +
    gboolean
     ostree_repo_read_commit_detached_metadata
                                    (OstreeRepo *self,
                                     const char *checksum,
    -                                GVariant **out_metadata,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GVariant **out_metadata, + GCancellable *cancellable, + GError **error);

    OSTree commits can have arbitrary metadata associated; this function retrieves them. If none exists, out_metadata will be set -to NULL.

    +to NULL.

    Parameters

    destroy_notify

    A GDestroyNotify

    A GDestroyNotify

     

    parent

    ASCII SHA256 checksum for parent, or NULL for none.

    ASCII SHA256 checksum for parent, or NULL for none.

    [allow-none]

    metadata

    GVariant of type a{sv}, or NULL for none.

    GVariant of type a{sv}, or NULL for none.

    [allow-none]

    parent

    ASCII SHA256 checksum for parent, or NULL for none.

    ASCII SHA256 checksum for parent, or NULL for none.

    [allow-none]

    metadata

    GVariant of type a{sv}, or NULL for none.

    GVariant of type a{sv}, or NULL for none.

    [allow-none]
    @@ -5500,7 +5511,7 @@ to NULL.

    - + @@ -5520,18 +5531,18 @@ to NULL.


    ostree_repo_write_commit_detached_metadata ()

    -
    gboolean
    +
    gboolean
     ostree_repo_write_commit_detached_metadata
                                    (OstreeRepo *self,
                                     const char *checksum,
    -                                GVariant *metadata,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GVariant *metadata, + GCancellable *cancellable, + GError **error);

    Replace any existing metadata associated with commit referred to by checksum with metadata . If metadata - is NULL, then existing + is NULL, then existing data will be deleted.

    Parameters

    @@ -5554,7 +5565,7 @@ data will be deleted.

    - + @@ -5612,15 +5623,15 @@ ostree_repo_checkout_at_options_set_devino

    ostree_repo_checkout_tree ()

    -
    gboolean
    +
    gboolean
     ostree_repo_checkout_tree (OstreeRepo *self,
                                OstreeRepoCheckoutMode mode,
                                OstreeRepoCheckoutOverwriteMode overwrite_mode,
    -                           GFile *destination,
    +                           GFile *destination,
                                OstreeRepoFile *source,
    -                           GFileInfo *source_info,
    -                           GCancellable *cancellable,
    -                           GError **error);
    + GFileInfo *source_info, + GCancellable *cancellable, + GError **error);

    Check out source into destination , which must live on the @@ -5686,14 +5697,14 @@ files are checked out.


    ostree_repo_checkout_tree_at ()

    -
    gboolean
    +
    gboolean
     ostree_repo_checkout_tree_at (OstreeRepo *self,
                                   OstreeRepoCheckoutOptions *options,
                                   int destination_dfd,
                                   const char *destination_path,
                                   const char *commit,
    -                              GCancellable *cancellable,
    -                              GError **error);
    + GCancellable *cancellable, + GError **error);

    ostree_repo_checkout_tree_at is deprecated and should not be used in newly-written code.

    Similar to ostree_repo_checkout_tree(), but uses directory-relative paths for the destination, uses a new OstreeRepoCheckoutAtOptions, @@ -5755,14 +5766,14 @@ cache.


    ostree_repo_checkout_at ()

    -
    gboolean
    +
    gboolean
     ostree_repo_checkout_at (OstreeRepo *self,
                              OstreeRepoCheckoutAtOptions *options,
                              int destination_dfd,
                              const char *destination_path,
                              const char *commit,
    -                         GCancellable *cancellable,
    -                         GError **error);
    + GCancellable *cancellable, + GError **error);

    Similar to ostree_repo_checkout_tree(), but uses directory-relative paths for the destination, uses a new OstreeRepoCheckoutAtOptions, and takes a commit checksum and optional subpath pair, rather than @@ -5823,10 +5834,10 @@ cache.


    ostree_repo_checkout_gc ()

    -
    gboolean
    +
    gboolean
     ostree_repo_checkout_gc (OstreeRepo *self,
    -                         GCancellable *cancellable,
    -                         GError **error);
    + GCancellable *cancellable, + GError **error);

    Call this after finishing a succession of checkout operations; it will delete any currently-unused uncompressed objects from the cache.

    @@ -5861,13 +5872,13 @@ cache.


    ostree_repo_read_commit ()

    -
    gboolean
    +
    gboolean
     ostree_repo_read_commit (OstreeRepo *self,
                              const char *ref,
    -                         GFile **out_root,
    +                         GFile **out_root,
                              char **out_commit,
    -                         GCancellable *cancellable,
    -                         GError **error);
    + GCancellable *cancellable, + GError **error);

    Load the content for rev into out_root .

    @@ -5917,18 +5928,18 @@ ostree_repo_read_commit (

    ostree_repo_list_objects ()

    -
    gboolean
    +
    gboolean
     ostree_repo_list_objects (OstreeRepo *self,
                               OstreeRepoListObjectsFlags flags,
    -                          GHashTable **out_objects,
    -                          GCancellable *cancellable,
    -                          GError **error);
    + GHashTable **out_objects, + GCancellable *cancellable, + GError **error);

    This function synchronously enumerates all objects in the repository, returning data in out_objects . out_objects maps from keys returned by ostree_object_name_serialize() -to GVariant values of type OSTREE_REPO_LIST_OBJECTS_VARIANT_TYPE.

    +to GVariant values of type OSTREE_REPO_LIST_OBJECTS_VARIANT_TYPE.

    Parameters

    out_metadata

    Metadata associated with commit in with format "a{sv}", or NULL if none exists.

    Metadata associated with commit in with format "a{sv}", or NULL if none exists.

    [out][transfer full]

    metadata

    Metadata to associate with commit in with format "a{sv}", or NULL to delete.

    Metadata to associate with commit in with format "a{sv}", or NULL to delete.

    [allow-none]
    @@ -5968,20 +5979,20 @@ to GVariant values of type

    Returns

    -

    TRUE on success, FALSE on error, and error +

    TRUE on success, FALSE on error, and error will be set


    ostree_repo_list_commit_objects_starting_with ()

    -
    gboolean
    +
    gboolean
     ostree_repo_list_commit_objects_starting_with
                                    (OstreeRepo *self,
                                     const char *start,
    -                                GHashTable **out_commits,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GHashTable **out_commits, + GCancellable *cancellable, + GError **error);

    This function synchronously enumerates all commit objects starting with start , returning data in out_commits @@ -6025,18 +6036,18 @@ with start

    Returns

    -

    TRUE on success, FALSE on error, and error +

    TRUE on success, FALSE on error, and error will be set


    ostree_repo_list_static_delta_names ()

    -
    gboolean
    +
    gboolean
     ostree_repo_list_static_delta_names (OstreeRepo *self,
    -                                     GPtrArray **out_deltas,
    -                                     GCancellable *cancellable,
    -                                     GError **error);
    + GPtrArray **out_deltas, + GCancellable *cancellable, + GError **error);

    This function synchronously enumerates all static deltas in the repository, returning its result in out_deltas .

    @@ -6076,17 +6087,17 @@ repository, returning its result in out_deltas

    ostree_repo_static_delta_generate ()

    -
    gboolean
    +
    gboolean
     ostree_repo_static_delta_generate (OstreeRepo *self,
                                        OstreeStaticDeltaGenerateOpt opt,
                                        const char *from,
                                        const char *to,
    -                                   GVariant *metadata,
    -                                   GVariant *params,
    -                                   GCancellable *cancellable,
    -                                   GError **error);
    + GVariant *metadata, + GVariant *params, + GCancellable *cancellable, + GError **error);

    Generate a lookaside "static delta" from from - (NULL means + (NULL means from-empty) which can generate the objects in to . This delta is an optimization over fetching individual objects, and can be @@ -6127,7 +6138,7 @@ for input files

    - + @@ -6162,13 +6173,13 @@ for input files


    ostree_repo_static_delta_execute_offline ()

    -
    gboolean
    +
    gboolean
     ostree_repo_static_delta_execute_offline
                                    (OstreeRepo *self,
    -                                GFile *dir_or_file,
    -                                gboolean skip_validation,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GFile *dir_or_file, + gboolean skip_validation, + GCancellable *cancellable, + GError **error);

    Given a directory representing an already-downloaded static delta on disk, apply it, generating a new commit. The directory must be named with the form "FROM-TO", where both are checksums, and it @@ -6194,7 +6205,7 @@ must contain a file named "superblock", along with at least one part.

    - + @@ -6214,9 +6225,9 @@ must contain a file named "superblock", along with at least one part.


    ostree_repo_traverse_new_reachable ()

    -
    GHashTable *
    +
    GHashTable *
     ostree_repo_traverse_new_reachable (void);
    -

    This hash table is a set of GVariant which can be accessed via +

    This hash table is a set of GVariant which can be accessed via ostree_object_name_deserialize().

    Returns

    @@ -6227,11 +6238,11 @@ ostree_repo_traverse_new_reachable (

    ostree_repo_traverse_new_parents ()

    -
    GHashTable *
    +
    GHashTable *
     ostree_repo_traverse_new_parents (void);
    -

    This hash table is a mapping from GVariant which can be accessed -via ostree_object_name_deserialize() to a GVariant containing either -a similar GVariant or and array of them, listing the parents of the key.

    +

    This hash table is a mapping from GVariant which can be accessed +via ostree_object_name_deserialize() to a GVariant containing either +a similar GVariant or and array of them, listing the parents of the key.

    Returns

    A new hash table.

    @@ -6244,8 +6255,8 @@ a similar GVariant or and array of them, listing the p

    ostree_repo_traverse_parents_get_commits ()

    char **
     ostree_repo_traverse_parents_get_commits
    -                               (GHashTable *parents,
    -                                GVariant *object);
    + (GHashTable *parents, + GVariant *object);

    Gets all the commits that a certain object belongs to, as recorded by a parents table gotten from ostree_repo_traverse_commit_union_with_parents.

    @@ -6259,13 +6270,13 @@ the commits the key belongs to.


    ostree_repo_traverse_commit ()

    -
    gboolean
    +
    gboolean
     ostree_repo_traverse_commit (OstreeRepo *repo,
                                  const char *commit_checksum,
                                  int maxdepth,
    -                             GHashTable **out_reachable,
    -                             GCancellable *cancellable,
    -                             GError **error);
    + GHashTable **out_reachable, + GCancellable *cancellable, + GError **error);

    Create a new set out_reachable containing all objects reachable from commit_checksum @@ -6317,13 +6328,13 @@ from commit_checksum


    ostree_repo_traverse_commit_union ()

    -
    gboolean
    +
    gboolean
     ostree_repo_traverse_commit_union (OstreeRepo *repo,
                                        const char *commit_checksum,
                                        int maxdepth,
    -                                   GHashTable *inout_reachable,
    -                                   GCancellable *cancellable,
    -                                   GError **error);
    + GHashTable *inout_reachable, + GCancellable *cancellable, + GError **error);

    Update the set inout_reachable containing all objects reachable from commit_checksum @@ -6376,15 +6387,15 @@ from commit_checksum


    ostree_repo_traverse_commit_union_with_parents ()

    -
    gboolean
    +
    gboolean
     ostree_repo_traverse_commit_union_with_parents
                                    (OstreeRepo *repo,
                                     const char *commit_checksum,
                                     int maxdepth,
    -                                GHashTable *inout_reachable,
    -                                GHashTable *inout_parents,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GHashTable *inout_reachable, + GHashTable *inout_parents, + GCancellable *cancellable, + GError **error);

    Update the set inout_reachable containing all objects reachable from commit_checksum @@ -6544,13 +6555,13 @@ called if

    ostree_repo_commit_traverse_iter_init_commit ()

    -
    gboolean
    +
    gboolean
     ostree_repo_commit_traverse_iter_init_commit
                                    (OstreeRepoCommitTraverseIter *iter,
                                     OstreeRepo *repo,
    -                                GVariant *commit,
    +                                GVariant *commit,
                                     OstreeRepoCommitTraverseFlags flags,
    -                                GError **error);
    + GError **error);

    Initialize (in place) an iterator over the root of a commit object.

    Parameters

    @@ -6593,13 +6604,13 @@ ostree_repo_commit_traverse_iter_init_commit

    ostree_repo_commit_traverse_iter_init_dirtree ()

    -
    gboolean
    +
    gboolean
     ostree_repo_commit_traverse_iter_init_dirtree
                                    (OstreeRepoCommitTraverseIter *iter,
                                     OstreeRepo *repo,
    -                                GVariant *dirtree,
    +                                GVariant *dirtree,
                                     OstreeRepoCommitTraverseFlags flags,
    -                                GError **error);
    + GError **error);

    Initialize (in place) an iterator over a directory tree.

    Parameters

    @@ -6644,8 +6655,8 @@ ostree_repo_commit_traverse_iter_init_dirtree

    ostree_repo_commit_traverse_iter_next ()

    OstreeRepoCommitIterResult
     ostree_repo_commit_traverse_iter_next (OstreeRepoCommitTraverseIter *iter,
    -                                       GCancellable *cancellable,
    -                                       GError **error);
    + GCancellable *cancellable, + GError **error);

    Step the interator to the next item. Files will be returned first, then subdirectories. Call this in a loop; upon encountering OSTREE_REPO_COMMIT_ITER_RESULT_END, there will be no more files or @@ -6689,15 +6700,15 @@ program error to call any further API on iter


    ostree_repo_prune ()

    -
    gboolean
    +
    gboolean
     ostree_repo_prune (OstreeRepo *self,
                        OstreeRepoPruneFlags flags,
    -                   gint depth,
    -                   gint *out_objects_total,
    -                   gint *out_objects_pruned,
    -                   guint64 *out_pruned_object_size_total,
    -                   GCancellable *cancellable,
    -                   GError **error);
    + gint depth, + gint *out_objects_total, + gint *out_objects_pruned, + guint64 *out_pruned_object_size_total, + GCancellable *cancellable, + GError **error);

    Delete content from the repository. By default, this function will only delete "orphaned" objects not referred to by any commit. This can happen during a local commit operation, when we have written @@ -6767,11 +6778,11 @@ deleting them.


    ostree_repo_prune_static_deltas ()

    -
    gboolean
    +
    gboolean
     ostree_repo_prune_static_deltas (OstreeRepo *self,
                                      const char *commit,
    -                                 GCancellable *cancellable,
    -                                 GError **error);
    + GCancellable *cancellable, + GError **error);

    Prune static deltas, if COMMIT is specified then delete static delta files only targeting that commit; otherwise any static delta of non existing commits are deleted.

    @@ -6792,7 +6803,7 @@ deleted.

    - @@ -6812,15 +6823,66 @@ non existing commit.


    +

    ostree_repo_traverse_reachable_refs ()

    +
    gboolean
    +ostree_repo_traverse_reachable_refs (OstreeRepo *self,
    +                                     guint depth,
    +                                     GHashTable *reachable,
    +                                     GCancellable *cancellable,
    +                                     GError **error);
    +

    Add all commit objects directly reachable via a ref to reachable +.

    +

    Locking: shared

    +
    +

    Parameters

    +

    from

    ASCII SHA256 checksum of origin, or NULL

    ASCII SHA256 checksum of origin, or NULL

     

    skip_validation

    If TRUE, assume data integrity

    If TRUE, assume data integrity

     

    commit

    ASCII SHA256 checksum for commit, or NULL for each +

    ASCII SHA256 checksum for commit, or NULL for each non existing commit.

    [allow-none]
    +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    self

    Repo

     

    depth

    Depth of traversal

     

    reachable

    Set of reachable objects (will be modified).

    [element-type GVariant GVariant]

    cancellable

    Cancellable

     

    error

    Error

     
    +
    +

    Since: 2018.6

    +
    +
    +

    ostree_repo_prune_from_reachable ()

    -
    gboolean
    +
    gboolean
     ostree_repo_prune_from_reachable (OstreeRepo *self,
                                       OstreeRepoPruneOptions *options,
    -                                  gint *out_objects_total,
    -                                  gint *out_objects_pruned,
    -                                  guint64 *out_pruned_object_size_total,
    -                                  GCancellable *cancellable,
    -                                  GError **error);
    + gint *out_objects_total, + gint *out_objects_pruned, + guint64 *out_pruned_object_size_total, + GCancellable *cancellable, + GError **error);

    Delete content from the repository. This function is the "backend" half of the higher level ostree_repo_prune(). To use this function, you determine the root set yourself, and this function finds all other @@ -6882,14 +6944,14 @@ statistics on objects that would be deleted, without actually deleting them.


    ostree_repo_pull ()

    -
    gboolean
    +
    gboolean
     ostree_repo_pull (OstreeRepo *self,
                       const char *remote_name,
                       char **refs_to_fetch,
                       OstreeRepoPullFlags flags,
                       OstreeAsyncProgress *progress,
    -                  GCancellable *cancellable,
    -                  GError **error);
    + GCancellable *cancellable, + GError **error);

    Connect to the remote repository, fetching the specified set of refs refs_to_fetch . For each ref that is changed, download the @@ -6899,7 +6961,7 @@ on disk in self

    If flags contains OSTREE_REPO_PULL_FLAGS_MIRROR, and the refs_to_fetch - is NULL, and the remote repository contains a + is NULL, and the remote repository contains a summary file, then all refs will be fetched.

    If flags contains OSTREE_REPO_PULL_FLAGS_COMMIT_ONLY, then only the @@ -6907,7 +6969,7 @@ metadata for the commits in refs_to_fetch

    Warning: This API will iterate the thread default main context, which is a bug, but kept for compatibility reasons. If you want to -avoid this, use g_main_context_push_thread_default() to push a new +avoid this, use g_main_context_push_thread_default() to push a new one around this call.

    Parameters

    @@ -6930,7 +6992,7 @@ one around this call.

    refs_to_fetch

    Optional list of refs; if NULL, fetch all configured refs.

    Optional list of refs; if NULL, fetch all configured refs.

    [array zero-terminated=1][element-type utf8][allow-none]

    refs_to_fetch

    Optional list of refs; if NULL, fetch all configured refs.

    Optional list of refs; if NULL, fetch all configured refs.

    [array zero-terminated=1][element-type utf8][allow-none]

    GPG home directory, or NULL.

    GPG home directory, or NULL.

    [allow-none]

    cancellable

    A GCancellable

    A GCancellable

     

    error

    a GError

    a GError

     

    cancellable

    A GCancellable

    A GCancellable

     

    error

    a GError

    a GError

     

    GPG home directory, or NULL.

    GPG home directory, or NULL.

    [allow-none]

    cancellable

    A GCancellable

    A GCancellable

     

    error

    a GError

    a GError

     

    data

    Data as a GBytes

    Data as a GBytes

     

    signatures

    Signatures as a GBytes

    Signatures as a GBytes

     

    Summary data as a GBytes

    Summary data as a GBytes

     

    signatures

    Summary signatures as a GBytes

    Summary signatures as a GBytes

     

    additional_metadata

    A GVariant of type a{sv}, or NULL.

    A GVariant of type a{sv}, or NULL.

    [allow-none]

    guint metadata_objects_total;

    guint metadata_objects_total;

    The total number of metadata objects in the repository after this transaction has completed.

     

    guint metadata_objects_written;

    guint metadata_objects_written;

    The number of metadata objects that were written to the repository in this transaction.

     

    guint content_objects_total;

    guint content_objects_total;

    The total number of content objects in the repository after this transaction has completed.

     

    guint content_objects_written;

    guint content_objects_written;

    The number of content objects that were written to the repository in this transaction.

     

    guint64 content_bytes_written;

    guint64 content_bytes_written;

    The amount of data added to the repository, in bytes, counting only content objects.

     

    guint64 padding1;

    guint64 padding1;

    reserved

     

    guint64 padding2;

    guint64 padding2;

    reserved

     

    guint64 padding3;

    guint64 padding3;

    reserved

     

    guint64 padding4;

    guint64 padding4;

    reserved

     
    -GVariant * +GVariant * ostree_async_progress_get_variant () @@ -81,7 +81,7 @@
    -guint +guint ostree_async_progress_get_uint () @@ -89,7 +89,7 @@
    -guint64 +guint64 ostree_async_progress_get_uint64 () @@ -171,7 +171,7 @@ handles thread safety, ensuring that the progress change notification occurs in the thread-default context of the calling operation.

    The ostree_async_progress_get_status() and ostree_async_progress_set_status() -methods get and set a well-known status key of type G_VARIANT_TYPE_STRING. +methods get and set a well-known status key of type G_VARIANT_TYPE_STRING. This key may be accessed using the other OstreeAsyncProgress methods, but it must always have the correct type.

    @@ -192,7 +192,7 @@ ostree_async_progress_new (void

    ostree_async_progress_new_and_connect ()

    OstreeAsyncProgress *
     ostree_async_progress_new_and_connect (void (*changed) (OstreeAsyncProgress *self, gpointer user_data),
    -                                       gpointer user_data);
    + gpointer user_data);
    @@ -200,7 +200,7 @@ ostree_async_progress_new_and_connect (char * ostree_async_progress_get_status (OstreeAsyncProgress *self);

    Get the human-readable status string from the OstreeAsyncProgress. This -operation is thread-safe. The retuned value may be NULL if no status is +operation is thread-safe. The retuned value may be NULL if no status is set.

    This is a convenience function to get the well-known status key.

    @@ -220,7 +220,7 @@ set.

    Returns

    -

    the current status, or NULL if none is set.

    +

    the current status, or NULL if none is set.

    [transfer full][nullable]

    Since: 2017.6

    @@ -233,9 +233,9 @@ ostree_async_progress_get (...);

    Get the values corresponding to zero or more keys from the OstreeAsyncProgress. Each key is specified in @... as the key name, followed -by a GVariant format string, followed by the necessary arguments for that -format string, just as for g_variant_get(). After those arguments is the -next key name. The varargs list must be NULL-terminated.

    +by a GVariant format string, followed by the necessary arguments for that +format string, just as for g_variant_get(). After those arguments is the +next key name. The varargs list must be NULL-terminated.

    Each format string must make deep copies of its value, as the values stored in the OstreeAsyncProgress may be freed from another thread after this function returns.

    @@ -255,17 +255,17 @@ function returns.

    9 10 11
    guint32 outstanding_fetches;
    -guint64 bytes_received;
    -g_autofree gchar *status = NULL;
    -g_autoptr(GVariant) refs_variant = NULL;
    +        
    guint32 outstanding_fetches;
    +guint64 bytes_received;
    +g_autofree gchar *status = NULL;
    +g_autoptr(GVariant) refs_variant = NULL;
     
    -ostree_async_progress_get (progress,
    -                           "outstanding-fetches", "u", &outstanding_fetches,
    -                           "bytes-received", "t", &bytes_received,
    -                           "status", "s", &status,
    -                           "refs", "@a{ss}", &refs_variant,
    -                           NULL);
    @@ -288,7 +288,7 @@ function returns.

    ...

    -

    key name, format string, GVariant return locations, …, followed by NULL

    +

    key name, format string, GVariant return locations, …, followed by NULL

      @@ -299,10 +299,10 @@ function returns.


    ostree_async_progress_get_variant ()

    -
    GVariant *
    +
    GVariant *
     ostree_async_progress_get_variant (OstreeAsyncProgress *self,
                                        const char *key);
    -

    Look up a key in the OstreeAsyncProgress and return the GVariant associated +

    Look up a key in the OstreeAsyncProgress and return the GVariant associated with it. The lookup is thread-safe.

    Parameters

    @@ -329,7 +329,7 @@ with it. The lookup is thread-safe.

    Returns

    value for the given key -, or NULL if +, or NULL if it was not set.

    [transfer full][nullable]

    @@ -338,14 +338,14 @@ it was not set.


    ostree_async_progress_get_uint ()

    -
    guint
    +
    guint
     ostree_async_progress_get_uint (OstreeAsyncProgress *self,
                                     const char *key);

    ostree_async_progress_get_uint64 ()

    -
    guint64
    +
    guint64
     ostree_async_progress_get_uint64 (OstreeAsyncProgress *self,
                                       const char *key);
    @@ -356,7 +356,7 @@ ostree_async_progress_get_uint64 (OstreeAsyncProgress *self, const char *status);

    Set the human-readable status string for the OstreeAsyncProgress. This -operation is thread-safe. NULL may be passed to clear the status.

    +operation is thread-safe. NULL may be passed to clear the status.

    This is a convenience function to set the well-known status key.

    Parameters

    @@ -374,7 +374,7 @@ operation is thread-safe. NULL may be passed to cle

    status

    -

    new status string, or NULL to clear the status.

    +

    new status string, or NULL to clear the status.

    [nullable] @@ -389,11 +389,11 @@ operation is thread-safe. NULL may be passed to cle ostree_async_progress_set (OstreeAsyncProgress *self, ...);

    Set the values for zero or more keys in the OstreeAsyncProgress. Each key is -specified in @... as the key name, followed by a GVariant format string, +specified in @... as the key name, followed by a GVariant format string, followed by the necessary arguments for that format string, just as for -g_variant_new(). After those arguments is the next key name. The varargs list -must be NULL-terminated.

    -

    g_variant_ref_sink() will be called as appropriate on the GVariant +g_variant_new(). After those arguments is the next key name. The varargs list +must be NULL-terminated.

    +

    g_variant_ref_sink() will be called as appropriate on the GVariant parameters, so they may be floating.

    This operation is thread-safe, and all the keys are set atomically.

    @@ -409,15 +409,15 @@ parameters, so they may be floating.

    7 8 9 -
    guint32 outstanding_fetches = 15;
    -guint64 bytes_received = 1000;
    +        
    guint32 outstanding_fetches = 15;
    +guint64 bytes_received = 1000;
     
    -ostree_async_progress_set (progress,
    -                           "outstanding-fetches", "u", outstanding_fetches,
    -                           "bytes-received", "t", bytes_received,
    -                           "status", "s", "Updated status",
    -                           "refs", "@a{ss}", g_variant_new_parsed ("@a{ss} {}"),
    -                           NULL);
    +ostree_async_progress_set (progress, + "outstanding-fetches", "u", outstanding_fetches, + "bytes-received", "t", bytes_received, + "status", "s", "Updated status", + "refs", "@a{ss}", g_variant_new_parsed ("@a{ss} {}"), + NULL);
    @@ -440,7 +440,7 @@ parameters, so they may be floating.

    ...

    -

    key name, format string, GVariant parameters, …, followed by NULL

    +

    key name, format string, GVariant parameters, …, followed by NULL

      @@ -454,13 +454,13 @@ parameters, so they may be floating.

    void
     ostree_async_progress_set_variant (OstreeAsyncProgress *self,
                                        const char *key,
    -                                   GVariant *value);
    + GVariant *value);

    Assign a new value to the given key , replacing any existing value. The operation is thread-safe. value may be a floating reference; -g_variant_ref_sink() will be called on it.

    +g_variant_ref_sink() will be called on it.

    Any watchers of the OstreeAsyncProgress will be notified of the change if value differs from the existing value for key @@ -501,7 +501,7 @@ operation is thread-safe. value

    void
     ostree_async_progress_set_uint (OstreeAsyncProgress *self,
                                     const char *key,
    -                                guint value);
    + guint value);

    @@ -509,7 +509,7 @@ ostree_async_progress_set_uint (void ostree_async_progress_set_uint64 (OstreeAsyncProgress *self, const char *key, - guint64 value); + guint64 value);

    @@ -546,6 +546,6 @@ events will be queued.

    +
    Generated by GTK-Doc V1.28
    \ No newline at end of file diff --git a/apidoc/html/ostree-Root-partition-mount-point.html b/apidoc/html/ostree-Root-partition-mount-point.html index d7d4a1c7..b73389eb 100644 --- a/apidoc/html/ostree-Root-partition-mount-point.html +++ b/apidoc/html/ostree-Root-partition-mount-point.html @@ -3,12 +3,12 @@ Root partition mount point: OSTree API references - + - + @@ -57,7 +57,7 @@ -GFile * +GFile * ostree_sysroot_get_path () @@ -65,7 +65,7 @@ -gboolean +gboolean ostree_sysroot_load () @@ -73,7 +73,7 @@ -gboolean +gboolean ostree_sysroot_load_if_changed () @@ -81,7 +81,7 @@ -gboolean +gboolean ostree_sysroot_lock () @@ -89,7 +89,7 @@ -gboolean +gboolean ostree_sysroot_try_lock () @@ -105,7 +105,7 @@ -gboolean +gboolean ostree_sysroot_lock_finish () @@ -137,7 +137,7 @@ -gboolean +gboolean ostree_sysroot_ensure_initialized () @@ -161,7 +161,7 @@ -GPtrArray * +GPtrArray * ostree_sysroot_get_deployments () @@ -177,7 +177,7 @@ -GFile * +GFile * ostree_sysroot_get_deployment_directory () @@ -193,7 +193,7 @@ -GFile * +GFile * ostree_sysroot_get_deployment_origin_path () @@ -201,7 +201,7 @@ -gboolean +gboolean ostree_sysroot_cleanup () @@ -209,7 +209,7 @@ -gboolean +gboolean ostree_sysroot_prepare_cleanup () @@ -217,6 +217,14 @@ +gboolean + + +ostree_sysroot_cleanup_prune_repo () + + + + OstreeRepo * @@ -225,7 +233,7 @@ -gboolean +gboolean ostree_sysroot_get_repo () @@ -241,7 +249,7 @@ -gboolean +gboolean ostree_sysroot_init_osname () @@ -249,7 +257,7 @@ -gboolean +gboolean ostree_sysroot_deployment_set_kargs () @@ -257,7 +265,7 @@ -gboolean +gboolean ostree_sysroot_deployment_set_mutable () @@ -265,7 +273,7 @@ -gboolean +gboolean ostree_sysroot_deployment_unlock () @@ -273,7 +281,7 @@ -gboolean +gboolean ostree_sysroot_deployment_set_pinned () @@ -281,7 +289,7 @@ -gboolean +gboolean ostree_sysroot_write_deployments () @@ -289,7 +297,7 @@ -gboolean +gboolean ostree_sysroot_write_deployments_with_options () @@ -297,7 +305,7 @@ -gboolean +gboolean ostree_sysroot_write_origin_file () @@ -305,7 +313,7 @@ -gboolean +gboolean ostree_sysroot_stage_tree () @@ -313,7 +321,7 @@ -gboolean +gboolean ostree_sysroot_deploy_tree () @@ -337,7 +345,7 @@ -GKeyFile * +GKeyFile * ostree_sysroot_origin_new_from_refspec () @@ -345,7 +353,7 @@ -gboolean +gboolean ostree_sysroot_simple_write_deployment () @@ -388,10 +396,10 @@ perform locking externally.

    ostree_sysroot_new ()

    OstreeSysroot *
    -ostree_sysroot_new (GFile *path);
    +ostree_sysroot_new (GFile *path);

    Create a new OstreeSysroot object for the sysroot at path . If path - is NULL, + is NULL, the current visible root file system is used, equivalent to ostree_sysroot_new_default().

    @@ -404,7 +412,7 @@ the current visible root file system is used, equivalent to

    path

    -

    Path to a system root directory, or NULL to use the +

    Path to a system root directory, or NULL to use the current visible root file system.

    [allow-none] @@ -431,7 +439,7 @@ ostree_sysroot_new_default (void<

    ostree_sysroot_get_path ()

    -
    GFile *
    +
    GFile *
     ostree_sysroot_get_path (OstreeSysroot *self);

    Returns

    @@ -442,10 +450,10 @@ ostree_sysroot_get_path (

    ostree_sysroot_load ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_load (OstreeSysroot *self,
    -                     GCancellable *cancellable,
    -                     GError **error);
    + GCancellable *cancellable, + GError **error);

    Load deployment list, bootversion, and subbootversion from the rootfs self .

    @@ -480,18 +488,18 @@ rootfs self

    ostree_sysroot_load_if_changed ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_load_if_changed (OstreeSysroot *self,
    -                                gboolean *out_changed,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + gboolean *out_changed, + GCancellable *cancellable, + GError **error);

    ostree_sysroot_lock ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_lock (OstreeSysroot *self,
    -                     GError **error);
    + GError **error);

    Acquire an exclusive multi-process write lock for self . This call blocks until the lock has been acquired. The lock is not @@ -525,15 +533,15 @@ be released if self


    ostree_sysroot_try_lock ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_try_lock (OstreeSysroot *self,
    -                         gboolean *out_acquired,
    -                         GError **error);
    + gboolean *out_acquired, + GError **error);

    Try to acquire an exclusive multi-process write lock for self . If another process holds the lock, this function will return immediately, setting out_acquired - to FALSE, and returning TRUE + to FALSE, and returning TRUE (and no error).

    Release the lock with ostree_sysroot_unlock(). The lock will also be released if self @@ -571,9 +579,9 @@ be released if self

    ostree_sysroot_lock_async ()

    void
     ostree_sysroot_lock_async (OstreeSysroot *self,
    -                           GCancellable *cancellable,
    -                           GAsyncReadyCallback callback,
    -                           gpointer user_data);
    + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data);

    An asynchronous version of ostree_sysroot_lock().

    Parameters

    @@ -611,10 +619,10 @@ ostree_sysroot_lock_async (

    ostree_sysroot_lock_finish ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_lock_finish (OstreeSysroot *self,
    -                            GAsyncResult *result,
    -                            GError **error);
    + GAsyncResult *result, + GError **error);

    Call when ostree_sysroot_lock_async() is ready.

    Parameters

    @@ -726,10 +734,10 @@ calling this function.


    ostree_sysroot_ensure_initialized ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_ensure_initialized (OstreeSysroot *self,
    -                                   GCancellable *cancellable,
    -                                   GError **error);
    + GCancellable *cancellable, + GError **error);

    Ensure that self is set up as a valid rootfs, by creating /ostree/repo, among other things.

    @@ -776,7 +784,7 @@ ostree_sysroot_get_subbootversion (

    ostree_sysroot_get_deployments ()

    -
    GPtrArray *
    +
    GPtrArray *
     ostree_sysroot_get_deployments (OstreeSysroot *self);

    Parameters

    @@ -821,14 +829,14 @@ ostree_sysroot_get_booted_deployment (

    Returns

    -

    The currently booted deployment, or NULL if none.

    +

    The currently booted deployment, or NULL if none.

    [transfer none]


    ostree_sysroot_get_deployment_directory ()

    -
    GFile *
    +
    GFile *
     ostree_sysroot_get_deployment_directory
                                    (OstreeSysroot *self,
                                     OstreeDeployment *deployment);
    @@ -900,9 +908,9 @@ or concatenate it with the full

    ostree_sysroot_get_deployment_origin_path ()

    -
    GFile *
    +
    GFile *
     ostree_sysroot_get_deployment_origin_path
    -                               (GFile *deployment_path);
    + (GFile *deployment_path);

    Parameters

    @@ -927,10 +935,10 @@ ostree_sysroot_get_deployment_origin_path

    ostree_sysroot_cleanup ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_cleanup (OstreeSysroot *self,
    -                        GCancellable *cancellable,
    -                        GError **error);
    + GCancellable *cancellable, + GError **error);

    Delete any state that resulted from a partially completed transaction, such as incomplete deployments.

    @@ -964,10 +972,10 @@ transaction, such as incomplete deployments.


    ostree_sysroot_prepare_cleanup ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_prepare_cleanup (OstreeSysroot *self,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GCancellable *cancellable, + GError **error);

    Like ostree_sysroot_cleanup() in that it cleans up incomplete deployments and old boot versions, but does NOT prune the repository.

    @@ -1000,6 +1008,74 @@ and old boot versions, but does NOT prune the repository.


    +

    ostree_sysroot_cleanup_prune_repo ()

    +
    gboolean
    +ostree_sysroot_cleanup_prune_repo (OstreeSysroot *sysroot,
    +                                   OstreeRepoPruneOptions *options,
    +                                   gint *out_objects_total,
    +                                   gint *out_objects_pruned,
    +                                   guint64 *out_pruned_object_size_total,
    +                                   GCancellable *cancellable,
    +                                   GError **error);
    +

    Prune the system repository. This is a thin wrapper +around ostree_repo_prune_from_reachable(); the primary +addition is that this function automatically gathers +all deployed commits into the reachable set.

    +

    You generally want to at least set the OSTREE_REPO_PRUNE_FLAGS_REFS_ONLY +flag in options +. A commit traversal depth of 0 is assumed.

    +

    Locking: exclusive

    +
    +

    Parameters

    +
    +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    sysroot

    Sysroot

     

    options

    Flags controlling pruning

     

    out_objects_total

    Number of objects found.

    [out]

    out_objects_pruned

    Number of objects deleted.

    [out]

    out_pruned_object_size_total

    Storage size in bytes of objects deleted.

    [out]

    cancellable

    Cancellable

     

    error

    Error

     
    +
    +

    Since: 2018.6

    +
    +
    +

    ostree_sysroot_repo ()

    OstreeRepo *
     ostree_sysroot_repo (OstreeSysroot *self);
    @@ -1031,11 +1107,11 @@ has been invoked successfully.


    ostree_sysroot_get_repo ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_get_repo (OstreeSysroot *self,
                              OstreeRepo **out_repo,
    -                         GCancellable *cancellable,
    -                         GError **error);
    + GCancellable *cancellable, + GError **error);

    Retrieve the OSTree repository in sysroot self . The repo is guaranteed to be open (see ostree_repo_open()).

    @@ -1074,7 +1150,7 @@ ostree_sysroot_get_repo (

    Returns

    -

    TRUE on success, FALSE otherwise

    +

    TRUE on success, FALSE otherwise


    @@ -1099,18 +1175,18 @@ ostree_sysroot_get_staged_deployment (

    Returns

    -

    The currently staged deployment, or NULL if none.

    +

    The currently staged deployment, or NULL if none.

    [transfer none]


    ostree_sysroot_init_osname ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_init_osname (OstreeSysroot *self,
                                 const char *osname,
    -                            GCancellable *cancellable,
    -                            GError **error);
    + GCancellable *cancellable, + GError **error);

    Initialize the directory structure for an "osname", which is a group of operating system deployments, with a shared /var. One is required for generating a deployment.

    @@ -1150,12 +1226,12 @@ is required for generating a deployment.


    ostree_sysroot_deployment_set_kargs ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_deployment_set_kargs (OstreeSysroot *self,
                                          OstreeDeployment *deployment,
                                          char **new_kargs,
    -                                     GCancellable *cancellable,
    -                                     GError **error);
    + GCancellable *cancellable, + GError **error);

    Entirely replace the kernel arguments of deployment with the values in new_kargs @@ -1201,12 +1277,12 @@ values in new_kargs


    ostree_sysroot_deployment_set_mutable ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_deployment_set_mutable (OstreeSysroot *self,
                                            OstreeDeployment *deployment,
    -                                       gboolean is_mutable,
    -                                       GCancellable *cancellable,
    -                                       GError **error);
    + gboolean is_mutable, + GCancellable *cancellable, + GError **error);

    By default, deployment directories are not mutable. This function will allow making them temporarily mutable, for example to allow layering additional non-OSTree content.

    @@ -1251,12 +1327,12 @@ layering additional non-OSTree content.


    ostree_sysroot_deployment_unlock ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_deployment_unlock (OstreeSysroot *self,
                                       OstreeDeployment *deployment,
                                       OstreeDeploymentUnlockedState unlocked_state,
    -                                  GCancellable *cancellable,
    -                                  GError **error);
    + GCancellable *cancellable, + GError **error);

    Configure the target deployment deployment such that it is writable. There are multiple modes, essentially differing @@ -1304,11 +1380,11 @@ across reboots.


    ostree_sysroot_deployment_set_pinned ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_deployment_set_pinned (OstreeSysroot *self,
                                           OstreeDeployment *deployment,
    -                                      gboolean is_pinned,
    -                                      GError **error);
    + gboolean is_pinned, + GError **error);

    By default, deployments may be subject to garbage collection. Typical uses of libostree only retain at most 2 deployments. If is_pinned is TRUE, a @@ -1354,11 +1430,11 @@ is already in the desired pinning state.


    ostree_sysroot_write_deployments ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_write_deployments (OstreeSysroot *self,
    -                                  GPtrArray *new_deployments,
    -                                  GCancellable *cancellable,
    -                                  GError **error);
    + GPtrArray *new_deployments, + GCancellable *cancellable, + GError **error);

    Older version of ostree_sysroot_write_deployments_with_options(). This version will perform post-deployment cleanup by default.

    @@ -1397,13 +1473,13 @@ version will perform post-deployment cleanup by default.


    ostree_sysroot_write_deployments_with_options ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_write_deployments_with_options
                                    (OstreeSysroot *self,
    -                                GPtrArray *new_deployments,
    +                                GPtrArray *new_deployments,
                                     OstreeSysrootWriteDeploymentsOpts *opts,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GCancellable *cancellable, + GError **error);

    Assuming new_deployments have already been deployed in place on disk via ostree_sysroot_deploy_tree(), atomically update bootloader configuration. By @@ -1453,17 +1529,17 @@ if for example you want to control pruning of the repository.


    ostree_sysroot_write_origin_file ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_write_origin_file (OstreeSysroot *sysroot,
                                       OstreeDeployment *deployment,
    -                                  GKeyFile *new_origin,
    -                                  GCancellable *cancellable,
    -                                  GError **error);
    + GKeyFile *new_origin, + GCancellable *cancellable, + GError **error);

    Immediately replace the origin file of the referenced deployment with the contents of new_origin . If new_origin - is NULL, + is NULL, this function will write the current origin of deployment .

    @@ -1507,16 +1583,16 @@ this function will write the current origin of deplo

    ostree_sysroot_stage_tree ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_stage_tree (OstreeSysroot *self,
                                const char *osname,
                                const char *revision,
    -                           GKeyFile *origin,
    +                           GKeyFile *origin,
                                OstreeDeployment *merge_deployment,
                                char **override_kernel_argv,
                                OstreeDeployment **out_new_deployment,
    -                           GCancellable *cancellable,
    -                           GError **error);
    + GCancellable *cancellable, + GError **error);

    Like ostree_sysroot_deploy_tree(), but "finalization" only occurs at OS shutdown time.

    @@ -1555,7 +1631,7 @@ shutdown time.

    override_kernel_argv

    -

    Use these as kernel arguments; if NULL, inherit options from provided_merge_deployment.

    +

    Use these as kernel arguments; if NULL, inherit options from provided_merge_deployment.

    [allow-none][array zero-terminated=1][element-type utf8] @@ -1580,16 +1656,16 @@ shutdown time.


    ostree_sysroot_deploy_tree ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_deploy_tree (OstreeSysroot *self,
                                 const char *osname,
                                 const char *revision,
    -                            GKeyFile *origin,
    +                            GKeyFile *origin,
                                 OstreeDeployment *provided_merge_deployment,
                                 char **override_kernel_argv,
                                 OstreeDeployment **out_new_deployment,
    -                            GCancellable *cancellable,
    -                            GError **error);
    + GCancellable *cancellable, + GError **error);

    Check out deployment tree with revision revision , performing a 3 way merge with provided_merge_deployment @@ -1632,7 +1708,7 @@ way merge with provided_merge_deployment

    override_kernel_argv

    -

    Use these as kernel arguments; if NULL, inherit options from provided_merge_deployment.

    +

    Use these as kernel arguments; if NULL, inherit options from provided_merge_deployment.

    [allow-none][array zero-terminated=1][element-type utf8] @@ -1699,7 +1775,7 @@ ostree_sysroot_query_deployments_for (OstreeDeployment **out_pending, OstreeDeployment **out_rollback);

    Find the pending and rollback deployments for osname -. Pass NULL for osname +. Pass NULL for osname to use the booted deployment's osname. By default, pending deployment is the first deployment in the order that matches osname @@ -1744,7 +1820,7 @@ we're not looking at the booted deployment.


    ostree_sysroot_origin_new_from_refspec ()

    -
    GKeyFile *
    +
    GKeyFile *
     ostree_sysroot_origin_new_from_refspec
                                    (OstreeSysroot *self,
                                     const char *refspec);
    @@ -1780,15 +1856,15 @@ as an origin.


    ostree_sysroot_simple_write_deployment ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_simple_write_deployment
                                    (OstreeSysroot *sysroot,
                                     const char *osname,
                                     OstreeDeployment *new_deployment,
                                     OstreeDeployment *merge_deployment,
                                     OstreeSysrootSimpleWriteDeploymentFlags flags,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GCancellable *cancellable, + GError **error);

    Prepend new_deployment to the list of deployments, commit, and cleanup. By default, all other deployments for the given osname @@ -1913,6 +1989,6 @@ later, instead.

    +
    Generated by GTK-Doc V1.28
    \ No newline at end of file diff --git a/apidoc/html/ostree-SELinux-policy-management.html b/apidoc/html/ostree-SELinux-policy-management.html index 91798adc..06f77751 100644 --- a/apidoc/html/ostree-SELinux-policy-management.html +++ b/apidoc/html/ostree-SELinux-policy-management.html @@ -3,12 +3,12 @@ SELinux policy management: OSTree API references - + - + @@ -57,7 +57,7 @@ -GFile * +GFile * ostree_sepolicy_get_path () @@ -72,7 +72,7 @@ -gboolean +gboolean ostree_sepolicy_get_label () @@ -87,7 +87,7 @@ -gboolean +gboolean ostree_sepolicy_restorecon () @@ -95,7 +95,7 @@ -gboolean +gboolean ostree_sepolicy_setfscreatecon () @@ -141,9 +141,9 @@ root and perform labeling.

    ostree_sepolicy_new ()

    OstreeSePolicy *
    -ostree_sepolicy_new (GFile *path,
    -                     GCancellable *cancellable,
    -                     GError **error);
    +ostree_sepolicy_new (GFile *path, + GCancellable *cancellable, + GError **error);

    Parameters

    @@ -183,8 +183,8 @@ ostree_sepolicy_new (GFile

    ostree_sepolicy_new_at ()

    OstreeSePolicy *
     ostree_sepolicy_new_at (int rootfs_dfd,
    -                        GCancellable *cancellable,
    -                        GError **error);
    + GCancellable *cancellable, + GError **error);

    Parameters

    @@ -222,7 +222,7 @@ ostree_sepolicy_new_at (int

    ostree_sepolicy_get_path ()

    -
    GFile *
    +
    GFile *
     ostree_sepolicy_get_path (OstreeSePolicy *self);

    Returns

    @@ -244,18 +244,18 @@ ostree_sepolicy_get_name (

    ostree_sepolicy_get_label ()

    -
    gboolean
    +
    gboolean
     ostree_sepolicy_get_label (OstreeSePolicy *self,
                                const char *relpath,
    -                           guint32 unix_mode,
    +                           guint32 unix_mode,
                                char **out_label,
    -                           GCancellable *cancellable,
    -                           GError **error);
    + GCancellable *cancellable, + GError **error);

    Store in out_label the security context for the given relpath and mode unix_mode -. If the policy does not specify a label, NULL +. If the policy does not specify a label, NULL will be returned.

    Parameters

    @@ -314,15 +314,15 @@ ostree_sepolicy_get_csum (

    ostree_sepolicy_restorecon ()

    -
    gboolean
    +
    gboolean
     ostree_sepolicy_restorecon (OstreeSePolicy *self,
                                 const char *path,
    -                            GFileInfo *info,
    -                            GFile *target,
    +                            GFileInfo *info,
    +                            GFile *target,
                                 OstreeSePolicyRestoreconFlags flags,
                                 char **out_new_label,
    -                            GCancellable *cancellable,
    -                            GError **error);
    + GCancellable *cancellable, + GError **error);

    Reset the security context of target based on the SELinux policy.

    @@ -361,7 +361,7 @@ ostree_sepolicy_restorecon (

    out_new_label

    -
    + @@ -381,11 +381,11 @@ ostree_sepolicy_restorecon (

    ostree_sepolicy_setfscreatecon ()

    -
    gboolean
    +
    gboolean
     ostree_sepolicy_setfscreatecon (OstreeSePolicy *self,
                                     const char *path,
    -                                guint32 mode,
    -                                GError **error);
    + guint32 mode, + GError **error);

    Parameters

    New label, or NULL if unchanged.

    New label, or NULL if unchanged.

    [allow-none][out]
    @@ -484,6 +484,6 @@ ostree_sepolicy_fscreatecon_cleanup ( -
    Generated by GTK-Doc V1.27 +
    Generated by GTK-Doc V1.28 \ No newline at end of file diff --git a/apidoc/html/ostree-Simple-upgrade-class.html b/apidoc/html/ostree-Simple-upgrade-class.html index 9202a842..a74b76da 100644 --- a/apidoc/html/ostree-Simple-upgrade-class.html +++ b/apidoc/html/ostree-Simple-upgrade-class.html @@ -3,12 +3,12 @@ Simple upgrade class: OSTree API references - + - + @@ -65,7 +65,7 @@
    -GKeyFile * +GKeyFile * ostree_sysroot_upgrader_get_origin () @@ -73,7 +73,7 @@
    -GKeyFile * +GKeyFile * ostree_sysroot_upgrader_dup_origin () @@ -81,7 +81,7 @@
    -gboolean +gboolean ostree_sysroot_upgrader_set_origin () @@ -97,7 +97,7 @@
    -gboolean +gboolean ostree_sysroot_upgrader_check_timestamps () @@ -105,7 +105,7 @@
    -gboolean +gboolean ostree_sysroot_upgrader_pull () @@ -113,7 +113,7 @@
    -gboolean +gboolean ostree_sysroot_upgrader_pull_one_dir () @@ -121,7 +121,7 @@
    -gboolean +gboolean ostree_sysroot_upgrader_deploy () @@ -164,8 +164,8 @@ operations.

    ostree_sysroot_upgrader_new ()

    OstreeSysrootUpgrader *
     ostree_sysroot_upgrader_new (OstreeSysroot *sysroot,
    -                             GCancellable *cancellable,
    -                             GError **error);
    + GCancellable *cancellable, + GError **error);

    Parameters

    @@ -205,8 +205,8 @@ ostree_sysroot_upgrader_new (OstreeSysrootUpgrader * ostree_sysroot_upgrader_new_for_os (OstreeSysroot *sysroot, const char *osname, - GCancellable *cancellable, - GError **error); + GCancellable *cancellable, + GError **error);

    Parameters

    @@ -253,8 +253,8 @@ ostree_sysroot_upgrader_new_for_os_with_flags (OstreeSysroot *sysroot, const char *osname, OstreeSysrootUpgraderFlags flags, - GCancellable *cancellable, - GError **error); + GCancellable *cancellable, + GError **error);

    Parameters

    @@ -301,7 +301,7 @@ ostree_sysroot_upgrader_new_for_os_with_flags

    ostree_sysroot_upgrader_get_origin ()

    -
    GKeyFile *
    +
    GKeyFile *
     ostree_sysroot_upgrader_get_origin (OstreeSysrootUpgrader *self);

    Parameters

    @@ -320,14 +320,14 @@ ostree_sysroot_upgrader_get_origin (

    Returns

    -

    The origin file, or NULL if unknown.

    +

    The origin file, or NULL if unknown.

    [transfer none]


    ostree_sysroot_upgrader_dup_origin ()

    -
    GKeyFile *
    +
    GKeyFile *
     ostree_sysroot_upgrader_dup_origin (OstreeSysrootUpgrader *self);

    Parameters

    @@ -346,18 +346,18 @@ ostree_sysroot_upgrader_dup_origin (

    Returns

    -

    A copy of the origin file, or NULL if unknown.

    +

    A copy of the origin file, or NULL if unknown.

    [transfer full]


    ostree_sysroot_upgrader_set_origin ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_upgrader_set_origin (OstreeSysrootUpgrader *self,
    -                                    GKeyFile *origin,
    -                                    GCancellable *cancellable,
    -                                    GError **error);
    + GKeyFile *origin, + GCancellable *cancellable, + GError **error);

    Replace the origin with origin .

    @@ -416,18 +416,18 @@ ostree_sysroot_upgrader_get_origin_description

    Returns

    -

    A one-line descriptive summary of the origin, or NULL if unknown

    +

    A one-line descriptive summary of the origin, or NULL if unknown


    ostree_sysroot_upgrader_check_timestamps ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_upgrader_check_timestamps
                                    (OstreeRepo *repo,
                                     const char *from_rev,
                                     const char *to_rev,
    -                                GError **error);
    + GError **error);

    Check that the timestamp on to_rev is equal to or newer than from_rev @@ -469,21 +469,21 @@ attackers which provide a client with an older commit.


    ostree_sysroot_upgrader_pull ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_upgrader_pull (OstreeSysrootUpgrader *self,
                                   OstreeRepoPullFlags flags,
                                   OstreeSysrootUpgraderPullFlags upgrader_flags,
                                   OstreeAsyncProgress *progress,
    -                              gboolean *out_changed,
    -                              GCancellable *cancellable,
    -                              GError **error);
    + gboolean *out_changed, + GCancellable *cancellable, + GError **error);

    Perform a pull from the origin. First check if the ref has changed, if so download the linked objects, and store the updated ref locally. Then out_changed - will be TRUE.

    + will be TRUE.

    If the origin remote is unchanged, out_changed will be set to -FALSE.

    +FALSE.

    Parameters

    @@ -535,15 +535,15 @@ ref locally. Then out_changed

    ostree_sysroot_upgrader_pull_one_dir ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_upgrader_pull_one_dir (OstreeSysrootUpgrader *self,
                                           const char *dir_to_pull,
                                           OstreeRepoPullFlags flags,
                                           OstreeSysrootUpgraderPullFlags upgrader_flags,
                                           OstreeAsyncProgress *progress,
    -                                      gboolean *out_changed,
    -                                      GCancellable *cancellable,
    -                                      GError **error);
    + gboolean *out_changed, + GCancellable *cancellable, + GError **error);

    Like ostree_sysroot_upgrader_pull(), but allows retrieving just a subpath of the tree. This can be used to download metadata files from inside the tree such as package databases.

    @@ -603,10 +603,10 @@ from inside the tree such as package databases.


    ostree_sysroot_upgrader_deploy ()

    -
    gboolean
    +
    gboolean
     ostree_sysroot_upgrader_deploy (OstreeSysrootUpgrader *self,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GCancellable *cancellable, + GError **error);

    Write the new deployment to disk, perform a configuration merge with /etc, and update the bootloader configuration.

    @@ -710,6 +710,6 @@ with /etc, and update the bootloader configuration.

    +
    Generated by GTK-Doc V1.28
    \ No newline at end of file diff --git a/apidoc/html/ostree-ostree-bootconfig-parser.html b/apidoc/html/ostree-ostree-bootconfig-parser.html index 272d09e1..1dd343a3 100644 --- a/apidoc/html/ostree-ostree-bootconfig-parser.html +++ b/apidoc/html/ostree-ostree-bootconfig-parser.html @@ -3,12 +3,12 @@ ostree-bootconfig-parser: OSTree API references - + - + @@ -57,7 +57,7 @@
    -gboolean +gboolean ostree_bootconfig_parser_parse () @@ -65,7 +65,7 @@
    -gboolean +gboolean ostree_bootconfig_parser_parse_at () @@ -73,7 +73,7 @@
    -gboolean +gboolean ostree_bootconfig_parser_write () @@ -81,7 +81,7 @@
    -gboolean +gboolean ostree_bootconfig_parser_write_at () @@ -158,21 +158,21 @@ ostree_bootconfig_parser_clone (

    ostree_bootconfig_parser_parse ()

    -
    gboolean
    +
    gboolean
     ostree_bootconfig_parser_parse (OstreeBootconfigParser *self,
    -                                GFile *path,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GFile *path, + GCancellable *cancellable, + GError **error);

    ostree_bootconfig_parser_parse_at ()

    -
    gboolean
    +
    gboolean
     ostree_bootconfig_parser_parse_at (OstreeBootconfigParser *self,
                                        int dfd,
                                        const char *path,
    -                                   GCancellable *cancellable,
    -                                   GError **error);
    + GCancellable *cancellable, + GError **error);

    Initialize a bootconfig from the given file.

    Parameters

    @@ -215,21 +215,21 @@ ostree_bootconfig_parser_parse_at (

    ostree_bootconfig_parser_write ()

    -
    gboolean
    +
    gboolean
     ostree_bootconfig_parser_write (OstreeBootconfigParser *self,
    -                                GFile *output,
    -                                GCancellable *cancellable,
    -                                GError **error);
    + GFile *output, + GCancellable *cancellable, + GError **error);

    ostree_bootconfig_parser_write_at ()

    -
    gboolean
    +
    gboolean
     ostree_bootconfig_parser_write_at (OstreeBootconfigParser *self,
                                        int dfd,
                                        const char *path,
    -                                   GCancellable *cancellable,
    -                                   GError **error);
    + GCancellable *cancellable, + GError **error);

    @@ -256,6 +256,6 @@ ostree_bootconfig_parser_get ( -
    Generated by GTK-Doc V1.27
    +
    Generated by GTK-Doc V1.28
    \ No newline at end of file diff --git a/apidoc/html/ostree-ostree-chain-input-stream.html b/apidoc/html/ostree-ostree-chain-input-stream.html index dc05ff12..ac3cfafa 100644 --- a/apidoc/html/ostree-ostree-chain-input-stream.html +++ b/apidoc/html/ostree-ostree-chain-input-stream.html @@ -3,12 +3,12 @@ ostree-chain-input-stream: OSTree API references - + - + @@ -69,7 +69,7 @@

    ostree_chain_input_stream_new ()

    OstreeChainInputStream *
    -ostree_chain_input_stream_new (GPtrArray *streams);
    +ostree_chain_input_stream_new (GPtrArray *streams);
    @@ -84,6 +84,6 @@ ostree_chain_input_stream_new (GP
    +
    Generated by GTK-Doc V1.28 \ No newline at end of file diff --git a/apidoc/html/ostree-ostree-checksum-input-stream.html b/apidoc/html/ostree-ostree-checksum-input-stream.html index e590ef8f..9f9a0234 100644 --- a/apidoc/html/ostree-ostree-checksum-input-stream.html +++ b/apidoc/html/ostree-ostree-checksum-input-stream.html @@ -3,12 +3,12 @@ ostree-checksum-input-stream: OSTree API references - + - + @@ -69,8 +69,8 @@

    ostree_checksum_input_stream_new ()

    OstreeChecksumInputStream *
    -ostree_checksum_input_stream_new (GInputStream *stream,
    -                                  GChecksum *checksum);
    +ostree_checksum_input_stream_new (GInputStream *stream, + GChecksum *checksum);
    @@ -85,6 +85,6 @@ ostree_checksum_input_stream_new (
    +
    Generated by GTK-Doc V1.28 \ No newline at end of file diff --git a/apidoc/html/ostree-ostree-deployment.html b/apidoc/html/ostree-ostree-deployment.html index 5df93985..f38aa697 100644 --- a/apidoc/html/ostree-ostree-deployment.html +++ b/apidoc/html/ostree-ostree-deployment.html @@ -3,12 +3,12 @@ ostree-deployment: OSTree API references - + - + @@ -41,7 +41,7 @@
    -guint +guint ostree_deployment_hash () @@ -49,7 +49,7 @@
    -gboolean +gboolean ostree_deployment_equal () @@ -118,7 +118,7 @@
    -GKeyFile * +GKeyFile * ostree_deployment_get_origin () @@ -142,7 +142,7 @@
    -gboolean +gboolean ostree_deployment_is_pinned () @@ -150,7 +150,7 @@
    -gboolean +gboolean ostree_deployment_is_staged () @@ -234,15 +234,15 @@

    Functions

    ostree_deployment_hash ()

    -
    guint
    -ostree_deployment_hash (gconstpointer v);
    +
    guint
    +ostree_deployment_hash (gconstpointer v);

    ostree_deployment_equal ()

    -
    gboolean
    -ostree_deployment_equal (gconstpointer ap,
    -                         gconstpointer bp);
    +
    gboolean
    +ostree_deployment_equal (gconstpointer ap,
    +                         gconstpointer bp);

    Parameters

    @@ -267,7 +267,7 @@ ostree_deployment_equal (gconstpo

    Returns

    -

    TRUE if deployments have the same osname, csum, and deployserial

    +

    TRUE if deployments have the same osname, csum, and deployserial


    @@ -346,7 +346,7 @@ ostree_deployment_get_bootconfig (

    ostree_deployment_get_origin ()

    -
    GKeyFile *
    +
    GKeyFile *
     ostree_deployment_get_origin (OstreeDeployment *self);

    Parameters

    @@ -407,7 +407,7 @@ ostree_deployment_get_unlocked (

    ostree_deployment_is_pinned ()

    -
    gboolean
    +
    gboolean
     ostree_deployment_is_pinned (OstreeDeployment *self);

    See ostree_sysroot_deployment_set_pinned().

    @@ -434,7 +434,7 @@ ostree_deployment_is_pinned (

    ostree_deployment_is_staged ()

    -
    gboolean
    +
    gboolean
     ostree_deployment_is_staged (OstreeDeployment *self);

    Parameters

    @@ -483,14 +483,14 @@ ostree_deployment_set_bootconfig (

    ostree_deployment_set_origin ()

    void
     ostree_deployment_set_origin (OstreeDeployment *self,
    -                              GKeyFile *origin);
    + GKeyFile *origin);

    ostree_deployment_origin_remove_transient_state ()

    void
     ostree_deployment_origin_remove_transient_state
    -                               (GKeyFile *origin);
    + (GKeyFile *origin);

    The intention of an origin file is primarily describe the "inputs" that resulted in a deployment, and it's commonly used to derive the new state. For example, a key value (in pure libostree mode) is the "refspec". However, @@ -619,7 +619,7 @@ ostree_deployment_unlocked_state_to_string

    - + @@ -629,7 +629,7 @@ ostree_deployment_unlocked_state_to_string - + @@ -640,6 +640,6 @@ ostree_deployment_unlocked_state_to_string +
    Generated by GTK-Doc V1.28 \ No newline at end of file diff --git a/apidoc/html/ostree-ostree-diff.html b/apidoc/html/ostree-ostree-diff.html index c1d94082..9ef6d4bb 100644 --- a/apidoc/html/ostree-ostree-diff.html +++ b/apidoc/html/ostree-ostree-diff.html @@ -3,12 +3,12 @@ ostree-diff: OSTree API references - + - + @@ -57,7 +57,7 @@
    - + @@ -192,16 +192,16 @@ sets of

    ostree_diff_dirs_with_options ()

    -
    gboolean
    +
    gboolean
     ostree_diff_dirs_with_options (OstreeDiffFlags flags,
    -                               GFile *a,
    -                               GFile *b,
    -                               GPtrArray *modified,
    -                               GPtrArray *removed,
    -                               GPtrArray *added,
    +                               GFile *a,
    +                               GFile *b,
    +                               GPtrArray *modified,
    +                               GPtrArray *removed,
    +                               GPtrArray *added,
                                    OstreeDiffDirsOptions *options,
    -                               GCancellable *cancellable,
    -                               GError **error);
    + GCancellable *cancellable, + GError **error);

    Compute the difference between directory a and b as 3 separate @@ -225,7 +225,7 @@ sets of

    a

    -
    + @@ -271,11 +271,11 @@ sets of

    ostree_diff_print ()

    void
    -ostree_diff_print (GFile *a,
    -                   GFile *b,
    -                   GPtrArray *modified,
    -                   GPtrArray *removed,
    -                   GPtrArray *added);
    +ostree_diff_print (GFile *a, + GFile *b, + GPtrArray *modified, + GPtrArray *removed, + GPtrArray *added);

    Print the contents of a diff to stdout.

    Parameters

    @@ -363,6 +363,6 @@ ostree_diff_print (GFile *
    +
    Generated by GTK-Doc V1.28 \ No newline at end of file diff --git a/apidoc/html/ostree-ostree-repo-file.html b/apidoc/html/ostree-ostree-repo-file.html index 3b55a54f..7f65db64 100644 --- a/apidoc/html/ostree-ostree-repo-file.html +++ b/apidoc/html/ostree-ostree-repo-file.html @@ -3,11 +3,11 @@ ostree-repo-file: OSTree API references - + - + @@ -40,7 +40,7 @@
     

    GKeyFile *origin;

    GKeyFile *origin;

    How to construct an upgraded version of this tree

     
     

    gboolean staged;

    gboolean staged;

    TRUE iff this deployment is staged

     
    -gboolean +gboolean ostree_diff_dirs () @@ -65,7 +65,7 @@
    -gboolean +gboolean ostree_diff_dirs_with_options () @@ -120,15 +120,15 @@ ostree_diff_item_unref (

    ostree_diff_dirs ()

    -
    gboolean
    +
    gboolean
     ostree_diff_dirs (OstreeDiffFlags flags,
    -                  GFile *a,
    -                  GFile *b,
    -                  GPtrArray *modified,
    -                  GPtrArray *removed,
    -                  GPtrArray *added,
    -                  GCancellable *cancellable,
    -                  GError **error);
    + GFile *a, + GFile *b, + GPtrArray *modified, + GPtrArray *removed, + GPtrArray *added, + GCancellable *cancellable, + GError **error);

    Compute the difference between directory a and b as 3 separate @@ -152,7 +152,7 @@ sets of

    a

    First directory path, or NULL

    First directory path, or NULL

     

    First directory path, or NULL

    First directory path, or NULL

     
    -gboolean +gboolean ostree_repo_file_ensure_resolved () @@ -48,7 +48,7 @@
    -gboolean +gboolean ostree_repo_file_get_xattrs () @@ -94,7 +94,7 @@
    -GVariant * +GVariant * ostree_repo_file_tree_get_contents () @@ -102,7 +102,7 @@
    -GVariant * +GVariant * ostree_repo_file_tree_get_metadata () @@ -125,7 +125,7 @@
    -gboolean +gboolean ostree_repo_file_tree_query_child () @@ -154,18 +154,18 @@

    Functions

    ostree_repo_file_ensure_resolved ()

    -
    gboolean
    +
    gboolean
     ostree_repo_file_ensure_resolved (OstreeRepoFile *self,
    -                                  GError **error);
    + GError **error);

    ostree_repo_file_get_xattrs ()

    -
    gboolean
    +
    gboolean
     ostree_repo_file_get_xattrs (OstreeRepoFile *self,
    -                             GVariant **out_xattrs,
    -                             GCancellable *cancellable,
    -                             GError **error);
    + GVariant **out_xattrs, + GCancellable *cancellable, + GError **error);

    @@ -195,7 +195,7 @@ ostree_repo_file_get_root (void ostree_repo_file_tree_set_metadata (OstreeRepoFile *self, const char *checksum, - GVariant *metadata); + GVariant *metadata);

    @@ -214,13 +214,13 @@ ostree_repo_file_tree_get_metadata_checksum

    ostree_repo_file_tree_get_contents ()

    -
    GVariant *
    +
    GVariant *
     ostree_repo_file_tree_get_contents (OstreeRepoFile *self);

    ostree_repo_file_tree_get_metadata ()

    -
    GVariant *
    +
    GVariant *
     ostree_repo_file_tree_get_metadata (OstreeRepoFile *self);

    @@ -235,20 +235,20 @@ ostree_repo_file_get_checksum (int ostree_repo_file_tree_find_child (OstreeRepoFile *self, const char *name, - gboolean *is_dir, - GVariant **out_container); + gboolean *is_dir, + GVariant **out_container);

    ostree_repo_file_tree_query_child ()

    -
    gboolean
    +
    gboolean
     ostree_repo_file_tree_query_child (OstreeRepoFile *self,
                                        int n,
                                        const char *attributes,
    -                                   GFileQueryInfoFlags flags,
    -                                   GFileInfo **out_info,
    -                                   GCancellable *cancellable,
    -                                   GError **error);
    + GFileQueryInfoFlags flags, + GFileInfo **out_info, + GCancellable *cancellable, + GError **error);
    @@ -261,6 +261,6 @@ ostree_repo_file_tree_query_child (
    +
    Generated by GTK-Doc V1.28 \ No newline at end of file diff --git a/apidoc/html/ostree.devhelp2 b/apidoc/html/ostree.devhelp2 index 17996f71..7a5200b1 100644 --- a/apidoc/html/ostree.devhelp2 +++ b/apidoc/html/ostree.devhelp2 @@ -203,6 +203,7 @@ + @@ -272,6 +273,7 @@ + diff --git a/apidoc/html/reference.html b/apidoc/html/reference.html index 11e1abfa..9cb0c176 100644 --- a/apidoc/html/reference.html +++ b/apidoc/html/reference.html @@ -3,12 +3,12 @@ API Reference: OSTree API references - + - + @@ -254,10 +254,6 @@
    -OSTREE_CHECK_VERSION, macro in ostree-version -
    -
    -
    ostree_check_version, function in Core repository-independent functions
    @@ -266,6 +262,38 @@ OSTREE_CHECK_VERSION, macro in ostree-version
    +OstreeCollectionRefv, typedef in ostree-ref +
    +
    +
    +ostree_collection_ref_dup, function in ostree-ref +
    +
    +
    +ostree_collection_ref_dupv, function in ostree-ref +
    +
    +
    +ostree_collection_ref_equal, function in ostree-ref +
    +
    +
    +ostree_collection_ref_free, function in ostree-ref +
    +
    +
    +ostree_collection_ref_freev, function in ostree-ref +
    +
    +
    +ostree_collection_ref_hash, function in ostree-ref +
    +
    +
    +ostree_collection_ref_new, function in ostree-ref +
    +
    +
    ostree_commit_get_content_checksum, function in Core repository-independent functions
    @@ -614,7 +642,23 @@ OSTREE_CHECK_VERSION, macro in ostree-version
    -OSTREE_RELEASE_VERSION, macro in ostree-version +OstreeRemote, struct in ostree-remote +
    +
    +
    +ostree_remote_get_name, function in ostree-remote +
    +
    +
    +ostree_remote_get_url, function in ostree-remote +
    +
    +
    +ostree_remote_ref, function in ostree-remote +
    +
    +
    +ostree_remote_unref, function in ostree-remote
    @@ -670,6 +714,30 @@ OSTREE_RELEASE_VERSION, macro in ostree-version
    +OstreeRepoFinder, struct in ostree-repo-finder +
    +
    +
    +OstreeRepoFinderAvahi, struct in OstreeRepoFinderAvahi +
    +
    +
    +OstreeRepoFinderConfig, struct in OstreeRepoFinderConfig +
    +
    +
    +OstreeRepoFinderMount, struct in OstreeRepoFinderMount +
    +
    +
    +OstreeRepoFinderOverride, struct in OstreeRepoFinderOverride +
    +
    +
    +OstreeRepoFinderResultv, typedef in ostree-repo-finder +
    +
    +
    OstreeRepoListObjectsFlags, enum in OstreeRepo
    @@ -878,10 +946,58 @@ OSTREE_RELEASE_VERSION, macro in ostree-version
    +ostree_repo_finder_resolve_all_async, function in ostree-repo-finder +
    +
    +
    +ostree_repo_finder_resolve_all_finish, function in ostree-repo-finder +
    +
    +
    +ostree_repo_finder_resolve_async, function in ostree-repo-finder +
    +
    +
    +ostree_repo_finder_resolve_finish, function in ostree-repo-finder +
    +
    +
    +ostree_repo_finder_result_compare, function in ostree-repo-finder +
    +
    +
    +ostree_repo_finder_result_dup, function in ostree-repo-finder +
    +
    +
    +ostree_repo_finder_result_free, function in ostree-repo-finder +
    +
    +
    +ostree_repo_finder_result_freev, function in ostree-repo-finder +
    +
    +
    +ostree_repo_finder_result_new, function in ostree-repo-finder +
    +
    +
    +ostree_repo_find_remotes_async, function in ostree-repo-experimental +
    +
    +
    +ostree_repo_find_remotes_finish, function in ostree-repo-experimental +
    +
    +
    ostree_repo_fsck_object, function in OstreeRepo
    +ostree_repo_get_collection_id, function in ostree-misc-experimental +
    +
    +
    ostree_repo_get_config, function in OstreeRepo
    @@ -950,6 +1066,10 @@ OSTREE_RELEASE_VERSION, macro in ostree-version
    +ostree_repo_list_collection_refs, function in ostree-misc-experimental +
    +
    +
    ostree_repo_list_commit_objects_starting_with, function in OstreeRepo
    @@ -998,6 +1118,10 @@ OSTREE_RELEASE_VERSION, macro in ostree-version
    +OSTREE_REPO_METADATA_REF, macro in ostree-repo-experimental +
    +
    +
    ostree_repo_mode_from_string, function in OstreeRepo
    @@ -1046,6 +1170,14 @@ OSTREE_RELEASE_VERSION, macro in ostree-version
    +ostree_repo_pull_from_remotes_async, function in ostree-repo-experimental +
    +
    +
    +ostree_repo_pull_from_remotes_finish, function in ostree-repo-experimental +
    +
    +
    ostree_repo_pull_one_dir, function in OstreeRepo
    @@ -1114,10 +1246,22 @@ OSTREE_RELEASE_VERSION, macro in ostree-version
    +ostree_repo_remote_list_collection_refs, function in ostree-misc-experimental +
    +
    +
    ostree_repo_remote_list_refs, function in OstreeRepo
    +ostree_repo_resolve_collection_ref, function in ostree-misc-experimental +
    +
    +
    +ostree_repo_resolve_keyring_for_collection, function in ostree-repo-experimental +
    +
    +
    ostree_repo_resolve_rev, function in OstreeRepo
    @@ -1138,6 +1282,14 @@ OSTREE_RELEASE_VERSION, macro in ostree-version
    +ostree_repo_set_collection_id, function in ostree-misc-experimental +
    +
    +
    +ostree_repo_set_collection_ref_immediate, function in ostree-misc-experimental +
    +
    +
    ostree_repo_set_disable_fsync, function in OstreeRepo
    @@ -1162,6 +1314,10 @@ OSTREE_RELEASE_VERSION, macro in ostree-version
    +ostree_repo_transaction_set_collection_ref, function in ostree-misc-experimental +
    +
    +
    ostree_repo_transaction_set_ref, function in OstreeRepo
    @@ -1194,6 +1350,10 @@ OSTREE_RELEASE_VERSION, macro in ostree-version
    +ostree_repo_traverse_reachable_refs, function in OstreeRepo +
    +
    +
    ostree_repo_verify_commit, function in OstreeRepo
    @@ -1359,6 +1519,10 @@ OSTREE_RELEASE_VERSION, macro in ostree-version
    +ostree_sysroot_cleanup_prune_repo, function in Root partition mount point +
    +
    +
    ostree_sysroot_deployment_set_kargs, function in Root partition mount point
    @@ -1569,6 +1733,10 @@ OSTREE_RELEASE_VERSION, macro in ostree-version
    +ostree_validate_collection_id, function in ostree-misc-experimental +
    +
    +
    ostree_validate_remote_name, function in Core repository-independent functions
    @@ -1604,26 +1772,9 @@ OSTREE_RELEASE_VERSION, macro in ostree-version ostree_validate_structureof_objtype, function in Core repository-independent functions
    -
    -OSTREE_VERSION, macro in ostree-version -
    -
    -
    -OSTREE_VERSION_HEX, macro in ostree-version -
    -
    -
    -OSTREE_VERSION_S, macro in ostree-version -
    -
    -

    Y

    -
    -OSTREE_YEAR_VERSION, macro in ostree-version -
    -
    +
    Generated by GTK-Doc V1.28 \ No newline at end of file diff --git a/apidoc/html/right-insensitive.png b/apidoc/html/right-insensitive.png index 4c95785b..ef7d866a 100644 Binary files a/apidoc/html/right-insensitive.png and b/apidoc/html/right-insensitive.png differ diff --git a/apidoc/html/right.png b/apidoc/html/right.png index 76260ec8..07fefed0 100644 Binary files a/apidoc/html/right.png and b/apidoc/html/right.png differ diff --git a/apidoc/html/style.css b/apidoc/html/style.css index 36754209..4be4ede1 100644 --- a/apidoc/html/style.css +++ b/apidoc/html/style.css @@ -30,6 +30,10 @@ body vertical-align: top; } +span.nowrap { + white-space: nowrap; +} + div.gallery-float { float: left; diff --git a/apidoc/html/up-insensitive.png b/apidoc/html/up-insensitive.png index f4049860..99528f8c 100644 Binary files a/apidoc/html/up-insensitive.png and b/apidoc/html/up-insensitive.png differ diff --git a/apidoc/html/up.png b/apidoc/html/up.png index 80b4b37e..aa6a2ae9 100644 Binary files a/apidoc/html/up.png and b/apidoc/html/up.png differ diff --git a/apidoc/ostree-experimental-sections.txt b/apidoc/ostree-experimental-sections.txt index 60daaca5..e69de29b 100644 --- a/apidoc/ostree-experimental-sections.txt +++ b/apidoc/ostree-experimental-sections.txt @@ -1,101 +0,0 @@ -
    -ostree-ref -OstreeCollectionRef -ostree_collection_ref_new -ostree_collection_ref_dup -ostree_collection_ref_free -ostree_collection_ref_hash -ostree_collection_ref_equal -OstreeCollectionRefv -ostree_collection_ref_dupv -ostree_collection_ref_freev - -ostree_collection_ref_get_type -
    - -
    -ostree-remote -OstreeRemote -ostree_remote_ref -ostree_remote_unref -ostree_remote_get_name -ostree_remote_get_url - -ostree_remote_get_type -
    - -
    -ostree-repo-experimental -ostree_repo_find_remotes_async -ostree_repo_find_remotes_finish -ostree_repo_pull_from_remotes_async -ostree_repo_pull_from_remotes_finish -ostree_repo_resolve_keyring_for_collection -OSTREE_REPO_METADATA_REF -
    - -
    -ostree-repo-finder -OstreeRepoFinder -ostree_repo_finder_resolve_async -ostree_repo_finder_resolve_finish -ostree_repo_finder_resolve_all_async -ostree_repo_finder_resolve_all_finish -OstreeRepoFinderResult -ostree_repo_finder_result_new -ostree_repo_finder_result_dup -ostree_repo_finder_result_free -ostree_repo_finder_result_compare -OstreeRepoFinderResultv -ostree_repo_finder_result_freev - -ostree_repo_finder_get_type -ostree_repo_finder_result_get_type -
    - -
    -ostree-repo-finder-avahi -OstreeRepoFinderAvahi -ostree_repo_finder_avahi_new -ostree_repo_finder_avahi_start -ostree_repo_finder_avahi_stop - -ostree_repo_finder_avahi_get_type -
    - -
    -ostree-repo-finder-config -OstreeRepoFinderConfig -ostree_repo_finder_config_new - -ostree_repo_finder_config_get_type -
    - -
    -ostree-repo-finder-mount -OstreeRepoFinderMount -ostree_repo_finder_mount_new - -ostree_repo_finder_mount_get_type -
    - -
    -ostree-repo-finder-override -OstreeRepoFinderOverride -ostree_repo_finder_override_new -ostree_repo_finder_override_add_uri - -ostree_repo_finder_override_get_type -
    - -
    -ostree-misc-experimental -ostree_repo_get_collection_id -ostree_repo_set_collection_id -ostree_validate_collection_id -ostree_repo_list_collection_refs -ostree_repo_remote_list_collection_refs -ostree_repo_set_collection_ref_immediate -ostree_repo_transaction_set_collection_ref -ostree_repo_resolve_collection_ref -
    diff --git a/apidoc/ostree-sections.txt b/apidoc/ostree-sections.txt index 5162b2f7..74c1fba0 100644 --- a/apidoc/ostree-sections.txt +++ b/apidoc/ostree-sections.txt @@ -413,6 +413,7 @@ ostree_repo_commit_traverse_iter_next OstreeRepoPruneFlags ostree_repo_prune ostree_repo_prune_static_deltas +ostree_repo_traverse_reachable_refs ostree_repo_prune_from_reachable OstreeRepoPullFlags ostree_repo_pull @@ -508,6 +509,7 @@ ostree_sysroot_get_deployment_dirpath ostree_sysroot_get_deployment_origin_path ostree_sysroot_cleanup ostree_sysroot_prepare_cleanup +ostree_sysroot_cleanup_prune_repo ostree_sysroot_repo ostree_sysroot_get_repo ostree_sysroot_get_staged_deployment @@ -556,3 +558,105 @@ OSTREE_TYPE_SYSROOT_UPGRADER ostree_sysroot_upgrader_get_type ostree_sysroot_upgrader_flags_get_type + +
    +ostree-ref +OstreeCollectionRef +ostree_collection_ref_new +ostree_collection_ref_dup +ostree_collection_ref_free +ostree_collection_ref_hash +ostree_collection_ref_equal +OstreeCollectionRefv +ostree_collection_ref_dupv +ostree_collection_ref_freev + +ostree_collection_ref_get_type +
    + +
    +ostree-remote +OstreeRemote +ostree_remote_ref +ostree_remote_unref +ostree_remote_get_name +ostree_remote_get_url + +ostree_remote_get_type +
    + +
    +ostree-repo-experimental +ostree_repo_find_remotes_async +ostree_repo_find_remotes_finish +ostree_repo_pull_from_remotes_async +ostree_repo_pull_from_remotes_finish +ostree_repo_resolve_keyring_for_collection +OSTREE_REPO_METADATA_REF +
    + +
    +ostree-repo-finder +OstreeRepoFinder +ostree_repo_finder_resolve_async +ostree_repo_finder_resolve_finish +ostree_repo_finder_resolve_all_async +ostree_repo_finder_resolve_all_finish +OstreeRepoFinderResult +ostree_repo_finder_result_new +ostree_repo_finder_result_dup +ostree_repo_finder_result_free +ostree_repo_finder_result_compare +OstreeRepoFinderResultv +ostree_repo_finder_result_freev + +ostree_repo_finder_get_type +ostree_repo_finder_result_get_type +
    + +
    +ostree-repo-finder-avahi +OstreeRepoFinderAvahi +ostree_repo_finder_avahi_new +ostree_repo_finder_avahi_start +ostree_repo_finder_avahi_stop + +ostree_repo_finder_avahi_get_type +
    + +
    +ostree-repo-finder-config +OstreeRepoFinderConfig +ostree_repo_finder_config_new + +ostree_repo_finder_config_get_type +
    + +
    +ostree-repo-finder-mount +OstreeRepoFinderMount +ostree_repo_finder_mount_new + +ostree_repo_finder_mount_get_type +
    + +
    +ostree-repo-finder-override +OstreeRepoFinderOverride +ostree_repo_finder_override_new +ostree_repo_finder_override_add_uri + +ostree_repo_finder_override_get_type +
    + +
    +ostree-misc-experimental +ostree_repo_get_collection_id +ostree_repo_set_collection_id +ostree_validate_collection_id +ostree_repo_list_collection_refs +ostree_repo_remote_list_collection_refs +ostree_repo_set_collection_ref_immediate +ostree_repo_transaction_set_collection_ref +ostree_repo_resolve_collection_ref +
    diff --git a/apidoc/version.xml b/apidoc/version.xml index ae804ea1..fd45ba7c 100644 --- a/apidoc/version.xml +++ b/apidoc/version.xml @@ -1 +1 @@ -2018.4 \ No newline at end of file +2018.6 \ No newline at end of file diff --git a/bash/ostree b/bash/ostree index 218e4254..f3aef686 100644 --- a/bash/ostree +++ b/bash/ostree @@ -87,10 +87,12 @@ __ostree_compreply_all_options() { } __ostree_compreply_all_files() { + compopt -o nospace COMPREPLY+=( $( compgen -f "$cur" ) ) } __ostree_compreply_dirs_only() { + compopt -o nospace COMPREPLY+=( $( compgen -d "$cur" ) ) } @@ -118,12 +120,25 @@ __ostree_compreply_oses() { fi } +# Find refs associated with the given collection ID under $repo_path. +__ostree_compreply_collection_refs() { + local collection_id=( $1 ) + refs=$( ostree refs --repo $repo_path --collections $collection_id 2>/dev/null | cut -d ' ' -f 2 | sed -e 's/)$//' ) + COMPREPLY+=( $( compgen -W "$refs" -- "$cur" ) ) +} + # Find refs under $repo_path. __ostree_compreply_refs() { refs=$( ostree refs --repo $repo_path 2>/dev/null ) COMPREPLY+=( $( compgen -W "$refs" -- "$cur" ) ) } +# Find collection IDs under $repo_path. +__ostree_compreply_collection_ids() { + collection_ids=$( ostree refs --repo $repo_path --collections 2>/dev/null | cut -d ',' -f 1 | sed -e 's/^(//' | sort | uniq ) + COMPREPLY+=( $( compgen -W "$collection_ids" -- "$cur" ) ) +} + # Find remotes under $repo_path. __ostree_compreply_remotes() { remotes=$( ostree remote list --repo $repo_path 2> /dev/null ) @@ -408,6 +423,49 @@ _ostree_config() { return 0 } +_ostree_create_usb() { + local boolean_options=" + $main_boolean_options + --disable-fsync + " + + local options_with_args=" + --destination-repo + --repo + " + + local options_with_args_glob=$( __ostree_to_extglob "$options_with_args" ) + + case "$prev" in + --destination-repo|--repo) + __ostree_compreply_dirs_only + return 0 + ;; + $options_with_args_glob ) + return 0 + ;; + esac + + case "$cur" in + -*) + local all_options="$boolean_options $options_with_args" + __ostree_compreply_all_options + ;; + *) + local argpos=$( __ostree_pos_first_nonflag $( __ostree_to_alternatives "$options_with_args" ) ) + + if [ $cword -eq $argpos ]; then + __ostree_compreply_dirs_only + elif [ $cword -gt $argpos ] && [ $(((cword - argpos) % 2)) -eq 1 ]; then + __ostree_compreply_collection_ids + elif [ $cword -gt $argpos ] && [ $(((cword - argpos) % 2)) -eq 0 ]; then + __ostree_compreply_collection_refs "${words[$cword - 1]}" + fi + esac + + return 0 +} + _ostree_diff() { local boolean_options=" $main_boolean_options @@ -493,6 +551,56 @@ _ostree_export() { return 0 } +_ostree_find_remotes() { + local boolean_options=" + $main_boolean_options + --disable-fsync + --pull + " + + local options_with_args=" + --finders + --repo + " + + local options_with_args_glob=$( __ostree_to_extglob "$options_with_args" ) + + case "$prev" in + --finders) + local choices="config lan mount" + local config_first="config,lan config,mount config,lan,mount config,mount,lan" + local lan_first="lan,config lan,mount lan,config,mount lan,mount,config" + local mount_first="mount,config mount,lan mount,lan,config mount,config,lan" + COMPREPLY+=( $( compgen -W "$choices $config_first $lan_first $mount_first" -- "$cur" ) ) + return 0 + ;; + --repo) + __ostree_compreply_dirs_only + return 0 + ;; + $options_with_args_glob ) + return 0 + ;; + esac + + case "$cur" in + -*) + local all_options="$boolean_options $options_with_args" + __ostree_compreply_all_options + ;; + *) + local argpos=$( __ostree_pos_first_nonflag $( __ostree_to_alternatives "$options_with_args" ) ) + + if [ $cword -ge $argpos ] && [ $(((cword - argpos) % 2)) -eq 0 ]; then + __ostree_compreply_collection_ids + elif [ $cword -ge $argpos ] && [ $(((cword - argpos) % 2)) -eq 1 ]; then + __ostree_compreply_collection_refs "${words[$cword - 1]}" + fi + esac + + return 0 +} + _ostree_fsck() { local boolean_options=" $main_boolean_options @@ -574,6 +682,7 @@ _ostree_init() { " local options_with_args=" + --collection-id --mode --repo " @@ -837,6 +946,7 @@ _ostree_refs() { local boolean_options=" $main_boolean_options --alias -A + --collections -c --delete --list " @@ -876,6 +986,7 @@ _ostree_remote_add() { " local options_with_args=" + --collection-id --contenturl --gpg-import --repo @@ -1613,8 +1724,10 @@ _ostree() { checksum commit config + create-usb diff export + find-remotes fsck gpg-sign init diff --git a/build-aux/compile b/build-aux/compile index 2ab71e4e..a85b723c 100755 --- a/build-aux/compile +++ b/build-aux/compile @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2016-01-11.22; # UTC +scriptversion=2012-10-14.11; # UTC -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2014 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -255,8 +255,7 @@ EOF echo "compile $scriptversion" exit $? ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ - icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac @@ -343,6 +342,6 @@ exit $ret # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" +# time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: diff --git a/build-aux/config.guess b/build-aux/config.guess index a7448442..f50dcdb6 100755 --- a/build-aux/config.guess +++ b/build-aux/config.guess @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2017 Free Software Foundation, Inc. +# Copyright 1992-2018 Free Software Foundation, Inc. -timestamp='2017-08-08' +timestamp='2018-02-24' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -15,7 +15,7 @@ timestamp='2017-08-08' # 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 . +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -27,7 +27,7 @@ timestamp='2017-08-08' # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # Please send patches to . @@ -39,7 +39,7 @@ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. -Operation modes: +Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit @@ -50,7 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2017 Free Software Foundation, Inc. +Copyright 1992-2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -107,9 +107,9 @@ trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; + ,,) echo "int x;" > "$dummy.c" ; for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; @@ -132,14 +132,14 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -case "${UNAME_SYSTEM}" in +case "$UNAME_SYSTEM" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu - eval $set_cc_for_build - cat <<-EOF > $dummy.c + eval "$set_cc_for_build" + cat <<-EOF > "$dummy.c" #include #if defined(__UCLIBC__) LIBC=uclibc @@ -149,13 +149,20 @@ Linux|GNU|GNU/*) LIBC=gnu #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" + + # If ldd exists, use it to detect musl libc. + if command -v ldd >/dev/null && \ + ldd --version 2>&1 | grep -q ^musl + then + LIBC=musl + fi ;; esac # Note: order is significant - the case branches are not exclusive. -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, @@ -169,30 +176,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || \ + "/sbin/$sysctl" 2>/dev/null || \ + "/usr/sbin/$sysctl" 2>/dev/null || \ echo unknown)` - case "${UNAME_MACHINE_ARCH}" in + case "$UNAME_MACHINE_ARCH" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) - arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` - machine=${arch}${endian}-unknown + arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` + machine="${arch}${endian}"-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + *) machine="$UNAME_MACHINE_ARCH"-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. - case "${UNAME_MACHINE_ARCH}" in + case "$UNAME_MACHINE_ARCH" in earm*) os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build + eval "$set_cc_for_build" if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then @@ -208,10 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ;; esac # Determine ABI tags. - case "${UNAME_MACHINE_ARCH}" in + case "$UNAME_MACHINE_ARCH" in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ;; esac # The OS release @@ -219,49 +226,55 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in + case "$UNAME_VERSION" in Debian*) release='-gnu' ;; *) - release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` + release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}${abi}" + echo "$machine-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" exit ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} + echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" + exit ;; + *:MidnightBSD:*:*) + echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" exit ;; *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" exit ;; *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" exit ;; macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} + echo powerpc-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:Sortix:*:*) - echo ${UNAME_MACHINE}-unknown-sortix + echo "$UNAME_MACHINE"-unknown-sortix exit ;; *:Redox:*:*) - echo ${UNAME_MACHINE}-unknown-redox + echo "$UNAME_MACHINE"-unknown-redox exit ;; + mips:OSF1:*.*) + echo mips-dec-osf1 + exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) @@ -313,28 +326,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos + echo "$UNAME_MACHINE"-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos + echo "$UNAME_MACHINE"-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition @@ -346,7 +350,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} + echo arm-acorn-riscix"$UNAME_RELEASE" exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos @@ -373,19 +377,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} + echo i386-pc-auroraux"$UNAME_RELEASE" exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build + eval "$set_cc_for_build" SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. @@ -398,13 +402,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in SUN_ARCH=x86_64 fi fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in @@ -413,25 +417,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" exit ;; sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} + echo m68k-sun-sunos"$UNAME_RELEASE" exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) - echo m68k-sun-sunos${UNAME_RELEASE} + echo m68k-sun-sunos"$UNAME_RELEASE" ;; sun4) - echo sparc-sun-sunos${UNAME_RELEASE} + echo sparc-sun-sunos"$UNAME_RELEASE" ;; esac exit ;; aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} + echo sparc-auspex-sunos"$UNAME_RELEASE" exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not @@ -442,44 +446,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} + echo m68k-milan-mint"$UNAME_RELEASE" exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} + echo m68k-hades-mint"$UNAME_RELEASE" exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} + echo m68k-unknown-mint"$UNAME_RELEASE" exit ;; m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} + echo m68k-apple-machten"$UNAME_RELEASE" exit ;; powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} + echo powerpc-apple-machten"$UNAME_RELEASE" exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} + echo mips-dec-ultrix"$UNAME_RELEASE" exit ;; VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} + echo vax-dec-ultrix"$UNAME_RELEASE" exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} + echo clipper-intergraph-clix"$UNAME_RELEASE" exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + eval "$set_cc_for_build" + sed 's/^ //' << EOF > "$dummy.c" #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { @@ -488,23 +492,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`"$dummy" "$dummyarg"` && { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} + echo mips-mips-riscos"$UNAME_RELEASE" exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax @@ -530,17 +534,17 @@ EOF AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] + if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ + [ "$TARGET_BINARY_INTERFACE"x = x ] then - echo m88k-dg-dgux${UNAME_RELEASE} + echo m88k-dg-dgux"$UNAME_RELEASE" else - echo m88k-dg-dguxbcs${UNAME_RELEASE} + echo m88k-dg-dguxbcs"$UNAME_RELEASE" fi else - echo i586-dg-dgux${UNAME_RELEASE} + echo i586-dg-dgux"$UNAME_RELEASE" fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) @@ -557,7 +561,7 @@ EOF echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id @@ -569,14 +573,14 @@ EOF if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + eval "$set_cc_for_build" + sed 's/^ //' << EOF > "$dummy.c" #include main() @@ -587,7 +591,7 @@ EOF exit(0); } EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then echo "$SYSTEM_NAME" else @@ -601,7 +605,7 @@ EOF exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc @@ -610,18 +614,18 @@ EOF IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} + echo "$IBM_ARCH"-ibm-aix"$IBM_REV" exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx @@ -636,28 +640,28 @@ EOF echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; + HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` + case "$UNAME_MACHINE" in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in + case "$sc_cpu_version" in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in + case "$sc_kernel_bits" in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + if [ "$HP_ARCH" = "" ]; then + eval "$set_cc_for_build" + sed 's/^ //' << EOF > "$dummy.c" #define _HPUX_SOURCE #include @@ -690,13 +694,13 @@ EOF exit (0); } EOF - (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ ${HP_ARCH} = hppa2.0w ] + if [ "$HP_ARCH" = hppa2.0w ] then - eval $set_cc_for_build + eval "$set_cc_for_build" # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler @@ -715,15 +719,15 @@ EOF HP_ARCH=hppa64 fi fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} + echo "$HP_ARCH"-hp-hpux"$HPUX_REV" exit ;; ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} + HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux"$HPUX_REV" exit ;; 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + eval "$set_cc_for_build" + sed 's/^ //' << EOF > "$dummy.c" #include int main () @@ -748,11 +752,11 @@ EOF exit (0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) @@ -761,7 +765,7 @@ EOF *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) @@ -769,9 +773,9 @@ EOF exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk + echo "$UNAME_MACHINE"-unknown-osf1mk else - echo ${UNAME_MACHINE}-unknown-osf1 + echo "$UNAME_MACHINE"-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) @@ -796,128 +800,109 @@ EOF echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" exit ;; sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} + echo sparc-unknown-bsdi"$UNAME_RELEASE" exit ;; *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in + case "$UNAME_PROCESSOR" in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin + echo "$UNAME_MACHINE"-pc-cygwin exit ;; *:MINGW64*:*) - echo ${UNAME_MACHINE}-pc-mingw64 + echo "$UNAME_MACHINE"-pc-mingw64 exit ;; *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 + echo "$UNAME_MACHINE"-pc-mingw32 exit ;; *:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 + echo "$UNAME_MACHINE"-pc-msys exit ;; i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 + echo "$UNAME_MACHINE"-pc-pw32 exit ;; *:Interix*:*) - case ${UNAME_MACHINE} in + case "$UNAME_MACHINE" in x86) - echo i586-pc-interix${UNAME_RELEASE} + echo i586-pc-interix"$UNAME_RELEASE" exit ;; authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} + echo x86_64-unknown-interix"$UNAME_RELEASE" exit ;; IA64) - echo ia64-unknown-interix${UNAME_RELEASE} + echo ia64-unknown-interix"$UNAME_RELEASE" exit ;; esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin + echo "$UNAME_MACHINE"-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" exit ;; i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix + echo "$UNAME_MACHINE"-pc-minix exit ;; aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in @@ -931,63 +916,63 @@ EOF esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arm*:Linux:*:*) - eval $set_cc_for_build + eval "$set_cc_for_build" if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf fi fi exit ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; e2k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; k1om:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + eval "$set_cc_for_build" + sed 's/^ //' << EOF > "$dummy.c" #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el @@ -1001,70 +986,74 @@ EOF #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" + test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } ;; mips64el:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} + echo or1k-unknown-linux-"$LIBC" exit ;; or32:Linux:*:* | or1k*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; padre:Linux:*:*) - echo sparc-unknown-linux-${LIBC} + echo sparc-unknown-linux-"$LIBC" exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} + echo hppa64-unknown-linux-"$LIBC" exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; + PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; + PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; + *) echo hppa-unknown-linux-"$LIBC" ;; esac exit ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} + echo powerpc64-unknown-linux-"$LIBC" exit ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} + echo powerpc-unknown-linux-"$LIBC" exit ;; ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-${LIBC} + echo powerpc64le-unknown-linux-"$LIBC" exit ;; ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} + echo powerpcle-unknown-linux-"$LIBC" exit ;; riscv32:Linux:*:* | riscv64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} + echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} + echo "$UNAME_MACHINE"-dec-linux-"$LIBC" exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} + if objdump -f /bin/sh | grep -q elf32-x86-64; then + echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32 + else + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" + fi exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. @@ -1078,34 +1067,34 @@ EOF # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx + echo "$UNAME_MACHINE"-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop + echo "$UNAME_MACHINE"-unknown-stop exit ;; i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos + echo "$UNAME_MACHINE"-unknown-atheos exit ;; i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable + echo "$UNAME_MACHINE"-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} + echo i386-unknown-lynxos"$UNAME_RELEASE" exit ;; i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp + echo "$UNAME_MACHINE"-pc-msdosdjgpp exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + i*86:*:4.*:*) + UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" fi exit ;; i*86:*:5:[678]*) @@ -1115,12 +1104,12 @@ EOF *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 @@ -1130,9 +1119,9 @@ EOF && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" else - echo ${UNAME_MACHINE}-pc-sysv32 + echo "$UNAME_MACHINE"-pc-sysv32 fi exit ;; pc:*:*:*) @@ -1152,9 +1141,9 @@ EOF exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) @@ -1174,9 +1163,9 @@ EOF test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; @@ -1185,28 +1174,28 @@ EOF test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} + echo m68k-unknown-lynxos"$UNAME_RELEASE" exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} + echo sparc-unknown-lynxos"$UNAME_RELEASE" exit ;; rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} + echo rs6000-unknown-lynxos"$UNAME_RELEASE" exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} + echo powerpc-unknown-lynxos"$UNAME_RELEASE" exit ;; SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} + echo mips-dde-sysv"$UNAME_RELEASE" exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 @@ -1217,7 +1206,7 @@ EOF *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 + echo "$UNAME_MACHINE"-sni-sysv4 else echo ns32k-sni-sysv fi @@ -1237,23 +1226,23 @@ EOF exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos + echo "$UNAME_MACHINE"-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} + echo m68k-apple-aux"$UNAME_RELEASE" exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} + echo mips-nec-sysv"$UNAME_RELEASE" else - echo mips-unknown-sysv${UNAME_RELEASE} + echo mips-unknown-sysv"$UNAME_RELEASE" fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. @@ -1272,39 +1261,39 @@ EOF echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} + echo sx4-nec-superux"$UNAME_RELEASE" exit ;; SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} + echo sx5-nec-superux"$UNAME_RELEASE" exit ;; SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} + echo sx6-nec-superux"$UNAME_RELEASE" exit ;; SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} + echo sx7-nec-superux"$UNAME_RELEASE" exit ;; SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} + echo sx8-nec-superux"$UNAME_RELEASE" exit ;; SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} + echo sx8r-nec-superux"$UNAME_RELEASE" exit ;; SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux${UNAME_RELEASE} + echo sxace-nec-superux"$UNAME_RELEASE" exit ;; Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} + echo powerpc-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval $set_cc_for_build + eval "$set_cc_for_build" if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then + if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ @@ -1332,7 +1321,7 @@ EOF # that Apple uses in portable devices. UNAME_PROCESSOR=x86_64 fi - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` @@ -1340,22 +1329,25 @@ EOF UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} + echo neo-tandem-nsk"$UNAME_RELEASE" exit ;; NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} + echo nse-tandem-nsk"$UNAME_RELEASE" exit ;; NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} + echo nsr-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSV-*:NONSTOP_KERNEL:*:*) + echo nsv-tandem-nsk"$UNAME_RELEASE" exit ;; NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk${UNAME_RELEASE} + echo nsx-tandem-nsk"$UNAME_RELEASE" exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux @@ -1364,7 +1356,7 @@ EOF echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 @@ -1375,7 +1367,7 @@ EOF else UNAME_MACHINE="$cputype" fi - echo ${UNAME_MACHINE}-unknown-plan9 + echo "$UNAME_MACHINE"-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 @@ -1396,14 +1388,14 @@ EOF echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} + echo mips-sei-seiux"$UNAME_RELEASE" exit ;; *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in + case "$UNAME_MACHINE" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; @@ -1412,32 +1404,44 @@ EOF echo i386-pc-xenix exit ;; i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` + echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" exit ;; i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos + echo "$UNAME_MACHINE"-pc-rdos exit ;; i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros + echo "$UNAME_MACHINE"-pc-aros exit ;; x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx + echo "$UNAME_MACHINE"-unknown-esx exit ;; amd64:Isilon\ OneFS:*:*) echo x86_64-unknown-onefs exit ;; esac +echo "$0: unable to guess system type" >&2 + +case "$UNAME_MACHINE:$UNAME_SYSTEM" in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <&2 </dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" EOF exit 1 # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'write-file-functions 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff --git a/build-aux/config.sub b/build-aux/config.sub index 932128b3..1d8e98bc 100755 --- a/build-aux/config.sub +++ b/build-aux/config.sub @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2017 Free Software Foundation, Inc. +# Copyright 1992-2018 Free Software Foundation, Inc. -timestamp='2017-04-02' +timestamp='2018-02-22' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -15,7 +15,7 @@ timestamp='2017-04-02' # 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 . +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -33,7 +33,7 @@ timestamp='2017-04-02' # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases @@ -57,7 +57,7 @@ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. -Operation modes: +Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit @@ -67,7 +67,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright 1992-2017 Free Software Foundation, Inc. +Copyright 1992-2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -94,7 +94,7 @@ while test $# -gt 0 ; do *local*) # First pass through any local machine types. - echo $1 + echo "$1" exit ;; * ) @@ -112,7 +112,7 @@ esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ @@ -120,16 +120,16 @@ case $maybe_os in kopensolaris*-gnu* | cloudabi*-eabi* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; android-linux) os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ;; *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` + basic_machine=`echo "$1" | sed 's/-[^-]*$//'` + if [ "$basic_machine" != "$1" ] + then os=`echo "$1" | sed 's/.*-/-/'` else os=; fi ;; esac @@ -178,44 +178,44 @@ case $os in ;; -sco6) os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -lynx*178) os=-lynxos178 @@ -227,10 +227,7 @@ case $os in os=-lynxos ;; -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` ;; -psos*) os=-psos @@ -299,7 +296,7 @@ case $basic_machine in | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ + | pdp10 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pru \ | pyramid \ @@ -316,7 +313,6 @@ case $basic_machine in | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | visium \ | wasm32 \ - | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown @@ -337,7 +333,7 @@ case $basic_machine in basic_machine=$basic_machine-unknown os=-none ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) ;; ms1) basic_machine=mt-unknown @@ -366,7 +362,7 @@ case $basic_machine in ;; # Object if more than one company name word. *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. @@ -461,7 +457,7 @@ case $basic_machine in # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) - basic_machine=i386-unknown + basic_machine=i386-pc os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) @@ -495,7 +491,7 @@ case $basic_machine in basic_machine=x86_64-pc ;; amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl @@ -540,7 +536,7 @@ case $basic_machine in os=-linux ;; blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) @@ -548,13 +544,13 @@ case $basic_machine in os=-cnk ;; c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray @@ -643,7 +639,7 @@ case $basic_machine in basic_machine=rs6000-bull os=-bosx ;; - dpx2* | dpx2*-bull) + dpx2*) basic_machine=m68k-bull os=-sysv3 ;; @@ -652,7 +648,7 @@ case $basic_machine in os=$os"spe" ;; e500v[12]-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=$os"spe" ;; ebmon29k) @@ -744,9 +740,6 @@ case $basic_machine in hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; - hppa-next) - os=-nextstep3 - ;; hppaosf) basic_machine=hppa1.1-hp os=-osf @@ -759,26 +752,26 @@ case $basic_machine in basic_machine=i370-ibm ;; i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; - i386-vsta | vsta) + vsta) basic_machine=i386-unknown os=-vsta ;; @@ -797,19 +790,16 @@ case $basic_machine in os=-sysv ;; leon-*|leon[3-9]-*) - basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` + basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=-linux ;; - m88k-omron*) - basic_machine=m88k-omron - ;; magnum | m3230) basic_machine=mips-mips os=-sysv @@ -841,10 +831,10 @@ case $basic_machine in os=-mint ;; mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` ;; mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k @@ -863,7 +853,7 @@ case $basic_machine in os=-msdos ;; ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` ;; msys) basic_machine=i686-pc @@ -905,7 +895,7 @@ case $basic_machine in basic_machine=v70-nec os=-sysv ;; - next | m*-next ) + next | m*-next) basic_machine=m68k-next case $os in -nextstep* ) @@ -950,6 +940,9 @@ case $basic_machine in nsr-tandem) basic_machine=nsr-tandem ;; + nsv-tandem) + basic_machine=nsv-tandem + ;; nsx-tandem) basic_machine=nsx-tandem ;; @@ -985,7 +978,7 @@ case $basic_machine in os=-linux ;; parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=-linux ;; pbd) @@ -1001,7 +994,7 @@ case $basic_machine in basic_machine=i386-pc ;; pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc @@ -1016,16 +1009,16 @@ case $basic_machine in basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould @@ -1035,23 +1028,23 @@ case $basic_machine in ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; - ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm @@ -1105,17 +1098,10 @@ case $basic_machine in sequent) basic_machine=i386-sequent ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; sh5el) basic_machine=sh5le-unknown ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) + simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; @@ -1134,7 +1120,7 @@ case $basic_machine in os=-sysv4 ;; strongarm-* | thumb-*) - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; sun2) basic_machine=m68000-sun @@ -1248,9 +1234,6 @@ case $basic_machine in basic_machine=a29k-wrs os=-vxworks ;; - wasm32) - basic_machine=wasm32-unknown - ;; w65*) basic_machine=w65-wdc os=-none @@ -1259,6 +1242,9 @@ case $basic_machine in basic_machine=hppa1.1-winbond os=-proelf ;; + x64) + basic_machine=x86_64-pc + ;; xbox) basic_machine=i686-pc os=-mingw32 @@ -1267,20 +1253,12 @@ case $basic_machine in basic_machine=xps100-honeywell ;; xscale-* | xscalee[bl]-*) - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` ;; ymp) basic_machine=ymp-cray os=-unicos ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim - ;; none) basic_machine=none-none os=-none @@ -1309,10 +1287,6 @@ case $basic_machine in vax) basic_machine=vax-dec ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; pdp11) basic_machine=pdp11-dec ;; @@ -1322,9 +1296,6 @@ case $basic_machine in sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; cydra) basic_machine=cydra-cydrome ;; @@ -1344,7 +1315,7 @@ case $basic_machine in # Make sure to match an already-canonicalized machine name. ;; *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 exit 1 ;; esac @@ -1352,10 +1323,10 @@ esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` ;; *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` ;; *) ;; @@ -1366,8 +1337,8 @@ esac if [ x"$os" != x"" ] then case $os in - # First match some system type aliases - # that might get confused with valid system types. + # First match some system type aliases that might get confused + # with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux @@ -1378,18 +1349,19 @@ case $os in -solaris) os=-solaris2 ;; - -svr4*) - os=-sysv4 - ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; - # First accept the basic system types. + # es1800 is here to avoid being matched by es* (a different OS) + -es1800*) + os=-ose + ;; + # Now accept the basic system types. # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. + # Each alternative MUST end in a * to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ @@ -1399,7 +1371,7 @@ case $os in | -aos* | -aros* | -cloudabi* | -sortix* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ @@ -1410,14 +1382,15 @@ case $os in | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -morphos* | -superux* | -rtmk* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ - | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) + | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ + | -midnightbsd*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1434,12 +1407,12 @@ case $os in -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + -sim | -xray | -os68k* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) - os=`echo $os | sed -e 's|mac|macos|'` + os=`echo "$os" | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc @@ -1448,10 +1421,10 @@ case $os in os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` + os=`echo "$os" | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` + os=`echo "$os" | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition @@ -1462,12 +1435,6 @@ case $os in -wince*) os=-wince ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; -utek*) os=-bsd ;; @@ -1492,7 +1459,7 @@ case $os in -nova*) os=-rtmk-nova ;; - -ns2 ) + -ns2) os=-nextstep2 ;; -nsk*) @@ -1514,7 +1481,7 @@ case $os in -oss*) os=-sysv3 ;; - -svr4) + -svr4*) os=-sysv4 ;; -svr3) @@ -1529,24 +1496,28 @@ case $os in -ose*) os=-ose ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; - -aros*) - os=-aros - ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; + -pikeos*) + # Until real need of OS specific support for + # particular features comes up, bare metal + # configurations are quite functional. + case $basic_machine in + arm*) + os=-eabi + ;; + *) + os=-elf + ;; + esac + ;; -nacl*) ;; -ios) @@ -1556,7 +1527,7 @@ case $os in *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 exit 1 ;; esac @@ -1652,9 +1623,6 @@ case $basic_machine in *-be) os=-beos ;; - *-haiku) - os=-haiku - ;; *-ibm) os=-aix ;; @@ -1694,7 +1662,7 @@ case $basic_machine in m88k-omron*) os=-luna ;; - *-next ) + *-next) os=-nextstep ;; *-sequent) @@ -1709,9 +1677,6 @@ case $basic_machine in i370-*) os=-mvs ;; - *-next) - os=-nextstep3 - ;; *-gould) os=-sysv ;; @@ -1821,15 +1786,15 @@ case $basic_machine in vendor=stratus ;; esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` ;; esac -echo $basic_machine$os +echo "$basic_machine$os" exit # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'write-file-functions 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff --git a/build-aux/install-sh b/build-aux/install-sh index 0360b79e..59990a10 100755 --- a/build-aux/install-sh +++ b/build-aux/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2016-01-11.22; # UTC +scriptversion=2014-09-12.12; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -324,34 +324,41 @@ do # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) + # $RANDOM is not portable (e.g. dash); use it when possible to + # lower collision chance tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 + # As "mkdir -p" follows symlinks and we work in /tmp possibly; so + # create the $tmpdir first (and fail if unsuccessful) to make sure + # that nobody tries to guess the $tmpdir name. if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + $mkdirprog $mkdir_mode "$tmpdir" && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` + test_tmpdir="$tmpdir/a" + ls_ld_tmpdir=`ls -ld "$test_tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi - rmdir "$tmpdir/d" "$tmpdir" + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null fi trap '' 0;; esac;; @@ -496,6 +503,6 @@ done # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" +# time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: diff --git a/build-aux/ltmain.sh b/build-aux/ltmain.sh index 0f0a2da3..e4eda6d6 100644 --- a/build-aux/ltmain.sh +++ b/build-aux/ltmain.sh @@ -31,7 +31,7 @@ PROGRAM=libtool PACKAGE=libtool -VERSION=2.4.6 +VERSION="2.4.6 Debian-2.4.6-2.1" package_revision=2.4.6 @@ -64,7 +64,7 @@ package_revision=2.4.6 # libraries, which are installed to $pkgauxdir. # Set a version string for this script. -scriptversion=2015-01-20.17; # UTC +scriptversion=2015-10-12.13; # UTC # General shell script boiler plate, and helper functions. # Written by Gary V. Vaughan, 2004 @@ -580,16 +580,16 @@ if test yes = "$_G_HAVE_PLUSEQ_OP"; then { $debug_cmd - func_quote_for_eval "$2" - eval "$1+=\\ \$func_quote_for_eval_result" + func_quote_arg pretty "$2" + eval "$1+=\\ \$func_quote_arg_result" }' else func_append_quoted () { $debug_cmd - func_quote_for_eval "$2" - eval "$1=\$$1\\ \$func_quote_for_eval_result" + func_quote_arg pretty "$2" + eval "$1=\$$1\\ \$func_quote_arg_result" } fi @@ -1091,85 +1091,181 @@ func_relative_path () } -# func_quote_for_eval ARG... -# -------------------------- -# Aesthetically quote ARGs to be evaled later. -# This function returns two values: -# i) func_quote_for_eval_result -# double-quoted, suitable for a subsequent eval -# ii) func_quote_for_eval_unquoted_result -# has all characters that are still active within double -# quotes backslashified. -func_quote_for_eval () +# func_quote_portable EVAL ARG +# ---------------------------- +# Internal function to portably implement func_quote_arg. Note that we still +# keep attention to performance here so we as much as possible try to avoid +# calling sed binary (so far O(N) complexity as long as func_append is O(1)). +func_quote_portable () { $debug_cmd - func_quote_for_eval_unquoted_result= - func_quote_for_eval_result= - while test 0 -lt $#; do - case $1 in + func_quote_portable_result=$2 + + # one-time-loop (easy break) + while true + do + if $1; then + func_quote_portable_result=`$ECHO "$2" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` + break + fi + + # Quote for eval. + case $func_quote_portable_result in *[\\\`\"\$]*) - _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; - *) - _G_unquoted_arg=$1 ;; - esac - if test -n "$func_quote_for_eval_unquoted_result"; then - func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" - else - func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" - fi + case $func_quote_portable_result in + *[\[\*\?]*) + func_quote_portable_result=`$ECHO "$func_quote_portable_result" | $SED "$sed_quote_subst"` + break + ;; + esac - case $_G_unquoted_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and variable expansion - # for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_quoted_arg=\"$_G_unquoted_arg\" + func_quote_portable_old_IFS=$IFS + for _G_char in '\' '`' '"' '$' + do + # STATE($1) PREV($2) SEPARATOR($3) + set start "" "" + func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy + IFS=$_G_char + for _G_part in $func_quote_portable_result + do + case $1 in + quote) + func_append func_quote_portable_result "$3$2" + set quote "$_G_part" "\\$_G_char" + ;; + start) + set first "" "" + func_quote_portable_result= + ;; + first) + set quote "$_G_part" "" + ;; + esac + done + done + IFS=$func_quote_portable_old_IFS ;; - *) - _G_quoted_arg=$_G_unquoted_arg - ;; + *) ;; esac - - if test -n "$func_quote_for_eval_result"; then - func_append func_quote_for_eval_result " $_G_quoted_arg" - else - func_append func_quote_for_eval_result "$_G_quoted_arg" - fi - shift + break done + + func_quote_portable_unquoted_result=$func_quote_portable_result + case $func_quote_portable_result in + # double-quote args containing shell metacharacters to delay + # word splitting, command substitution and variable expansion + # for a subsequent eval. + # many bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + func_quote_portable_result=\"$func_quote_portable_result\" + ;; + esac } -# func_quote_for_expand ARG -# ------------------------- -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () +# func_quotefast_eval ARG +# ----------------------- +# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', +# but optimized for speed. Result is stored in $func_quotefast_eval. +if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then + func_quotefast_eval () + { + printf -v func_quotefast_eval_result %q "$1" + } +else + func_quotefast_eval () + { + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + } +fi + + +# func_quote_arg MODEs ARG +# ------------------------ +# Quote one ARG to be evaled later. MODEs argument may contain zero ore more +# specifiers listed below separated by ',' character. This function returns two +# values: +# i) func_quote_arg_result +# double-quoted (when needed), suitable for a subsequent eval +# ii) func_quote_arg_unquoted_result +# has all characters that are still active within double +# quotes backslashified. Available only if 'unquoted' is specified. +# +# Available modes: +# ---------------- +# 'eval' (default) +# - escape shell special characters +# 'expand' +# - the same as 'eval'; but do not quote variable references +# 'pretty' +# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might +# later used in func_quote to get output like: 'echo "a b"' instead of +# 'echo a\ b'. This is slower than default on some shells. +# 'unquoted' +# - produce also $func_quote_arg_unquoted_result which does not contain +# wrapping double-quotes. +# +# Examples for 'func_quote_arg pretty,unquoted string': +# +# string | *_result | *_unquoted_result +# ------------+-----------------------+------------------- +# " | \" | \" +# a b | "a b" | a b +# "a b" | "\"a b\"" | \"a b\" +# * | "*" | * +# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" +# +# Examples for 'func_quote_arg pretty,unquoted,expand string': +# +# string | *_result | *_unquoted_result +# --------------+---------------------+-------------------- +# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" +func_quote_arg () { - $debug_cmd - - case $1 in - *[\\\`\"]*) - _G_arg=`$ECHO "$1" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; - *) - _G_arg=$1 ;; - esac - - case $_G_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_arg=\"$_G_arg\" + _G_quote_expand=false + case ,$1, in + *,expand,*) + _G_quote_expand=: ;; esac - func_quote_for_expand_result=$_G_arg + case ,$1, in + *,pretty,*|*,expand,*|*,unquoted,*) + func_quote_portable $_G_quote_expand "$2" + func_quote_arg_result=$func_quote_portable_result + func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result + ;; + *) + # Faster quote-for-eval for some shells. + func_quotefast_eval "$2" + func_quote_arg_result=$func_quotefast_eval_result + ;; + esac +} + + +# func_quote MODEs ARGs... +# ------------------------ +# Quote all ARGs to be evaled later and join them into single command. See +# func_quote_arg's description for more info. +func_quote () +{ + $debug_cmd + _G_func_quote_mode=$1 ; shift + func_quote_result= + while test 0 -lt $#; do + func_quote_arg "$_G_func_quote_mode" "$1" + if test -n "$func_quote_result"; then + func_append func_quote_result " $func_quote_arg_result" + else + func_append func_quote_result "$func_quote_arg_result" + fi + shift + done } @@ -1215,8 +1311,8 @@ func_show_eval () _G_cmd=$1 _G_fail_exp=${2-':'} - func_quote_for_expand "$_G_cmd" - eval "func_notquiet $func_quote_for_expand_result" + func_quote_arg pretty,expand "$_G_cmd" + eval "func_notquiet $func_quote_arg_result" $opt_dry_run || { eval "$_G_cmd" @@ -1241,8 +1337,8 @@ func_show_eval_locale () _G_fail_exp=${2-':'} $opt_quiet || { - func_quote_for_expand "$_G_cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$_G_cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || { @@ -1370,7 +1466,7 @@ func_lt_ver () #! /bin/sh # Set a version string for this script. -scriptversion=2014-01-07.03; # UTC +scriptversion=2015-10-12.13; # UTC # A portable, pluggable option parser for Bourne shell. # Written by Gary V. Vaughan, 2010 @@ -1530,6 +1626,8 @@ func_run_hooks () { $debug_cmd + _G_rc_run_hooks=false + case " $hookable_fns " in *" $1 "*) ;; *) func_fatal_error "'$1' does not support hook funcions.n" ;; @@ -1538,16 +1636,16 @@ func_run_hooks () eval _G_hook_fns=\$$1_hooks; shift for _G_hook in $_G_hook_fns; do - eval $_G_hook '"$@"' - - # store returned options list back into positional - # parameters for next 'cmd' execution. - eval _G_hook_result=\$${_G_hook}_result - eval set dummy "$_G_hook_result"; shift + if eval $_G_hook '"$@"'; then + # store returned options list back into positional + # parameters for next 'cmd' execution. + eval _G_hook_result=\$${_G_hook}_result + eval set dummy "$_G_hook_result"; shift + _G_rc_run_hooks=: + fi done - func_quote_for_eval ${1+"$@"} - func_run_hooks_result=$func_quote_for_eval_result + $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result } @@ -1557,10 +1655,16 @@ func_run_hooks () ## --------------- ## # In order to add your own option parsing hooks, you must accept the -# full positional parameter list in your hook function, remove any -# options that you action, and then pass back the remaining unprocessed +# full positional parameter list in your hook function, you may remove/edit +# any options that you action, and then pass back the remaining unprocessed # options in '_result', escaped suitably for -# 'eval'. Like this: +# 'eval'. In this case you also must return $EXIT_SUCCESS to let the +# hook's caller know that it should pay attention to +# '_result'. Returning $EXIT_FAILURE signalizes that +# arguments are left untouched by the hook and therefore caller will ignore the +# result variable. +# +# Like this: # # my_options_prep () # { @@ -1570,9 +1674,11 @@ func_run_hooks () # usage_message=$usage_message' # -s, --silent don'\''t print informational messages # ' -# -# func_quote_for_eval ${1+"$@"} -# my_options_prep_result=$func_quote_for_eval_result +# # No change in '$@' (ignored completely by this hook). There is +# # no need to do the equivalent (but slower) action: +# # func_quote eval ${1+"$@"} +# # my_options_prep_result=$func_quote_result +# false # } # func_add_hook func_options_prep my_options_prep # @@ -1581,25 +1687,37 @@ func_run_hooks () # { # $debug_cmd # +# args_changed=false +# # # Note that for efficiency, we parse as many options as we can # # recognise in a loop before passing the remainder back to the # # caller on the first unrecognised argument we encounter. # while test $# -gt 0; do # opt=$1; shift # case $opt in -# --silent|-s) opt_silent=: ;; +# --silent|-s) opt_silent=: +# args_changed=: +# ;; # # Separate non-argument short options: # -s*) func_split_short_opt "$_G_opt" # set dummy "$func_split_short_opt_name" \ # "-$func_split_short_opt_arg" ${1+"$@"} # shift +# args_changed=: # ;; -# *) set dummy "$_G_opt" "$*"; shift; break ;; +# *) # Make sure the first unrecognised option "$_G_opt" +# # is added back to "$@", we could need that later +# # if $args_changed is true. +# set dummy "$_G_opt" ${1+"$@"}; shift; break ;; # esac # done # -# func_quote_for_eval ${1+"$@"} -# my_silent_option_result=$func_quote_for_eval_result +# if $args_changed; then +# func_quote eval ${1+"$@"} +# my_silent_option_result=$func_quote_result +# fi +# +# $args_changed # } # func_add_hook func_parse_options my_silent_option # @@ -1611,16 +1729,32 @@ func_run_hooks () # $opt_silent && $opt_verbose && func_fatal_help "\ # '--silent' and '--verbose' options are mutually exclusive." # -# func_quote_for_eval ${1+"$@"} -# my_option_validation_result=$func_quote_for_eval_result +# false # } # func_add_hook func_validate_options my_option_validation # -# You'll alse need to manually amend $usage_message to reflect the extra +# You'll also need to manually amend $usage_message to reflect the extra # options you parse. It's preferable to append if you can, so that # multiple option parsing hooks can be added safely. +# func_options_finish [ARG]... +# ---------------------------- +# Finishing the option parse loop (call 'func_options' hooks ATM). +func_options_finish () +{ + $debug_cmd + + _G_func_options_finish_exit=false + if func_run_hooks func_options ${1+"$@"}; then + func_options_finish_result=$func_run_hooks_result + _G_func_options_finish_exit=: + fi + + $_G_func_options_finish_exit +} + + # func_options [ARG]... # --------------------- # All the functions called inside func_options are hookable. See the @@ -1630,17 +1764,28 @@ func_options () { $debug_cmd - func_options_prep ${1+"$@"} - eval func_parse_options \ - ${func_options_prep_result+"$func_options_prep_result"} - eval func_validate_options \ - ${func_parse_options_result+"$func_parse_options_result"} + _G_rc_options=false - eval func_run_hooks func_options \ - ${func_validate_options_result+"$func_validate_options_result"} + for my_func in options_prep parse_options validate_options options_finish + do + if eval func_$my_func '${1+"$@"}'; then + eval _G_res_var='$'"func_${my_func}_result" + eval set dummy "$_G_res_var" ; shift + _G_rc_options=: + fi + done - # save modified positional parameters for caller - func_options_result=$func_run_hooks_result + # Save modified positional parameters for caller. As a top-level + # options-parser function we always need to set the 'func_options_result' + # variable (regardless the $_G_rc_options value). + if $_G_rc_options; then + func_options_result=$_G_res_var + else + func_quote eval ${1+"$@"} + func_options_result=$func_quote_result + fi + + $_G_rc_options } @@ -1649,9 +1794,9 @@ func_options () # All initialisations required before starting the option parse loop. # Note that when calling hook functions, we pass through the list of # positional parameters. If a hook function modifies that list, and -# needs to propogate that back to rest of this script, then the complete +# needs to propagate that back to rest of this script, then the complete # modified list must be put in 'func_run_hooks_result' before -# returning. +# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned). func_hookable func_options_prep func_options_prep () { @@ -1661,10 +1806,14 @@ func_options_prep () opt_verbose=false opt_warning_types= - func_run_hooks func_options_prep ${1+"$@"} + _G_rc_options_prep=false + if func_run_hooks func_options_prep ${1+"$@"}; then + _G_rc_options_prep=: + # save modified positional parameters for caller + func_options_prep_result=$func_run_hooks_result + fi - # save modified positional parameters for caller - func_options_prep_result=$func_run_hooks_result + $_G_rc_options_prep } @@ -1678,18 +1827,20 @@ func_parse_options () func_parse_options_result= + _G_rc_parse_options=false # this just eases exit handling while test $# -gt 0; do # Defer to hook functions for initial option parsing, so they # get priority in the event of reusing an option name. - func_run_hooks func_parse_options ${1+"$@"} - - # Adjust func_parse_options positional parameters to match - eval set dummy "$func_run_hooks_result"; shift + if func_run_hooks func_parse_options ${1+"$@"}; then + eval set dummy "$func_run_hooks_result"; shift + _G_rc_parse_options=: + fi # Break out of the loop if we already parsed every option. test $# -gt 0 || break + _G_match_parse_options=: _G_opt=$1 shift case $_G_opt in @@ -1704,7 +1855,10 @@ func_parse_options () ;; --warnings|--warning|-W) - test $# = 0 && func_missing_arg $_G_opt && break + if test $# = 0 && func_missing_arg $_G_opt; then + _G_rc_parse_options=: + break + fi case " $warning_categories $1" in *" $1 "*) # trailing space prevents matching last $1 above @@ -1757,15 +1911,25 @@ func_parse_options () shift ;; - --) break ;; + --) _G_rc_parse_options=: ; break ;; -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift + _G_match_parse_options=false + break + ;; esac + + $_G_match_parse_options && _G_rc_parse_options=: done - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - func_parse_options_result=$func_quote_for_eval_result + + if $_G_rc_parse_options; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + func_parse_options_result=$func_quote_result + fi + + $_G_rc_parse_options } @@ -1778,16 +1942,21 @@ func_validate_options () { $debug_cmd + _G_rc_validate_options=false + # Display all warnings if -W was not given. test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - func_run_hooks func_validate_options ${1+"$@"} + if func_run_hooks func_validate_options ${1+"$@"}; then + # save modified positional parameters for caller + func_validate_options_result=$func_run_hooks_result + _G_rc_validate_options=: + fi # Bail if the options were screwed! $exit_cmd $EXIT_FAILURE - # save modified positional parameters for caller - func_validate_options_result=$func_run_hooks_result + $_G_rc_validate_options } @@ -2068,12 +2237,12 @@ include the following information: compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname (GNU libtool) 2.4.6 + version: $progname $scriptversion Debian-2.4.6-2.1 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` Report bugs to . -GNU libtool home page: . +GNU libtool home page: . General help using GNU software: ." exit 0 } @@ -2270,6 +2439,8 @@ libtool_options_prep () nonopt= preserve_args= + _G_rc_lt_options_prep=: + # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) @@ -2293,11 +2464,18 @@ libtool_options_prep () uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; + *) + _G_rc_lt_options_prep=false + ;; esac - # Pass back the list of options. - func_quote_for_eval ${1+"$@"} - libtool_options_prep_result=$func_quote_for_eval_result + if $_G_rc_lt_options_prep; then + # Pass back the list of options. + func_quote eval ${1+"$@"} + libtool_options_prep_result=$func_quote_result + fi + + $_G_rc_lt_options_prep } func_add_hook func_options_prep libtool_options_prep @@ -2309,9 +2487,12 @@ libtool_parse_options () { $debug_cmd + _G_rc_lt_parse_options=false + # Perform our own loop to consume as many options as possible in # each iteration. while test $# -gt 0; do + _G_match_lt_parse_options=: _G_opt=$1 shift case $_G_opt in @@ -2386,15 +2567,22 @@ libtool_parse_options () func_append preserve_args " $_G_opt" ;; - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + # An option not handled by this hook function: + *) set dummy "$_G_opt" ${1+"$@"} ; shift + _G_match_lt_parse_options=false + break + ;; esac + $_G_match_lt_parse_options && _G_rc_lt_parse_options=: done + if $_G_rc_lt_parse_options; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + libtool_parse_options_result=$func_quote_result + fi - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - libtool_parse_options_result=$func_quote_for_eval_result + $_G_rc_lt_parse_options } func_add_hook func_parse_options libtool_parse_options @@ -2451,8 +2639,8 @@ libtool_validate_options () } # Pass back the unparsed argument list - func_quote_for_eval ${1+"$@"} - libtool_validate_options_result=$func_quote_for_eval_result + func_quote eval ${1+"$@"} + libtool_validate_options_result=$func_quote_result } func_add_hook func_validate_options libtool_validate_options @@ -3418,8 +3606,8 @@ func_mode_compile () esac done - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ + func_quote_arg pretty "$libobj" + test "X$libobj" != "X$func_quote_arg_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name '$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" @@ -3492,8 +3680,8 @@ compiler." func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result + func_quote_arg pretty "$srcfile" + qsrcfile=$func_quote_arg_result # Only build a PIC object if we are building libtool libraries. if test yes = "$build_libtool_libs"; then @@ -4096,8 +4284,8 @@ func_mode_install () case $nonopt in *shtool*) :;; *) false;; esac then # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " + func_quote_arg pretty "$nonopt" + install_prog="$func_quote_arg_result " arg=$1 shift else @@ -4107,8 +4295,8 @@ func_mode_install () # The real first argument should be the name of the installation program. # Aesthetically quote it. - func_quote_for_eval "$arg" - func_append install_prog "$func_quote_for_eval_result" + func_quote_arg pretty "$arg" + func_append install_prog "$func_quote_arg_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; @@ -4165,12 +4353,12 @@ func_mode_install () esac # Aesthetically quote the argument. - func_quote_for_eval "$arg" - func_append install_prog " $func_quote_for_eval_result" + func_quote_arg pretty "$arg" + func_append install_prog " $func_quote_arg_result" if test -n "$arg2"; then - func_quote_for_eval "$arg2" + func_quote_arg pretty "$arg2" fi - func_append install_shared_prog " $func_quote_for_eval_result" + func_append install_shared_prog " $func_quote_arg_result" done test -z "$install_prog" && \ @@ -4181,8 +4369,8 @@ func_mode_install () if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - func_append install_shared_prog " -m $func_quote_for_eval_result" + func_quote_arg pretty "$install_override_mode" + func_append install_shared_prog " -m $func_quote_arg_result" fi fi @@ -4478,8 +4666,8 @@ func_mode_install () relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_quiet || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$relink_command" + eval "func_echo $func_quote_arg_result" } if eval "$relink_command"; then : else @@ -5258,7 +5446,8 @@ else if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` + func_quote_arg pretty "$ECHO" + qECHO=$func_quote_arg_result $ECHO "\ # A function that is used when there is no print builtin or printf. @@ -5268,7 +5457,7 @@ func_fallback_echo () \$1 _LTECHO_EOF' } - ECHO=\"$qECHO\" + ECHO=$qECHO fi # Very basic option parsing. These options are (a) specific to @@ -6611,9 +6800,9 @@ func_mode_link () while test "$#" -gt 0; do arg=$1 shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" + func_quote_arg pretty,unquoted "$arg" + qarg=$func_quote_arg_unquoted_result + func_append libtool_args " $func_quote_arg_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then @@ -7211,9 +7400,9 @@ func_mode_link () save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $func_quote_for_eval_result" - func_append compiler_flags " $func_quote_for_eval_result" + func_quote_arg pretty "$flag" + func_append arg " $func_quote_arg_result" + func_append compiler_flags " $func_quote_arg_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" @@ -7227,10 +7416,10 @@ func_mode_link () save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $wl$func_quote_for_eval_result" - func_append compiler_flags " $wl$func_quote_for_eval_result" - func_append linker_flags " $func_quote_for_eval_result" + func_quote_arg pretty "$flag" + func_append arg " $wl$func_quote_arg_result" + func_append compiler_flags " $wl$func_quote_arg_result" + func_append linker_flags " $func_quote_arg_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" @@ -7254,8 +7443,8 @@ func_mode_link () # -msg_* for osf cc -msg_*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; # Flags to be passed through unchanged, with rationale: @@ -7272,12 +7461,15 @@ func_mode_link () # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + # -specs=* GCC specs files # -stdlib=* select c++ std lib with clang + # -fsanitize=* Clang/GCC memory and address sanitizer -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ + -specs=*|-fsanitize=*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" @@ -7298,15 +7490,15 @@ func_mode_link () continue else # Otherwise treat like 'Some other compiler flag' below - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result fi ;; # Some other compiler flag. -* | +*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; *.$objext) @@ -7426,8 +7618,8 @@ func_mode_link () *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; esac # arg @@ -7568,7 +7760,10 @@ func_mode_link () case $pass in dlopen) libs=$dlfiles ;; dlpreopen) libs=$dlprefiles ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; esac fi if test lib,dlpreopen = "$linkmode,$pass"; then @@ -7887,19 +8082,19 @@ func_mode_link () # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" func_append old_convenience " $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done elif test prog != "$linkmode" && test lib != "$linkmode"; then func_fatal_error "'$lib' is not a convenience library" fi - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done continue fi # $pass = conv @@ -8823,6 +9018,9 @@ func_mode_link () revision=$number_minor lt_irix_increment=no ;; + *) + func_fatal_configuration "$modename: unknown library version type '$version_type'" + ;; esac ;; no) @@ -9933,8 +10131,8 @@ EOF for cmd in $concat_cmds; do IFS=$save_ifs $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10027,8 +10225,8 @@ EOF eval cmd=\"$cmd\" IFS=$save_ifs $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10502,12 +10700,12 @@ EOF elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + func_quote_arg pretty "$var_value" + relink_command="$var=$func_quote_arg_result; export $var; $relink_command" fi done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + func_quote_arg pretty,unquoted "(cd `pwd`; $relink_command)" + relink_command=$func_quote_arg_unquoted_result fi # Only actually do things if not in dry run mode. @@ -10747,13 +10945,14 @@ EOF elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + func_quote_arg pretty,unquoted "$var_value" + relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + func_quote_arg pretty,unquoted "$relink_command" + relink_command=$func_quote_arg_unquoted_result if test yes = "$hardcode_automatic"; then relink_command= fi diff --git a/build-aux/missing b/build-aux/missing index c6e37958..f62bbae3 100755 --- a/build-aux/missing +++ b/build-aux/missing @@ -1,9 +1,9 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2016-01-11.22; # UTC +scriptversion=2013-10-28.13; # UTC -# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -210,6 +210,6 @@ exit $st # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" +# time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: diff --git a/build-aux/test-driver b/build-aux/test-driver index 0218a01f..8e575b01 100755 --- a/build-aux/test-driver +++ b/build-aux/test-driver @@ -1,9 +1,9 @@ #! /bin/sh # test-driver - basic testsuite driver script. -scriptversion=2016-01-11.22; # UTC +scriptversion=2013-07-13.22; # UTC -# Copyright (C) 2011-2017 Free Software Foundation, Inc. +# Copyright (C) 2011-2014 Free Software Foundation, Inc. # # 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 @@ -143,6 +143,6 @@ echo ":copy-in-global-log: $gcopy" >> $trs_file # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" +# time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: diff --git a/buildutil/libtool.m4 b/buildutil/libtool.m4 index a644432f..ee80844b 100644 --- a/buildutil/libtool.m4 +++ b/buildutil/libtool.m4 @@ -728,7 +728,6 @@ _LT_CONFIG_SAVE_COMMANDS([ cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. @@ -2867,9 +2866,6 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) # before this can be enabled. hardcode_into_libs=yes - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - # Ideally, we could use ldconfig to report *all* directores which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command @@ -2878,7 +2874,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -2890,6 +2886,18 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) dynamic_linker='GNU/Linux ld.so' ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + netbsd*) version_type=sunos need_lib_prefix=no @@ -3549,7 +3557,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; -netbsd*) +netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else @@ -4427,7 +4435,7 @@ m4_if([$1], [CXX], [ ;; esac ;; - netbsd*) + netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise @@ -4939,6 +4947,9 @@ m4_if([$1], [CXX], [ ;; esac ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; @@ -5001,6 +5012,9 @@ dnl Note also adjust exclude_expsyms for C++ above. openbsd* | bitrig*) with_gnu_ld=no ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes @@ -5255,7 +5269,7 @@ _LT_EOF fi ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= @@ -5776,6 +5790,7 @@ _LT_EOF if test yes = "$lt_cv_irix_exported_symbol"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi + _LT_TAGVAR(link_all_deplibs, $1)=no else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' @@ -5797,7 +5812,7 @@ _LT_EOF esac ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else diff --git a/configure b/configure index 397c0b05..81c91deb 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libostree 2018.5. +# Generated by GNU Autoconf 2.69 for libostree 2018.6. # # Report bugs to . # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='libostree' PACKAGE_TARNAME='libostree' -PACKAGE_VERSION='2018.5' -PACKAGE_STRING='libostree 2018.5' +PACKAGE_VERSION='2018.6' +PACKAGE_STRING='libostree 2018.6' PACKAGE_BUGREPORT='walters@verbum.org' PACKAGE_URL='' @@ -885,6 +885,7 @@ infodir docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -1040,6 +1041,7 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -1292,6 +1294,15 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1429,7 +1440,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir + libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1542,7 +1553,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libostree 2018.5 to adapt to many kinds of systems. +\`configure' configures libostree 2018.6 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1582,6 +1593,7 @@ Fine tuning of the installation directories: --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -1612,7 +1624,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libostree 2018.5:";; + short | recursive ) echo "Configuration of libostree 2018.6:";; esac cat <<\_ACEOF @@ -1855,7 +1867,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libostree configure 2018.5 +libostree configure 2018.6 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2327,7 +2339,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libostree $as_me 2018.5, which was +It was created by libostree $as_me 2018.6, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2675,7 +2687,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -is_release_build=yes +is_release_build=no ac_config_headers="$ac_config_headers config.h" @@ -3195,7 +3207,7 @@ fi # Define the identity of the package. PACKAGE='libostree' - VERSION='2018.5' + VERSION='2018.6' # Some tools Automake needs. @@ -4980,7 +4992,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -5026,7 +5038,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -5050,7 +5062,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -5095,7 +5107,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -5119,7 +5131,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -5929,9 +5941,9 @@ test -n "$YACC" || YACC="yacc" YEAR_VERSION=2018 -RELEASE_VERSION=5 +RELEASE_VERSION=6 -PACKAGE_VERSION=2018.5 +PACKAGE_VERSION=2018.6 if echo "$CFLAGS" | grep -q -E -e '-Werror($| )'; then : @@ -7224,7 +7236,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; -netbsd*) +netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else @@ -10648,6 +10660,9 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie openbsd* | bitrig*) with_gnu_ld=no ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs=no + ;; esac ld_shlibs=yes @@ -10902,7 +10917,7 @@ _LT_EOF fi ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= @@ -11572,6 +11587,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; } if test yes = "$lt_cv_irix_exported_symbol"; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi + link_all_deplibs=no else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' @@ -11593,7 +11609,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; } esac ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else @@ -12688,9 +12704,6 @@ fi # before this can be enabled. hardcode_into_libs=yes - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - # Ideally, we could use ldconfig to report *all* directores which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command @@ -12699,7 +12712,7 @@ fi # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -12711,6 +12724,18 @@ fi dynamic_linker='GNU/Linux ld.so' ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + netbsd*) version_type=sunos need_lib_prefix=no @@ -14354,7 +14379,7 @@ else #include int -main () +main (void) { unsigned int major, minor, micro; @@ -17747,6 +17772,9 @@ else fi OSTREE_FEATURES="$OSTREE_FEATURES $release_build_type" +# P2P API is public in OSTree >= 2018.6 +OSTREE_FEATURES="$OSTREE_FEATURES p2p" + ac_config_files="$ac_config_files Makefile apidoc/Makefile src/libostree/ostree-1.pc src/libostree/ostree-version.h" cat >confcache <<\_ACEOF @@ -18447,7 +18475,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libostree $as_me 2018.5, which was +This file was extended by libostree $as_me 2018.6, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18513,7 +18541,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libostree config.status 2018.5 +libostree config.status 2018.6 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -19635,7 +19663,6 @@ $as_echo X"$file" | cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. diff --git a/configure.ac b/configure.ac index afedc030..1f6ea34c 100644 --- a/configure.ac +++ b/configure.ac @@ -4,10 +4,10 @@ dnl update libostree-released.sym from libostree-devel.sym, and update the check 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. m4_define([year_version], [2018]) -m4_define([release_version], [5]) +m4_define([release_version], [6]) m4_define([package_version], [year_version.release_version]) AC_INIT([libostree], [package_version], [walters@verbum.org]) -is_release_build=yes +is_release_build=no AC_CONFIG_HEADER([config.h]) AC_CONFIG_MACRO_DIR([buildutil]) AC_CONFIG_AUX_DIR([build-aux]) @@ -572,6 +572,9 @@ AM_COND_IF([BUILDOPT_IS_DEVEL_BUILD], release_build_type=release) OSTREE_FEATURES="$OSTREE_FEATURES $release_build_type" +# P2P API is public in OSTree >= 2018.6 +OSTREE_FEATURES="$OSTREE_FEATURES p2p" + AC_CONFIG_FILES([ Makefile apidoc/Makefile diff --git a/gtk-doc.make b/gtk-doc.make index f87eaab9..7d9a27f3 100644 --- a/gtk-doc.make +++ b/gtk-doc.make @@ -212,6 +212,7 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_con for file in $(HTML_IMAGES) ; do \ test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \ test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \ + test -f $$file && cp $$file $(abs_builddir)/html; \ done; $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) $(AM_V_at)touch html-build.stamp diff --git a/libglnx/glnx-backport-autocleanups.h b/libglnx/glnx-backport-autocleanups.h index cc249611..b5f3475d 100644 --- a/libglnx/glnx-backport-autocleanups.h +++ b/libglnx/glnx-backport-autocleanups.h @@ -82,6 +82,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSubprocess, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSubprocessLauncher, g_object_unref) /* Add GObject-based types as needed. */ +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GAsyncResult, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GCancellable, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GConverter, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GConverterOutputStream, g_object_unref) @@ -96,6 +97,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GFileOutputStream, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GInputStream, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMemoryInputStream, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMemoryOutputStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMount, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GOutputStream, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSocket, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSocketAddress, g_object_unref) @@ -105,6 +107,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTlsDatabase, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTlsInteraction, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusConnection, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusMessage, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVolumeMonitor, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GZlibCompressor, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GZlibDecompressor, g_object_unref) diff --git a/libglnx/glnx-console.c b/libglnx/glnx-console.c index 88130745..c2fe29db 100644 --- a/libglnx/glnx-console.c +++ b/libglnx/glnx-console.c @@ -168,7 +168,7 @@ glnx_console_lock (GLnxConsoleRef *console) g_once_init_leave (&sigwinch_initialized, 1); } - { static const char initbuf[] = { '\n', 0x1B, 0x37 }; + { static const char initbuf[] = { 0x1B, 0x37 }; (void) fwrite (initbuf, 1, sizeof (initbuf), stdout); } } diff --git a/man/ostree-create-usb.xml b/man/ostree-create-usb.xml new file mode 100644 index 00000000..d250d915 --- /dev/null +++ b/man/ostree-create-usb.xml @@ -0,0 +1,127 @@ + + + + + + + + + ostree create-usb + OSTree + + + + Developer + Matthew + Leeds + matthew.leeds@endlessm.com + + + + + + ostree create-usb + 1 + + + + ostree-create-usb + Put the given refs on an external drive for P2P distribution. + + + + + ostree create-usb OPTIONS MOUNT-PATH COLLECTION-ID REF COLLECTION-ID REF + + + + + Description + + + This command creates a repository in MOUNT-PATH and pulls the given + REF(s) into it so they can be found and pulled from (perhaps by another computer that's offline). + See + ostree-find-remotes1 + for more information on P2P distribution. + + + In order for ostree to pull refs from a mounted filesystem (such as + a USB drive) the repo must be in a standard location. Specifically, + subdirectories of .ostree/repos.d are checked, + then .ostree/repo, ostree/repo, + and var/lib/flatpak/repo are checked. By default + ostree create-usb uses .ostree/repo, + but if you specify another location using + a symbolic link will be created for you in .ostree/repos.d. + + + This command will regenerate the summary file + in the destination repo so that it stays accurate, so you shouldn't + try to use summary signatures in the destination repo. This + shouldn't be a concern because clients that support pulling from + USB mounts use signed per-repo and per-commit metadata instead of + summary signatures. + + + This command relies on the summary file in the source repo, so you + may want to run ostree summary -u before running + this command. + + + + + Options + + + + + + + Do not invoke fsync(). + + + + + + =DEST + + + Create the repository in DEST under MOUNT-PATH, rather than + the default location. + + + + + + + + Example + ostree --repo=/var/lib/flatpak/repo create-usb /run/media/mwleeds/f6d04c7a-60f6-4ba3-bb96-0f40498675be com.exampleos.Apps app/org.kde.Khangman/x86_64/stable com.exampleos.Apps ostree-metadata com.exampleos.Apps appstream/x86_64 + + +5 metadata, 213 content objects imported; 1 KiB transferred in 1 seconds Copied 3/3 refs successfully from ‘/var/lib/flatpak/repo’ to ‘.ostree/repo’ repository in ‘/run/media/mwleeds/f6d04c7a-60f6-4ba3-bb96-0f40498675be’. + + + + diff --git a/man/ostree-find-remotes.xml b/man/ostree-find-remotes.xml new file mode 100644 index 00000000..b3796c31 --- /dev/null +++ b/man/ostree-find-remotes.xml @@ -0,0 +1,137 @@ + + + + + + + + + ostree find-remotes + OSTree + + + + Developer + Matthew + Leeds + matthew.leeds@endlessm.com + + + + + + ostree find-remotes + 1 + + + + ostree-find-remotes + Find remotes to serve the given refs + + + + + ostree find-remotes OPTIONS COLLECTION-ID REF COLLECTION-ID REF + + + + + Description + + + OSTree has the ability do pulls not just from configured remote + servers but also from peer computers on the LAN and from mounted + filesystems such as USB drives. This functionality requires the use + of collection IDs and GPG verification. + + + The find-remotes command searches for remotes + which claim to provide one or more of the given COLLECTION-ID REF + pairs and prints information about them, with remotes sorted by + latency (Mounts > LAN > Internet). By default, OSTree searches for + remotes in configuration files, on mounted filesystems (in a + well-known location), and on the LAN using Avahi. Searching for LAN + remotes requires OSTree to have been compiled with Avahi support, + and it requires an Avahi daemon to be running. You can override the + default set of finders (sources for remotes) using the + option documented below. + + + The create-usb command is the recommended way to + put refs on a USB such that find-remotes will + discover them. See + ostree-create-usb1. + + + + + Options + + + + + + + Do not invoke fsync(). + + + + + + =FINDERS + + + Use the specified comma separated list of finders rather than + the default set. Possible values: config, + lan, and mount (or any + combination thereof). + + + + + + + + Pull the most recent commit found for each ref. + + + + + + + + Example + $ ostree find-remotes --finders=mount,lan com.exampleos.Os exampleos/x86_64/standard + +Result 0: http://10.0.64.202:43381/0 + - Finder: OstreeRepoFinderAvahi + - Keyring: exampleos.trustedkeys.gpg + - Priority: 60 + - Summary last modified: 2018-01-12T19:00:28Z + - Refs: + - (com.exampleos.Os, exampleos/x86_64/standard) = c91acd964b3fda561b87bfb7f7c80e36220d76b567f0ce90c0e60742ef33c360 + +1/1 refs were found. + + + diff --git a/man/ostree-summary.xml b/man/ostree-summary.xml index d0f92882..387dacd7 100644 --- a/man/ostree-summary.xml +++ b/man/ostree-summary.xml @@ -84,12 +84,10 @@ Boston, MA 02111-1307, USA. fields to the summary. - diff --git a/man/ostree.xml b/man/ostree.xml index f8d3e2fc..d1c15665 100644 --- a/man/ostree.xml +++ b/man/ostree.xml @@ -283,14 +283,13 @@ Boston, MA 02111-1307, USA. - + ostree-diff1 @@ -301,14 +300,13 @@ Boston, MA 02111-1307, USA. - + ostree-fsck1 diff --git a/src/libostree/libostree-devel.sym b/src/libostree/libostree-devel.sym index 46ad280c..832ab84c 100644 --- a/src/libostree/libostree-devel.sym +++ b/src/libostree/libostree-devel.sym @@ -18,13 +18,66 @@ ***/ /* Add new symbols here. Release commits should copy this section into -released.sym. */ +LIBOSTREE_2018.6 { +global: + ostree_collection_ref_dup; + ostree_collection_ref_dupv; + ostree_collection_ref_equal; + ostree_collection_ref_free; + ostree_collection_ref_freev; + ostree_collection_ref_get_type; + ostree_collection_ref_hash; + ostree_collection_ref_new; + ostree_remote_get_name; + ostree_remote_get_type; + ostree_remote_get_url; + ostree_remote_ref; + ostree_remote_unref; + ostree_repo_find_remotes_async; + ostree_repo_find_remotes_finish; + ostree_repo_finder_avahi_get_type; + ostree_repo_finder_avahi_new; + ostree_repo_finder_avahi_start; + ostree_repo_finder_avahi_stop; + ostree_repo_finder_config_get_type; + ostree_repo_finder_config_new; + ostree_repo_finder_get_type; + ostree_repo_finder_mount_get_type; + ostree_repo_finder_mount_new; + ostree_repo_finder_override_add_uri; + ostree_repo_finder_override_get_type; + ostree_repo_finder_override_new; + ostree_repo_finder_resolve_all_async; + ostree_repo_finder_resolve_all_finish; + ostree_repo_finder_resolve_async; + ostree_repo_finder_resolve_finish; + ostree_repo_finder_result_compare; + ostree_repo_finder_result_dup; + ostree_repo_finder_result_free; + ostree_repo_finder_result_freev; + ostree_repo_finder_result_get_type; + ostree_repo_finder_result_new; + ostree_repo_get_collection_id; + ostree_repo_list_collection_refs; + ostree_repo_pull_from_remotes_async; + ostree_repo_pull_from_remotes_finish; + ostree_repo_remote_list_collection_refs; + ostree_repo_resolve_collection_ref; + ostree_repo_resolve_keyring_for_collection; + ostree_repo_set_collection_id; + ostree_repo_set_collection_ref_immediate; + ostree_repo_transaction_set_collection_ref; + ostree_repo_traverse_reachable_refs; + ostree_sysroot_cleanup_prune_repo; + ostree_validate_collection_id; +} LIBOSTREE_2018.5; /* 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 * source. Replace $LASTSTABLE with the last stable version, and $NEWVERSION * with whatever the next version with new symbols will be. -LIBOSTREE_2017.$NEWVERSION { +LIBOSTREE_2018.$NEWVERSION { global: someostree_symbol_deleteme; -} LIBOSTREE_2017.$LASTSTABLE; +} LIBOSTREE_2018.$LASTSTABLE; */ diff --git a/src/libostree/libostree-experimental.sym b/src/libostree/libostree-experimental.sym deleted file mode 100644 index b83ad1b0..00000000 --- a/src/libostree/libostree-experimental.sym +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright © 2017 Endless Mobile, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * Authors: - * - Philip Withnall - */ - -/* Symbols in this file are added to the build if OSTree is configured with - * --enable-experimental-api. They are not stable or officially supported, and - * might disappear or change in future releases. */ - -LIBOSTREE_2017.6_EXPERIMENTAL { -global: - ostree_remote_ref; - ostree_remote_unref; -} LIBOSTREE_2017.6; - -LIBOSTREE_2017.7_EXPERIMENTAL { -global: - ostree_remote_get_name; -} LIBOSTREE_2017.6_EXPERIMENTAL; - -LIBOSTREE_2017.8_EXPERIMENTAL { -global: - ostree_collection_ref_dup; - ostree_collection_ref_dupv; - ostree_collection_ref_equal; - ostree_collection_ref_free; - ostree_collection_ref_freev; - ostree_collection_ref_get_type; - ostree_collection_ref_hash; - ostree_collection_ref_new; - ostree_repo_find_remotes_async; - ostree_repo_find_remotes_finish; - ostree_repo_finder_avahi_get_type; - ostree_repo_finder_avahi_new; - ostree_repo_finder_avahi_start; - ostree_repo_finder_avahi_stop; - ostree_repo_finder_config_get_type; - ostree_repo_finder_config_new; - ostree_repo_finder_get_type; - ostree_repo_finder_mount_get_type; - ostree_repo_finder_mount_new; - ostree_repo_finder_resolve_async; - ostree_repo_finder_resolve_all_async; - ostree_repo_finder_resolve_all_finish; - ostree_repo_finder_resolve_finish; - ostree_repo_finder_result_compare; - ostree_repo_finder_result_dup; - ostree_repo_finder_result_free; - ostree_repo_finder_result_freev; - ostree_repo_finder_result_get_type; - ostree_repo_finder_result_new; - ostree_repo_get_collection_id; - ostree_repo_list_collection_refs; - ostree_repo_pull_from_remotes_async; - ostree_repo_pull_from_remotes_finish; - ostree_repo_remote_list_collection_refs; - ostree_repo_resolve_keyring_for_collection; - ostree_repo_set_collection_id; - ostree_repo_set_collection_ref_immediate; - ostree_repo_transaction_set_collection_ref; - ostree_validate_collection_id; -} LIBOSTREE_2017.7_EXPERIMENTAL; - -LIBOSTREE_2017.12_EXPERIMENTAL { -global: - ostree_repo_resolve_collection_ref; -} LIBOSTREE_2017.8_EXPERIMENTAL; - -LIBOSTREE_2017.13_EXPERIMENTAL { -global: - ostree_repo_finder_override_add_uri; - ostree_repo_finder_override_get_type; - ostree_repo_finder_override_new; -} LIBOSTREE_2017.12_EXPERIMENTAL; - -LIBOSTREE_2017.14_EXPERIMENTAL { -global: - ostree_remote_get_type; - ostree_remote_get_url; -} LIBOSTREE_2017.13_EXPERIMENTAL; diff --git a/src/libostree/ostree-autocleanups.h b/src/libostree/ostree-autocleanups.h index 504954e0..9a54aee7 100644 --- a/src/libostree/ostree-autocleanups.h +++ b/src/libostree/ostree-autocleanups.h @@ -60,7 +60,6 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC (OstreeSysrootUpgrader, g_object_unref) G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (OstreeRepoCommitTraverseIter, ostree_repo_commit_traverse_iter_clear) -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API G_DEFINE_AUTOPTR_CLEANUP_FUNC (OstreeCollectionRef, ostree_collection_ref_free) G_DEFINE_AUTO_CLEANUP_FREE_FUNC (OstreeCollectionRefv, ostree_collection_ref_freev, NULL) G_DEFINE_AUTOPTR_CLEANUP_FUNC (OstreeRemote, ostree_remote_unref) @@ -71,7 +70,6 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC (OstreeRepoFinderMount, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (OstreeRepoFinderOverride, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (OstreeRepoFinderResult, ostree_repo_finder_result_free) G_DEFINE_AUTO_CLEANUP_FREE_FUNC (OstreeRepoFinderResultv, ostree_repo_finder_result_freev, NULL) -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ #endif diff --git a/src/libostree/ostree-bloom-private.h b/src/libostree/ostree-bloom-private.h index ed7ab359..1c5acb8f 100644 --- a/src/libostree/ostree-bloom-private.h +++ b/src/libostree/ostree-bloom-private.h @@ -28,6 +28,8 @@ #include #include +#include "libglnx.h" + G_BEGIN_DECLS /** diff --git a/src/libostree/ostree-bootloader-uboot.c b/src/libostree/ostree-bootloader-uboot.c index 262681b1..531a3756 100644 --- a/src/libostree/ostree-bootloader-uboot.c +++ b/src/libostree/ostree-bootloader-uboot.c @@ -140,6 +140,10 @@ create_config_from_boot_loader_entries (OstreeBootloaderUboot *self, if (val) g_ptr_array_add (new_lines, g_strdup_printf ("ramdisk_image%s=%s", index_suffix, val)); + val = ostree_bootconfig_parser_get (config, "devicetree"); + if (val) + g_ptr_array_add (new_lines, g_strdup_printf ("fdt_file%s=%s", index_suffix, val)); + val = ostree_bootconfig_parser_get (config, "options"); if (val) { diff --git a/src/libostree/ostree-core-private.h b/src/libostree/ostree-core-private.h index b5f65d08..dd2cbc7e 100644 --- a/src/libostree/ostree-core-private.h +++ b/src/libostree/ostree-core-private.h @@ -207,10 +207,6 @@ _ostree_raw_file_to_archive_stream (GInputStream *input, GCancellable *cancellable, GError **error); -#ifndef OSTREE_ENABLE_EXPERIMENTAL_API -gboolean ostree_validate_collection_id (const char *collection_id, GError **error); -#endif /* !OSTREE_ENABLE_EXPERIMENTAL_API */ - gboolean _ostree_compare_timestamps (const char *current_rev, guint64 current_ts, @@ -218,28 +214,4 @@ _ostree_compare_timestamps (const char *current_rev, guint64 new_ts, GError **error); -#if (defined(OSTREE_COMPILATION) || GLIB_CHECK_VERSION(2, 44, 0)) && !defined(OSTREE_ENABLE_EXPERIMENTAL_API) -#include -#include "ostree-ref.h" -G_DEFINE_AUTOPTR_CLEANUP_FUNC (OstreeCollectionRef, ostree_collection_ref_free) -G_DEFINE_AUTO_CLEANUP_FREE_FUNC (OstreeCollectionRefv, ostree_collection_ref_freev, NULL) - -#include "ostree-repo-finder.h" -G_DEFINE_AUTOPTR_CLEANUP_FUNC (OstreeRepoFinder, g_object_unref) -G_DEFINE_AUTOPTR_CLEANUP_FUNC (OstreeRepoFinderResult, ostree_repo_finder_result_free) -G_DEFINE_AUTO_CLEANUP_FREE_FUNC (OstreeRepoFinderResultv, ostree_repo_finder_result_freev, NULL) - -#include "ostree-repo-finder-avahi.h" -G_DEFINE_AUTOPTR_CLEANUP_FUNC (OstreeRepoFinderAvahi, g_object_unref) - -#include "ostree-repo-finder-config.h" -G_DEFINE_AUTOPTR_CLEANUP_FUNC (OstreeRepoFinderConfig, g_object_unref) - -#include "ostree-repo-finder-mount.h" -G_DEFINE_AUTOPTR_CLEANUP_FUNC (OstreeRepoFinderMount, g_object_unref) - -#include "ostree-repo-finder-override.h" -G_DEFINE_AUTOPTR_CLEANUP_FUNC (OstreeRepoFinderOverride, g_object_unref) -#endif - G_END_DECLS diff --git a/src/libostree/ostree-core.c b/src/libostree/ostree-core.c index 33d6a48b..080137f3 100644 --- a/src/libostree/ostree-core.c +++ b/src/libostree/ostree-core.c @@ -302,6 +302,7 @@ ostree_validate_remote_name (const char *remote_name, * * Returns: %TRUE if @collection_id is a valid collection ID, %FALSE if it is invalid * or %NULL + * Since: 2018.6 */ gboolean ostree_validate_collection_id (const char *collection_id, GError **error) diff --git a/src/libostree/ostree-core.h b/src/libostree/ostree-core.h index b65c9ba9..08b7d451 100644 --- a/src/libostree/ostree-core.h +++ b/src/libostree/ostree-core.h @@ -271,11 +271,9 @@ typedef enum { * This is most useful in concert with `OSTREE_COMMIT_META_KEY_REF_BINDING`, * as it more strongly binds the commit to the repository and branch. * - * Since: 2017.9 + * Since: 2018.6 */ -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API #define OSTREE_COMMIT_META_KEY_COLLECTION_BINDING "ostree.collection-binding" -#endif _OSTREE_PUBLIC const GVariantType *ostree_metadata_variant_type (OstreeObjectType objtype); @@ -324,10 +322,8 @@ int ostree_cmp_checksum_bytes (const guchar *a, const guchar *b); _OSTREE_PUBLIC gboolean ostree_validate_rev (const char *rev, GError **error); -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API _OSTREE_PUBLIC gboolean ostree_validate_collection_id (const char *collection_id, GError **error); -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ _OSTREE_PUBLIC gboolean ostree_validate_remote_name (const char *remote_name, GError **error); diff --git a/src/libostree/ostree-fetcher-curl.c b/src/libostree/ostree-fetcher-curl.c index c0f38131..2e090cfa 100644 --- a/src/libostree/ostree-fetcher-curl.c +++ b/src/libostree/ostree-fetcher-curl.c @@ -337,19 +337,7 @@ check_multi_info (OstreeFetcher *fetcher) curl_easy_getinfo (easy, CURLINFO_RESPONSE_CODE, &response); if (!is_file && !(response >= 200 && response < 300)) { - GIOErrorEnum giocode; - - /* TODO - share with soup */ - switch (response) - { - case 404: - case 403: - case 410: - giocode = G_IO_ERROR_NOT_FOUND; - break; - default: - giocode = G_IO_ERROR_FAILED; - } + GIOErrorEnum giocode = _ostree_fetcher_http_status_code_to_io_error (response); if (req->idx + 1 == req->mirrorlist->len) { diff --git a/src/libostree/ostree-fetcher-soup.c b/src/libostree/ostree-fetcher-soup.c index 08a0a700..3951a927 100644 --- a/src/libostree/ostree-fetcher-soup.c +++ b/src/libostree/ostree-fetcher-soup.c @@ -1070,15 +1070,27 @@ on_request_sent (GObject *object, soup_uri_to_string (soup_request_get_uri (pending->request), FALSE); GIOErrorEnum code; + switch (msg->status_code) { - case 404: - case 403: - case 410: - code = G_IO_ERROR_NOT_FOUND; + /* These statuses are internal to libsoup, and not standard HTTP ones: */ + case SOUP_STATUS_CANCELLED: + code = G_IO_ERROR_CANCELLED; + break; + case SOUP_STATUS_CANT_RESOLVE: + case SOUP_STATUS_CANT_CONNECT: + code = G_IO_ERROR_HOST_NOT_FOUND; + break; + case SOUP_STATUS_IO_ERROR: +#if !GLIB_CHECK_VERSION(2, 44, 0) + code = G_IO_ERROR_BROKEN_PIPE; +#else + code = G_IO_ERROR_CONNECTION_CLOSED; +#endif break; default: - code = G_IO_ERROR_FAILED; + code = _ostree_fetcher_http_status_code_to_io_error (msg->status_code); + break; } { diff --git a/src/libostree/ostree-fetcher-util.c b/src/libostree/ostree-fetcher-util.c index aca31358..6f759c86 100644 --- a/src/libostree/ostree-fetcher-util.c +++ b/src/libostree/ostree-fetcher-util.c @@ -52,15 +52,15 @@ fetch_uri_sync_on_complete (GObject *object, data->done = TRUE; } -gboolean -_ostree_fetcher_mirrored_request_to_membuf (OstreeFetcher *fetcher, - GPtrArray *mirrorlist, - const char *filename, - OstreeFetcherRequestFlags flags, - GBytes **out_contents, - guint64 max_size, - GCancellable *cancellable, - GError **error) +static gboolean +_ostree_fetcher_mirrored_request_to_membuf_once (OstreeFetcher *fetcher, + GPtrArray *mirrorlist, + const char *filename, + OstreeFetcherRequestFlags flags, + GBytes **out_contents, + guint64 max_size, + GCancellable *cancellable, + GError **error) { gboolean ret = FALSE; g_autoptr(GMainContext) mainctx = NULL; @@ -108,11 +108,42 @@ _ostree_fetcher_mirrored_request_to_membuf (OstreeFetcher *fetcher, return ret; } +gboolean +_ostree_fetcher_mirrored_request_to_membuf (OstreeFetcher *fetcher, + GPtrArray *mirrorlist, + const char *filename, + OstreeFetcherRequestFlags flags, + guint n_network_retries, + GBytes **out_contents, + guint64 max_size, + GCancellable *cancellable, + GError **error) +{ + g_autoptr(GError) local_error = NULL; + guint n_retries_remaining = n_network_retries; + + do + { + g_clear_error (&local_error); + if (_ostree_fetcher_mirrored_request_to_membuf_once (fetcher, mirrorlist, + filename, flags, + out_contents, max_size, + cancellable, &local_error)) + return TRUE; + } + while (_ostree_fetcher_should_retry_request (local_error, n_retries_remaining--)); + + g_assert (local_error != NULL); + g_propagate_error (error, g_steal_pointer (&local_error)); + return FALSE; +} + /* Helper for callers who just want to fetch single one-off URIs */ gboolean _ostree_fetcher_request_uri_to_membuf (OstreeFetcher *fetcher, OstreeFetcherURI *uri, OstreeFetcherRequestFlags flags, + guint n_network_retries, GBytes **out_contents, guint64 max_size, GCancellable *cancellable, @@ -121,7 +152,7 @@ _ostree_fetcher_request_uri_to_membuf (OstreeFetcher *fetcher, g_autoptr(GPtrArray) mirrorlist = g_ptr_array_new (); g_ptr_array_add (mirrorlist, uri); /* no transfer */ return _ostree_fetcher_mirrored_request_to_membuf (fetcher, mirrorlist, NULL, flags, - out_contents, max_size, + n_network_retries, out_contents, max_size, cancellable, error); } @@ -144,3 +175,65 @@ _ostree_fetcher_journal_failure (const char *remote_name, NULL); #endif } + +/* Check whether a particular operation should be retried. This is entirely + * based on how it failed (if at all) last time, and whether the operation has + * some retries left. The retry count is set when the operation is first + * created, and must be decremented by the caller. (@n_retries_remaining == 0) + * will always return %FALSE from this function. + * + * FIXME: In future, we may decide to use transient failures like this as a hint + * to prioritise other mirrors for a particular pull operation (for example). */ +gboolean +_ostree_fetcher_should_retry_request (const GError *error, + guint n_retries_remaining) +{ + if (error == NULL) + g_debug ("%s: error: unset, n_retries_remaining: %u", + G_STRFUNC, n_retries_remaining); + else + g_debug ("%s: error: %u:%u %s, n_retries_remaining: %u", + G_STRFUNC, error->domain, error->code, error->message, + n_retries_remaining); + + if (error == NULL || n_retries_remaining == 0) + return FALSE; + + /* Return TRUE for transient errors. */ + if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_TIMED_OUT) || + g_error_matches (error, G_IO_ERROR, G_IO_ERROR_HOST_NOT_FOUND) || + g_error_matches (error, G_IO_ERROR, G_IO_ERROR_HOST_UNREACHABLE) || +#if !GLIB_CHECK_VERSION(2, 44, 0) + g_error_matches (error, G_IO_ERROR, G_IO_ERROR_BROKEN_PIPE) || +#else + g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CONNECTION_CLOSED) || +#endif + g_error_matches (error, G_RESOLVER_ERROR, G_RESOLVER_ERROR_NOT_FOUND) || + g_error_matches (error, G_RESOLVER_ERROR, G_RESOLVER_ERROR_TEMPORARY_FAILURE)) + { + g_debug ("Should retry request (remaining: %u retries), due to transient error: %s", + n_retries_remaining, error->message); + return TRUE; + } + + return FALSE; +} + +/* Convert a HTTP status code representing an error from libsoup or libcurl to + * a #GIOError. This will return %G_IO_ERROR_FAILED if the status code is + * unknown or otherwise unhandled. */ +GIOError +_ostree_fetcher_http_status_code_to_io_error (guint status_code) +{ + switch (status_code) + { + case 403: /* SOUP_STATUS_FORBIDDEN */ + case 404: /* SOUP_STATUS_NOT_FOUND */ + case 410: /* SOUP_STATUS_GONE */ + return G_IO_ERROR_NOT_FOUND; + case 408: /* SOUP_STATUS_REQUEST_TIMEOUT */ + return G_IO_ERROR_TIMED_OUT; + default: + return G_IO_ERROR_FAILED; + } +} diff --git a/src/libostree/ostree-fetcher-util.h b/src/libostree/ostree-fetcher-util.h index 1e2dabe5..1cade068 100644 --- a/src/libostree/ostree-fetcher-util.h +++ b/src/libostree/ostree-fetcher-util.h @@ -56,6 +56,7 @@ gboolean _ostree_fetcher_mirrored_request_to_membuf (OstreeFetcher *fetcher, GPtrArray *mirrorlist, const char *filename, OstreeFetcherRequestFlags flags, + guint n_network_retries, GBytes **out_contents, guint64 max_size, GCancellable *cancellable, @@ -64,6 +65,7 @@ gboolean _ostree_fetcher_mirrored_request_to_membuf (OstreeFetcher *fetcher, gboolean _ostree_fetcher_request_uri_to_membuf (OstreeFetcher *fetcher, OstreeFetcherURI *uri, OstreeFetcherRequestFlags flags, + guint n_network_retries, GBytes **out_contents, guint64 max_size, GCancellable *cancellable, @@ -73,6 +75,10 @@ void _ostree_fetcher_journal_failure (const char *remote_name, const char *url, const char *msg); +gboolean _ostree_fetcher_should_retry_request (const GError *error, + guint n_retries_remaining); + +GIOError _ostree_fetcher_http_status_code_to_io_error (guint status_code); G_END_DECLS diff --git a/src/libostree/ostree-metalink.c b/src/libostree/ostree-metalink.c index 7cb879f7..cb8a50e3 100644 --- a/src/libostree/ostree-metalink.c +++ b/src/libostree/ostree-metalink.c @@ -50,6 +50,7 @@ struct OstreeMetalink OstreeFetcher *fetcher; char *requested_file; guint64 max_size; + guint n_network_retries; }; G_DEFINE_TYPE (OstreeMetalink, _ostree_metalink, G_TYPE_OBJECT) @@ -401,7 +402,8 @@ OstreeMetalink * _ostree_metalink_new (OstreeFetcher *fetcher, const char *requested_file, guint64 max_size, - OstreeFetcherURI *uri) + OstreeFetcherURI *uri, + guint n_network_retries) { OstreeMetalink *self = (OstreeMetalink*)g_object_new (OSTREE_TYPE_METALINK, NULL); @@ -409,6 +411,7 @@ _ostree_metalink_new (OstreeFetcher *fetcher, self->requested_file = g_strdup (requested_file); self->max_size = max_size; self->uri = _ostree_fetcher_uri_clone (uri); + self->n_network_retries = n_network_retries; return self; } @@ -432,7 +435,9 @@ try_one_url (OstreeMetalinkRequest *self, gssize n_bytes; if (!_ostree_fetcher_request_uri_to_membuf (self->metalink->fetcher, - uri, 0, &bytes, + uri, 0, + self->metalink->n_network_retries, + &bytes, self->metalink->max_size, self->cancellable, error)) @@ -613,6 +618,7 @@ _ostree_metalink_request_sync (OstreeMetalink *self, request.parser = g_markup_parse_context_new (&metalink_parser, G_MARKUP_PREFIX_ERROR_POSITION, &request, NULL); if (!_ostree_fetcher_request_uri_to_membuf (self->fetcher, self->uri, 0, + self->n_network_retries, &contents, self->max_size, cancellable, error)) goto out; diff --git a/src/libostree/ostree-metalink.h b/src/libostree/ostree-metalink.h index a9a090b8..1a48945f 100644 --- a/src/libostree/ostree-metalink.h +++ b/src/libostree/ostree-metalink.h @@ -48,7 +48,8 @@ GType _ostree_metalink_get_type (void) G_GNUC_CONST; OstreeMetalink *_ostree_metalink_new (OstreeFetcher *fetcher, const char *requested_file, guint64 max_size, - OstreeFetcherURI *uri); + OstreeFetcherURI *uri, + guint n_network_retries); gboolean _ostree_metalink_request_sync (OstreeMetalink *self, OstreeFetcherURI **out_target_uri, diff --git a/src/libostree/ostree-ref.c b/src/libostree/ostree-ref.c index 0954cb0e..35fd5821 100644 --- a/src/libostree/ostree-ref.c +++ b/src/libostree/ostree-ref.c @@ -48,7 +48,7 @@ G_DEFINE_BOXED_TYPE (OstreeCollectionRef, ostree_collection_ref, * operations. * * Returns: (transfer full): a new #OstreeCollectionRef - * Since: 2017.8 + * Since: 2018.6 */ OstreeCollectionRef * ostree_collection_ref_new (const gchar *collection_id, @@ -74,7 +74,7 @@ ostree_collection_ref_new (const gchar *collection_id, * Create a copy of the given @ref. * * Returns: (transfer full): a newly allocated copy of @ref - * Since: 2017.8 + * Since: 2018.6 */ OstreeCollectionRef * ostree_collection_ref_dup (const OstreeCollectionRef *ref) @@ -90,7 +90,7 @@ ostree_collection_ref_dup (const OstreeCollectionRef *ref) * * Free the given @ref. * - * Since: 2017.8 + * Since: 2018.6 */ void ostree_collection_ref_free (OstreeCollectionRef *ref) @@ -110,7 +110,7 @@ ostree_collection_ref_free (OstreeCollectionRef *ref) * @ref must be non-%NULL. * * Returns: hash value for @ref - * Since: 2017.8 + * Since: 2018.6 */ guint ostree_collection_ref_hash (gconstpointer ref) @@ -132,7 +132,7 @@ ostree_collection_ref_hash (gconstpointer ref) * ref name, and %FALSE otherwise. Both @ref1 and @ref2 must be non-%NULL. * * Returns: %TRUE if @ref1 and @ref2 are equal, %FALSE otherwise - * Since: 2017.8 + * Since: 2018.6 */ gboolean ostree_collection_ref_equal (gconstpointer ref1, @@ -153,7 +153,7 @@ ostree_collection_ref_equal (gconstpointer ref1, * %NULL. * * Returns: (transfer full) (array zero-terminated=1): a newly allocated copy of @refs - * Since: 2017.8 + * Since: 2018.6 */ OstreeCollectionRef ** ostree_collection_ref_dupv (const OstreeCollectionRef * const *refs) @@ -179,7 +179,7 @@ ostree_collection_ref_dupv (const OstreeCollectionRef * const *refs) * Free the given array of @refs, including freeing all its elements. @refs * must be %NULL-terminated; it may be empty, but must not be %NULL. * - * Since: 2017.8 + * Since: 2018.6 */ void ostree_collection_ref_freev (OstreeCollectionRef **refs) diff --git a/src/libostree/ostree-ref.h b/src/libostree/ostree-ref.h index 7aa57fde..8df685ed 100644 --- a/src/libostree/ostree-ref.h +++ b/src/libostree/ostree-ref.h @@ -42,7 +42,7 @@ G_BEGIN_DECLS * (@collection_id, @ref_name). For backwards compatibility, @collection_id may be %NULL, * indicating a ref name which is not globally unique. * - * Since: 2017.8 + * Since: 2018.6 */ typedef struct { @@ -82,7 +82,7 @@ void ostree_collection_ref_freev (OstreeCollectionRef **refs); * g_auto(OstreeCollectionRefv) refs = NULL; * ]| * - * Since: 2017.8 + * Since: 2018.6 */ typedef OstreeCollectionRef** OstreeCollectionRefv; diff --git a/src/libostree/ostree-remote-private.h b/src/libostree/ostree-remote-private.h index 5cdc5ff3..061412de 100644 --- a/src/libostree/ostree-remote-private.h +++ b/src/libostree/ostree-remote-private.h @@ -60,8 +60,4 @@ G_GNUC_INTERNAL OstreeRemote *ostree_remote_new_from_keyfile (GKeyFile *keyfile, const gchar *group); -#if (defined(OSTREE_COMPILATION) || GLIB_CHECK_VERSION(2, 44, 0)) && !defined(OSTREE_ENABLE_EXPERIMENTAL_API) -G_DEFINE_AUTOPTR_CLEANUP_FUNC (OstreeRemote, ostree_remote_unref) -#endif - G_END_DECLS diff --git a/src/libostree/ostree-remote.c b/src/libostree/ostree-remote.c index da325d18..2b068e15 100644 --- a/src/libostree/ostree-remote.c +++ b/src/libostree/ostree-remote.c @@ -50,7 +50,7 @@ * refs are currently on a remote, or the commits they currently point to. Use * #OstreeRepo in combination with an #OstreeRemote to query that information. * - * Since: 2017.6 + * Since: 2018.6 */ OstreeRemote * @@ -119,7 +119,7 @@ ostree_remote_new_from_keyfile (GKeyFile *keyfile, * Increase the reference count on the given @remote. * * Returns: (transfer full): a copy of @remote, for convenience - * Since: 2017.6 + * Since: 2018.6 */ OstreeRemote * ostree_remote_ref (OstreeRemote *remote) @@ -138,7 +138,7 @@ ostree_remote_ref (OstreeRemote *remote) * Decrease the reference count on the given @remote and free it if the * reference count reaches 0. * - * Since: 2017.6 + * Since: 2018.6 */ void ostree_remote_unref (OstreeRemote *remote) @@ -158,11 +158,9 @@ ostree_remote_unref (OstreeRemote *remote) } } -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API G_DEFINE_BOXED_TYPE(OstreeRemote, ostree_remote, ostree_remote_ref, ostree_remote_unref); -#endif /** * ostree_remote_get_name: @@ -173,7 +171,7 @@ G_DEFINE_BOXED_TYPE(OstreeRemote, ostree_remote, * arbitrary, string. * * Returns: remote’s name - * Since: 2017.7 + * Since: 2018.6 */ const gchar * ostree_remote_get_name (OstreeRemote *remote) @@ -191,7 +189,7 @@ ostree_remote_get_name (OstreeRemote *remote) * Get the URL from the remote. * * Returns: (transfer full): the remote's URL - * Since: 2017.14 + * Since: 2018.6 */ gchar * ostree_remote_get_url (OstreeRemote *remote) diff --git a/src/libostree/ostree-remote.h b/src/libostree/ostree-remote.h index 285f5900..a785b4e6 100644 --- a/src/libostree/ostree-remote.h +++ b/src/libostree/ostree-remote.h @@ -42,12 +42,8 @@ G_BEGIN_DECLS * remotes can only be passed around as (reference counted) opaque handles. In * future, more API may be added to create and interrogate them. * - * Since: 2017.6 + * Since: 2018.6 */ -#ifndef OSTREE_ENABLE_EXPERIMENTAL_API -/* This is in ostree-types.h otherwise */ -typedef struct OstreeRemote OstreeRemote; -#endif _OSTREE_PUBLIC GType ostree_remote_get_type (void) G_GNUC_CONST; diff --git a/src/libostree/ostree-repo-commit.c b/src/libostree/ostree-repo-commit.c index 86ee5e30..8285a1a0 100644 --- a/src/libostree/ostree-repo-commit.c +++ b/src/libostree/ostree-repo-commit.c @@ -1961,7 +1961,7 @@ ostree_repo_transaction_set_ref (OstreeRepo *self, * * Multithreading: Since v2017.15 this function is MT safe. * - * Since: 2017.8 + * Since: 2018.6 */ void ostree_repo_transaction_set_collection_ref (OstreeRepo *self, @@ -2045,7 +2045,7 @@ ostree_repo_set_alias_ref_immediate (OstreeRepo *self, * case where we're creating or overwriting an existing ref. * * Returns: %TRUE on success, %FALSE otherwise - * Since: 2017.8 + * Since: 2018.6 */ gboolean ostree_repo_set_collection_ref_immediate (OstreeRepo *self, diff --git a/src/libostree/ostree-repo-finder-avahi-parser.c b/src/libostree/ostree-repo-finder-avahi-parser.c index 0ca8253f..afc9790c 100644 --- a/src/libostree/ostree-repo-finder-avahi-parser.c +++ b/src/libostree/ostree-repo-finder-avahi-parser.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include "ostree-autocleanups.h" diff --git a/src/libostree/ostree-repo-finder-avahi.c b/src/libostree/ostree-repo-finder-avahi.c index 1e77a6e0..223d8f0a 100644 --- a/src/libostree/ostree-repo-finder-avahi.c +++ b/src/libostree/ostree-repo-finder-avahi.c @@ -36,7 +36,6 @@ #include #include #include -#include #include #include #endif /* HAVE_AVAHI */ @@ -44,6 +43,7 @@ #include #include #include +#include #include "ostree-autocleanups.h" #include "ostree-repo-finder.h" @@ -55,6 +55,7 @@ #include "ostree-repo-private.h" #include "ostree-repo.h" #include "ostree-repo-finder-avahi-private.h" +#include "ostree-soup-uri.h" #include "otutil.h" #endif /* HAVE_AVAHI */ @@ -98,7 +99,7 @@ * and the resolver is used to retrieve information about services advertised by * each peer, including the services’ TXT records. * - * Since: 2017.8 + * Since: 2018.6 */ #ifdef HAVE_AVAHI @@ -1363,7 +1364,7 @@ ostree_repo_finder_avahi_init (OstreeRepoFinderAvahi *self) * If @context is %NULL, the current thread-default #GMainContext is used. * * Returns: (transfer full): a new #OstreeRepoFinderAvahi - * Since: 2017.8 + * Since: 2018.6 */ OstreeRepoFinderAvahi * ostree_repo_finder_avahi_new (GMainContext *context) @@ -1412,7 +1413,7 @@ ostree_repo_finder_avahi_new (GMainContext *context) * #OstreeRepoFinderAvahi instance, or to call it after * ostree_repo_finder_avahi_stop(). * - * Since: 2017.8 + * Since: 2018.6 */ void ostree_repo_finder_avahi_start (OstreeRepoFinderAvahi *self, @@ -1494,7 +1495,7 @@ static gboolean stop_cb (gpointer user_data); * #OstreeRepoFinderAvahi instance, or to call it before * ostree_repo_finder_avahi_start(). * - * Since: 2017.8 + * Since: 2018.6 */ void ostree_repo_finder_avahi_stop (OstreeRepoFinderAvahi *self) diff --git a/src/libostree/ostree-repo-finder-config.c b/src/libostree/ostree-repo-finder-config.c index 5d1e1595..4366d72a 100644 --- a/src/libostree/ostree-repo-finder-config.c +++ b/src/libostree/ostree-repo-finder-config.c @@ -56,7 +56,7 @@ * intersection is non-empty, that remote is returned as a result. Remotes which * do not have their `collection-id` key configured are ignored. * - * Since: 2017.8 + * Since: 2018.6 */ static void ostree_repo_finder_config_iface_init (OstreeRepoFinderInterface *iface); @@ -234,7 +234,7 @@ ostree_repo_finder_config_iface_init (OstreeRepoFinderInterface *iface) * Create a new #OstreeRepoFinderConfig. * * Returns: (transfer full): a new #OstreeRepoFinderConfig - * Since: 2017.8 + * Since: 2018.6 */ OstreeRepoFinderConfig * ostree_repo_finder_config_new (void) diff --git a/src/libostree/ostree-repo-finder-mount.c b/src/libostree/ostree-repo-finder-mount.c index 09e85035..c259f3e6 100644 --- a/src/libostree/ostree-repo-finder-mount.c +++ b/src/libostree/ostree-repo-finder-mount.c @@ -68,7 +68,7 @@ * The volume monitor used to find mounted volumes can be overridden by setting * #OstreeRepoFinderMount:monitor. By default, g_volume_monitor_get() is used. * - * Since: 2017.8 + * Since: 2018.6 */ typedef GList/**/ ObjectList; @@ -649,7 +649,7 @@ ostree_repo_finder_mount_class_init (OstreeRepoFinderMountClass *klass) * * Volume monitor to use to look up mounted volumes when queried. * - * Since: 2017.8 + * Since: 2018.6 */ g_object_class_install_property (object_class, PROP_MONITOR, g_param_spec_object ("monitor", @@ -680,7 +680,7 @@ ostree_repo_finder_mount_iface_init (OstreeRepoFinderInterface *iface) * be used. * * Returns: (transfer full): a new #OstreeRepoFinderMount - * Since: 2017.8 + * Since: 2018.6 */ OstreeRepoFinderMount * ostree_repo_finder_mount_new (GVolumeMonitor *monitor) diff --git a/src/libostree/ostree-repo-finder-override.c b/src/libostree/ostree-repo-finder-override.c index 5bad9ace..32199546 100644 --- a/src/libostree/ostree-repo-finder-override.c +++ b/src/libostree/ostree-repo-finder-override.c @@ -61,7 +61,7 @@ * which uses #OstreeRepoFinder. For production use, #OstreeRepoFinderConfig is * recommended instead. * - * Since: 2017.13 + * Since: 2018.6 */ static void ostree_repo_finder_override_iface_init (OstreeRepoFinderInterface *iface); @@ -296,7 +296,7 @@ ostree_repo_finder_override_iface_init (OstreeRepoFinderInterface *iface) * Create a new #OstreeRepoFinderOverride. * * Returns: (transfer full): a new #OstreeRepoFinderOverride - * Since: 2017.13 + * Since: 2018.6 */ OstreeRepoFinderOverride * ostree_repo_finder_override_new (void) @@ -311,7 +311,7 @@ ostree_repo_finder_override_new (void) * Add the given @uri to the set of URIs which the repo finder will search for * matching refs when ostree_repo_finder_resolve_async() is called on it. * - * Since: 2017.13 + * Since: 2018.6 */ void ostree_repo_finder_override_add_uri (OstreeRepoFinderOverride *self, diff --git a/src/libostree/ostree-repo-finder.c b/src/libostree/ostree-repo-finder.c index e7943c3e..ed44ddca 100644 --- a/src/libostree/ostree-repo-finder.c +++ b/src/libostree/ostree-repo-finder.c @@ -27,6 +27,7 @@ #include #include #include +#include #include "ostree-autocleanups.h" #include "ostree-core.h" @@ -138,7 +139,7 @@ static void resolve_cb (GObject *obj, * Pass the results to ostree_repo_pull_from_remotes_async() to pull the given * @refs from those remotes. * - * Since: 2017.8 + * Since: 2018.6 */ void ostree_repo_finder_resolve_async (OstreeRepoFinder *self, @@ -196,7 +197,7 @@ resolve_cb (GObject *obj, * * Returns: (transfer full) (element-type OstreeRepoFinderResult): array of zero * or more results - * Since: 2017.8 + * Since: 2018.6 */ GPtrArray * ostree_repo_finder_resolve_finish (OstreeRepoFinder *self, @@ -254,7 +255,7 @@ static void resolve_all_finished_one (GTask *task); * A version of ostree_repo_finder_resolve_async() which queries one or more * @finders in parallel and combines the results. * - * Since: 2017.8 + * Since: 2018.6 */ void ostree_repo_finder_resolve_all_async (OstreeRepoFinder * const *finders, @@ -411,7 +412,7 @@ resolve_all_finished_one (GTask *task) * * Returns: (transfer full) (element-type OstreeRepoFinderResult): array of zero * or more results - * Since: 2017.8 + * Since: 2018.6 */ GPtrArray * ostree_repo_finder_resolve_all_finish (GAsyncResult *result, @@ -446,7 +447,7 @@ G_DEFINE_BOXED_TYPE (OstreeRepoFinderResult, ostree_repo_finder_result, * are as described in the #OstreeRepoFinderResult documentation. * * Returns: (transfer full): a new #OstreeRepoFinderResult - * Since: 2017.8 + * Since: 2018.6 */ OstreeRepoFinderResult * ostree_repo_finder_result_new (OstreeRemote *remote, @@ -480,7 +481,7 @@ ostree_repo_finder_result_new (OstreeRemote *remote, * Copy an #OstreeRepoFinderResult. * * Returns: (transfer full): a newly allocated copy of @result - * Since: 2017.8 + * Since: 2018.6 */ OstreeRepoFinderResult * ostree_repo_finder_result_dup (OstreeRepoFinderResult *result) @@ -502,7 +503,7 @@ ostree_repo_finder_result_dup (OstreeRepoFinderResult *result) * * Returns: <0 if @a is ordered before @b, 0 if they are ordered equally, * >0 if @b is ordered before @a - * Since: 2017.8 + * Since: 2018.6 */ gint ostree_repo_finder_result_compare (const OstreeRepoFinderResult *a, @@ -549,7 +550,7 @@ ostree_repo_finder_result_compare (const OstreeRepoFinderResult *a, * * Free the given @result. * - * Since: 2017.8 + * Since: 2018.6 */ void ostree_repo_finder_result_free (OstreeRepoFinderResult *result) @@ -571,7 +572,7 @@ ostree_repo_finder_result_free (OstreeRepoFinderResult *result) * * Free the given @results array, freeing each element and the container. * - * Since: 2017.8 + * Since: 2018.6 */ void ostree_repo_finder_result_freev (OstreeRepoFinderResult **results) diff --git a/src/libostree/ostree-repo-finder.h b/src/libostree/ostree-repo-finder.h index e622c9a6..7c9be300 100644 --- a/src/libostree/ostree-repo-finder.h +++ b/src/libostree/ostree-repo-finder.h @@ -133,7 +133,7 @@ GPtrArray *ostree_repo_finder_resolve_all_finish (GAsyncResult *result, * ostree_repo_find_remotes_async (2) there was an error in trying to get the * commit metadata (3) the checksum for this ref is %NULL in @ref_to_checksum. * - * Since: 2017.8 + * Since: 2018.6 */ typedef struct { @@ -176,7 +176,7 @@ void ostree_repo_finder_result_free (OstreeRepoFinderResult *result); * g_auto(OstreeRepoFinderResultv) results = NULL; * ]| * - * Since: 2017.8 + * Since: 2018.6 */ typedef OstreeRepoFinderResult** OstreeRepoFinderResultv; diff --git a/src/libostree/ostree-repo-private.h b/src/libostree/ostree-repo-private.h index 77203638..63aa451a 100644 --- a/src/libostree/ostree-repo-private.h +++ b/src/libostree/ostree-repo-private.h @@ -460,33 +460,4 @@ OstreeRepoAutoLock * _ostree_repo_auto_lock_push (OstreeRepo *self, void _ostree_repo_auto_lock_cleanup (OstreeRepoAutoLock *lock); G_DEFINE_AUTOPTR_CLEANUP_FUNC (OstreeRepoAutoLock, _ostree_repo_auto_lock_cleanup) -#ifndef OSTREE_ENABLE_EXPERIMENTAL_API - -/* These APIs are duplicated in the public headers when doing an - * experimental-API build. - */ -const gchar * ostree_repo_get_collection_id (OstreeRepo *self); -gboolean ostree_repo_set_collection_id (OstreeRepo *self, - const gchar *collection_id, - GError **error); - -gboolean ostree_repo_list_collection_refs (OstreeRepo *self, - const char *match_collection_id, - GHashTable **out_all_refs, - OstreeRepoListRefsExtFlags flags, - GCancellable *cancellable, - GError **error); - -void ostree_repo_transaction_set_collection_ref (OstreeRepo *self, - const OstreeCollectionRef *ref, - const char *checksum); - -gboolean ostree_repo_set_collection_ref_immediate (OstreeRepo *self, - const OstreeCollectionRef *ref, - const char *checksum, - GCancellable *cancellable, - GError **error); - -#endif /* !OSTREE_ENABLE_EXPERIMENTAL_API */ - G_END_DECLS diff --git a/src/libostree/ostree-repo-prune.c b/src/libostree/ostree-repo-prune.c index 4c883542..b93d35ac 100644 --- a/src/libostree/ostree-repo-prune.c +++ b/src/libostree/ostree-repo-prune.c @@ -301,6 +301,64 @@ repo_prune_internal (OstreeRepo *self, return TRUE; } +/** + * ostree_repo_traverse_reachable_refs: + * @self: Repo + * @depth: Depth of traversal + * @reachable: (element-type GVariant GVariant): Set of reachable objects (will be modified) + * @cancellable: Cancellable + * @error: Error + * + * Add all commit objects directly reachable via a ref to @reachable. + * + * Locking: shared + * Since: 2018.6 + */ +gboolean +ostree_repo_traverse_reachable_refs (OstreeRepo *self, + guint depth, + GHashTable *reachable, + GCancellable *cancellable, + GError **error) +{ + g_autoptr(OstreeRepoAutoLock) lock = + _ostree_repo_auto_lock_push (self, OSTREE_REPO_LOCK_SHARED, cancellable, error); + if (!lock) + return FALSE; + + /* Ignoring collections. */ + g_autoptr(GHashTable) all_refs = NULL; /* (element-type utf8 utf8) */ + + if (!ostree_repo_list_refs (self, NULL, &all_refs, + cancellable, error)) + return FALSE; + + GLNX_HASH_TABLE_FOREACH_V (all_refs, const char*, checksum) + { + g_debug ("Finding objects to keep for commit %s", checksum); + if (!ostree_repo_traverse_commit_union (self, checksum, depth, reachable, + cancellable, error)) + return FALSE; + } + + /* Using collections. */ + g_autoptr(GHashTable) all_collection_refs = NULL; /* (element-type OstreeChecksumRef utf8) */ + + if (!ostree_repo_list_collection_refs (self, NULL, &all_collection_refs, + OSTREE_REPO_LIST_REFS_EXT_EXCLUDE_REMOTES, cancellable, error)) + return FALSE; + + GLNX_HASH_TABLE_FOREACH_V (all_collection_refs, const char*, checksum) + { + g_debug ("Finding objects to keep for commit %s", checksum); + if (!ostree_repo_traverse_commit_union (self, checksum, depth, reachable, + cancellable, error)) + return FALSE; + } + + return TRUE; +} + /** * ostree_repo_prune: * @self: Repo @@ -355,35 +413,8 @@ ostree_repo_prune (OstreeRepo *self, if (refs_only) { - /* Ignoring collections. */ - g_autoptr(GHashTable) all_refs = NULL; /* (element-type utf8 utf8) */ - - if (!ostree_repo_list_refs (self, NULL, &all_refs, - cancellable, error)) + if (!ostree_repo_traverse_reachable_refs (self, depth, reachable, cancellable, error)) return FALSE; - - GLNX_HASH_TABLE_FOREACH_V (all_refs, const char*, checksum) - { - g_debug ("Finding objects to keep for commit %s", checksum); - if (!ostree_repo_traverse_commit_union (self, checksum, depth, reachable, - cancellable, error)) - return FALSE; - } - - /* Using collections. */ - g_autoptr(GHashTable) all_collection_refs = NULL; /* (element-type OstreeChecksumRef utf8) */ - - if (!ostree_repo_list_collection_refs (self, NULL, &all_collection_refs, - OSTREE_REPO_LIST_REFS_EXT_EXCLUDE_REMOTES, cancellable, error)) - return FALSE; - - GLNX_HASH_TABLE_FOREACH_V (all_collection_refs, const char*, checksum) - { - g_debug ("Finding objects to keep for commit %s", checksum); - if (!ostree_repo_traverse_commit_union (self, checksum, depth, reachable, - cancellable, error)) - return FALSE; - } } if (!ostree_repo_list_objects (self, OSTREE_REPO_LIST_OBJECTS_ALL | OSTREE_REPO_LIST_OBJECTS_NO_PARENTS, diff --git a/src/libostree/ostree-repo-pull.c b/src/libostree/ostree-repo-pull.c index f5745f86..9553272e 100644 --- a/src/libostree/ostree-repo-pull.c +++ b/src/libostree/ostree-repo-pull.c @@ -30,25 +30,23 @@ #include "ostree.h" #include "otutil.h" #include "ostree-repo-pull-private.h" +#include "ostree-repo-private.h" #ifdef HAVE_LIBCURL_OR_LIBSOUP #include "ostree-core-private.h" -#include "ostree-repo-private.h" #include "ostree-repo-static-delta-private.h" #include "ostree-metalink.h" #include "ostree-fetcher-util.h" #include "ostree-remote-private.h" #include "ot-fs-utils.h" -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API #include "ostree-repo-finder.h" #include "ostree-repo-finder-config.h" #include "ostree-repo-finder-mount.h" #ifdef HAVE_AVAHI #include "ostree-repo-finder-avahi.h" #endif /* HAVE_AVAHI */ -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ #include #include @@ -61,6 +59,12 @@ #define OSTREE_REPO_PULL_CONTENT_PRIORITY (OSTREE_FETCHER_DEFAULT_PRIORITY) #define OSTREE_REPO_PULL_METADATA_PRIORITY (OSTREE_REPO_PULL_CONTENT_PRIORITY - 100) +/* Arbitrarily chosen number of retries for all download operations when they + * receive a transient network error (such as a socket timeout) — see + * _ostree_fetcher_should_retry_request(). This is the default value for the + * `n-network-retries` pull option. */ +#define DEFAULT_N_NETWORK_RETRIES 5 + typedef enum { OSTREE_FETCHER_SECURITY_STATE_CA_PINNED, OSTREE_FETCHER_SECURITY_STATE_TLS, @@ -92,6 +96,7 @@ typedef struct { gboolean dry_run; gboolean dry_run_emitted_progress; gboolean legacy_transaction_resuming; + guint n_network_retries; enum { OSTREE_PULL_PHASE_FETCHING_REFS, OSTREE_PULL_PHASE_FETCHING_OBJECTS @@ -120,6 +125,7 @@ typedef struct { GHashTable *requested_fallback_content; /* Maps checksum to itself */ GHashTable *pending_fetch_metadata; /* Map */ GHashTable *pending_fetch_content; /* Map */ + GHashTable *pending_fetch_delta_superblocks; /* Set */ GHashTable *pending_fetch_deltaparts; /* Set */ guint n_outstanding_metadata_fetches; guint n_outstanding_metadata_write_requests; @@ -177,6 +183,7 @@ typedef struct { gboolean object_is_stored; OstreeCollectionRef *requested_ref; /* (nullable) */ + guint n_retries_remaining; } FetchObjectData; typedef struct { @@ -187,6 +194,7 @@ typedef struct { char *to_revision; guint i; guint64 size; + guint n_retries_remaining; } FetchStaticDeltaData; typedef struct { @@ -197,6 +205,14 @@ typedef struct { OstreeCollectionRef *requested_ref; /* (nullable) */ } ScanObjectQueueData; +typedef struct { + OtPullData *pull_data; + char *from_revision; + char *to_revision; + OstreeCollectionRef *requested_ref; /* (nullable) */ + guint n_retries_remaining; +} FetchDeltaSuperData; + static void variant_or_null_unref (gpointer data) { @@ -207,6 +223,8 @@ variant_or_null_unref (gpointer data) static void start_fetch (OtPullData *pull_data, FetchObjectData *fetch); static void start_fetch_deltapart (OtPullData *pull_data, FetchStaticDeltaData *fetch); +static void start_fetch_delta_superblock (OtPullData *pull_data, + FetchDeltaSuperData *fetch_data); static gboolean fetcher_queue_is_full (OtPullData *pull_data); static void queue_scan_one_metadata_object (OtPullData *pull_data, const char *csum, @@ -215,6 +233,8 @@ static void queue_scan_one_metadata_object (OtPullData *pull_data guint recursion_depth, const OstreeCollectionRef *ref); +static void queue_scan_one_metadata_object_s (OtPullData *pull_data, + ScanObjectQueueData *scan_data); static void queue_scan_one_metadata_object_c (OtPullData *pull_data, const guchar *csum, OstreeObjectType objtype, @@ -222,6 +242,13 @@ static void queue_scan_one_metadata_object_c (OtPullData *pull_da guint recursion_depth, const OstreeCollectionRef *ref); +static void enqueue_one_object_request_s (OtPullData *pull_data, + FetchObjectData *fetch_data); +static void enqueue_one_static_delta_superblock_request_s (OtPullData *pull_data, + FetchDeltaSuperData *fetch_data); +static void enqueue_one_static_delta_part_request_s (OtPullData *pull_data, + FetchStaticDeltaData *fetch_data); + static gboolean scan_one_metadata_object (OtPullData *pull_data, const char *checksum, OstreeObjectType objtype, @@ -375,6 +402,7 @@ check_outstanding_requests_handle_error (OtPullData *pull_data, g_queue_foreach (&pull_data->scan_object_queue, (GFunc) scan_object_queue_data_free, NULL); g_queue_clear (&pull_data->scan_object_queue); g_hash_table_remove_all (pull_data->pending_fetch_metadata); + g_hash_table_remove_all (pull_data->pending_fetch_delta_superblocks); g_hash_table_remove_all (pull_data->pending_fetch_deltaparts); g_hash_table_remove_all (pull_data->pending_fetch_content); } @@ -407,6 +435,16 @@ check_outstanding_requests_handle_error (OtPullData *pull_data, g_variant_unref (objname); } + /* Next, process delta superblock requests */ + g_hash_table_iter_init (&hiter, pull_data->pending_fetch_delta_superblocks); + while (!fetcher_queue_is_full (pull_data) && + g_hash_table_iter_next (&hiter, &key, &value)) + { + FetchDeltaSuperData *fetch = key; + g_hash_table_iter_steal (&hiter); + start_fetch_delta_superblock (pull_data, g_steal_pointer (&fetch)); + } + /* Now, process deltapart requests */ g_hash_table_iter_init (&hiter, pull_data->pending_fetch_deltaparts); while (!fetcher_queue_is_full (pull_data) && @@ -495,6 +533,8 @@ idle_worker (gpointer user_data) scan_one_metadata_object (pull_data, checksum, scan_data->objtype, scan_data->path, scan_data->recursion_depth, scan_data->requested_ref, pull_data->cancellable, &error); + + /* No need to retry scan tasks, since they’re local. */ check_outstanding_requests_handle_error (pull_data, &error); scan_object_queue_data_free (scan_data); @@ -525,6 +565,7 @@ static gboolean fetch_mirrored_uri_contents_utf8_sync (OstreeFetcher *fetcher, GPtrArray *mirrorlist, const char *filename, + guint n_network_retries, char **out_contents, GCancellable *cancellable, GError **error) @@ -532,6 +573,7 @@ fetch_mirrored_uri_contents_utf8_sync (OstreeFetcher *fetcher, g_autoptr(GBytes) bytes = NULL; if (!_ostree_fetcher_mirrored_request_to_membuf (fetcher, mirrorlist, filename, OSTREE_FETCHER_REQUEST_NUL_TERMINATION, + n_network_retries, &bytes, OSTREE_MAX_METADATA_SIZE, cancellable, error)) @@ -550,6 +592,7 @@ fetch_mirrored_uri_contents_utf8_sync (OstreeFetcher *fetcher, static gboolean fetch_uri_contents_utf8_sync (OstreeFetcher *fetcher, OstreeFetcherURI *uri, + guint n_network_retries, char **out_contents, GCancellable *cancellable, GError **error) @@ -557,7 +600,8 @@ fetch_uri_contents_utf8_sync (OstreeFetcher *fetcher, g_autoptr(GPtrArray) mirrorlist = g_ptr_array_new (); g_ptr_array_add (mirrorlist, uri); /* no transfer */ return fetch_mirrored_uri_contents_utf8_sync (fetcher, mirrorlist, - NULL, out_contents, + NULL, n_network_retries, + out_contents, cancellable, error); } @@ -711,6 +755,7 @@ on_local_object_imported (GObject *object, pull_data->n_imported_content++; g_assert_cmpint (pull_data->n_outstanding_content_write_requests, >, 0); pull_data->n_outstanding_content_write_requests--; + /* No retries for local reads. */ check_outstanding_requests_handle_error (pull_data, &local_error); } @@ -857,15 +902,11 @@ fetch_ref_contents (OtPullData *pull_data, if (pull_data->remote_repo_local != NULL && ref->collection_id != NULL) { -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API if (!ostree_repo_resolve_collection_ref (pull_data->remote_repo_local, ref, FALSE, OSTREE_REPO_RESOLVE_REV_EXT_NONE, &ret_contents, cancellable, error)) return FALSE; -#else /* if !OSTREE_ENABLE_EXPERIMENTAL_API */ - g_assert_not_reached (); -#endif /* !OSTREE_ENABLE_EXPERIMENTAL_API */ } else if (pull_data->remote_repo_local != NULL) { @@ -886,7 +927,8 @@ fetch_ref_contents (OtPullData *pull_data, if (!fetch_mirrored_uri_contents_utf8_sync (pull_data->fetcher, pull_data->meta_mirrorlist, - filename, &ret_contents, + filename, pull_data->n_network_retries, + &ret_contents, cancellable, error)) return FALSE; @@ -897,7 +939,7 @@ fetch_ref_contents (OtPullData *pull_data, if (!ostree_validate_checksum_string (ret_contents, error)) return glnx_prefix_error (error, "Fetching checksum for ref (%s, %s)", - ref->collection_id ? ref->collection_id : "(empty)", + ref->collection_id ?: "(empty)", ref->ref_name); ot_transfer_out_value (out_contents, &ret_contents); @@ -1010,6 +1052,7 @@ content_fetch_on_write_complete (GObject *object, pull_data->n_fetched_deltapart_fallbacks++; out: pull_data->n_outstanding_content_write_requests--; + /* No retries for local writes. */ check_outstanding_requests_handle_error (pull_data, &local_error); fetch_object_data_free (fetch_data); } @@ -1094,10 +1137,16 @@ content_fetch_on_complete (GObject *object, } out: + g_assert (pull_data->n_outstanding_content_fetches > 0); pull_data->n_outstanding_content_fetches--; - check_outstanding_requests_handle_error (pull_data, &local_error); + + if (_ostree_fetcher_should_retry_request (local_error, fetch_data->n_retries_remaining--)) + enqueue_one_object_request_s (pull_data, g_steal_pointer (&fetch_data)); + else + check_outstanding_requests_handle_error (pull_data, &local_error); + if (free_fetch_data) - fetch_object_data_free (fetch_data); + g_clear_pointer (&fetch_data, fetch_object_data_free); } static void @@ -1138,9 +1187,11 @@ on_metadata_written (GObject *object, queue_scan_one_metadata_object_c (pull_data, csum, objtype, fetch_data->path, 0, fetch_data->requested_ref); out: + g_assert (pull_data->n_outstanding_metadata_write_requests > 0); pull_data->n_outstanding_metadata_write_requests--; fetch_object_data_free (fetch_data); + /* No need to retry local write operations. */ check_outstanding_requests_handle_error (pull_data, &local_error); } @@ -1278,10 +1329,17 @@ meta_fetch_on_complete (GObject *object, out: g_assert (pull_data->n_outstanding_metadata_fetches > 0); pull_data->n_outstanding_metadata_fetches--; - pull_data->n_fetched_metadata++; - check_outstanding_requests_handle_error (pull_data, &local_error); + + if (local_error == NULL) + pull_data->n_fetched_metadata++; + + if (_ostree_fetcher_should_retry_request (local_error, fetch_data->n_retries_remaining--)) + enqueue_one_object_request_s (pull_data, g_steal_pointer (&fetch_data)); + else + check_outstanding_requests_handle_error (pull_data, &local_error); + if (free_fetch_data) - fetch_object_data_free (fetch_data); + g_clear_pointer (&fetch_data, fetch_object_data_free); } static void @@ -1313,6 +1371,7 @@ on_static_delta_written (GObject *object, out: g_assert (pull_data->n_outstanding_deltapart_write_requests > 0); pull_data->n_outstanding_deltapart_write_requests--; + /* No need to retry on failure to write locally. */ check_outstanding_requests_handle_error (pull_data, &local_error); /* Always free state */ fetch_static_delta_data_free (fetch_data); @@ -1358,10 +1417,17 @@ static_deltapart_fetch_on_complete (GObject *object, out: g_assert (pull_data->n_outstanding_deltapart_fetches > 0); pull_data->n_outstanding_deltapart_fetches--; - pull_data->n_fetched_deltaparts++; - check_outstanding_requests_handle_error (pull_data, &local_error); + + if (local_error == NULL) + pull_data->n_fetched_deltaparts++; + + if (_ostree_fetcher_should_retry_request (local_error, fetch_data->n_retries_remaining--)) + enqueue_one_static_delta_part_request_s (pull_data, g_steal_pointer (&fetch_data)); + else + check_outstanding_requests_handle_error (pull_data, &local_error); + if (free_fetch_data) - fetch_static_delta_data_free (fetch_data); + g_clear_pointer (&fetch_data, fetch_static_delta_data_free); } static gboolean @@ -1428,51 +1494,6 @@ commitstate_is_partial (OtPullData *pull_data, || (commitstate & OSTREE_REPO_COMMIT_STATE_PARTIAL) > 0; } -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API -/* Reads the collection-id of a given remote from the repo - * configuration. - */ -static char * -get_real_remote_repo_collection_id (OstreeRepo *repo, - const gchar *remote_name) -{ - /* remote_name == NULL can happen for pull-local */ - if (!remote_name) - return NULL; - - g_autofree gchar *remote_collection_id = NULL; - if (!ostree_repo_get_remote_option (repo, remote_name, "collection-id", NULL, - &remote_collection_id, NULL) || - (remote_collection_id == NULL) || - (remote_collection_id[0] == '\0')) - return NULL; - - return g_steal_pointer (&remote_collection_id); -} - -/* Reads the collection-id of the remote repo. Where it will be read - * from depends on whether we pull from the "local" remote repo (the - * "file://" URL) or "remote" remote repo (likely the "http(s)://" - * URL). - */ -static char * -get_remote_repo_collection_id (OtPullData *pull_data) -{ - if (pull_data->remote_repo_local != NULL) - { - const char *remote_collection_id = - ostree_repo_get_collection_id (pull_data->remote_repo_local); - if ((remote_collection_id == NULL) || - (remote_collection_id[0] == '\0')) - return NULL; - return g_strdup (remote_collection_id); - } - - return get_real_remote_repo_collection_id (pull_data->repo, - pull_data->remote_name); -} -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ - #endif /* HAVE_LIBCURL_OR_LIBSOUP */ /** @@ -1559,7 +1580,6 @@ _ostree_repo_verify_bindings (const char *collection_id, if (collection_id != NULL) { -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API const char *collection_id_binding; if (!g_variant_lookup (metadata, OSTREE_COMMIT_META_KEY_COLLECTION_BINDING, @@ -1574,12 +1594,165 @@ _ostree_repo_verify_bindings (const char *collection_id, "metadata, while the remote it came from has " "collection ID ‘%s’", collection_id_binding, collection_id); -#endif } return TRUE; } +/* Reads the collection-id of a given remote from the repo + * configuration. + */ +static char * +get_real_remote_repo_collection_id (OstreeRepo *repo, + const gchar *remote_name) +{ + /* remote_name == NULL can happen for pull-local */ + if (!remote_name) + return NULL; + + g_autofree gchar *remote_collection_id = NULL; + if (!ostree_repo_get_remote_option (repo, remote_name, "collection-id", NULL, + &remote_collection_id, NULL) || + (remote_collection_id == NULL) || + (remote_collection_id[0] == '\0')) + return NULL; + + return g_steal_pointer (&remote_collection_id); +} + +#ifdef HAVE_LIBCURL_OR_LIBSOUP + +/* Reads the collection-id of the remote repo. Where it will be read + * from depends on whether we pull from the "local" remote repo (the + * "file://" URL) or "remote" remote repo (likely the "http(s)://" + * URL). + */ +static char * +get_remote_repo_collection_id (OtPullData *pull_data) +{ + if (pull_data->remote_repo_local != NULL) + { + const char *remote_collection_id = + ostree_repo_get_collection_id (pull_data->remote_repo_local); + if ((remote_collection_id == NULL) || + (remote_collection_id[0] == '\0')) + return NULL; + return g_strdup (remote_collection_id); + } + + return get_real_remote_repo_collection_id (pull_data->repo, + pull_data->remote_name); +} + +#endif /* HAVE_LIBCURL_OR_LIBSOUP */ + +/* Check whether the given remote exists, has a `collection-id` key set, and it + * equals @collection_id. If so, return %TRUE. Otherwise, %FALSE. */ +static gboolean +check_remote_matches_collection_id (OstreeRepo *repo, + const gchar *remote_name, + const gchar *collection_id) +{ + g_autofree gchar *remote_collection_id = NULL; + + remote_collection_id = get_real_remote_repo_collection_id (repo, remote_name); + if (remote_collection_id == NULL) + return FALSE; + + return g_str_equal (remote_collection_id, collection_id); +} + +/** + * ostree_repo_resolve_keyring_for_collection: + * @self: an #OstreeRepo + * @collection_id: the collection ID to look up a keyring for + * @cancellable: (nullable): a #GCancellable, or %NULL + * @error: return location for a #GError, or %NULL + * + * Find the GPG keyring for the given @collection_id, using the local + * configuration from the given #OstreeRepo. This will search the configured + * remotes for ones whose `collection-id` key matches @collection_id, and will + * return the first matching remote. + * + * If multiple remotes match and have different keyrings, a debug message will + * be emitted, and the first result will be returned. It is expected that the + * keyrings should match. + * + * If no match can be found, a %G_IO_ERROR_NOT_FOUND error will be returned. + * + * Returns: (transfer full): #OstreeRemote containing the GPG keyring for + * @collection_id + * Since: 2018.6 + */ +OstreeRemote * +ostree_repo_resolve_keyring_for_collection (OstreeRepo *self, + const gchar *collection_id, + GCancellable *cancellable, + GError **error) +{ + gsize i; + g_auto(GStrv) remotes = NULL; + g_autoptr(OstreeRemote) keyring_remote = NULL; + + g_return_val_if_fail (OSTREE_IS_REPO (self), NULL); + g_return_val_if_fail (ostree_validate_collection_id (collection_id, NULL), NULL); + g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), NULL); + g_return_val_if_fail (error == NULL || *error == NULL, NULL); + + /* Look through all the currently configured remotes for the given collection. */ + remotes = ostree_repo_remote_list (self, NULL); + + for (i = 0; remotes != NULL && remotes[i] != NULL; i++) + { + g_autoptr(GError) local_error = NULL; + + if (!check_remote_matches_collection_id (self, remotes[i], collection_id)) + continue; + + if (keyring_remote == NULL) + { + g_debug ("%s: Found match for collection ‘%s’ in remote ‘%s’.", + G_STRFUNC, collection_id, remotes[i]); + keyring_remote = _ostree_repo_get_remote_inherited (self, remotes[i], &local_error); + + if (keyring_remote == NULL) + { + g_debug ("%s: Error loading remote ‘%s’: %s", + G_STRFUNC, remotes[i], local_error->message); + continue; + } + + if (g_strcmp0 (keyring_remote->keyring, "") == 0 || + g_strcmp0 (keyring_remote->keyring, "/dev/null") == 0) + { + g_debug ("%s: Ignoring remote ‘%s’ as it has no keyring configured.", + G_STRFUNC, remotes[i]); + g_clear_object (&keyring_remote); + continue; + } + + /* continue so we can catch duplicates */ + } + else + { + g_debug ("%s: Duplicate keyring for collection ‘%s’ in remote ‘%s’." + "Keyring will be loaded from remote ‘%s’.", + G_STRFUNC, collection_id, remotes[i], + keyring_remote->name); + } + } + + if (keyring_remote != NULL) + return g_steal_pointer (&keyring_remote); + else + { + g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND, + "No keyring found configured locally for collection ‘%s’", + collection_id); + return NULL; + } +} + #ifdef HAVE_LIBCURL_OR_LIBSOUP /* Look at a commit object, and determine whether there are @@ -1637,9 +1810,7 @@ scan_commit_object (OtPullData *pull_data, * branch, otherwise we requested a commit checksum without specifying a branch. */ g_autofree char *remote_collection_id = NULL; -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API remote_collection_id = get_remote_repo_collection_id (pull_data); -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ if (!_ostree_repo_verify_bindings (remote_collection_id, (ref != NULL) ? ref->ref_name : NULL, commit, error)) @@ -1764,6 +1935,14 @@ queue_scan_one_metadata_object (OtPullData *pull_data, queue_scan_one_metadata_object_c (pull_data, buf, objtype, path, recursion_depth, ref); } +static void +queue_scan_one_metadata_object_s (OtPullData *pull_data, + ScanObjectQueueData *scan_data) +{ + g_queue_push_tail (&pull_data->scan_object_queue, scan_data); + ensure_idle_queued (pull_data); +} + static void queue_scan_one_metadata_object_c (OtPullData *pull_data, const guchar *csum, @@ -1780,8 +1959,7 @@ queue_scan_one_metadata_object_c (OtPullData *pull_data, scan_data->recursion_depth = recursion_depth; scan_data->requested_ref = (ref != NULL) ? ostree_collection_ref_dup (ref) : NULL; - g_queue_push_tail (&pull_data->scan_object_queue, scan_data); - ensure_idle_queued (pull_data); + queue_scan_one_metadata_object_s (pull_data, g_steal_pointer (&scan_data)); } /* Called out of the main loop to look at metadata objects which can have @@ -1908,43 +2086,25 @@ scan_one_metadata_object (OtPullData *pull_data, } static void -enqueue_one_object_request (OtPullData *pull_data, - const char *checksum, - OstreeObjectType objtype, - const char *path, - gboolean is_detached_meta, - gboolean object_is_stored, - const OstreeCollectionRef *ref) +enqueue_one_object_request_s (OtPullData *pull_data, + FetchObjectData *fetch_data) { - gboolean is_meta; - FetchObjectData *fetch_data; + const char *checksum; + OstreeObjectType objtype; - is_meta = OSTREE_OBJECT_TYPE_IS_META (objtype); - - fetch_data = g_new0 (FetchObjectData, 1); - fetch_data->pull_data = pull_data; - fetch_data->object = ostree_object_name_serialize (checksum, objtype); - fetch_data->path = g_strdup (path); - fetch_data->is_detached_meta = is_detached_meta; - fetch_data->object_is_stored = object_is_stored; - fetch_data->requested_ref = (ref != NULL) ? ostree_collection_ref_dup (ref) : NULL; - - if (is_meta) - pull_data->n_requested_metadata++; - else - pull_data->n_requested_content++; + ostree_object_name_deserialize (fetch_data->object, &checksum, &objtype); + gboolean is_meta = OSTREE_OBJECT_TYPE_IS_META (objtype); /* Are too many requests are in flight? */ if (fetcher_queue_is_full (pull_data)) { g_debug ("queuing fetch of %s.%s%s", checksum, ostree_object_type_to_string (objtype), - is_detached_meta ? " (detached)" : ""); + fetch_data->is_detached_meta ? " (detached)" : ""); if (is_meta) { - GVariant *objname = ostree_object_name_serialize (checksum, objtype); - g_hash_table_insert (pull_data->pending_fetch_metadata, objname, fetch_data); + g_hash_table_insert (pull_data->pending_fetch_metadata, g_variant_ref (fetch_data->object), fetch_data); } else { @@ -1957,6 +2117,34 @@ enqueue_one_object_request (OtPullData *pull_data, } } +static void +enqueue_one_object_request (OtPullData *pull_data, + const char *checksum, + OstreeObjectType objtype, + const char *path, + gboolean is_detached_meta, + gboolean object_is_stored, + const OstreeCollectionRef *ref) +{ + FetchObjectData *fetch_data; + + fetch_data = g_new0 (FetchObjectData, 1); + fetch_data->pull_data = pull_data; + fetch_data->object = ostree_object_name_serialize (checksum, objtype); + fetch_data->path = g_strdup (path); + fetch_data->is_detached_meta = is_detached_meta; + fetch_data->object_is_stored = object_is_stored; + fetch_data->requested_ref = (ref != NULL) ? ostree_collection_ref_dup (ref) : NULL; + fetch_data->n_retries_remaining = pull_data->n_network_retries; + + if (OSTREE_OBJECT_TYPE_IS_META (objtype)) + pull_data->n_requested_metadata++; + else + pull_data->n_requested_content++; + + enqueue_one_object_request_s (pull_data, g_steal_pointer (&fetch_data)); +} + static void start_fetch (OtPullData *pull_data, FetchObjectData *fetch) @@ -2029,8 +2217,8 @@ load_remote_repo_config (OtPullData *pull_data, if (!fetch_mirrored_uri_contents_utf8_sync (pull_data->fetcher, pull_data->meta_mirrorlist, - "config", &contents, - cancellable, error)) + "config", pull_data->n_network_retries, + &contents, cancellable, error)) return FALSE; g_autoptr(GKeyFile) ret_keyfile = g_key_file_new (); @@ -2108,6 +2296,24 @@ process_one_static_delta_fallback (OtPullData *pull_data, return TRUE; } +static void +enqueue_one_static_delta_part_request_s (OtPullData *pull_data, + FetchStaticDeltaData *fetch_data) +{ + if (fetcher_queue_is_full (pull_data)) + { + g_debug ("queuing fetch of static delta %s-%s part %u", + fetch_data->from_revision ?: "empty", + fetch_data->to_revision, fetch_data->i); + + g_hash_table_add (pull_data->pending_fetch_deltaparts, fetch_data); + } + else + { + start_fetch_deltapart (pull_data, fetch_data); + } +} + static void start_fetch_deltapart (OtPullData *pull_data, FetchStaticDeltaData *fetch) @@ -2194,6 +2400,7 @@ process_one_static_delta (OtPullData *pull_data, fetch_data->is_detached_meta = FALSE; fetch_data->object_is_stored = FALSE; fetch_data->requested_ref = (ref != NULL) ? ostree_collection_ref_dup (ref) : NULL; + fetch_data->n_retries_remaining = pull_data->n_network_retries; ostree_repo_write_metadata_async (pull_data->repo, OSTREE_OBJECT_TYPE_COMMIT, to_checksum, to_commit, @@ -2240,7 +2447,7 @@ process_one_static_delta (OtPullData *pull_data, if (have_all) { g_debug ("Have all objects from static delta %s-%s part %u", - from_revision ? from_revision : "empty", to_revision, + from_revision ?: "empty", to_revision, i); pull_data->fetched_deltapart_size += size; pull_data->n_fetched_deltaparts++; @@ -2267,6 +2474,7 @@ process_one_static_delta (OtPullData *pull_data, fetch_data->expected_checksum = ostree_checksum_from_bytes_v (csum_v); fetch_data->size = size; fetch_data->i = i; + fetch_data->n_retries_remaining = pull_data->n_network_retries; if (inline_part_bytes != NULL) { @@ -2290,12 +2498,7 @@ process_one_static_delta (OtPullData *pull_data, } else { - if (!fetcher_queue_is_full (pull_data)) - start_fetch_deltapart (pull_data, fetch_data); - else - { - g_hash_table_add (pull_data->pending_fetch_deltaparts, fetch_data); - } + enqueue_one_static_delta_part_request_s (pull_data, g_steal_pointer (&fetch_data)); } } @@ -2455,12 +2658,15 @@ get_best_static_delta_start_for (OtPullData *pull_data, return TRUE; } -typedef struct { - OtPullData *pull_data; - char *from_revision; - char *to_revision; - OstreeCollectionRef *requested_ref; /* (nullable) */ -} FetchDeltaSuperData; +static void +fetch_delta_super_data_free (FetchDeltaSuperData *fetch_data) +{ + g_free (fetch_data->from_revision); + g_free (fetch_data->to_revision); + if (fetch_data->requested_ref) + ostree_collection_ref_free (fetch_data->requested_ref); + g_free (fetch_data); +} static void set_required_deltas_error (GError **error, @@ -2478,13 +2684,13 @@ on_superblock_fetched (GObject *src, gpointer data) { - FetchDeltaSuperData *fdata = data; - OtPullData *pull_data = fdata->pull_data; + FetchDeltaSuperData *fetch_data = data; + OtPullData *pull_data = fetch_data->pull_data; g_autoptr(GError) local_error = NULL; GError **error = &local_error; g_autoptr(GBytes) delta_superblock_data = NULL; - const char *from_revision = fdata->from_revision; - const char *to_revision = fdata->to_revision; + const char *from_revision = fetch_data->from_revision; + const char *to_revision = fetch_data->to_revision; if (!_ostree_fetcher_request_to_membuf_finish ((OstreeFetcher*)src, res, @@ -2501,12 +2707,12 @@ on_superblock_fetched (GObject *src, goto out; } - queue_scan_one_metadata_object (pull_data, to_revision, OSTREE_OBJECT_TYPE_COMMIT, NULL, 0, fdata->requested_ref); + queue_scan_one_metadata_object (pull_data, to_revision, OSTREE_OBJECT_TYPE_COMMIT, NULL, 0, fetch_data->requested_ref); } else { g_autoptr(GVariant) delta_superblock = NULL; - g_autofree gchar *delta = g_strconcat (from_revision ? from_revision : "", from_revision ? "-" : "", to_revision, NULL); + g_autofree gchar *delta = g_strconcat (from_revision ?: "", from_revision ? "-" : "", to_revision, NULL); const guchar *expected_summary_digest = g_hash_table_lookup (pull_data->summary_deltas_checksums, delta); guint8 actual_summary_digest[OSTREE_SHA256_DIGEST_LEN]; @@ -2536,21 +2742,78 @@ on_superblock_fetched (GObject *src, delta_superblock_data, FALSE)); g_ptr_array_add (pull_data->static_delta_superblocks, g_variant_ref (delta_superblock)); - if (!process_one_static_delta (pull_data, from_revision, to_revision, delta_superblock, fdata->requested_ref, + if (!process_one_static_delta (pull_data, from_revision, to_revision, delta_superblock, fetch_data->requested_ref, pull_data->cancellable, error)) goto out; } out: - g_free (fdata->from_revision); - g_free (fdata->to_revision); - if (fdata->requested_ref) - ostree_collection_ref_free (fdata->requested_ref); - g_free (fdata); g_assert (pull_data->n_outstanding_metadata_fetches > 0); pull_data->n_outstanding_metadata_fetches--; - pull_data->n_fetched_metadata++; - check_outstanding_requests_handle_error (pull_data, &local_error); + + if (local_error == NULL) + pull_data->n_fetched_metadata++; + + if (_ostree_fetcher_should_retry_request (local_error, fetch_data->n_retries_remaining--)) + enqueue_one_static_delta_superblock_request_s (pull_data, g_steal_pointer (&fetch_data)); + else + check_outstanding_requests_handle_error (pull_data, &local_error); + + g_clear_pointer (&fetch_data, fetch_delta_super_data_free); +} + +static void +start_fetch_delta_superblock (OtPullData *pull_data, + FetchDeltaSuperData *fetch_data) +{ + g_autofree char *delta_name = + _ostree_get_relative_static_delta_superblock_path (fetch_data->from_revision, + fetch_data->to_revision); + _ostree_fetcher_request_to_membuf (pull_data->fetcher, + pull_data->content_mirrorlist, + delta_name, OSTREE_FETCHER_REQUEST_OPTIONAL_CONTENT, + OSTREE_MAX_METADATA_SIZE, + 0, pull_data->cancellable, + on_superblock_fetched, + g_steal_pointer (&fetch_data)); + pull_data->n_outstanding_metadata_fetches++; + pull_data->n_requested_metadata++; +} + +static void +enqueue_one_static_delta_superblock_request_s (OtPullData *pull_data, + FetchDeltaSuperData *fetch_data) +{ + if (fetcher_queue_is_full (pull_data)) + { + g_debug ("queuing fetch of static delta superblock %s-%s", + fetch_data->from_revision ?: "empty", + fetch_data->to_revision); + + g_hash_table_add (pull_data->pending_fetch_delta_superblocks, + g_steal_pointer (&fetch_data)); + } + else + { + start_fetch_delta_superblock (pull_data, g_steal_pointer (&fetch_data)); + } +} + +/* Start a request for a static delta */ +static void +enqueue_one_static_delta_superblock_request (OtPullData *pull_data, + const char *from_revision, + const char *to_revision, + const OstreeCollectionRef *ref) +{ + FetchDeltaSuperData *fdata = g_new0(FetchDeltaSuperData, 1); + fdata->pull_data = pull_data; + fdata->from_revision = g_strdup (from_revision); + fdata->to_revision = g_strdup (to_revision); + fdata->requested_ref = (ref != NULL) ? ostree_collection_ref_dup (ref) : NULL; + fdata->n_retries_remaining = pull_data->n_network_retries; + + enqueue_one_static_delta_superblock_request_s (pull_data, g_steal_pointer (&fdata)); } static gboolean @@ -2780,6 +3043,7 @@ _ostree_preload_metadata_file (OstreeRepo *self, GPtrArray *mirrorlist, const char *filename, gboolean is_metalink, + guint n_network_retries, GBytes **out_bytes, GCancellable *cancellable, GError **error) @@ -2793,7 +3057,7 @@ _ostree_preload_metadata_file (OstreeRepo *self, g_autoptr(OstreeMetalink) metalink = _ostree_metalink_new (fetcher, filename, OSTREE_MAX_METADATA_SIZE, - mirrorlist->pdata[0]); + mirrorlist->pdata[0], n_network_retries); _ostree_metalink_request_sync (metalink, NULL, out_bytes, cancellable, &local_error); @@ -2815,6 +3079,7 @@ _ostree_preload_metadata_file (OstreeRepo *self, { return _ostree_fetcher_mirrored_request_to_membuf (fetcher, mirrorlist, filename, OSTREE_FETCHER_REQUEST_OPTIONAL_CONTENT, + n_network_retries, out_bytes, OSTREE_MAX_METADATA_SIZE, cancellable, error); } @@ -2823,6 +3088,7 @@ _ostree_preload_metadata_file (OstreeRepo *self, static gboolean fetch_mirrorlist (OstreeFetcher *fetcher, const char *mirrorlist_url, + guint n_network_retries, GPtrArray **out_mirrorlist, GCancellable *cancellable, GError **error) @@ -2835,8 +3101,8 @@ fetch_mirrorlist (OstreeFetcher *fetcher, return FALSE; g_autofree char *contents = NULL; - if (!fetch_uri_contents_utf8_sync (fetcher, mirrorlist, &contents, - cancellable, error)) + if (!fetch_uri_contents_utf8_sync (fetcher, mirrorlist, n_network_retries, + &contents, cancellable, error)) return glnx_prefix_error (error, "While fetching mirrorlist '%s'", mirrorlist_url); @@ -2882,8 +3148,8 @@ fetch_mirrorlist (OstreeFetcher *fetcher, GError *local_error = NULL; g_autoptr(OstreeFetcherURI) config_uri = _ostree_fetcher_uri_new_subpath (mirror_uri, "config"); - if (fetch_uri_contents_utf8_sync (fetcher, config_uri, NULL, - cancellable, &local_error)) + if (fetch_uri_contents_utf8_sync (fetcher, config_uri, n_network_retries, + NULL, cancellable, &local_error)) g_ptr_array_add (ret_mirrorlist, g_steal_pointer (&mirror_uri)); else { @@ -2925,12 +3191,14 @@ repo_remote_fetch_summary (OstreeRepo *self, g_autoptr(GVariant) extra_headers = NULL; g_autoptr(GPtrArray) mirrorlist = NULL; const char *append_user_agent = NULL; + guint n_network_retries = DEFAULT_N_NETWORK_RETRIES; if (options) { (void) g_variant_lookup (options, "override-url", "&s", &url_override); (void) g_variant_lookup (options, "http-headers", "@a(ss)", &extra_headers); (void) g_variant_lookup (options, "append-user-agent", "&s", &append_user_agent); + (void) g_variant_lookup (options, "n-network-retries", "&u", &n_network_retries); } mainctx = g_main_context_new (); @@ -2959,7 +3227,7 @@ repo_remote_fetch_summary (OstreeRepo *self, g_str_has_prefix (url_string, "mirrorlist=")) { if (!fetch_mirrorlist (fetcher, url_string + strlen ("mirrorlist="), - &mirrorlist, cancellable, error)) + n_network_retries, &mirrorlist, cancellable, error)) goto out; } else @@ -2985,6 +3253,7 @@ repo_remote_fetch_summary (OstreeRepo *self, mirrorlist, "summary.sig", metalink_url_string ? TRUE : FALSE, + n_network_retries, out_signatures, cancellable, error)) @@ -3010,6 +3279,7 @@ repo_remote_fetch_summary (OstreeRepo *self, mirrorlist, "summary", metalink_url_string ? TRUE : FALSE, + n_network_retries, out_summary, cancellable, error)) @@ -3049,31 +3319,6 @@ reinitialize_fetcher (OtPullData *pull_data, const char *remote_name, return TRUE; } -/* Start a request for a static delta */ -static void -initiate_delta_request (OtPullData *pull_data, - const char *from_revision, - const char *to_revision, - const OstreeCollectionRef *ref) -{ - g_autofree char *delta_name = - _ostree_get_relative_static_delta_superblock_path (from_revision, to_revision); - FetchDeltaSuperData *fdata = g_new0(FetchDeltaSuperData, 1); - fdata->pull_data = pull_data; - fdata->from_revision = g_strdup (from_revision); - fdata->to_revision = g_strdup (to_revision); - fdata->requested_ref = (ref != NULL) ? ostree_collection_ref_dup (ref) : NULL; - - _ostree_fetcher_request_to_membuf (pull_data->fetcher, - pull_data->content_mirrorlist, - delta_name, OSTREE_FETCHER_REQUEST_OPTIONAL_CONTENT, - OSTREE_MAX_METADATA_SIZE, - 0, pull_data->cancellable, - on_superblock_fetched, fdata); - pull_data->n_outstanding_metadata_fetches++; - pull_data->n_requested_metadata++; -} - /* * initiate_request: * @ref: Optional ref name and collection ID @@ -3124,10 +3369,10 @@ initiate_request (OtPullData *pull_data, } break; case DELTA_SEARCH_RESULT_FROM: - initiate_delta_request (pull_data, deltares.from_revision, to_revision, ref); + enqueue_one_static_delta_superblock_request (pull_data, deltares.from_revision, to_revision, ref); break; case DELTA_SEARCH_RESULT_SCRATCH: - initiate_delta_request (pull_data, NULL, to_revision, ref); + enqueue_one_static_delta_superblock_request (pull_data, NULL, to_revision, ref); break; case DELTA_SEARCH_RESULT_UNCHANGED: { @@ -3151,7 +3396,7 @@ initiate_request (OtPullData *pull_data, if (pull_data->remote_name != NULL) refspec = g_strdup_printf ("%s:%s", pull_data->remote_name, ref->ref_name); if (!ostree_repo_resolve_rev (pull_data->repo, - (refspec != NULL) ? refspec : ref->ref_name, TRUE, + refspec ?: ref->ref_name, TRUE, &delta_from_revision, error)) return FALSE; @@ -3179,14 +3424,14 @@ initiate_request (OtPullData *pull_data, if (delta_from_revision && g_str_equal (delta_from_revision, to_revision)) queue_scan_one_metadata_object (pull_data, to_revision, OSTREE_OBJECT_TYPE_COMMIT, NULL, 0, ref); else - initiate_delta_request (pull_data, delta_from_revision ?: NULL, to_revision, ref); + enqueue_one_static_delta_superblock_request (pull_data, delta_from_revision ?: NULL, to_revision, ref); } else { /* Legacy path without a summary file - let's try a scratch delta, if that * doesn't work, it'll drop down to object requests. */ - initiate_delta_request (pull_data, NULL, to_revision, NULL); + enqueue_one_static_delta_superblock_request (pull_data, NULL, to_revision, NULL); } return TRUE; @@ -3232,6 +3477,9 @@ initiate_request (OtPullData *pull_data, * * update-frequency (u): Frequency to call the async progress callback in milliseconds, if any; only values higher than 0 are valid * * localcache-repos (as): File paths for local repos to use as caches when doing remote fetches * * append-user-agent (s): Additional string to append to the user agent + * * n-network-retries (u): Number of times to retry each download on receiving + * a transient network error, such as a socket timeout; default is 5, 0 + * means return errors without retrying */ gboolean ostree_repo_pull_with_options (OstreeRepo *self, @@ -3265,6 +3513,7 @@ ostree_repo_pull_with_options (OstreeRepo *self, gboolean opt_gpg_verify_set = FALSE; gboolean opt_gpg_verify_summary_set = FALSE; gboolean opt_collection_refs_set = FALSE; + gboolean opt_n_network_retries_set = FALSE; const char *main_collection_id = NULL; const char *url_override = NULL; gboolean inherit_transaction = FALSE; @@ -3304,6 +3553,8 @@ ostree_repo_pull_with_options (OstreeRepo *self, (void) g_variant_lookup (options, "localcache-repos", "^a&s", &opt_localcache_repos); (void) g_variant_lookup (options, "timestamp-check", "b", &pull_data->timestamp_check); (void) g_variant_lookup (options, "append-user-agent", "s", &pull_data->append_user_agent); + opt_n_network_retries_set = + g_variant_lookup (options, "n-network-retries", "u", &pull_data->n_network_retries); if (pull_data->remote_refspec_name != NULL) pull_data->remote_name = g_strdup (pull_data->remote_refspec_name); @@ -3344,6 +3595,9 @@ ostree_repo_pull_with_options (OstreeRepo *self, pull_data->main_context = g_main_context_ref_thread_default (); pull_data->flags = flags; + if (!opt_n_network_retries_set) + pull_data->n_network_retries = DEFAULT_N_NETWORK_RETRIES; + pull_data->repo = self; pull_data->progress = progress; @@ -3377,6 +3631,7 @@ ostree_repo_pull_with_options (OstreeRepo *self, pull_data->pending_fetch_metadata = g_hash_table_new_full (ostree_hash_object_name, g_variant_equal, (GDestroyNotify)g_variant_unref, (GDestroyNotify)fetch_object_data_free); + pull_data->pending_fetch_delta_superblocks = g_hash_table_new_full (NULL, NULL, (GDestroyNotify) fetch_delta_super_data_free, NULL); pull_data->pending_fetch_deltaparts = g_hash_table_new_full (NULL, NULL, (GDestroyNotify)fetch_static_delta_data_free, NULL); if (opt_localcache_repos && *opt_localcache_repos) @@ -3489,6 +3744,7 @@ ostree_repo_pull_with_options (OstreeRepo *self, { if (!fetch_mirrorlist (pull_data->fetcher, baseurl + strlen ("mirrorlist="), + pull_data->n_network_retries, &pull_data->meta_mirrorlist, cancellable, error)) goto out; @@ -3515,7 +3771,8 @@ ostree_repo_pull_with_options (OstreeRepo *self, goto out; metalink = _ostree_metalink_new (pull_data->fetcher, "summary", - OSTREE_MAX_METADATA_SIZE, metalink_uri); + OSTREE_MAX_METADATA_SIZE, metalink_uri, + pull_data->n_network_retries); if (! _ostree_metalink_request_sync (metalink, &target_uri, @@ -3561,6 +3818,7 @@ ostree_repo_pull_with_options (OstreeRepo *self, { if (!fetch_mirrorlist (pull_data->fetcher, contenturl + strlen ("mirrorlist="), + pull_data->n_network_retries, &pull_data->content_mirrorlist, cancellable, error)) goto out; @@ -3707,6 +3965,7 @@ ostree_repo_pull_with_options (OstreeRepo *self, if (!_ostree_fetcher_mirrored_request_to_membuf (pull_data->fetcher, pull_data->meta_mirrorlist, "summary.sig", OSTREE_FETCHER_REQUEST_OPTIONAL_CONTENT, + pull_data->n_network_retries, &bytes_sig, OSTREE_MAX_METADATA_SIZE, cancellable, error)) @@ -3731,6 +3990,7 @@ ostree_repo_pull_with_options (OstreeRepo *self, if (!_ostree_fetcher_mirrored_request_to_membuf (pull_data->fetcher, pull_data->meta_mirrorlist, "summary", OSTREE_FETCHER_REQUEST_OPTIONAL_CONTENT, + pull_data->n_network_retries, &bytes_summary, OSTREE_MAX_METADATA_SIZE, cancellable, error)) @@ -3914,7 +4174,7 @@ ostree_repo_pull_with_options (OstreeRepo *self, else if (refs_to_fetch != NULL) { char **strviter = refs_to_fetch; - char **commitid_strviter = override_commit_ids ? override_commit_ids : NULL; + char **commitid_strviter = override_commit_ids ?: NULL; while (*strviter) { @@ -4140,7 +4400,7 @@ ostree_repo_pull_with_options (OstreeRepo *self, ref, checksum); else ostree_repo_transaction_set_ref (pull_data->repo, - (pull_data->remote_refspec_name != NULL) ? pull_data->remote_refspec_name : pull_data->remote_name, + pull_data->remote_refspec_name ?: pull_data->remote_name, ref->ref_name, checksum); } } @@ -4335,6 +4595,7 @@ ostree_repo_pull_with_options (OstreeRepo *self, g_clear_pointer (&pull_data->requested_metadata, (GDestroyNotify) g_hash_table_unref); g_clear_pointer (&pull_data->pending_fetch_content, (GDestroyNotify) g_hash_table_unref); g_clear_pointer (&pull_data->pending_fetch_metadata, (GDestroyNotify) g_hash_table_unref); + g_clear_pointer (&pull_data->pending_fetch_delta_superblocks, (GDestroyNotify) g_hash_table_unref); g_clear_pointer (&pull_data->pending_fetch_deltaparts, (GDestroyNotify) g_hash_table_unref); g_queue_foreach (&pull_data->scan_object_queue, (GFunc) scan_object_queue_data_free, NULL); g_queue_clear (&pull_data->scan_object_queue); @@ -4344,8 +4605,6 @@ ostree_repo_pull_with_options (OstreeRepo *self, return ret; } -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API - /* Structure used in ostree_repo_find_remotes_async() which stores metadata * about a given OSTree commit. This includes the metadata from the commit * #GVariant, plus some working state which is used to work out which remotes @@ -4505,6 +4764,7 @@ typedef struct GVariant *options; OstreeAsyncProgress *progress; OstreeRepoFinder *default_finder_avahi; + guint n_network_retries; } FindRemotesData; static void @@ -4524,7 +4784,8 @@ static FindRemotesData * find_remotes_data_new (const OstreeCollectionRef * const *refs, GVariant *options, OstreeAsyncProgress *progress, - OstreeRepoFinder *default_finder_avahi) + OstreeRepoFinder *default_finder_avahi, + guint n_network_retries) { g_autoptr(FindRemotesData) data = NULL; @@ -4533,6 +4794,7 @@ find_remotes_data_new (const OstreeCollectionRef * const *refs, data->options = (options != NULL) ? g_variant_ref (options) : NULL; data->progress = (progress != NULL) ? g_object_ref (progress) : NULL; data->default_finder_avahi = (default_finder_avahi != NULL) ? g_object_ref (default_finder_avahi) : NULL; + data->n_network_retries = n_network_retries; return g_steal_pointer (&data); } @@ -4612,6 +4874,9 @@ static void find_remotes_cb (GObject *obj, * * `override-commit-ids` (`as`): Array of specific commit IDs to fetch. The nth * commit ID applies to the nth ref, so this must be the same length as @refs, if * provided. + * * `n-network-retries` (`u`): Number of times to retry each download on + * receiving a transient network error, such as a socket timeout; default is + * 5, 0 means return errors without retrying. * * @finders must be a non-empty %NULL-terminated array of the #OstreeRepoFinder * instances to use, or %NULL to use the system default set of finders, which @@ -4622,7 +4887,7 @@ static void find_remotes_cb (GObject *obj, * * This will use the thread-default #GMainContext, but will not iterate it. * - * Since: 2017.8 + * Since: 2018.6 */ void ostree_repo_find_remotes_async (OstreeRepo *self, @@ -4641,6 +4906,7 @@ ostree_repo_find_remotes_async (OstreeRepo *self, g_autoptr(OstreeRepoFinder) finder_mount = NULL; g_autoptr(OstreeRepoFinder) finder_avahi = NULL; g_autofree char **override_commit_ids = NULL; + guint n_network_retries = DEFAULT_N_NETWORK_RETRIES; g_return_if_fail (OSTREE_IS_REPO (self)); g_return_if_fail (is_valid_collection_ref_array (refs)); @@ -4654,6 +4920,8 @@ ostree_repo_find_remotes_async (OstreeRepo *self, { (void) g_variant_lookup (options, "override-commit-ids", "^a&s", &override_commit_ids); g_return_if_fail (override_commit_ids == NULL || g_strv_length ((gchar **) refs) == g_strv_length (override_commit_ids)); + + (void) g_variant_lookup (options, "n-network-retries", "u", &n_network_retries); } /* Set up a task for the whole operation. */ @@ -4709,7 +4977,7 @@ ostree_repo_find_remotes_async (OstreeRepo *self, /* We need to keep a pointer to the default Avahi finder so we can stop it * again after the operation, which happens implicitly by dropping the final * ref. */ - data = find_remotes_data_new (refs, options, progress, finder_avahi); + data = find_remotes_data_new (refs, options, progress, finder_avahi, n_network_retries); g_task_set_task_data (task, g_steal_pointer (&data), (GDestroyNotify) find_remotes_data_free); /* Asynchronously resolve all possible remotes for the given refs. */ @@ -5102,6 +5370,7 @@ find_remotes_cb (GObject *obj, mirrorlist, commit_filename, OSTREE_FETCHER_REQUEST_OPTIONAL_CONTENT, + data->n_network_retries, &commit_bytes, 0, /* no maximum size */ cancellable, @@ -5354,7 +5623,7 @@ error: * Returns: (transfer full) (array zero-terminated=1): a potentially empty array * of #OstreeRepoFinderResults, followed by a %NULL terminator element; or * %NULL on error - * Since: 2017.8 + * Since: 2018.6 */ OstreeRepoFinderResult ** ostree_repo_find_remotes_finish (OstreeRepo *self, @@ -5434,7 +5703,7 @@ copy_option (GVariantDict *master_options, * milliseconds, if any; only values higher than 0 are valid * * `append-user-agent` (`s`): Additional string to append to the user agent * - * Since: 2017.8 + * Since: 2018.6 */ void ostree_repo_pull_from_remotes_async (OstreeRepo *self, @@ -5552,6 +5821,7 @@ ostree_repo_pull_from_remotes_async (OstreeRepo *self, copy_option (&options_dict, &local_options_dict, "subdirs", G_VARIANT_TYPE ("as")); copy_option (&options_dict, &local_options_dict, "update-frequency", G_VARIANT_TYPE ("u")); copy_option (&options_dict, &local_options_dict, "append-user-agent", G_VARIANT_TYPE ("s")); + copy_option (&options_dict, &local_options_dict, "n-network-retries", G_VARIANT_TYPE ("u")); local_options = g_variant_dict_end (&local_options_dict); @@ -5634,7 +5904,7 @@ ostree_repo_pull_from_remotes_async (OstreeRepo *self, * ostree_repo_pull_from_remotes_async(). * * Returns: %TRUE on success, %FALSE otherwise - * Since: 2017.8 + * Since: 2018.6 */ gboolean ostree_repo_pull_from_remotes_finish (OstreeRepo *self, @@ -5649,115 +5919,6 @@ ostree_repo_pull_from_remotes_finish (OstreeRepo *self, return g_task_propagate_boolean (G_TASK (result), error); } -/* Check whether the given remote exists, has a `collection-id` key set, and it - * equals @collection_id. If so, return %TRUE. Otherwise, %FALSE. */ -static gboolean -check_remote_matches_collection_id (OstreeRepo *repo, - const gchar *remote_name, - const gchar *collection_id) -{ - g_autofree gchar *remote_collection_id = NULL; - - remote_collection_id = get_real_remote_repo_collection_id (repo, remote_name); - if (remote_collection_id == NULL) - return FALSE; - - return g_str_equal (remote_collection_id, collection_id); -} - -/** - * ostree_repo_resolve_keyring_for_collection: - * @self: an #OstreeRepo - * @collection_id: the collection ID to look up a keyring for - * @cancellable: (nullable): a #GCancellable, or %NULL - * @error: return location for a #GError, or %NULL - * - * Find the GPG keyring for the given @collection_id, using the local - * configuration from the given #OstreeRepo. This will search the configured - * remotes for ones whose `collection-id` key matches @collection_id, and will - * return the first matching remote. - * - * If multiple remotes match and have different keyrings, a debug message will - * be emitted, and the first result will be returned. It is expected that the - * keyrings should match. - * - * If no match can be found, a %G_IO_ERROR_NOT_FOUND error will be returned. - * - * Returns: (transfer full): #OstreeRemote containing the GPG keyring for - * @collection_id - * Since: 2017.8 - */ -OstreeRemote * -ostree_repo_resolve_keyring_for_collection (OstreeRepo *self, - const gchar *collection_id, - GCancellable *cancellable, - GError **error) -{ - gsize i; - g_auto(GStrv) remotes = NULL; - g_autoptr(OstreeRemote) keyring_remote = NULL; - - g_return_val_if_fail (OSTREE_IS_REPO (self), NULL); - g_return_val_if_fail (ostree_validate_collection_id (collection_id, NULL), NULL); - g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), NULL); - g_return_val_if_fail (error == NULL || *error == NULL, NULL); - - /* Look through all the currently configured remotes for the given collection. */ - remotes = ostree_repo_remote_list (self, NULL); - - for (i = 0; remotes != NULL && remotes[i] != NULL; i++) - { - g_autoptr(GError) local_error = NULL; - - if (!check_remote_matches_collection_id (self, remotes[i], collection_id)) - continue; - - if (keyring_remote == NULL) - { - g_debug ("%s: Found match for collection ‘%s’ in remote ‘%s’.", - G_STRFUNC, collection_id, remotes[i]); - keyring_remote = _ostree_repo_get_remote_inherited (self, remotes[i], &local_error); - - if (keyring_remote == NULL) - { - g_debug ("%s: Error loading remote ‘%s’: %s", - G_STRFUNC, remotes[i], local_error->message); - continue; - } - - if (g_strcmp0 (keyring_remote->keyring, "") == 0 || - g_strcmp0 (keyring_remote->keyring, "/dev/null") == 0) - { - g_debug ("%s: Ignoring remote ‘%s’ as it has no keyring configured.", - G_STRFUNC, remotes[i]); - g_clear_object (&keyring_remote); - continue; - } - - /* continue so we can catch duplicates */ - } - else - { - g_debug ("%s: Duplicate keyring for collection ‘%s’ in remote ‘%s’." - "Keyring will be loaded from remote ‘%s’.", - G_STRFUNC, collection_id, remotes[i], - keyring_remote->name); - } - } - - if (keyring_remote != NULL) - return g_steal_pointer (&keyring_remote); - else - { - g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND, - "No keyring found configured locally for collection ‘%s’", - collection_id); - return NULL; - } -} - -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ - /** * ostree_repo_remote_fetch_summary_with_options: * @self: Self @@ -5776,6 +5937,9 @@ ostree_repo_resolve_keyring_for_collection (OstreeRepo *self, * - override-url (s): Fetch summary from this URL if remote specifies no metalink in options * - http-headers (a(ss)): Additional headers to add to all HTTP requests * - append-user-agent (s): Additional string to append to the user agent + * - n-network-retries (u): Number of times to retry each download on receiving + * a transient network error, such as a socket timeout; default is 5, 0 + * means return errors without retrying * * Returns: %TRUE on success, %FALSE on failure */ @@ -5907,4 +6071,71 @@ ostree_repo_remote_fetch_summary_with_options (OstreeRepo *self, return FALSE; } +void +ostree_repo_find_remotes_async (OstreeRepo *self, + const OstreeCollectionRef * const *refs, + GVariant *options, + OstreeRepoFinder **finders, + OstreeAsyncProgress *progress, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_return_if_fail (OSTREE_IS_REPO (self)); + + g_task_report_new_error (self, callback, user_data, ostree_repo_find_remotes_async, + G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, + "This version of ostree was built without libsoup or libcurl, and cannot fetch over HTTP"); +} + +OstreeRepoFinderResult ** +ostree_repo_find_remotes_finish (OstreeRepo *self, + GAsyncResult *result, + GError **error) +{ + g_autoptr(GPtrArray) results = NULL; + + g_return_val_if_fail (OSTREE_IS_REPO (self), NULL); + g_return_val_if_fail (g_task_is_valid (result, self), NULL); + g_return_val_if_fail (g_async_result_is_tagged (result, ostree_repo_find_remotes_async), NULL); + g_return_val_if_fail (error == NULL || *error == NULL, NULL); + + results = g_task_propagate_pointer (G_TASK (result), error); + g_assert (results == NULL); + return NULL; +} + +void +ostree_repo_pull_from_remotes_async (OstreeRepo *self, + const OstreeRepoFinderResult * const *results, + GVariant *options, + OstreeAsyncProgress *progress, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_return_if_fail (OSTREE_IS_REPO (self)); + + g_task_report_new_error (self, callback, user_data, ostree_repo_find_remotes_async, + G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, + "This version of ostree was built without libsoup or libcurl, and cannot fetch over HTTP"); +} + +gboolean +ostree_repo_pull_from_remotes_finish (OstreeRepo *self, + GAsyncResult *result, + GError **error) +{ + gboolean success; + + g_return_val_if_fail (OSTREE_IS_REPO (self), FALSE); + g_return_val_if_fail (g_task_is_valid (result, self), FALSE); + g_return_val_if_fail (g_async_result_is_tagged (result, ostree_repo_pull_from_remotes_async), FALSE); + g_return_val_if_fail (error == NULL || *error == NULL, FALSE); + + success = g_task_propagate_boolean (G_TASK (result), error); + g_assert (!success); + return FALSE; +} + #endif /* HAVE_LIBCURL_OR_LIBSOUP */ diff --git a/src/libostree/ostree-repo-refs.c b/src/libostree/ostree-repo-refs.c index ad0fd57c..d10e302e 100644 --- a/src/libostree/ostree-repo-refs.c +++ b/src/libostree/ostree-repo-refs.c @@ -470,7 +470,6 @@ ostree_repo_resolve_rev_ext (OstreeRepo *self, return _ostree_repo_resolve_rev_internal (self, refspec, allow_noent, FALSE, out_rev, error); } -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API /** * ostree_repo_resolve_collection_ref: * @self: an #OstreeRepo @@ -494,7 +493,7 @@ ostree_repo_resolve_rev_ext (OstreeRepo *self, * There are currently no @flags which affect the behaviour of this function. * * Returns: %TRUE on success, %FALSE on failure - * Since: 2017.12 + * Since: 2018.6 */ gboolean ostree_repo_resolve_collection_ref (OstreeRepo *self, @@ -531,7 +530,6 @@ ostree_repo_resolve_collection_ref (OstreeRepo *self, *out_rev = g_strdup (ret_contents); return TRUE; } -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ static gboolean enumerate_refs_recurse (OstreeRepo *repo, @@ -876,7 +874,6 @@ ostree_repo_remote_list_refs (OstreeRepo *self, return TRUE; } -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API static gboolean remote_list_collection_refs_process_refs (OstreeRepo *self, const gchar *remote_name, @@ -934,7 +931,7 @@ remote_list_collection_refs_process_refs (OstreeRepo *self, * Any refs for other collections stored in the repository will also be returned. * No filtering is performed. * - * Since: 2017.10 + * Since: 2018.6 */ gboolean ostree_repo_remote_list_collection_refs (OstreeRepo *self, @@ -995,7 +992,6 @@ ostree_repo_remote_list_collection_refs (OstreeRepo *self, ot_transfer_out_value (out_all_refs, &ret_all_refs); return TRUE; } -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ static char * relative_symlink_to (const char *relpath, @@ -1206,7 +1202,7 @@ _ostree_repo_update_collection_refs (OstreeRepo *self, * %OSTREE_REPO_LIST_REFS_EXT_EXCLUDE_REMOTES in @flags. * * Returns: %TRUE on success, %FALSE otherwise - * Since: 2017.8 + * Since: 2018.6 */ gboolean ostree_repo_list_collection_refs (OstreeRepo *self, diff --git a/src/libostree/ostree-repo.c b/src/libostree/ostree-repo.c index 3251880f..f3da1cae 100644 --- a/src/libostree/ostree-repo.c +++ b/src/libostree/ostree-repo.c @@ -5703,7 +5703,7 @@ _ostree_repo_memory_cache_ref_destroy (OstreeRepoMemoryCacheRef *state) * Get the collection ID of this repository. See [collection IDs][collection-ids]. * * Returns: (nullable): collection ID for the repository - * Since: 2017.8 + * Since: 2018.6 */ const gchar * ostree_repo_get_collection_id (OstreeRepo *self) @@ -5724,7 +5724,7 @@ ostree_repo_get_collection_id (OstreeRepo *self) * configuration on disk using ostree_repo_write_config(). * * Returns: %TRUE on success, %FALSE otherwise - * Since: 2017.8 + * Since: 2018.6 */ gboolean ostree_repo_set_collection_id (OstreeRepo *self, diff --git a/src/libostree/ostree-repo.h b/src/libostree/ostree-repo.h index 8d3a7a6f..60fa3d3e 100644 --- a/src/libostree/ostree-repo.h +++ b/src/libostree/ostree-repo.h @@ -28,10 +28,8 @@ #include "ostree-core.h" #include "ostree-types.h" #include "ostree-async-progress.h" -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API #include "ostree-ref.h" #include "ostree-repo-finder.h" -#endif #include "ostree-sepolicy.h" #include "ostree-gpg-verify-result.h" @@ -107,8 +105,6 @@ OstreeRepo * ostree_repo_create_at (int dfd, GCancellable *cancellable, GError **error); -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API - _OSTREE_PUBLIC const gchar * ostree_repo_get_collection_id (OstreeRepo *self); _OSTREE_PUBLIC @@ -116,8 +112,6 @@ gboolean ostree_repo_set_collection_id (OstreeRepo *self, const gchar *collection_id, GError **error); -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ - _OSTREE_PUBLIC GFile * ostree_repo_get_path (OstreeRepo *self); @@ -339,15 +333,11 @@ void ostree_repo_transaction_set_ref (OstreeRepo *self, const char *ref, const char *checksum); -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API - _OSTREE_PUBLIC void ostree_repo_transaction_set_collection_ref (OstreeRepo *self, const OstreeCollectionRef *ref, const char *checksum); -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ - _OSTREE_PUBLIC gboolean ostree_repo_set_ref_immediate (OstreeRepo *self, const char *remote, @@ -364,8 +354,6 @@ gboolean ostree_repo_set_alias_ref_immediate (OstreeRepo *self, GCancellable *cancellable, GError **error); -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API - _OSTREE_PUBLIC gboolean ostree_repo_set_collection_ref_immediate (OstreeRepo *self, const OstreeCollectionRef *ref, @@ -373,8 +361,6 @@ gboolean ostree_repo_set_collection_ref_immediate (OstreeRepo GCancellable *cancellable, GError **error); -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ - _OSTREE_PUBLIC gboolean ostree_repo_has_object (OstreeRepo *self, OstreeObjectType objtype, @@ -479,7 +465,6 @@ gboolean ostree_repo_resolve_rev_ext (OstreeRepo *self, char **out_rev, GError **error); -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API _OSTREE_PUBLIC gboolean ostree_repo_resolve_collection_ref (OstreeRepo *self, const OstreeCollectionRef *ref, @@ -488,7 +473,6 @@ gboolean ostree_repo_resolve_collection_ref (OstreeRepo char **out_rev, GCancellable *cancellable, GError **error); -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ _OSTREE_PUBLIC gboolean ostree_repo_list_refs (OstreeRepo *self, @@ -524,14 +508,12 @@ gboolean ostree_repo_remote_list_refs (OstreeRepo *self, GCancellable *cancellable, GError **error); -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API _OSTREE_PUBLIC gboolean ostree_repo_remote_list_collection_refs (OstreeRepo *self, const char *remote_name, GHashTable **out_all_refs, GCancellable *cancellable, GError **error); -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ _OSTREE_PUBLIC gboolean ostree_repo_load_variant (OstreeRepo *self, @@ -1202,6 +1184,14 @@ struct _OstreeRepoPruneOptions { typedef struct _OstreeRepoPruneOptions OstreeRepoPruneOptions; +_OSTREE_PUBLIC +gboolean +ostree_repo_traverse_reachable_refs (OstreeRepo *self, + guint depth, + GHashTable *reachable, + GCancellable *cancellable, + GError **error); + _OSTREE_PUBLIC gboolean ostree_repo_prune_from_reachable (OstreeRepo *self, OstreeRepoPruneOptions *options, @@ -1257,8 +1247,6 @@ gboolean ostree_repo_pull_with_options (OstreeRepo *self, GCancellable *cancellable, GError **error); -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API - _OSTREE_PUBLIC void ostree_repo_find_remotes_async (OstreeRepo *self, const OstreeCollectionRef * const *refs, @@ -1300,8 +1288,6 @@ gboolean ostree_repo_list_collection_refs (OstreeRepo *self, GCancellable *cancellable, GError **error); -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ - _OSTREE_PUBLIC void ostree_repo_pull_default_console_progress_changed (OstreeAsyncProgress *progress, gpointer user_data); @@ -1386,8 +1372,6 @@ gboolean ostree_repo_regenerate_summary (OstreeRepo *self, GCancellable *cancellable, GError **error); -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API - /** * OSTREE_REPO_METADATA_REF: * @@ -1407,12 +1391,10 @@ gboolean ostree_repo_regenerate_summary (OstreeRepo *self, * keys must be namespaced by product or developer. For example, * `exampleos.end-of-life`. The `ostree.` prefix is reserved. * - * Since: 2017.8 + * Since: 2018.6 */ #define OSTREE_REPO_METADATA_REF "ostree-metadata" -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ - G_END_DECLS diff --git a/src/libostree/ostree-sysroot-cleanup.c b/src/libostree/ostree-sysroot-cleanup.c index 1d46222b..7a352e6b 100644 --- a/src/libostree/ostree-sysroot-cleanup.c +++ b/src/libostree/ostree-sysroot-cleanup.c @@ -420,25 +420,76 @@ generate_deployment_refs (OstreeSysroot *self, return TRUE; } -static gboolean -prune_repo (OstreeRepo *repo, - GCancellable *cancellable, - GError **error) +/** + * ostree_sysroot_cleanup_prune_repo: + * @sysroot: Sysroot + * @options: Flags controlling pruning + * @out_objects_total: (out): Number of objects found + * @out_objects_pruned: (out): Number of objects deleted + * @out_pruned_object_size_total: (out): Storage size in bytes of objects deleted + * @cancellable: Cancellable + * @error: Error + * + * Prune the system repository. This is a thin wrapper + * around ostree_repo_prune_from_reachable(); the primary + * addition is that this function automatically gathers + * all deployed commits into the reachable set. + * + * You generally want to at least set the `OSTREE_REPO_PRUNE_FLAGS_REFS_ONLY` + * flag in @options. A commit traversal depth of `0` is assumed. + * + * Locking: exclusive + * Since: 2018.6 + */ +gboolean +ostree_sysroot_cleanup_prune_repo (OstreeSysroot *sysroot, + OstreeRepoPruneOptions *options, + gint *out_objects_total, + gint *out_objects_pruned, + guint64 *out_pruned_object_size_total, + GCancellable *cancellable, + GError **error) { - gint n_objects_total; - gint n_objects_pruned; - guint64 freed_space; - if (!ostree_repo_prune (repo, OSTREE_REPO_PRUNE_FLAGS_REFS_ONLY, 0, - &n_objects_total, &n_objects_pruned, &freed_space, - cancellable, error)) + GLNX_AUTO_PREFIX_ERROR ("Pruning system repository", error); + OstreeRepo *repo = ostree_sysroot_repo (sysroot); + const guint depth = 0; /* Historical default */ + + /* Hold an exclusive lock by default across gathering refs and doing + * the prune. + */ + g_autoptr(OstreeRepoAutoLock) lock = + _ostree_repo_auto_lock_push (repo, OSTREE_REPO_LOCK_EXCLUSIVE, cancellable, error); + if (!lock) return FALSE; - if (freed_space > 0) + /* Ensure reachable has refs, but default to depth 0. This is + * what we've always done for the system repo, but perhaps down + * the line we could add a depth flag to the repo config or something? + */ + if (!ostree_repo_traverse_reachable_refs (repo, depth, options->reachable, cancellable, error)) + return FALSE; + + /* Since ostree was created we've been generating "deployment refs" in + * generate_deployment_refs() that look like ostree/0/1 etc. to ensure that + * anything doing a direct prune won't delete commits backing deployments. + * This bit might allow us to eventually drop that behavior, although we'd + * have to be very careful to ensure that all software is updated to use + * `ostree_sysroot_cleanup_prune_repo()`. + */ + for (guint i = 0; i < sysroot->deployments->len; i++) { - g_autofree char *freed_space_str = g_format_size_full (freed_space, 0); - g_print ("Freed objects: %s\n", freed_space_str); + const char *checksum = ostree_deployment_get_csum (sysroot->deployments->pdata[i]); + if (!ostree_repo_traverse_commit_union (repo, checksum, depth, options->reachable, + cancellable, error)) + return FALSE; } + if (!ostree_repo_prune_from_reachable (repo, options, + out_objects_total, out_objects_pruned, + out_pruned_object_size_total, + cancellable, error)) + return FALSE; + return TRUE; } @@ -501,8 +552,22 @@ _ostree_sysroot_cleanup_internal (OstreeSysroot *self, if (do_prune_repo) { - if (!prune_repo (repo, cancellable, error)) - return glnx_prefix_error (error, "Pruning repo"); + gint n_objects_total; + gint n_objects_pruned; + guint64 freed_space; + g_autoptr(GHashTable) reachable = ostree_repo_traverse_new_reachable (); + OstreeRepoPruneOptions opts = { OSTREE_REPO_PRUNE_FLAGS_REFS_ONLY, reachable }; + if (!ostree_sysroot_cleanup_prune_repo (self, &opts, &n_objects_total, + &n_objects_pruned, &freed_space, + cancellable, error)) + return FALSE; + + /* TODO remove printf in library */ + if (freed_space > 0) + { + g_autofree char *freed_space_str = g_format_size_full (freed_space, 0); + g_print ("Freed objects: %s\n", freed_space_str); + } } return TRUE; diff --git a/src/libostree/ostree-sysroot.h b/src/libostree/ostree-sysroot.h index 47cbb022..502cd750 100644 --- a/src/libostree/ostree-sysroot.h +++ b/src/libostree/ostree-sysroot.h @@ -122,6 +122,16 @@ gboolean ostree_sysroot_prepare_cleanup (OstreeSysroot *self, GCancellable *cancellable, GError **error); +_OSTREE_PUBLIC +gboolean +ostree_sysroot_cleanup_prune_repo (OstreeSysroot *sysroot, + OstreeRepoPruneOptions *options, + gint *out_objects_total, + gint *out_objects_pruned, + guint64 *out_pruned_object_size_total, + GCancellable *cancellable, + GError **error); + _OSTREE_PUBLIC gboolean ostree_sysroot_write_origin_file (OstreeSysroot *sysroot, OstreeDeployment *deployment, diff --git a/src/libostree/ostree-types.h b/src/libostree/ostree-types.h index 852eb82b..bbc6ca64 100644 --- a/src/libostree/ostree-types.h +++ b/src/libostree/ostree-types.h @@ -38,9 +38,6 @@ typedef struct OstreeSysroot OstreeSysroot; typedef struct OstreeSysrootUpgrader OstreeSysrootUpgrader; typedef struct OstreeMutableTree OstreeMutableTree; typedef struct OstreeRepoFile OstreeRepoFile; - -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API typedef struct OstreeRemote OstreeRemote; -#endif G_END_DECLS diff --git a/src/libostree/ostree-version.h b/src/libostree/ostree-version.h index 78828b1e..4452accc 100644 --- a/src/libostree/ostree-version.h +++ b/src/libostree/ostree-version.h @@ -43,7 +43,7 @@ * * Since: 2017.4 */ -#define OSTREE_RELEASE_VERSION (5) +#define OSTREE_RELEASE_VERSION (6) /** * OSTREE_VERSION @@ -52,7 +52,7 @@ * * Since: 2017.4 */ -#define OSTREE_VERSION (2018.5) +#define OSTREE_VERSION (2018.6) /** * OSTREE_VERSION_S: @@ -62,7 +62,7 @@ * * Since: 2017.4 */ -#define OSTREE_VERSION_S "2018.5" +#define OSTREE_VERSION_S "2018.6" #define OSTREE_ENCODE_VERSION(year,release) \ ((year) << 16 | (release)) diff --git a/src/libostree/ostree.h b/src/libostree/ostree.h index 793d04f0..cbeb99b2 100644 --- a/src/libostree/ostree.h +++ b/src/libostree/ostree.h @@ -25,9 +25,7 @@ #include #include #include -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API #include -#endif #include #include #include @@ -35,15 +33,11 @@ #include #include #include - -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API #include #include #include #include #include #include -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ - #include #include diff --git a/src/ostree/main.c b/src/ostree/main.c index 9ed0f880..c5b45012 100644 --- a/src/ostree/main.c +++ b/src/ostree/main.c @@ -63,14 +63,12 @@ static OstreeCommand commands[] = { { "export", OSTREE_BUILTIN_FLAG_NONE, ostree_builtin_export, "Stream COMMIT to stdout in tar format" }, -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API { "find-remotes", OSTREE_BUILTIN_FLAG_NONE, ostree_builtin_find_remotes, "Find remotes to serve the given refs" }, { "create-usb", OSTREE_BUILTIN_FLAG_NONE, ostree_builtin_create_usb, "Copy the refs to a USB stick" }, -#endif { "fsck", OSTREE_BUILTIN_FLAG_NONE, ostree_builtin_fsck, "Check the repository for consistency" }, diff --git a/src/ostree/ostree-trivial-httpd.c b/src/ostree/ostree-trivial-httpd.c index 5da5a6ab..1b7aa2a2 100644 --- a/src/ostree/ostree-trivial-httpd.c +++ b/src/ostree/ostree-trivial-httpd.c @@ -45,11 +45,14 @@ static int opt_random_500s_percentage; /* We have a strong upper bound for any unlikely * cases involving repeated random 500s. */ static int opt_random_500s_max = 100; +static int opt_random_408s_percentage; +static int opt_random_408s_max = 100; static gint opt_port = 0; static gchar **opt_expected_cookies; static gchar **opt_expected_headers; static guint emitted_random_500s_count = 0; +static guint emitted_random_408s_count = 0; typedef struct { int root_dfd; @@ -70,6 +73,8 @@ static GOptionEntry options[] = { { "force-range-requests", 0, 0, G_OPTION_ARG_NONE, &opt_force_ranges, "Force range requests by only serving half of files", NULL }, { "random-500s", 0, 0, G_OPTION_ARG_INT, &opt_random_500s_percentage, "Generate random HTTP 500 errors approximately for PERCENTAGE requests", "PERCENTAGE" }, { "random-500s-max", 0, 0, G_OPTION_ARG_INT, &opt_random_500s_max, "Limit HTTP 500 errors to MAX (default 100)", "MAX" }, + { "random-408s", 0, 0, G_OPTION_ARG_INT, &opt_random_408s_percentage, "Generate random HTTP 408 errors approximately for PERCENTAGE requests", "PERCENTAGE" }, + { "random-408s-max", 0, 0, G_OPTION_ARG_INT, &opt_random_408s_max, "Limit HTTP 408 errors to MAX (default 100)", "MAX" }, { "log-file", 0, 0, G_OPTION_ARG_FILENAME, &opt_log, "Put logs here (use - for stdout)", "PATH" }, { "expected-cookies", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_expected_cookies, "Expect given cookies in the http request", "KEY=VALUE" }, { "expected-header", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_expected_headers, "Expect given headers in the http request", "KEY=VALUE" }, @@ -291,6 +296,14 @@ do_get (OtTrivialHttpd *self, soup_message_set_status (msg, SOUP_STATUS_INTERNAL_SERVER_ERROR); goto out; } + else if (opt_random_408s_percentage > 0 && + emitted_random_408s_count < opt_random_408s_max && + g_random_int_range (0, 100) < opt_random_408s_percentage) + { + emitted_random_408s_count++; + soup_message_set_status (msg, SOUP_STATUS_REQUEST_TIMEOUT); + goto out; + } while (path[0] == '/') path++; @@ -511,6 +524,13 @@ run (int argc, char **argv, GCancellable *cancellable, GError **error) goto out; } + if (!(opt_random_408s_percentage >= 0 && opt_random_408s_percentage <= 99)) + { + g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, + "Invalid --random-408s=%u", opt_random_408s_percentage); + goto out; + } + if (opt_log) { GOutputStream *stream = NULL; diff --git a/src/ostree/ot-builtin-commit.c b/src/ostree/ot-builtin-commit.c index 370f0e5b..c2f78700 100644 --- a/src/ostree/ot-builtin-commit.c +++ b/src/ostree/ot-builtin-commit.c @@ -331,7 +331,6 @@ parse_keyvalue_strings (GVariantBuilder *builder, return TRUE; } -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API static void add_collection_binding (OstreeRepo *repo, GVariantBuilder *metadata_builder) @@ -344,7 +343,6 @@ add_collection_binding (OstreeRepo *repo, g_variant_builder_add (metadata_builder, "{s@v}", OSTREE_COMMIT_META_KEY_COLLECTION_BINDING, g_variant_new_variant (g_variant_new_string (collection_id))); } -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ static int compare_strings (gconstpointer a, gconstpointer b) @@ -383,13 +381,11 @@ fill_bindings (OstreeRepo *repo, add_ref_binding (metadata_builder); -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API /* Allow the collection ID to be overridden using * --add-metadata-string=ostree.collection-binding=blah */ if (metadata == NULL || !g_variant_lookup (metadata, OSTREE_COMMIT_META_KEY_COLLECTION_BINDING, "*", NULL)) add_collection_binding (repo, metadata_builder); -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ *out_metadata = g_variant_ref_sink (g_variant_builder_end (metadata_builder)); } diff --git a/src/ostree/ot-builtin-find-remotes.c b/src/ostree/ot-builtin-find-remotes.c index 77b7a8da..f255501a 100644 --- a/src/ostree/ot-builtin-find-remotes.c +++ b/src/ostree/ot-builtin-find-remotes.c @@ -179,14 +179,15 @@ ostree_builtin_find_remotes (int argc, g_autoptr(GPtrArray) finders = NULL; /* (element-type OstreeRepoFinder) */ g_autoptr(OstreeRepoFinder) finder_config = NULL; g_autoptr(OstreeRepoFinder) finder_mount = NULL; +#ifdef HAVE_AVAHI g_autoptr(OstreeRepoFinder) finder_avahi = NULL; +#endif /* HAVE_AVAHI */ g_autoptr(OstreeAsyncProgress) progress = NULL; gsize i; g_autoptr(GAsyncResult) find_result = NULL, pull_result = NULL; g_auto(OstreeRepoFinderResultv) results = NULL; g_auto(GLnxConsoleRef) console = { 0, }; 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...]"); diff --git a/src/ostree/ot-builtin-fsck.c b/src/ostree/ot-builtin-fsck.c index 81124d3f..a7ecd3d0 100644 --- a/src/ostree/ot-builtin-fsck.c +++ b/src/ostree/ot-builtin-fsck.c @@ -31,6 +31,7 @@ static gboolean opt_quiet; static gboolean opt_delete; +static gboolean opt_all; static gboolean opt_add_tombstones; static gboolean opt_verify_bindings; static gboolean opt_verify_back_refs; @@ -43,6 +44,7 @@ static gboolean opt_verify_back_refs; static GOptionEntry options[] = { { "add-tombstones", 0, 0, G_OPTION_ARG_NONE, &opt_add_tombstones, "Add tombstones for missing commits", NULL }, { "quiet", 'q', 0, G_OPTION_ARG_NONE, &opt_quiet, "Only print error messages", NULL }, + { "all", 'a', 0, G_OPTION_ARG_NONE, &opt_all, "Don't stop on first error", NULL }, { "delete", 0, 0, G_OPTION_ARG_NONE, &opt_delete, "Remove corrupted objects", NULL }, { "verify-bindings", 0, 0, G_OPTION_ARG_NONE, &opt_verify_bindings, "Verify ref bindings", NULL }, { "verify-back-refs", 0, 0, G_OPTION_ARG_NONE, &opt_verify_back_refs, "Verify back-references (implies --verify-bindings)", NULL }, @@ -63,22 +65,42 @@ fsck_one_object (OstreeRepo *repo, if (!ostree_repo_fsck_object (repo, objtype, checksum, cancellable, &temp_error)) { gboolean object_missing = FALSE; + g_auto(GStrv) parent_commits = NULL; + g_autofree char *parent_commits_str = NULL; + + if (object_parents) + { + parent_commits = ostree_repo_traverse_parents_get_commits (object_parents, key); + parent_commits_str = g_strjoinv (", ", parent_commits); + } if (g_error_matches (temp_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND)) { g_clear_error (&temp_error); - g_printerr ("Object missing: %s.%s\n", checksum, - ostree_object_type_to_string (objtype)); + if (parent_commits_str) + g_printerr ("Object missing in commits %s: %s.%s\n", parent_commits_str, checksum, + ostree_object_type_to_string (objtype)); + else + g_printerr ("Object missing: %s.%s\n", checksum, + ostree_object_type_to_string (objtype)); object_missing = TRUE; } else { + if (parent_commits_str) + g_prefix_error (&temp_error, "In commits %s: ", parent_commits_str); + if (opt_delete) { g_printerr ("%s\n", temp_error->message); (void) ostree_repo_delete_object (repo, objtype, checksum, cancellable, NULL); object_missing = TRUE; } + else if (opt_all) + { + *out_found_corruption = TRUE; + g_printerr ("%s\n", temp_error->message); + } else { g_propagate_error (error, g_steal_pointer (&temp_error)); @@ -90,9 +112,8 @@ fsck_one_object (OstreeRepo *repo, { *out_found_corruption = TRUE; - if (object_parents != NULL && objtype != OSTREE_OBJECT_TYPE_COMMIT) + if (parent_commits != NULL && objtype != OSTREE_OBJECT_TYPE_COMMIT) { - g_auto(GStrv) parent_commits = ostree_repo_traverse_parents_get_commits (object_parents, key); int i; /* The commit was missing or deleted, mark the commit partial */ @@ -243,7 +264,6 @@ ostree_builtin_fsck (int argc, char **argv, OstreeCommandInvocation *invocation, return FALSE; } -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API if (!opt_quiet) g_print ("Validating refs in collections...\n"); @@ -261,7 +281,6 @@ ostree_builtin_fsck (int argc, char **argv, OstreeCommandInvocation *invocation, &found_corruption, cancellable, error)) return FALSE; } -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ if (!opt_quiet) g_print ("Enumerating objects...\n"); @@ -306,13 +325,11 @@ ostree_builtin_fsck (int argc, char **argv, OstreeCommandInvocation *invocation, g_autoptr(GVariant) metadata = g_variant_get_child_value (commit, 0); const char *collection_id = NULL; -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API if (!g_variant_lookup (metadata, OSTREE_COMMIT_META_KEY_COLLECTION_BINDING, "&s", &collection_id)) collection_id = NULL; -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ g_autofree const char **refs = NULL; if (g_variant_lookup (metadata, @@ -324,7 +341,6 @@ ostree_builtin_fsck (int argc, char **argv, OstreeCommandInvocation *invocation, { g_autofree char *checksum_for_ref = NULL; -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API if (collection_id != NULL) { const OstreeCollectionRef collection_ref = { (char *) collection_id, (char *) *iter }; @@ -337,7 +353,6 @@ ostree_builtin_fsck (int argc, char **argv, OstreeCommandInvocation *invocation, return FALSE; } else -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ { if (!ostree_repo_resolve_rev (repo, *iter, TRUE, &checksum_for_ref, error)) diff --git a/src/ostree/ot-builtin-init.c b/src/ostree/ot-builtin-init.c index a4fb5c51..217bf310 100644 --- a/src/ostree/ot-builtin-init.c +++ b/src/ostree/ot-builtin-init.c @@ -28,9 +28,7 @@ #include "ostree.h" static char *opt_mode = "bare"; -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API static char *opt_collection_id = NULL; -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ /* ATTENTION: * Please remember to update the bash-completion script (bash/ostree) and @@ -39,10 +37,8 @@ static char *opt_collection_id = NULL; static GOptionEntry options[] = { { "mode", 0, 0, G_OPTION_ARG_STRING, &opt_mode, "Initialize repository in given mode (bare, bare-user, bare-user-only, archive)", NULL }, -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API { "collection-id", 0, 0, G_OPTION_ARG_STRING, &opt_collection_id, "Globally unique ID for this repository as an collection of refs for redistribution to other repositories", "COLLECTION-ID" }, -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ { NULL } }; @@ -61,10 +57,8 @@ ostree_builtin_init (int argc, char **argv,OstreeCommandInvocation *invocation, if (!ostree_repo_mode_from_string (opt_mode, &mode, error)) goto out; -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API if (!ostree_repo_set_collection_id (repo, opt_collection_id, error)) goto out; -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ if (!ostree_repo_create (repo, mode, NULL, error)) goto out; diff --git a/src/ostree/ot-builtin-prune.c b/src/ostree/ot-builtin-prune.c index c34bbf4c..2f560d14 100644 --- a/src/ostree/ot-builtin-prune.c +++ b/src/ostree/ot-builtin-prune.c @@ -59,9 +59,7 @@ static gboolean delete_commit (OstreeRepo *repo, const char *commit_to_delete, GCancellable *cancellable, GError **error) { g_autoptr(GHashTable) refs = NULL; /* (element-type utf8 utf8) */ -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API g_autoptr(GHashTable) collection_refs = NULL; /* (element-type OstreeCollectionRef utf8) */ -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ /* Check refs which are not in a collection. */ if (!ostree_repo_list_refs (repo, NULL, &refs, cancellable, error)) @@ -73,7 +71,6 @@ delete_commit (OstreeRepo *repo, const char *commit_to_delete, GCancellable *can return glnx_throw (error, "Commit '%s' is referenced by '%s'", commit_to_delete, ref); } -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API /* And check refs which *are* in a collection. */ if (!ostree_repo_list_collection_refs (repo, NULL, &collection_refs, OSTREE_REPO_LIST_REFS_EXT_EXCLUDE_REMOTES, @@ -87,7 +84,6 @@ delete_commit (OstreeRepo *repo, const char *commit_to_delete, GCancellable *can return glnx_throw (error, "Commit '%s' is referenced by (%s, %s)", commit_to_delete, ref->collection_id, ref->ref_name); } -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ if (!ot_enable_tombstone_commits (repo, error)) return FALSE; diff --git a/src/ostree/ot-builtin-refs.c b/src/ostree/ot-builtin-refs.c index 7c9fa82f..a7f77ac8 100644 --- a/src/ostree/ot-builtin-refs.c +++ b/src/ostree/ot-builtin-refs.c @@ -31,9 +31,7 @@ static gboolean opt_delete; static gboolean opt_list; static gboolean opt_alias; static char *opt_create; -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API static gboolean opt_collections; -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ /* ATTENTION: * Please remember to update the bash-completion script (bash/ostree) and @@ -45,13 +43,10 @@ static GOptionEntry options[] = { { "list", 0, 0, G_OPTION_ARG_NONE, &opt_list, "Do not remove the prefix from the refs", NULL }, { "alias", 'A', 0, G_OPTION_ARG_NONE, &opt_alias, "If used with --create, create an alias, otherwise just list aliases", NULL }, { "create", 0, 0, G_OPTION_ARG_STRING, &opt_create, "Create a new ref for an existing commit", "NEWREF" }, -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API { "collections", 'c', 0, G_OPTION_ARG_NONE, &opt_collections, "Enable listing collection IDs for refs", NULL }, -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ { NULL } }; -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API static gboolean do_ref_with_collections (OstreeRepo *repo, const char *refspec_prefix, @@ -136,7 +131,6 @@ do_ref_with_collections (OstreeRepo *repo, out: return ret; } -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ static gboolean do_ref (OstreeRepo *repo, const char *refspec_prefix, GCancellable *cancellable, GError **error) { @@ -147,10 +141,8 @@ static gboolean do_ref (OstreeRepo *repo, const char *refspec_prefix, GCancellab gboolean ret = FALSE; gboolean is_list; -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API if (opt_collections) return do_ref_with_collections (repo, refspec_prefix, cancellable, error); -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ /* If we're doing aliasing, we need the full list of aliases mostly to allow * replacing existing aliases. diff --git a/src/ostree/ot-builtin-summary.c b/src/ostree/ot-builtin-summary.c index 281e0df6..c95c6df0 100644 --- a/src/ostree/ot-builtin-summary.c +++ b/src/ostree/ot-builtin-summary.c @@ -108,16 +108,11 @@ ostree_builtin_summary (int argc, char **argv, OstreeCommandInvocation *invocati return FALSE; } -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API const char *collection_id = ostree_repo_get_collection_id (repo); -#else /* if !OSTREE_ENABLE_EXPERIMENTAL_API */ - const char *collection_id = NULL; -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ /* Write out a new metadata commit for the repository. */ if (collection_id != NULL) { -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API OstreeCollectionRef collection_ref = { (gchar *) collection_id, (gchar *) OSTREE_REPO_METADATA_REF }; g_autofree char *old_ostree_metadata_checksum = NULL; g_autofree gchar *new_ostree_metadata_checksum = NULL; @@ -192,10 +187,6 @@ ostree_builtin_summary (int argc, char **argv, OstreeCommandInvocation *invocati if (!ostree_repo_commit_transaction (repo, NULL, cancellable, error)) return FALSE; -#else /* if !OSTREE_ENABLE_EXPERIMENTAL_API */ - g_assert_not_reached (); - return FALSE; -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ } /* Regenerate and sign the conventional summary file. */ diff --git a/src/ostree/ot-builtins.h b/src/ostree/ot-builtins.h index b79bf589..7a7d41bc 100644 --- a/src/ostree/ot-builtins.h +++ b/src/ostree/ot-builtins.h @@ -39,10 +39,8 @@ BUILTINPROTO(checksum); BUILTINPROTO(commit); BUILTINPROTO(diff); BUILTINPROTO(export); -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API BUILTINPROTO(find_remotes); BUILTINPROTO(create_usb); -#endif BUILTINPROTO(gpg_sign); BUILTINPROTO(init); BUILTINPROTO(log); diff --git a/src/ostree/ot-remote-builtin-add.c b/src/ostree/ot-remote-builtin-add.c index 4d90934c..8b339dbd 100644 --- a/src/ostree/ot-remote-builtin-add.c +++ b/src/ostree/ot-remote-builtin-add.c @@ -32,9 +32,7 @@ static gboolean opt_no_gpg_verify; static gboolean opt_if_not_exists; static char *opt_gpg_import; static char *opt_contenturl; -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API static char *opt_collection_id; -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ static char *opt_sysroot; static char *opt_repo; @@ -49,10 +47,8 @@ static GOptionEntry option_entries[] = { { "if-not-exists", 0, 0, G_OPTION_ARG_NONE, &opt_if_not_exists, "Do nothing if the provided remote exists", NULL }, { "gpg-import", 0, 0, G_OPTION_ARG_FILENAME, &opt_gpg_import, "Import GPG key from FILE", "FILE" }, { "contenturl", 0, 0, G_OPTION_ARG_STRING, &opt_contenturl, "Use URL when fetching content", "URL" }, -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API { "collection-id", 0, 0, G_OPTION_ARG_STRING, &opt_collection_id, "Globally unique ID for this repository as an collection of refs for redistribution to other repositories", "COLLECTION-ID" }, -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ { "repo", 0, 0, G_OPTION_ARG_FILENAME, &opt_repo, "Path to OSTree repository (defaults to /sysroot/ostree/repo)", "PATH" }, { "sysroot", 0, 0, G_OPTION_ARG_FILENAME, &opt_sysroot, "Use sysroot at PATH (overrides --repo)", "PATH" }, { NULL } @@ -133,11 +129,9 @@ ot_remote_builtin_add (int argc, char **argv, OstreeCommandInvocation *invocatio "gpg-verify", g_variant_new_variant (g_variant_new_boolean (FALSE))); -#ifdef OSTREE_ENABLE_EXPERIMENTAL_API if (opt_collection_id != NULL) g_variant_builder_add (optbuilder, "{s@v}", "collection-id", g_variant_new_variant (g_variant_new_take_string (g_steal_pointer (&opt_collection_id)))); -#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ options = g_variant_ref_sink (g_variant_builder_end (optbuilder)); diff --git a/src/switchroot/ostree-mount-util.h b/src/switchroot/ostree-mount-util.h index 08e10f97..0b40bb40 100644 --- a/src/switchroot/ostree-mount-util.h +++ b/src/switchroot/ostree-mount-util.h @@ -31,6 +31,8 @@ #include #include +#define INITRAMFS_MOUNT_VAR "/run/ostree/initramfs-mount-var" + static inline int path_is_on_readonly_fs (char *path) { diff --git a/src/switchroot/ostree-prepare-root.c b/src/switchroot/ostree-prepare-root.c index 5ed9b60f..53df463c 100644 --- a/src/switchroot/ostree-prepare-root.c +++ b/src/switchroot/ostree-prepare-root.c @@ -151,13 +151,18 @@ main(int argc, char *argv[]) if (chdir (deploy_path) < 0) err (EXIT_FAILURE, "failed to chdir to deploy_path"); - /* In the systemd case, this is handled by ostree-system-generator */ + bool mount_var = true; + /* In the systemd case, this is handled by ostree-system-generator by default */ #ifndef HAVE_SYSTEMD_AND_LIBMOUNT - /* Link to the deployment's /var */ - if (mount ("../../var", "var", NULL, MS_MGC_VAL|MS_BIND, NULL) < 0) - err (EXIT_FAILURE, "failed to bind mount ../../var to var"); + /* file in /run can override that behaviour */ + if (lstat (INITRAMFS_MOUNT_VAR, &stbuf) < 0) + mount_var = false; #endif + /* Link to the deployment's /var */ + if (mount_var && mount ("../../var", "var", NULL, MS_MGC_VAL|MS_BIND, NULL) < 0) + err (EXIT_FAILURE, "failed to bind mount ../../var to var"); + char srcpath[PATH_MAX]; /* If /boot is on the same partition, use a bind mount to make it visible * at /boot inside the deployment. */ diff --git a/src/switchroot/ostree-system-generator.c b/src/switchroot/ostree-system-generator.c index 970ef41e..799a3104 100644 --- a/src/switchroot/ostree-system-generator.c +++ b/src/switchroot/ostree-system-generator.c @@ -49,6 +49,16 @@ main(int argc, char *argv[]) exit (EXIT_SUCCESS); } + /* We conflict with the magic ostree-mount-deployment-var file for ostree-prepare-root */ + { struct stat stbuf; + if (fstatat (AT_FDCWD, INITRAMFS_MOUNT_VAR, &stbuf, 0) == 0) + { + if (unlinkat (AT_FDCWD, INITRAMFS_MOUNT_VAR, 0) < 0) + err (EXIT_FAILURE, "Can't unlink " INITRAMFS_MOUNT_VAR); + exit (EXIT_SUCCESS); + } + } + if (argc > 1 && argc != 4) errx (EXIT_FAILURE, "This program takes three or no arguments"); diff --git a/tests/libtest-core.sh b/tests/libtest-core.sh index 6991a86d..f6f94288 100644 --- a/tests/libtest-core.sh +++ b/tests/libtest-core.sh @@ -37,9 +37,9 @@ assert_not_reached () { # Some tests look for specific English strings. Use a UTF-8 version # of the C (POSIX) locale if we have one, or fall back to POSIX # (https://sourceware.org/glibc/wiki/Proposals/C.UTF-8) -if locale -a | grep C.UTF-8 >/dev/null; then +if locale -a | grep '^C.UTF-8$' >/dev/null; then export LC_ALL=C.UTF-8 -elif locale -a | grep C.utf8 >/dev/null; then +elif locale -a | grep '^C.utf8$' >/dev/null; then export LC_ALL=C.utf8 else export LC_ALL=C diff --git a/tests/repo-finder-mount.c b/tests/repo-finder-mount.c index be0e87e3..2cb1d230 100644 --- a/tests/repo-finder-mount.c +++ b/tests/repo-finder-mount.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include "ostree-autocleanups.h" diff --git a/tests/test-corruption.sh b/tests/test-corruption.sh index f26ed2d2..2b5e61bb 100755 --- a/tests/test-corruption.sh +++ b/tests/test-corruption.sh @@ -21,7 +21,7 @@ set -euo pipefail -echo "1..8" +echo "1..9" . $(dirname $0)/libtest.sh @@ -104,7 +104,7 @@ assert_not_has_file repo/state/${rev}.commitpartial if $OSTREE fsck -q 2>err.txt; then assert_not_reached "fsck unexpectedly succeeded" fi -assert_file_has_content_literal err.txt "Object missing:" +assert_file_has_content_literal err.txt "Object missing" assert_file_has_content_literal err.txt "Marking commit as partial: $rev" assert_has_file repo/state/${rev}.commitpartial @@ -118,6 +118,7 @@ rev=$($OSTREE rev-parse test2) filechecksum=$(ostree_file_path_to_checksum repo test2 /firstfile) echo corrupted >> repo/$(ostree_checksum_to_relative_object_path repo $filechecksum) +unset filechecksum assert_not_has_file repo/state/${rev}.commitpartial @@ -129,3 +130,25 @@ assert_file_has_content_literal err.txt "Marking commit as partial: $rev" assert_has_file repo/state/${rev}.commitpartial echo "ok corrupt file" + +cd ${test_tmpdir} +rm repo files -rf +setup_test_repository "bare" + +rev=$($OSTREE rev-parse test2) +firstfilechecksum=$(ostree_file_path_to_checksum repo test2 /firstfile) +echo corrupted >> repo/$(ostree_checksum_to_relative_object_path repo $firstfilechecksum) +secondfilechecksum=$(ostree_file_path_to_checksum repo test2 /baz/cow) +echo corrupted >> repo/$(ostree_checksum_to_relative_object_path repo $secondfilechecksum) + +assert_not_has_file repo/state/${rev}.commitpartial + +if $OSTREE fsck -a --delete 2>err.txt; then + assert_not_reached "fsck unexpectedly succeeded" +fi +assert_file_has_content err.txt "Corrupted file object.*${firstfilechecksum}" +assert_file_has_content err.txt "Corrupted file object.*${secondfilechecksum}" +assert_file_has_content_literal err.txt "Marking commit as partial: $rev" +assert_has_file repo/state/${rev}.commitpartial + +echo "ok fsck --all" diff --git a/tests/test-include-ostree-h.c b/tests/test-include-ostree-h.c new file mode 100644 index 00000000..af41bb3c --- /dev/null +++ b/tests/test-include-ostree-h.c @@ -0,0 +1,45 @@ +/* + * Copyright © 2018 Endless Mobile, Inc. + * + * SPDX-License-Identifier: LGPL-2.0+ + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * Authors: + * - Matthew Leeds + */ + +#include "config.h" + +#include +#include +#include + +static void +test_include_ostree_h_compiled (void) +{ +} + +/* Just ensure that we can compile with ostree.h included */ +int main (int argc, char **argv) +{ + setlocale (LC_ALL, ""); + g_test_init (&argc, &argv, NULL); + + g_test_add_func ("/include-ostree-h/compiled", test_include_ostree_h_compiled); + + return g_test_run(); +} diff --git a/tests/test-pull-repeated.sh b/tests/test-pull-repeated.sh index f43f720f..bfc7148a 100755 --- a/tests/test-pull-repeated.sh +++ b/tests/test-pull-repeated.sh @@ -23,12 +23,14 @@ set -euo pipefail . $(dirname $0)/libtest.sh -echo "1..1" +echo "1..2" COMMIT_SIGN="--gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1}" + +# Test pulling from a repo which gives error 500 (internal server error) a lot of the time. setup_fake_remote_repo1 "archive" "${COMMIT_SIGN}" --random-500s=50 -cd ${test_tmpdir} +pushd ${test_tmpdir} ostree_repo_init repo --mode=archive ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo for x in $(seq 200); do @@ -42,4 +44,26 @@ done ${CMD_PREFIX} ostree --repo=repo fsck ${CMD_PREFIX} ostree --repo=repo rev-parse main +popd echo "ok repeated pull after 500s" + +# Now test from a repo which gives error 408 (request timeout) a lot of the time. +rm ostree-srv httpd repo -rf +setup_fake_remote_repo1 "archive" "${COMMIT_SIGN}" --random-408s=50 + +pushd ${test_tmpdir} +ostree_repo_init repo --mode=archive +${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo +for x in $(seq 40); do + if ${CMD_PREFIX} ostree --repo=repo pull --mirror origin main 2>err.txt; then + echo "Success on iteration ${x}" + break; + fi + assert_file_has_content err.txt "\(408.*Request Timeout\)\|\(HTTP 408\)" +done + +${CMD_PREFIX} ostree --repo=repo fsck +${CMD_PREFIX} ostree --repo=repo rev-parse main + +popd +echo "ok repeated pull after 408s" diff --git a/tests/test-repo-finder-mount.c b/tests/test-repo-finder-mount.c index 948a3245..55eb47fb 100644 --- a/tests/test-repo-finder-mount.c +++ b/tests/test-repo-finder-mount.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include "libostreetest.h"