Merge tag 'upstream/2017.7' into debian/master
Upstream version 2017.7
This commit is contained in:
commit
31880a6e5c
|
|
@ -155,24 +155,25 @@ libostree_1_la_SOURCES += \
|
|||
$(NULL)
|
||||
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 += $(symbol_files)
|
||||
|
||||
libostree_1_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/bsdiff -I$(srcdir)/libglnx -I$(srcdir)/src/libotutil -I$(srcdir)/src/libostree -I$(builddir)/src/libostree \
|
||||
$(OT_INTERNAL_GIO_UNIX_CFLAGS) $(OT_INTERNAL_GPGME_CFLAGS) $(OT_DEP_LZMA_CFLAGS) $(OT_DEP_ZLIB_CFLAGS) $(OT_DEP_OPENSSL_CFLAGS) \
|
||||
-fvisibility=hidden '-D_OSTREE_PUBLIC=__attribute__((visibility("default"))) extern'
|
||||
libostree_1_la_LDFLAGS = -version-number 1:0:0 -Bsymbolic-functions -Wl,--version-script=$(top_srcdir)/src/libostree/libostree.sym
|
||||
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_OPENSSL_LIBS)
|
||||
libostree_1_la_LIBADD += $(bupsplitpath)
|
||||
EXTRA_libostree_1_la_DEPENDENCIES = $(top_srcdir)/src/libostree/libostree.sym
|
||||
|
||||
EXTRA_DIST += \
|
||||
src/libostree/libostree.sym \
|
||||
src/libostree/libostree-experimental.sym \
|
||||
$(NULL)
|
||||
|
||||
if ENABLE_EXPERIMENTAL_API
|
||||
libostree_1_la_LDFLAGS += -Wl,--version-script=$(top_srcdir)/src/libostree/libostree-experimental.sym
|
||||
EXTRA_libostree_1_la_DEPENDENCIES += $(top_srcdir)/src/libostree/libostree-experimental.sym
|
||||
endif
|
||||
EXTRA_libostree_1_la_DEPENDENCIES = $(symbol_files)
|
||||
|
||||
if USE_LIBARCHIVE
|
||||
libostree_1_la_CFLAGS += $(OT_DEP_LIBARCHIVE_CFLAGS)
|
||||
|
|
|
|||
|
|
@ -29,7 +29,10 @@ 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-trivial-httpd.1
|
||||
ostree-summary.1 ostree-static-delta.1
|
||||
if BUILDOPT_TRIVIAL_HTTPD
|
||||
man1_files += ostree-trivial-httpd.1
|
||||
endif
|
||||
|
||||
if BUILDOPT_FUSE
|
||||
man1_files += rofiles-fuse.1
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ EXTRA_DIST += \
|
|||
# We should probably consider flipping the default for DEBUG. Also,
|
||||
# include the builddir in $PATH so we find our just-built ostree
|
||||
# binary.
|
||||
TESTS_ENVIRONMENT += OT_TESTS_DEBUG=1 \
|
||||
AM_TESTS_ENVIRONMENT += OT_TESTS_DEBUG=1 \
|
||||
OSTREE_UNINSTALLED_SRCDIR=$(abs_top_srcdir) \
|
||||
OSTREE_UNINSTALLED=$(abs_top_builddir) \
|
||||
G_DEBUG=fatal-warnings \
|
||||
|
|
@ -37,7 +37,7 @@ TESTS_ENVIRONMENT += OT_TESTS_DEBUG=1 \
|
|||
OSTREE_FEATURES="$(OSTREE_FEATURES)" \
|
||||
$(NULL)
|
||||
if BUILDOPT_ASAN
|
||||
TESTS_ENVIRONMENT += OT_SKIP_READDIR_RAND=1 G_SLICE=always-malloc
|
||||
AM_TESTS_ENVIRONMENT += OT_SKIP_READDIR_RAND=1 G_SLICE=always-malloc
|
||||
endif
|
||||
|
||||
uninstalled_test_data = tests/ostree-symlink-stamp tests/ostree-prepare-root-symlink-stamp \
|
||||
|
|
@ -82,6 +82,7 @@ _installed_or_uninstalled_test_scripts = \
|
|||
tests/test-local-pull-depth.sh \
|
||||
tests/test-gpg-signed-commit.sh \
|
||||
tests/test-admin-upgrade-unconfigured.sh \
|
||||
tests/test-admin-upgrade-endoflife.sh \
|
||||
tests/test-admin-deploy-syslinux.sh \
|
||||
tests/test-admin-deploy-2.sh \
|
||||
tests/test-admin-deploy-karg.sh \
|
||||
|
|
|
|||
44
Makefile.in
44
Makefile.in
|
|
@ -394,7 +394,7 @@ check_PROGRAMS = $(am__EXEEXT_9) $(am__EXEEXT_10) $(am__EXEEXT_11)
|
|||
@ENABLE_EXPERIMENTAL_API_FALSE@ src/libostree/ostree-remote.h \
|
||||
@ENABLE_EXPERIMENTAL_API_FALSE@ $(NULL)
|
||||
|
||||
@ENABLE_EXPERIMENTAL_API_TRUE@am__append_22 = -Wl,--version-script=$(top_srcdir)/src/libostree/libostree-experimental.sym
|
||||
@BUILDOPT_IS_DEVEL_BUILD_TRUE@am__append_22 = $(top_srcdir)/src/libostree/libostree-devel.sym
|
||||
@ENABLE_EXPERIMENTAL_API_TRUE@am__append_23 = $(top_srcdir)/src/libostree/libostree-experimental.sym
|
||||
@USE_LIBARCHIVE_TRUE@am__append_24 = $(OT_DEP_LIBARCHIVE_CFLAGS)
|
||||
@USE_LIBARCHIVE_TRUE@am__append_25 = $(OT_DEP_LIBARCHIVE_LIBS)
|
||||
|
|
@ -475,9 +475,10 @@ check_PROGRAMS = $(am__EXEEXT_9) $(am__EXEEXT_10) $(am__EXEEXT_11)
|
|||
# We're using the system grub2-mkconfig generator
|
||||
@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_FALSE@am__append_70 = src/boot/grub2/grub2-15_ostree
|
||||
@BUILDOPT_BUILTIN_GRUB2_MKCONFIG_FALSE@am__append_71 = install-grub2-config-hook
|
||||
@BUILDOPT_FUSE_TRUE@@ENABLE_MAN_TRUE@am__append_72 = rofiles-fuse.1
|
||||
@ENABLE_MAN_TRUE@am__append_73 = $(man1_MANS) $(man5_MANS) $(man1_MANS:.1=.xml) $(man5_MANS:.5=.xml)
|
||||
@ENABLE_MAN_TRUE@am__append_74 = \
|
||||
@BUILDOPT_TRIVIAL_HTTPD_TRUE@@ENABLE_MAN_TRUE@am__append_72 = ostree-trivial-httpd.1
|
||||
@BUILDOPT_FUSE_TRUE@@ENABLE_MAN_TRUE@am__append_73 = rofiles-fuse.1
|
||||
@ENABLE_MAN_TRUE@am__append_74 = $(man1_MANS) $(man5_MANS) $(man1_MANS:.1=.xml) $(man5_MANS:.5=.xml)
|
||||
@ENABLE_MAN_TRUE@am__append_75 = \
|
||||
@ENABLE_MAN_TRUE@ $(man1_MANS) \
|
||||
@ENABLE_MAN_TRUE@ $(man5_MANS) \
|
||||
@ENABLE_MAN_TRUE@ $(NULL)
|
||||
|
|
@ -1497,6 +1498,7 @@ am__EXEEXT_17 = tests/test-basic.sh tests/test-basic-user.sh \
|
|||
tests/test-pull-override-url.sh tests/test-local-pull.sh \
|
||||
tests/test-local-pull-depth.sh tests/test-gpg-signed-commit.sh \
|
||||
tests/test-admin-upgrade-unconfigured.sh \
|
||||
tests/test-admin-upgrade-endoflife.sh \
|
||||
tests/test-admin-deploy-syslinux.sh \
|
||||
tests/test-admin-deploy-2.sh tests/test-admin-deploy-karg.sh \
|
||||
tests/test-admin-deploy-switch.sh \
|
||||
|
|
@ -1818,15 +1820,14 @@ CLEANFILES = $(am__append_13) $(BUILT_SOURCES) $(am__append_42) \
|
|||
tests/ostree-remount-symlink-stamp \
|
||||
tests/rofiles-fuse-symlink-stamp tests/ostree \
|
||||
tests/ostree-prepare-root tests/ostree-remount \
|
||||
tests/rofiles-fuse $(am__append_74)
|
||||
tests/rofiles-fuse $(am__append_75)
|
||||
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) src/libostree/libostree.sym \
|
||||
src/libostree/libostree-experimental.sym $(NULL) \
|
||||
src/libostree/README-gpg src/libostree/bupsplit.h \
|
||||
$(am__append_17) $(symbol_files) src/libostree/README-gpg \
|
||||
src/libostree/bupsplit.h \
|
||||
src/libostree/ostree-enumtypes.h.template \
|
||||
src/libostree/ostree-enumtypes.c.template \
|
||||
src/libostree/ostree-deployment-private.h \
|
||||
|
|
@ -1840,7 +1841,7 @@ EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) autogen.sh \
|
|||
src/boot/mkinitcpio/ostree \
|
||||
src/boot/ostree-prepare-root.service \
|
||||
src/boot/ostree-remount.service src/boot/grub2/grub2-15_ostree \
|
||||
src/boot/grub2/ostree-grub-generator $(NULL) $(am__append_73)
|
||||
src/boot/grub2/ostree-grub-generator $(NULL) $(am__append_74)
|
||||
bin_SCRIPTS =
|
||||
lib_LTLIBRARIES = libostree-1.la
|
||||
pkglibexec_SCRIPTS = $(am__append_70)
|
||||
|
|
@ -1862,7 +1863,7 @@ ostree_bootdir = $(prefix)/lib/ostree
|
|||
# We should probably consider flipping the default for DEBUG. Also,
|
||||
# include the builddir in $PATH so we find our just-built ostree
|
||||
# binary.
|
||||
TESTS_ENVIRONMENT = G_TEST_SRCDIR="$(abs_srcdir)" \
|
||||
AM_TESTS_ENVIRONMENT = G_TEST_SRCDIR="$(abs_srcdir)" \
|
||||
G_TEST_BUILDDIR="$(abs_builddir)" UNINSTALLEDTESTS=1 \
|
||||
G_DEBUG=gc-friendly MALLOC_CHECK_=2 \
|
||||
MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256)) OT_TESTS_DEBUG=1 \
|
||||
|
|
@ -2119,6 +2120,10 @@ libostree_1_la_SOURCES = src/libostree/ostree-async-progress.c \
|
|||
src/libostree/ostree-autocleanups.h $(NULL) $(am__append_19) \
|
||||
$(am__append_20) $(am__append_21) $(am__append_28) \
|
||||
$(am__append_29) $(am__append_32)
|
||||
symbol_files = $(top_srcdir)/src/libostree/libostree-released.sym \
|
||||
$(am__append_22) $(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 \
|
||||
-I$(srcdir)/libglnx -I$(srcdir)/src/libotutil \
|
||||
-I$(srcdir)/src/libostree -I$(builddir)/src/libostree \
|
||||
|
|
@ -2128,17 +2133,14 @@ libostree_1_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/bsdiff \
|
|||
'-D_OSTREE_PUBLIC=__attribute__((visibility("default"))) \
|
||||
extern' $(am__append_24) $(am__append_26) $(am__append_30) \
|
||||
$(am__append_33) $(am__append_35) $(am__append_37)
|
||||
libostree_1_la_LDFLAGS = -version-number 1:0:0 -Bsymbolic-functions \
|
||||
-Wl,--version-script=$(top_srcdir)/src/libostree/libostree.sym \
|
||||
$(am__append_22)
|
||||
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_OPENSSL_LIBS) $(bupsplitpath) \
|
||||
$(am__append_25) $(am__append_27) $(am__append_31) \
|
||||
$(am__append_34) $(am__append_36) $(am__append_38)
|
||||
EXTRA_libostree_1_la_DEPENDENCIES = \
|
||||
$(top_srcdir)/src/libostree/libostree.sym $(am__append_23)
|
||||
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 = $(libostree_1_la_CFLAGS)
|
||||
|
|
@ -2277,6 +2279,7 @@ _installed_or_uninstalled_test_scripts = tests/test-basic.sh \
|
|||
tests/test-pull-override-url.sh tests/test-local-pull.sh \
|
||||
tests/test-local-pull-depth.sh tests/test-gpg-signed-commit.sh \
|
||||
tests/test-admin-upgrade-unconfigured.sh \
|
||||
tests/test-admin-upgrade-endoflife.sh \
|
||||
tests/test-admin-deploy-syslinux.sh \
|
||||
tests/test-admin-deploy-2.sh tests/test-admin-deploy-karg.sh \
|
||||
tests/test-admin-deploy-switch.sh \
|
||||
|
|
@ -2441,8 +2444,8 @@ tests_test_gpg_verify_result_LDADD = $(TESTS_LDADD) $(OT_INTERNAL_GPGME_LIBS)
|
|||
@ENABLE_MAN_TRUE@ ostree-pull.1 ostree-refs.1 ostree-remote.1 \
|
||||
@ENABLE_MAN_TRUE@ ostree-reset.1 ostree-rev-parse.1 \
|
||||
@ENABLE_MAN_TRUE@ ostree-show.1 ostree-summary.1 \
|
||||
@ENABLE_MAN_TRUE@ ostree-static-delta.1 ostree-trivial-httpd.1 \
|
||||
@ENABLE_MAN_TRUE@ $(am__append_72)
|
||||
@ENABLE_MAN_TRUE@ ostree-static-delta.1 $(am__append_72) \
|
||||
@ENABLE_MAN_TRUE@ $(am__append_73)
|
||||
@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))
|
||||
|
|
@ -6789,6 +6792,13 @@ tests/test-admin-upgrade-unconfigured.sh.log: tests/test-admin-upgrade-unconfigu
|
|||
--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-admin-upgrade-endoflife.sh.log: tests/test-admin-upgrade-endoflife.sh
|
||||
@p='tests/test-admin-upgrade-endoflife.sh'; \
|
||||
b='tests/test-admin-upgrade-endoflife.sh'; \
|
||||
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
|
||||
--log-file $$b.log --trs-file $$b.trs \
|
||||
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
|
||||
"$$tst" $(AM_TESTS_FD_REDIRECT)
|
||||
tests/test-admin-deploy-syslinux.sh.log: tests/test-admin-deploy-syslinux.sh
|
||||
@p='tests/test-admin-deploy-syslinux.sh'; \
|
||||
b='tests/test-admin-deploy-syslinux.sh'; \
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<div class="titlepage">
|
||||
<div>
|
||||
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">OSTree API references</p></th></tr></table></div>
|
||||
<div><p class="releaseinfo">for OSTree 2017.6</p></div>
|
||||
<div><p class="releaseinfo">for OSTree 2017.7</p></div>
|
||||
</div>
|
||||
<hr>
|
||||
</div>
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -41,7 +41,7 @@
|
|||
<tbody>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">guint</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-count-all" title="ostree_gpg_verify_result_count_all ()">ostree_gpg_verify_result_count_all</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -49,7 +49,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">guint</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-count-valid" title="ostree_gpg_verify_result_count_valid ()">ostree_gpg_verify_result_count_valid</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -57,7 +57,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-lookup" title="ostree_gpg_verify_result_lookup ()">ostree_gpg_verify_result_lookup</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -65,7 +65,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GVariant</span> *
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-get" title="ostree_gpg_verify_result_get ()">ostree_gpg_verify_result_get</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -73,7 +73,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GVariant</span> *
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-get-all" title="ostree_gpg_verify_result_get_all ()">ostree_gpg_verify_result_get_all</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -97,7 +97,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-require-valid-signature" title="ostree_gpg_verify_result_require_valid_signature ()">ostree_gpg_verify_result_require_valid_signature</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -146,7 +146,7 @@ or get all signature details with <a class="link" href="ostree-GPG-signature-ver
|
|||
<a name="ostree-GPG-signature-verification-results.functions_details"></a><h2>Functions</h2>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-gpg-verify-result-count-all"></a><h3>ostree_gpg_verify_result_count_all ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">guint</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
|
||||
ostree_gpg_verify_result_count_all (<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a> *result</code></em>);</pre>
|
||||
<p>Counts all the signatures in <em class="parameter"><code>result</code></em>
|
||||
.</p>
|
||||
|
|
@ -173,7 +173,7 @@ ostree_gpg_verify_result_count_all (<em class="parameter"><code><a class="link"
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-gpg-verify-result-count-valid"></a><h3>ostree_gpg_verify_result_count_valid ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">guint</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
|
||||
ostree_gpg_verify_result_count_valid (<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a> *result</code></em>);</pre>
|
||||
<p>Counts only the valid signatures in <em class="parameter"><code>result</code></em>
|
||||
.</p>
|
||||
|
|
@ -200,17 +200,17 @@ ostree_gpg_verify_result_count_valid (<em class="parameter"><code><a class="link
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-gpg-verify-result-lookup"></a><h3>ostree_gpg_verify_result_lookup ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_gpg_verify_result_lookup (<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a> *result</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">gchar</span> *key_id</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint</span> *out_signature_index</code></em>);</pre>
|
||||
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key_id</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *out_signature_index</code></em>);</pre>
|
||||
<p>Searches <em class="parameter"><code>result</code></em>
|
||||
for a signature signed by <em class="parameter"><code>key_id</code></em>
|
||||
. If a match is found,
|
||||
the function returns <code class="literal">TRUE</code> and sets <em class="parameter"><code>out_signature_index</code></em>
|
||||
the function returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> and sets <em class="parameter"><code>out_signature_index</code></em>
|
||||
so that further
|
||||
signature details can be obtained through <a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-get" title="ostree_gpg_verify_result_get ()"><code class="function">ostree_gpg_verify_result_get()</code></a>.
|
||||
If no match is found, the function returns <code class="literal">FALSE</code> and leaves
|
||||
If no match is found, the function returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> and leaves
|
||||
<em class="parameter"><code>out_signature_index</code></em>
|
||||
unchanged.</p>
|
||||
<div class="refsect3">
|
||||
|
|
@ -236,7 +236,7 @@ If no match is found, the function returns <code class="literal">FALSE</code> an
|
|||
<td class="parameter_name"><p>out_signature_index</p></td>
|
||||
<td class="parameter_description"><p> return location for the index of the signature
|
||||
signed by <em class="parameter"><code>key_id</code></em>
|
||||
, or <code class="literal">NULL</code>. </p></td>
|
||||
, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
|
@ -244,22 +244,22 @@ signed by <em class="parameter"><code>key_id</code></em>
|
|||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-lookup.returns"></a><h4>Returns</h4>
|
||||
<p> <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> on failure</p>
|
||||
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on failure</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-gpg-verify-result-get"></a><h3>ostree_gpg_verify_result_get ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GVariant</span> *
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
|
||||
ostree_gpg_verify_result_get (<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a> *result</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint</span> signature_index</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signature_index</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureAttr" title="enum OstreeGpgSignatureAttr"><span class="type">OstreeGpgSignatureAttr</span></a> *attrs</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint</span> n_attrs</code></em>);</pre>
|
||||
<p>Builds a <span class="type">GVariant</span> tuple of requested attributes for the GPG signature at
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_attrs</code></em>);</pre>
|
||||
<p>Builds a <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> tuple of requested attributes for the GPG signature at
|
||||
<em class="parameter"><code>signature_index</code></em>
|
||||
in <em class="parameter"><code>result</code></em>
|
||||
. See the <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureAttr" title="enum OstreeGpgSignatureAttr"><span class="type">OstreeGpgSignatureAttr</span></a> description
|
||||
for the <span class="type">GVariantType</span> of each available attribute.</p>
|
||||
for the <a href="https://developer.gnome.org/glib/unstable/glib-GVariantType.html#GVariantType"><span class="type">GVariantType</span></a> of each available attribute.</p>
|
||||
<p>It is a programmer error to request an invalid <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureAttr" title="enum OstreeGpgSignatureAttr"><span class="type">OstreeGpgSignatureAttr</span></a> or
|
||||
an invalid <em class="parameter"><code>signature_index</code></em>
|
||||
. Use <a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-count-all" title="ostree_gpg_verify_result_count_all ()"><code class="function">ostree_gpg_verify_result_count_all()</code></a> to
|
||||
|
|
@ -300,29 +300,29 @@ array</p></td>
|
|||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-get.returns"></a><h4>Returns</h4>
|
||||
<p> a new, floating, <span class="type">GVariant</span> tuple</p>
|
||||
<p> a new, floating, <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> tuple</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-gpg-verify-result-get-all"></a><h3>ostree_gpg_verify_result_get_all ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GVariant</span> *
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
|
||||
ostree_gpg_verify_result_get_all (<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a> *result</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint</span> signature_index</code></em>);</pre>
|
||||
<p>Builds a <span class="type">GVariant</span> tuple of all available attributes for the GPG signature
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signature_index</code></em>);</pre>
|
||||
<p>Builds a <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> tuple of all available attributes for the GPG signature
|
||||
at <em class="parameter"><code>signature_index</code></em>
|
||||
in <em class="parameter"><code>result</code></em>
|
||||
.</p>
|
||||
<p>The child values in the returned <span class="type">GVariant</span> tuple are ordered to match the
|
||||
<p>The child values in the returned <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> tuple are ordered to match the
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureAttr" title="enum OstreeGpgSignatureAttr"><span class="type">OstreeGpgSignatureAttr</span></a> enumeration, which means the enum values can be
|
||||
used as index values in functions like <code class="function">g_variant_get_child()</code>. See the
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureAttr" title="enum OstreeGpgSignatureAttr"><span class="type">OstreeGpgSignatureAttr</span></a> description for the <span class="type">GVariantType</span> of each
|
||||
used as index values in functions like <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-get-child"><code class="function">g_variant_get_child()</code></a>. See the
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureAttr" title="enum OstreeGpgSignatureAttr"><span class="type">OstreeGpgSignatureAttr</span></a> description for the <a href="https://developer.gnome.org/glib/unstable/glib-GVariantType.html#GVariantType"><span class="type">GVariantType</span></a> of each
|
||||
available attribute.</p>
|
||||
<div class="note"><p>
|
||||
The <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureAttr" title="enum OstreeGpgSignatureAttr"><span class="type">OstreeGpgSignatureAttr</span></a> enumeration may be extended in the future
|
||||
with new attributes, which would affect the <span class="type">GVariant</span> tuple returned by
|
||||
with new attributes, which would affect the <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> tuple returned by
|
||||
this function. While the position and type of current child values in
|
||||
the <span class="type">GVariant</span> tuple will not change, to avoid backward-compatibility
|
||||
the <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> tuple will not change, to avoid backward-compatibility
|
||||
issues <span class="emphasis"><em>please do not depend on the tuple's overall size or
|
||||
type signature</em></span>.
|
||||
</p></div>
|
||||
|
|
@ -355,7 +355,7 @@ available attribute.</p>
|
|||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-get-all.returns"></a><h4>Returns</h4>
|
||||
<p> a new, floating, <span class="type">GVariant</span> tuple</p>
|
||||
<p> a new, floating, <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> tuple</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
|
|
@ -363,9 +363,9 @@ available attribute.</p>
|
|||
<a name="ostree-gpg-verify-result-describe"></a><h3>ostree_gpg_verify_result_describe ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_gpg_verify_result_describe (<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a> *result</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint</span> signature_index</code></em>,
|
||||
<em class="parameter"><code><span class="type">GString</span> *output_buffer</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">gchar</span> *line_prefix</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signature_index</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Strings.html#GString"><span class="type">GString</span></a> *output_buffer</code></em>,
|
||||
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *line_prefix</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureFormatFlags" title="enum OstreeGpgSignatureFormatFlags"><span class="type">OstreeGpgSignatureFormatFlags</span></a> flags</code></em>);</pre>
|
||||
<p>Appends a brief, human-readable description of the GPG signature at
|
||||
<em class="parameter"><code>signature_index</code></em>
|
||||
|
|
@ -404,7 +404,7 @@ format. Currently must be 0.</p>
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>output_buffer</p></td>
|
||||
<td class="parameter_description"><p>a <span class="type">GString</span> to hold the description</p></td>
|
||||
<td class="parameter_description"><p>a <a href="https://developer.gnome.org/glib/unstable/glib-Strings.html#GString"><span class="type">GString</span></a> to hold the description</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
@ -426,11 +426,11 @@ format. Currently must be 0.</p>
|
|||
<a name="ostree-gpg-verify-result-describe-variant"></a><h3>ostree_gpg_verify_result_describe_variant ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_gpg_verify_result_describe_variant
|
||||
(<em class="parameter"><code><span class="type">GVariant</span> *variant</code></em>,
|
||||
<em class="parameter"><code><span class="type">GString</span> *output_buffer</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">gchar</span> *line_prefix</code></em>,
|
||||
(<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *variant</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Strings.html#GString"><span class="type">GString</span></a> *output_buffer</code></em>,
|
||||
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *line_prefix</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureFormatFlags" title="enum OstreeGpgSignatureFormatFlags"><span class="type">OstreeGpgSignatureFormatFlags</span></a> flags</code></em>);</pre>
|
||||
<p>Similar to <a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-describe" title="ostree_gpg_verify_result_describe ()"><code class="function">ostree_gpg_verify_result_describe()</code></a> but takes a <span class="type">GVariant</span> of
|
||||
<p>Similar to <a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-describe" title="ostree_gpg_verify_result_describe ()"><code class="function">ostree_gpg_verify_result_describe()</code></a> but takes a <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of
|
||||
all attributes for a GPG signature instead of an <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a>
|
||||
and signature index.</p>
|
||||
<p>The <em class="parameter"><code>variant</code></em>
|
||||
|
|
@ -447,12 +447,12 @@ and signature index.</p>
|
|||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>variant</p></td>
|
||||
<td class="parameter_description"><p>a <span class="type">GVariant</span> from <a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-get-all" title="ostree_gpg_verify_result_get_all ()"><code class="function">ostree_gpg_verify_result_get_all()</code></a></p></td>
|
||||
<td class="parameter_description"><p>a <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> from <a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-get-all" title="ostree_gpg_verify_result_get_all ()"><code class="function">ostree_gpg_verify_result_get_all()</code></a></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>output_buffer</p></td>
|
||||
<td class="parameter_description"><p>a <span class="type">GString</span> to hold the description</p></td>
|
||||
<td class="parameter_description"><p>a <a href="https://developer.gnome.org/glib/unstable/glib-Strings.html#GString"><span class="type">GString</span></a> to hold the description</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
@ -472,14 +472,14 @@ and signature index.</p>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-gpg-verify-result-require-valid-signature"></a><h3>ostree_gpg_verify_result_require_valid_signature ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_gpg_verify_result_require_valid_signature
|
||||
(<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a> *result</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Checks if the result contains at least one signature from the
|
||||
trusted keyring. You can call this function immediately after
|
||||
<a class="link" href="ostree-Content-addressed-object-store.html#ostree-repo-verify-summary" title="ostree_repo_verify_summary ()"><code class="function">ostree_repo_verify_summary()</code></a> or <a class="link" href="ostree-Content-addressed-object-store.html#ostree-repo-verify-commit-ext" title="ostree_repo_verify_commit_ext ()"><code class="function">ostree_repo_verify_commit_ext()</code></a> -
|
||||
it will handle the <code class="literal">NULL</code> <em class="parameter"><code>result</code></em>
|
||||
it will handle the <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> <em class="parameter"><code>result</code></em>
|
||||
and filled <em class="parameter"><code>error</code></em>
|
||||
too.</p>
|
||||
<div class="refsect3">
|
||||
|
|
@ -498,7 +498,7 @@ it will handle the <code class="literal">NULL</code> <em class="parameter"><code
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>error</p></td>
|
||||
<td class="parameter_description"><p>A <span class="type">GError</span></p></td>
|
||||
<td class="parameter_description"><p>A <a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
|
@ -506,9 +506,9 @@ it will handle the <code class="literal">NULL</code> <em class="parameter"><code
|
|||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-require-valid-signature.returns"></a><h4>Returns</h4>
|
||||
<p> <code class="literal">TRUE</code> if <em class="parameter"><code>result</code></em>
|
||||
was not <code class="literal">NULL</code> and had at least one
|
||||
signature from trusted keyring, otherwise <code class="literal">FALSE</code></p>
|
||||
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>result</code></em>
|
||||
was not <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and had at least one
|
||||
signature from trusted keyring, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -524,7 +524,7 @@ signature from trusted keyring, otherwise <code class="literal">FALSE</code></p>
|
|||
<div class="refsect2">
|
||||
<a name="OstreeGpgSignatureAttr"></a><h3>enum OstreeGpgSignatureAttr</h3>
|
||||
<p>Signature attributes available from an <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a>.
|
||||
The attribute's <span class="type">GVariantType</span> is shown in brackets.</p>
|
||||
The attribute's <a href="https://developer.gnome.org/glib/unstable/glib-GVariantType.html#GVariantType"><span class="type">GVariantType</span></a> is shown in brackets.</p>
|
||||
<div class="refsect3">
|
||||
<a name="OstreeGpgSignatureAttr.members"></a><h4>Members</h4>
|
||||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||||
|
|
@ -537,56 +537,56 @@ The attribute's <span class="type">GVariantType</span> is shown in brackets.</p>
|
|||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-VALID:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_VALID</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_BOOLEAN</span>] Is the signature valid?</p>
|
||||
<p> [<a href="https://developer.gnome.org/glib/unstable/glib-GVariantType.html#G-VARIANT-TYPE-BOOLEAN:CAPS"><span class="type">G_VARIANT_TYPE_BOOLEAN</span></a>] Is the signature valid?</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-SIG-EXPIRED:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_SIG_EXPIRED</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_BOOLEAN</span>] Has the signature expired?</p>
|
||||
<p> [<a href="https://developer.gnome.org/glib/unstable/glib-GVariantType.html#G-VARIANT-TYPE-BOOLEAN:CAPS"><span class="type">G_VARIANT_TYPE_BOOLEAN</span></a>] Has the signature expired?</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-KEY-EXPIRED:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_KEY_EXPIRED</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_BOOLEAN</span>] Has the signing key expired?</p>
|
||||
<p> [<a href="https://developer.gnome.org/glib/unstable/glib-GVariantType.html#G-VARIANT-TYPE-BOOLEAN:CAPS"><span class="type">G_VARIANT_TYPE_BOOLEAN</span></a>] Has the signing key expired?</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-KEY-REVOKED:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_KEY_REVOKED</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_BOOLEAN</span>] Has the signing key been revoked?</p>
|
||||
<p> [<a href="https://developer.gnome.org/glib/unstable/glib-GVariantType.html#G-VARIANT-TYPE-BOOLEAN:CAPS"><span class="type">G_VARIANT_TYPE_BOOLEAN</span></a>] Has the signing key been revoked?</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-KEY-MISSING:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_KEY_MISSING</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_BOOLEAN</span>] Is the signing key missing?</p>
|
||||
<p> [<a href="https://developer.gnome.org/glib/unstable/glib-GVariantType.html#G-VARIANT-TYPE-BOOLEAN:CAPS"><span class="type">G_VARIANT_TYPE_BOOLEAN</span></a>] Is the signing key missing?</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-FINGERPRINT:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_FINGERPRINT</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_STRING</span>] Fingerprint of the signing key</p>
|
||||
<p> [<a href="https://developer.gnome.org/glib/unstable/glib-GVariantType.html#G-VARIANT-TYPE-STRING:CAPS"><span class="type">G_VARIANT_TYPE_STRING</span></a>] Fingerprint of the signing key</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-TIMESTAMP:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_TIMESTAMP</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_INT64</span>] Signature creation Unix timestamp</p>
|
||||
<p> [<a href="https://developer.gnome.org/glib/unstable/glib-GVariantType.html#G-VARIANT-TYPE-INT64:CAPS"><span class="type">G_VARIANT_TYPE_INT64</span></a>] Signature creation Unix timestamp</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-EXP-TIMESTAMP:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_EXP_TIMESTAMP</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_INT64</span>] Signature expiration Unix timestamp (0 if no
|
||||
<p> [<a href="https://developer.gnome.org/glib/unstable/glib-GVariantType.html#G-VARIANT-TYPE-INT64:CAPS"><span class="type">G_VARIANT_TYPE_INT64</span></a>] Signature expiration Unix timestamp (0 if no
|
||||
expiration)</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
|
|
@ -594,7 +594,7 @@ The attribute's <span class="type">GVariantType</span> is shown in brackets.</p>
|
|||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-PUBKEY-ALGO-NAME:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_PUBKEY_ALGO_NAME</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_STRING</span>] Name of the public key algorithm used to create
|
||||
<p> [<a href="https://developer.gnome.org/glib/unstable/glib-GVariantType.html#G-VARIANT-TYPE-STRING:CAPS"><span class="type">G_VARIANT_TYPE_STRING</span></a>] Name of the public key algorithm used to create
|
||||
the signature</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
|
|
@ -602,7 +602,7 @@ The attribute's <span class="type">GVariantType</span> is shown in brackets.</p>
|
|||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-HASH-ALGO-NAME:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_HASH_ALGO_NAME</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_STRING</span>] Name of the hash algorithm used to create the
|
||||
<p> [<a href="https://developer.gnome.org/glib/unstable/glib-GVariantType.html#G-VARIANT-TYPE-STRING:CAPS"><span class="type">G_VARIANT_TYPE_STRING</span></a>] Name of the hash algorithm used to create the
|
||||
signature</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
|
|
@ -610,14 +610,14 @@ The attribute's <span class="type">GVariantType</span> is shown in brackets.</p>
|
|||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-USER-NAME:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_USER_NAME</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_STRING</span>] The name of the signing key's primary user</p>
|
||||
<p> [<a href="https://developer.gnome.org/glib/unstable/glib-GVariantType.html#G-VARIANT-TYPE-STRING:CAPS"><span class="type">G_VARIANT_TYPE_STRING</span></a>] The name of the signing key's primary user</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-USER-EMAIL:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_USER_EMAIL</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_STRING</span>] The email address of the signing key's primary
|
||||
<p> [<a href="https://developer.gnome.org/glib/unstable/glib-GVariantType.html#G-VARIANT-TYPE-STRING:CAPS"><span class="type">G_VARIANT_TYPE_STRING</span></a>] The email address of the signing key's primary
|
||||
user</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-replace-file" title="ostree_mutable_tree_replace_file ()">ostree_mutable_tree_replace_file</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -87,7 +87,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-ensure-dir" title="ostree_mutable_tree_ensure_dir ()">ostree_mutable_tree_ensure_dir</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -95,7 +95,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-lookup" title="ostree_mutable_tree_lookup ()">ostree_mutable_tree_lookup</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -103,7 +103,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-ensure-parent-dirs" title="ostree_mutable_tree_ensure_parent_dirs ()">ostree_mutable_tree_ensure_parent_dirs</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -111,7 +111,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-walk" title="ostree_mutable_tree_walk ()">ostree_mutable_tree_walk</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -119,7 +119,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GHashTable</span> *
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="returnvalue">GHashTable</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-get-subdirs" title="ostree_mutable_tree_get_subdirs ()">ostree_mutable_tree_get_subdirs</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -127,7 +127,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GHashTable</span> *
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="returnvalue">GHashTable</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-get-files" title="ostree_mutable_tree_get_files ()">ostree_mutable_tree_get_files</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -202,41 +202,41 @@ ostree_mutable_tree_get_contents_checksum
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-replace-file"></a><h3>ostree_mutable_tree_replace_file ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_mutable_tree_replace_file (<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-ensure-dir"></a><h3>ostree_mutable_tree_ensure_dir ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_mutable_tree_ensure_dir (<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> **out_subdir</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-lookup"></a><h3>ostree_mutable_tree_lookup ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_mutable_tree_lookup (<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
|
||||
<em class="parameter"><code><span class="type">char</span> **out_file_checksum</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> **out_subdir</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-ensure-parent-dirs"></a><h3>ostree_mutable_tree_ensure_parent_dirs ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_mutable_tree_ensure_parent_dirs
|
||||
(<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *split_path</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *split_path</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *metadata_checksum</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> **out_parent</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Create all parent trees necessary for the given <em class="parameter"><code>split_path</code></em>
|
||||
to
|
||||
exist.</p>
|
||||
|
|
@ -271,7 +271,7 @@ exist.</p>
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>error</p></td>
|
||||
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
|
||||
<td class="parameter_description"><p>a <a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
|
@ -281,12 +281,12 @@ exist.</p>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-walk"></a><h3>ostree_mutable_tree_walk ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_mutable_tree_walk (<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *split_path</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint</span> start</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *split_path</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> start</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> **out_subdir</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Traverse <em class="parameter"><code>start</code></em>
|
||||
number of elements starting from <em class="parameter"><code>split_path</code></em>
|
||||
; the
|
||||
|
|
@ -334,7 +334,7 @@ child will be returned in <em class="parameter"><code>out_subdir</code></em>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-get-subdirs"></a><h3>ostree_mutable_tree_get_subdirs ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GHashTable</span> *
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="returnvalue">GHashTable</span></a> *
|
||||
ostree_mutable_tree_get_subdirs (<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-mutable-tree-get-subdirs.returns"></a><h4>Returns</h4>
|
||||
|
|
@ -345,7 +345,7 @@ ostree_mutable_tree_get_subdirs (<em class="parameter"><code><a class="link" hre
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-get-files"></a><h3>ostree_mutable_tree_get_files ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GHashTable</span> *
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="returnvalue">GHashTable</span></a> *
|
||||
ostree_mutable_tree_get_files (<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-mutable-tree-get-files.returns"></a><h4>Returns</h4>
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GVariant</span> *
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-get-variant" title="ostree_async_progress_get_variant ()">ostree_async_progress_get_variant</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -81,7 +81,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">guint</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-get-uint" title="ostree_async_progress_get_uint ()">ostree_async_progress_get_uint</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -89,7 +89,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">guint64</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint64"><span class="returnvalue">guint64</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-get-uint64" title="ostree_async_progress_get_uint64 ()">ostree_async_progress_get_uint64</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -171,7 +171,7 @@ handles thread safety, ensuring that the progress change
|
|||
notification occurs in the thread-default context of the calling
|
||||
operation.</p>
|
||||
<p>The <a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-get-status" title="ostree_async_progress_get_status ()"><code class="function">ostree_async_progress_get_status()</code></a> and <a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-set-status" title="ostree_async_progress_set_status ()"><code class="function">ostree_async_progress_set_status()</code></a>
|
||||
methods get and set a well-known <code class="literal">status</code> key of type <code class="literal">G_VARIANT_TYPE_STRING</code>.
|
||||
methods get and set a well-known <code class="literal">status</code> key of type <a href="https://developer.gnome.org/glib/unstable/glib-GVariantType.html#G-VARIANT-TYPE-STRING:CAPS"><code class="literal">G_VARIANT_TYPE_STRING</code></a>.
|
||||
This key may be accessed using the other <a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> methods, but it
|
||||
must always have the correct type.</p>
|
||||
</div>
|
||||
|
|
@ -192,7 +192,7 @@ ostree_async_progress_new (<em class="parameter"><code><span class="type">void</
|
|||
<a name="ostree-async-progress-new-and-connect"></a><h3>ostree_async_progress_new_and_connect ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="returnvalue">OstreeAsyncProgress</span></a> *
|
||||
ostree_async_progress_new_and_connect (<em class="parameter"><code><span class="type">void</span> (*changed) (OstreeAsyncProgress *self, gpointer user_data)</code></em>,
|
||||
<em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
|
|
@ -200,7 +200,7 @@ ostree_async_progress_new_and_connect (<em class="parameter"><code><span class="
|
|||
<pre class="programlisting"><span class="returnvalue">char</span> *
|
||||
ostree_async_progress_get_status (<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *self</code></em>);</pre>
|
||||
<p>Get the human-readable status string from the <a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a>. This
|
||||
operation is thread-safe. The retuned value may be <code class="literal">NULL</code> if no status is
|
||||
operation is thread-safe. The retuned value may be <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no status is
|
||||
set.</p>
|
||||
<p>This is a convenience function to get the well-known <code class="literal">status</code> key.</p>
|
||||
<div class="refsect3">
|
||||
|
|
@ -220,7 +220,7 @@ set.</p>
|
|||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-async-progress-get-status.returns"></a><h4>Returns</h4>
|
||||
<p> the current status, or <code class="literal">NULL</code> if none is set. </p>
|
||||
<p> the current status, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none is set. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>][<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></p>
|
||||
</div>
|
||||
<p class="since">Since: 2017.6</p>
|
||||
|
|
@ -233,9 +233,9 @@ ostree_async_progress_get (<em class="parameter"><code><a class="link" href="ost
|
|||
<em class="parameter"><code>...</code></em>);</pre>
|
||||
<p>Get the values corresponding to zero or more keys from the
|
||||
<a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a>. Each key is specified in @... as the key name, followed
|
||||
by a <span class="type">GVariant</span> format string, followed by the necessary arguments for that
|
||||
format string, just as for <code class="function">g_variant_get()</code>. After those arguments is the
|
||||
next key name. The varargs list must be <code class="literal">NULL</code>-terminated.</p>
|
||||
by a <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> format string, followed by the necessary arguments for that
|
||||
format string, just as for <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-get"><code class="function">g_variant_get()</code></a>. After those arguments is the
|
||||
next key name. The varargs list must be <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated.</p>
|
||||
<p>Each format string must make deep copies of its value, as the values stored
|
||||
in the <a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> may be freed from another thread after this
|
||||
function returns.</p>
|
||||
|
|
@ -257,15 +257,15 @@ function returns.</p>
|
|||
11</pre></td>
|
||||
<td class="listing_code"><pre class="programlisting"><span class="usertype">guint32</span><span class="normal"> outstanding_fetches</span><span class="symbol">;</span>
|
||||
<span class="usertype">guint64</span><span class="normal"> bytes_received</span><span class="symbol">;</span>
|
||||
<span class="usertype">g_autofree</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">status </span><span class="symbol">=</span><span class="normal"> NULL</span><span class="symbol">;</span>
|
||||
<span class="function">g_autoptr</span><span class="symbol">(</span><span class="normal">GVariant</span><span class="symbol">)</span><span class="normal"> refs_variant </span><span class="symbol">=</span><span class="normal"> NULL</span><span class="symbol">;</span>
|
||||
<span class="usertype">g_autofree</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">status </span><span class="symbol">=</span><span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
|
||||
<span class="function"><a href="https://developer.gnome.org/glib/unstable/glib-Miscellaneous-Macros.html#g-autoptr">g_autoptr</a></span><span class="symbol">(</span><span class="normal"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant">GVariant</a></span><span class="symbol">)</span><span class="normal"> refs_variant </span><span class="symbol">=</span><span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
|
||||
|
||||
<span class="function"><a href="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-get">ostree_async_progress_get</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">progress</span><span class="symbol">,</span>
|
||||
<span class="normal"> </span><span class="string">"outstanding-fetches"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"u"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">outstanding_fetches</span><span class="symbol">,</span>
|
||||
<span class="normal"> </span><span class="string">"bytes-received"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"t"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">bytes_received</span><span class="symbol">,</span>
|
||||
<span class="normal"> </span><span class="string">"status"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"s"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">status</span><span class="symbol">,</span>
|
||||
<span class="normal"> </span><span class="string">"refs"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"@a{ss}"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">refs_variant</span><span class="symbol">,</span>
|
||||
<span class="normal"> NULL</span><span class="symbol">);</span></pre></td>
|
||||
<span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span></pre></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -288,7 +288,7 @@ function returns.</p>
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>...</p></td>
|
||||
<td class="parameter_description"><p>key name, format string, <span class="type">GVariant</span> return locations, …, followed by <code class="literal">NULL</code></p></td>
|
||||
<td class="parameter_description"><p>key name, format string, <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> return locations, …, followed by <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
|
@ -299,10 +299,10 @@ function returns.</p>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-async-progress-get-variant"></a><h3>ostree_async_progress_get_variant ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GVariant</span> *
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
|
||||
ostree_async_progress_get_variant (<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *key</code></em>);</pre>
|
||||
<p>Look up a key in the <a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> and return the <span class="type">GVariant</span> associated
|
||||
<p>Look up a key in the <a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> and return the <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> associated
|
||||
with it. The lookup is thread-safe.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-async-progress-get-variant.parameters"></a><h4>Parameters</h4>
|
||||
|
|
@ -329,7 +329,7 @@ with it. The lookup is thread-safe.</p>
|
|||
<div class="refsect3">
|
||||
<a name="ostree-async-progress-get-variant.returns"></a><h4>Returns</h4>
|
||||
<p> value for the given <em class="parameter"><code>key</code></em>
|
||||
, or <code class="literal">NULL</code> if
|
||||
, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
|
||||
it was not set. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>][<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></p>
|
||||
</div>
|
||||
|
|
@ -338,14 +338,14 @@ it was not set. </p>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-async-progress-get-uint"></a><h3>ostree_async_progress_get_uint ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">guint</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
|
||||
ostree_async_progress_get_uint (<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *key</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-async-progress-get-uint64"></a><h3>ostree_async_progress_get_uint64 ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">guint64</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint64"><span class="returnvalue">guint64</span></a>
|
||||
ostree_async_progress_get_uint64 (<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *key</code></em>);</pre>
|
||||
</div>
|
||||
|
|
@ -356,7 +356,7 @@ ostree_async_progress_get_uint64 (<em class="parameter"><code><a class="link" hr
|
|||
ostree_async_progress_set_status (<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *status</code></em>);</pre>
|
||||
<p>Set the human-readable status string for the <a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a>. This
|
||||
operation is thread-safe. <code class="literal">NULL</code> may be passed to clear the status.</p>
|
||||
operation is thread-safe. <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> may be passed to clear the status.</p>
|
||||
<p>This is a convenience function to set the well-known <code class="literal">status</code> key.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-async-progress-set-status.parameters"></a><h4>Parameters</h4>
|
||||
|
|
@ -374,7 +374,7 @@ operation is thread-safe. <code class="literal">NULL</code> may be passed to cle
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>status</p></td>
|
||||
<td class="parameter_description"><p> new status string, or <code class="literal">NULL</code> to clear the status. </p></td>
|
||||
<td class="parameter_description"><p> new status string, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to clear the status. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
|
@ -389,11 +389,11 @@ operation is thread-safe. <code class="literal">NULL</code> may be passed to cle
|
|||
ostree_async_progress_set (<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>...</code></em>);</pre>
|
||||
<p>Set the values for zero or more keys in the <a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a>. Each key is
|
||||
specified in @... as the key name, followed by a <span class="type">GVariant</span> format string,
|
||||
specified in @... as the key name, followed by a <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> format string,
|
||||
followed by the necessary arguments for that format string, just as for
|
||||
<code class="function">g_variant_new()</code>. After those arguments is the next key name. The varargs list
|
||||
must be <code class="literal">NULL</code>-terminated.</p>
|
||||
<p>g_variant_ref_sink() will be called as appropriate on the <span class="type">GVariant</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-new"><code class="function">g_variant_new()</code></a>. After those arguments is the next key name. The varargs list
|
||||
must be <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated.</p>
|
||||
<p>g_variant_ref_sink() will be called as appropriate on the <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a>
|
||||
parameters, so they may be floating.</p>
|
||||
<p>This operation is thread-safe, and all the keys are set atomically.</p>
|
||||
<div class="informalexample">
|
||||
|
|
@ -416,8 +416,8 @@ parameters, so they may be floating.</p>
|
|||
<span class="normal"> </span><span class="string">"outstanding-fetches"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"u"</span><span class="symbol">,</span><span class="normal"> outstanding_fetches</span><span class="symbol">,</span>
|
||||
<span class="normal"> </span><span class="string">"bytes-received"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"t"</span><span class="symbol">,</span><span class="normal"> bytes_received</span><span class="symbol">,</span>
|
||||
<span class="normal"> </span><span class="string">"status"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"s"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Updated status"</span><span class="symbol">,</span>
|
||||
<span class="normal"> </span><span class="string">"refs"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"@a{ss}"</span><span class="symbol">,</span><span class="normal"> </span><span class="function">g_variant_new_parsed</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"@a{ss} {}"</span><span class="symbol">),</span>
|
||||
<span class="normal"> NULL</span><span class="symbol">);</span></pre></td>
|
||||
<span class="normal"> </span><span class="string">"refs"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"@a{ss}"</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-new-parsed">g_variant_new_parsed</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"@a{ss} {}"</span><span class="symbol">),</span>
|
||||
<span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span></pre></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -440,7 +440,7 @@ parameters, so they may be floating.</p>
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>...</p></td>
|
||||
<td class="parameter_description"><p>key name, format string, <span class="type">GVariant</span> parameters, …, followed by <code class="literal">NULL</code></p></td>
|
||||
<td class="parameter_description"><p>key name, format string, <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> parameters, …, followed by <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
|
@ -454,13 +454,13 @@ parameters, so they may be floating.</p>
|
|||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_async_progress_set_variant (<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *key</code></em>,
|
||||
<em class="parameter"><code><span class="type">GVariant</span> *value</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
|
||||
<p>Assign a new <em class="parameter"><code>value</code></em>
|
||||
to the given <em class="parameter"><code>key</code></em>
|
||||
, replacing any existing value. The
|
||||
operation is thread-safe. <em class="parameter"><code>value</code></em>
|
||||
may be a floating reference;
|
||||
<code class="function">g_variant_ref_sink()</code> will be called on it.</p>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-ref-sink"><code class="function">g_variant_ref_sink()</code></a> will be called on it.</p>
|
||||
<p>Any watchers of the <a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> will be notified of the change if
|
||||
<em class="parameter"><code>value</code></em>
|
||||
differs from the existing value for <em class="parameter"><code>key</code></em>
|
||||
|
|
@ -501,7 +501,7 @@ operation is thread-safe. <em class="parameter"><code>value</code></em>
|
|||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_async_progress_set_uint (<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *key</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint</span> value</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> value</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
|
|
@ -509,7 +509,7 @@ ostree_async_progress_set_uint (<em class="parameter"><code><a class="link" href
|
|||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_async_progress_set_uint64 (<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *key</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint64</span> value</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint64"><span class="type">guint64</span></a> value</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GFile</span> *
|
||||
<a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="returnvalue">GFile</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-get-path" title="ostree_sysroot_get_path ()">ostree_sysroot_get_path</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -65,7 +65,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-load" title="ostree_sysroot_load ()">ostree_sysroot_load</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -73,7 +73,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-load-if-changed" title="ostree_sysroot_load_if_changed ()">ostree_sysroot_load_if_changed</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -81,7 +81,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-lock" title="ostree_sysroot_lock ()">ostree_sysroot_lock</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -89,7 +89,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-try-lock" title="ostree_sysroot_try_lock ()">ostree_sysroot_try_lock</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -105,7 +105,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-lock-finish" title="ostree_sysroot_lock_finish ()">ostree_sysroot_lock_finish</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -137,7 +137,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-ensure-initialized" title="ostree_sysroot_ensure_initialized ()">ostree_sysroot_ensure_initialized</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -161,7 +161,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GPtrArray</span> *
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-get-deployments" title="ostree_sysroot_get_deployments ()">ostree_sysroot_get_deployments</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -177,7 +177,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GFile</span> *
|
||||
<a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="returnvalue">GFile</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-get-deployment-directory" title="ostree_sysroot_get_deployment_directory ()">ostree_sysroot_get_deployment_directory</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -193,7 +193,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GFile</span> *
|
||||
<a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="returnvalue">GFile</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-get-deployment-origin-path" title="ostree_sysroot_get_deployment_origin_path ()">ostree_sysroot_get_deployment_origin_path</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -201,7 +201,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-cleanup" title="ostree_sysroot_cleanup ()">ostree_sysroot_cleanup</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -209,7 +209,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-prepare-cleanup" title="ostree_sysroot_prepare_cleanup ()">ostree_sysroot_prepare_cleanup</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -217,7 +217,15 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a class="link" href="ostree-Content-addressed-object-store.html#OstreeRepo" title="OstreeRepo"><span class="returnvalue">OstreeRepo</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-repo" title="ostree_sysroot_repo ()">ostree_sysroot_repo</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-get-repo" title="ostree_sysroot_get_repo ()">ostree_sysroot_get_repo</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -225,7 +233,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-init-osname" title="ostree_sysroot_init_osname ()">ostree_sysroot_init_osname</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -233,7 +241,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-deployment-set-kargs" title="ostree_sysroot_deployment_set_kargs ()">ostree_sysroot_deployment_set_kargs</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -241,7 +249,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-deployment-set-mutable" title="ostree_sysroot_deployment_set_mutable ()">ostree_sysroot_deployment_set_mutable</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -249,7 +257,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-deployment-unlock" title="ostree_sysroot_deployment_unlock ()">ostree_sysroot_deployment_unlock</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -257,7 +265,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-write-deployments" title="ostree_sysroot_write_deployments ()">ostree_sysroot_write_deployments</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -265,7 +273,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-write-deployments-with-options" title="ostree_sysroot_write_deployments_with_options ()">ostree_sysroot_write_deployments_with_options</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -273,7 +281,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-write-origin-file" title="ostree_sysroot_write_origin_file ()">ostree_sysroot_write_origin_file</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -281,7 +289,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-deploy-tree" title="ostree_sysroot_deploy_tree ()">ostree_sysroot_deploy_tree</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -297,7 +305,15 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GKeyFile</span> *
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-query-deployments-for" title="ostree_sysroot_query_deployments_for ()">ostree_sysroot_query_deployments_for</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="returnvalue">GKeyFile</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-origin-new-from-refspec" title="ostree_sysroot_origin_new_from_refspec ()">ostree_sysroot_origin_new_from_refspec</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -305,7 +321,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-simple-write-deployment" title="ostree_sysroot_simple_write_deployment ()">ostree_sysroot_simple_write_deployment</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -348,7 +364,7 @@ perform locking externally.</p>
|
|||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-new"></a><h3>ostree_sysroot_new ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="returnvalue">OstreeSysroot</span></a> *
|
||||
ostree_sysroot_new (<em class="parameter"><code><span class="type">GFile</span> *path</code></em>);</pre>
|
||||
ostree_sysroot_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="type">GFile</span></a> *path</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-new.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||||
|
|
@ -359,7 +375,7 @@ ostree_sysroot_new (<em class="parameter"><code><span class="type">GFile</span>
|
|||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="parameter_name"><p>path</p></td>
|
||||
<td class="parameter_description"><p> Path to a system root directory, or <code class="literal">NULL</code>. </p></td>
|
||||
<td class="parameter_description"><p> Path to a system root directory, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
|
|
@ -385,7 +401,7 @@ ostree_sysroot_new_default (<em class="parameter"><code><span class="type">void<
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-get-path"></a><h3>ostree_sysroot_get_path ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GFile</span> *
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="returnvalue">GFile</span></a> *
|
||||
ostree_sysroot_get_path (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-get-path.returns"></a><h4>Returns</h4>
|
||||
|
|
@ -396,10 +412,10 @@ ostree_sysroot_get_path (<em class="parameter"><code><a class="link" href="ostre
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-load"></a><h3>ostree_sysroot_load ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_load (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Load deployment list, bootversion, and subbootversion from the
|
||||
rootfs <em class="parameter"><code>self</code></em>
|
||||
.</p>
|
||||
|
|
@ -434,18 +450,18 @@ rootfs <em class="parameter"><code>self</code></em>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-load-if-changed"></a><h3>ostree_sysroot_load_if_changed ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_load_if_changed (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">gboolean</span> *out_changed</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *out_changed</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-lock"></a><h3>ostree_sysroot_lock ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_lock (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Acquire an exclusive multi-process write lock for <em class="parameter"><code>self</code></em>
|
||||
. This call
|
||||
blocks until the lock has been acquired. The lock is not
|
||||
|
|
@ -479,15 +495,15 @@ be released if <em class="parameter"><code>self</code></em>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-try-lock"></a><h3>ostree_sysroot_try_lock ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_try_lock (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">gboolean</span> *out_acquired</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *out_acquired</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Try to acquire an exclusive multi-process write lock for <em class="parameter"><code>self</code></em>
|
||||
. If
|
||||
another process holds the lock, this function will return
|
||||
immediately, setting <em class="parameter"><code>out_acquired</code></em>
|
||||
to <code class="literal">FALSE</code>, and returning <code class="literal">TRUE</code>
|
||||
to <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, and returning <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>
|
||||
(and no error).</p>
|
||||
<p>Release the lock with <a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-unlock" title="ostree_sysroot_unlock ()"><code class="function">ostree_sysroot_unlock()</code></a>. The lock will also
|
||||
be released if <em class="parameter"><code>self</code></em>
|
||||
|
|
@ -525,9 +541,9 @@ be released if <em class="parameter"><code>self</code></em>
|
|||
<a name="ostree-sysroot-lock-async"></a><h3>ostree_sysroot_lock_async ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_sysroot_lock_async (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GAsyncReadyCallback</span> callback</code></em>,
|
||||
<em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
|
||||
<p>An asynchronous version of <a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-lock" title="ostree_sysroot_lock ()"><code class="function">ostree_sysroot_lock()</code></a>.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-lock-async.parameters"></a><h4>Parameters</h4>
|
||||
|
|
@ -565,10 +581,10 @@ ostree_sysroot_lock_async (<em class="parameter"><code><a class="link" href="ost
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-lock-finish"></a><h3>ostree_sysroot_lock_finish ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_lock_finish (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GAsyncResult</span> *result</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *result</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Call when <a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-lock-async" title="ostree_sysroot_lock_async ()"><code class="function">ostree_sysroot_lock_async()</code></a> is ready.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-lock-finish.parameters"></a><h4>Parameters</h4>
|
||||
|
|
@ -680,10 +696,10 @@ calling this function.</p>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-ensure-initialized"></a><h3>ostree_sysroot_ensure_initialized ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_ensure_initialized (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Ensure that <em class="parameter"><code>self</code></em>
|
||||
is set up as a valid rootfs, by creating
|
||||
/ostree/repo, among other things.</p>
|
||||
|
|
@ -730,7 +746,7 @@ ostree_sysroot_get_subbootversion (<em class="parameter"><code><a class="link" h
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-get-deployments"></a><h3>ostree_sysroot_get_deployments ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GPtrArray</span> *
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
|
||||
ostree_sysroot_get_deployments (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-get-deployments.parameters"></a><h4>Parameters</h4>
|
||||
|
|
@ -775,14 +791,14 @@ ostree_sysroot_get_booted_deployment (<em class="parameter"><code><a class="link
|
|||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-get-booted-deployment.returns"></a><h4>Returns</h4>
|
||||
<p> The currently booted deployment, or <code class="literal">NULL</code> if none. </p>
|
||||
<p> The currently booted deployment, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-get-deployment-directory"></a><h3>ostree_sysroot_get_deployment_directory ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GFile</span> *
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="returnvalue">GFile</span></a> *
|
||||
ostree_sysroot_get_deployment_directory
|
||||
(<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *deployment</code></em>);</pre>
|
||||
|
|
@ -854,9 +870,9 @@ or concatenate it with the full <a class="link" href="ostree-Root-partition-moun
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-get-deployment-origin-path"></a><h3>ostree_sysroot_get_deployment_origin_path ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GFile</span> *
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="returnvalue">GFile</span></a> *
|
||||
ostree_sysroot_get_deployment_origin_path
|
||||
(<em class="parameter"><code><span class="type">GFile</span> *deployment_path</code></em>);</pre>
|
||||
(<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="type">GFile</span></a> *deployment_path</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-get-deployment-origin-path.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||||
|
|
@ -881,10 +897,10 @@ ostree_sysroot_get_deployment_origin_path
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-cleanup"></a><h3>ostree_sysroot_cleanup ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_cleanup (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Delete any state that resulted from a partially completed
|
||||
transaction, such as incomplete deployments.</p>
|
||||
<div class="refsect3">
|
||||
|
|
@ -918,10 +934,10 @@ transaction, such as incomplete deployments.</p>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-prepare-cleanup"></a><h3>ostree_sysroot_prepare_cleanup ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_prepare_cleanup (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Like <a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-cleanup" title="ostree_sysroot_cleanup ()"><code class="function">ostree_sysroot_cleanup()</code></a> in that it cleans up incomplete deployments
|
||||
and old boot versions, but does NOT prune the repository.</p>
|
||||
<div class="refsect3">
|
||||
|
|
@ -954,12 +970,42 @@ and old boot versions, but does NOT prune the repository.</p>
|
|||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-repo"></a><h3>ostree_sysroot_repo ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-Content-addressed-object-store.html#OstreeRepo" title="OstreeRepo"><span class="returnvalue">OstreeRepo</span></a> *
|
||||
ostree_sysroot_repo (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>);</pre>
|
||||
<p>This function is a variant of <a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-get-repo" title="ostree_sysroot_get_repo ()"><code class="function">ostree_sysroot_get_repo()</code></a> that cannot fail, and
|
||||
returns a cached repository. Can only be called after <a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-load" title="ostree_sysroot_load ()"><code class="function">ostree_sysroot_load()</code></a>
|
||||
has been invoked successfully.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-repo.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Sysroot</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-repo.returns"></a><h4>Returns</h4>
|
||||
<p> The OSTree repository in sysroot <em class="parameter"><code>self</code></em>
|
||||
. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-get-repo"></a><h3>ostree_sysroot_get_repo ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_get_repo (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-Content-addressed-object-store.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> **out_repo</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Retrieve the OSTree repository in sysroot <em class="parameter"><code>self</code></em>
|
||||
.</p>
|
||||
<div class="refsect3">
|
||||
|
|
@ -999,11 +1045,11 @@ ostree_sysroot_get_repo (<em class="parameter"><code><a class="link" href="ostre
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-init-osname"></a><h3>ostree_sysroot_init_osname ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_init_osname (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *osname</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Initialize the directory structure for an "osname", which is a
|
||||
group of operating system deployments, with a shared <code class="literal">/var</code>. One
|
||||
is required for generating a deployment.</p>
|
||||
|
|
@ -1043,12 +1089,12 @@ is required for generating a deployment.</p>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-deployment-set-kargs"></a><h3>ostree_sysroot_deployment_set_kargs ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_deployment_set_kargs (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *deployment</code></em>,
|
||||
<em class="parameter"><code><span class="type">char</span> **new_kargs</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Entirely replace the kernel arguments of <em class="parameter"><code>deployment</code></em>
|
||||
with the
|
||||
values in <em class="parameter"><code>new_kargs</code></em>
|
||||
|
|
@ -1094,12 +1140,12 @@ values in <em class="parameter"><code>new_kargs</code></em>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-deployment-set-mutable"></a><h3>ostree_sysroot_deployment_set_mutable ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_deployment_set_mutable (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *deployment</code></em>,
|
||||
<em class="parameter"><code><span class="type">gboolean</span> is_mutable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_mutable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>By default, deployment directories are not mutable. This function
|
||||
will allow making them temporarily mutable, for example to allow
|
||||
layering additional non-OSTree content.</p>
|
||||
|
|
@ -1144,12 +1190,12 @@ layering additional non-OSTree content.</p>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-deployment-unlock"></a><h3>ostree_sysroot_deployment_unlock ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_deployment_unlock (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *deployment</code></em>,
|
||||
<em class="parameter"><code><span class="type">OstreeDeploymentUnlockedState</span> unlocked_state</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Configure the target deployment <em class="parameter"><code>deployment</code></em>
|
||||
such that it
|
||||
is writable. There are multiple modes, essentially differing
|
||||
|
|
@ -1197,11 +1243,11 @@ across reboots.</p>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-write-deployments"></a><h3>ostree_sysroot_write_deployments ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_write_deployments (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *new_deployments</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *new_deployments</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Older version of <a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-write-deployments-with-options" title="ostree_sysroot_write_deployments_with_options ()"><code class="function">ostree_sysroot_write_deployments_with_options()</code></a>. This
|
||||
version will perform post-deployment cleanup by default.</p>
|
||||
<div class="refsect3">
|
||||
|
|
@ -1240,13 +1286,13 @@ version will perform post-deployment cleanup by default.</p>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-write-deployments-with-options"></a><h3>ostree_sysroot_write_deployments_with_options ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_write_deployments_with_options
|
||||
(<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *new_deployments</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *new_deployments</code></em>,
|
||||
<em class="parameter"><code><span class="type">OstreeSysrootWriteDeploymentsOpts</span> *opts</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Assuming <em class="parameter"><code>new_deployments</code></em>
|
||||
have already been deployed in place on disk via
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-deploy-tree" title="ostree_sysroot_deploy_tree ()"><code class="function">ostree_sysroot_deploy_tree()</code></a>, atomically update bootloader configuration. By
|
||||
|
|
@ -1296,17 +1342,17 @@ if for example you want to control pruning of the repository.</p>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-write-origin-file"></a><h3>ostree_sysroot_write_origin_file ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_write_origin_file (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *sysroot</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *deployment</code></em>,
|
||||
<em class="parameter"><code><span class="type">GKeyFile</span> *new_origin</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="type">GKeyFile</span></a> *new_origin</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Immediately replace the origin file of the referenced <em class="parameter"><code>deployment</code></em>
|
||||
|
||||
with the contents of <em class="parameter"><code>new_origin</code></em>
|
||||
. If <em class="parameter"><code>new_origin</code></em>
|
||||
is <code class="literal">NULL</code>,
|
||||
is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>,
|
||||
this function will write the current origin of <em class="parameter"><code>deployment</code></em>
|
||||
.</p>
|
||||
<div class="refsect3">
|
||||
|
|
@ -1350,16 +1396,16 @@ this function will write the current origin of <em class="parameter"><code>deplo
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-deploy-tree"></a><h3>ostree_sysroot_deploy_tree ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_deploy_tree (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *osname</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *revision</code></em>,
|
||||
<em class="parameter"><code><span class="type">GKeyFile</span> *origin</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="type">GKeyFile</span></a> *origin</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *provided_merge_deployment</code></em>,
|
||||
<em class="parameter"><code><span class="type">char</span> **override_kernel_argv</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> **out_new_deployment</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Check out deployment tree with revision <em class="parameter"><code>revision</code></em>
|
||||
, performing a 3
|
||||
way merge with <em class="parameter"><code>provided_merge_deployment</code></em>
|
||||
|
|
@ -1400,7 +1446,7 @@ way merge with <em class="parameter"><code>provided_merge_deployment</code></em>
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>override_kernel_argv</p></td>
|
||||
<td class="parameter_description"><p> Use these as kernel arguments; if <code class="literal">NULL</code>, inherit options from provided_merge_deployment. </p></td>
|
||||
<td class="parameter_description"><p> Use these as kernel arguments; if <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, inherit options from provided_merge_deployment. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>][<a href="http://foldoc.org/array"><span class="acronym">array</span></a> zero-terminated=1][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
@ -1460,8 +1506,59 @@ the first one in the current deployment list which matches osname.</p>
|
|||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-query-deployments-for"></a><h3>ostree_sysroot_query_deployments_for ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_sysroot_query_deployments_for (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *osname</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> **out_pending</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> **out_rollback</code></em>);</pre>
|
||||
<p>Find the pending and rollback deployments for <em class="parameter"><code>osname</code></em>
|
||||
. Pass <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for <em class="parameter"><code>osname</code></em>
|
||||
|
||||
to use the booted deployment's osname. By default, pending deployment is the
|
||||
first deployment in the order that matches <em class="parameter"><code>osname</code></em>
|
||||
, and <em class="parameter"><code>rollback</code></em>
|
||||
will be the
|
||||
next one after the booted deployment, or the deployment after the pending if
|
||||
we're not looking at the booted deployment.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-query-deployments-for.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Sysroot</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>osname</p></td>
|
||||
<td class="parameter_description"><p> "stateroot" name. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>out_pending</p></td>
|
||||
<td class="parameter_description"><p> The pending deployment. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>out_rollback</p></td>
|
||||
<td class="parameter_description"><p> The rollback deployment. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<p class="since">Since: 2017.7</p>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-origin-new-from-refspec"></a><h3>ostree_sysroot_origin_new_from_refspec ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GKeyFile</span> *
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="returnvalue">GKeyFile</span></a> *
|
||||
ostree_sysroot_origin_new_from_refspec
|
||||
(<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *refspec</code></em>);</pre>
|
||||
|
|
@ -1497,15 +1594,15 @@ as an origin. </p>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-simple-write-deployment"></a><h3>ostree_sysroot_simple_write_deployment ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_simple_write_deployment
|
||||
(<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *sysroot</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *osname</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *new_deployment</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *merge_deployment</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysrootSimpleWriteDeploymentFlags" title="enum OstreeSysrootSimpleWriteDeploymentFlags"><span class="type">OstreeSysrootSimpleWriteDeploymentFlags</span></a> flags</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Prepend <em class="parameter"><code>new_deployment</code></em>
|
||||
to the list of deployments, commit, and
|
||||
cleanup. By default, all other deployments for the given <em class="parameter"><code>osname</code></em>
|
||||
|
|
@ -1517,6 +1614,10 @@ specified, then all current deployments will be kept.</p>
|
|||
<p>If <a class="link" href="ostree-Root-partition-mount-point.html#OSTREE-SYSROOT-SIMPLE-WRITE-DEPLOYMENT-FLAGS-NOT-DEFAULT:CAPS"><code class="literal">OSTREE_SYSROOT_SIMPLE_WRITE_DEPLOYMENT_FLAGS_NOT_DEFAULT</code></a> is
|
||||
specified, then instead of prepending, the new deployment will be
|
||||
added right after the booted or merge deployment, instead of first.</p>
|
||||
<p>If <a class="link" href="ostree-Root-partition-mount-point.html#OSTREE-SYSROOT-SIMPLE-WRITE-DEPLOYMENT-FLAGS-NO-CLEAN:CAPS"><code class="literal">OSTREE_SYSROOT_SIMPLE_WRITE_DEPLOYMENT_FLAGS_NO_CLEAN</code></a> is
|
||||
specified, then no cleanup will be performed after adding the
|
||||
deployment. Make sure to call <a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-cleanup" title="ostree_sysroot_cleanup ()"><code class="function">ostree_sysroot_cleanup()</code></a> sometime
|
||||
later, instead.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-simple-write-deployment.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GFile</span> *
|
||||
<a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="returnvalue">GFile</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-SELinux-policy-management.html#ostree-sepolicy-get-path" title="ostree_sepolicy_get_path ()">ostree_sepolicy_get_path</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -72,7 +72,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-SELinux-policy-management.html#ostree-sepolicy-get-label" title="ostree_sepolicy_get_label ()">ostree_sepolicy_get_label</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -87,7 +87,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-SELinux-policy-management.html#ostree-sepolicy-restorecon" title="ostree_sepolicy_restorecon ()">ostree_sepolicy_restorecon</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -95,7 +95,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-SELinux-policy-management.html#ostree-sepolicy-setfscreatecon" title="ostree_sepolicy_setfscreatecon ()">ostree_sepolicy_setfscreatecon</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -141,9 +141,9 @@ root and perform labeling.</p>
|
|||
<div class="refsect2">
|
||||
<a name="ostree-sepolicy-new"></a><h3>ostree_sepolicy_new ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicy" title="OstreeSePolicy"><span class="returnvalue">OstreeSePolicy</span></a> *
|
||||
ostree_sepolicy_new (<em class="parameter"><code><span class="type">GFile</span> *path</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
ostree_sepolicy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="type">GFile</span></a> *path</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sepolicy-new.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||||
|
|
@ -183,8 +183,8 @@ ostree_sepolicy_new (<em class="parameter"><code><span class="type">GFile</span>
|
|||
<a name="ostree-sepolicy-new-at"></a><h3>ostree_sepolicy_new_at ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicy" title="OstreeSePolicy"><span class="returnvalue">OstreeSePolicy</span></a> *
|
||||
ostree_sepolicy_new_at (<em class="parameter"><code><span class="type">int</span> rootfs_dfd</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sepolicy-new-at.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||||
|
|
@ -222,7 +222,7 @@ ostree_sepolicy_new_at (<em class="parameter"><code><span class="type">int</span
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sepolicy-get-path"></a><h3>ostree_sepolicy_get_path ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GFile</span> *
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="returnvalue">GFile</span></a> *
|
||||
ostree_sepolicy_get_path (<em class="parameter"><code><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicy" title="OstreeSePolicy"><span class="type">OstreeSePolicy</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sepolicy-get-path.returns"></a><h4>Returns</h4>
|
||||
|
|
@ -244,18 +244,18 @@ ostree_sepolicy_get_name (<em class="parameter"><code><a class="link" href="ostr
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sepolicy-get-label"></a><h3>ostree_sepolicy_get_label ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sepolicy_get_label (<em class="parameter"><code><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicy" title="OstreeSePolicy"><span class="type">OstreeSePolicy</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *relpath</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint32</span> unix_mode</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> unix_mode</code></em>,
|
||||
<em class="parameter"><code><span class="type">char</span> **out_label</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Store in <em class="parameter"><code>out_label</code></em>
|
||||
the security context for the given <em class="parameter"><code>relpath</code></em>
|
||||
and
|
||||
mode <em class="parameter"><code>unix_mode</code></em>
|
||||
. If the policy does not specify a label, <code class="literal">NULL</code>
|
||||
. If the policy does not specify a label, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
||||
will be returned.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sepolicy-get-label.parameters"></a><h4>Parameters</h4>
|
||||
|
|
@ -314,15 +314,15 @@ ostree_sepolicy_get_csum (<em class="parameter"><code><a class="link" href="ostr
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sepolicy-restorecon"></a><h3>ostree_sepolicy_restorecon ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sepolicy_restorecon (<em class="parameter"><code><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicy" title="OstreeSePolicy"><span class="type">OstreeSePolicy</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFileInfo</span> *info</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFile</span> *target</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GFileInfo.html#GFileInfo-struct"><span class="type">GFileInfo</span></a> *info</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="type">GFile</span></a> *target</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicyRestoreconFlags" title="enum OstreeSePolicyRestoreconFlags"><span class="type">OstreeSePolicyRestoreconFlags</span></a> flags</code></em>,
|
||||
<em class="parameter"><code><span class="type">char</span> **out_new_label</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Reset the security context of <em class="parameter"><code>target</code></em>
|
||||
based on the SELinux policy.</p>
|
||||
<div class="refsect3">
|
||||
|
|
@ -361,7 +361,7 @@ ostree_sepolicy_restorecon (<em class="parameter"><code><a class="link" href="os
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>out_new_label</p></td>
|
||||
<td class="parameter_description"><p> New label, or <code class="literal">NULL</code> if unchanged. </p></td>
|
||||
<td class="parameter_description"><p> New label, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unchanged. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>][<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
@ -381,11 +381,11 @@ ostree_sepolicy_restorecon (<em class="parameter"><code><a class="link" href="os
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sepolicy-setfscreatecon"></a><h3>ostree_sepolicy_setfscreatecon ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sepolicy_setfscreatecon (<em class="parameter"><code><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicy" title="OstreeSePolicy"><span class="type">OstreeSePolicy</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint32</span> mode</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> mode</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sepolicy-setfscreatecon.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GKeyFile</span> *
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="returnvalue">GKeyFile</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-get-origin" title="ostree_sysroot_upgrader_get_origin ()">ostree_sysroot_upgrader_get_origin</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -73,7 +73,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GKeyFile</span> *
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="returnvalue">GKeyFile</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-dup-origin" title="ostree_sysroot_upgrader_dup_origin ()">ostree_sysroot_upgrader_dup_origin</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -81,7 +81,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-set-origin" title="ostree_sysroot_upgrader_set_origin ()">ostree_sysroot_upgrader_set_origin</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -97,7 +97,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-check-timestamps" title="ostree_sysroot_upgrader_check_timestamps ()">ostree_sysroot_upgrader_check_timestamps</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -105,7 +105,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-pull" title="ostree_sysroot_upgrader_pull ()">ostree_sysroot_upgrader_pull</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -113,7 +113,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-pull-one-dir" title="ostree_sysroot_upgrader_pull_one_dir ()">ostree_sysroot_upgrader_pull_one_dir</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -121,7 +121,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-deploy" title="ostree_sysroot_upgrader_deploy ()">ostree_sysroot_upgrader_deploy</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -164,8 +164,8 @@ operations.</p>
|
|||
<a name="ostree-sysroot-upgrader-new"></a><h3>ostree_sysroot_upgrader_new ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="returnvalue">OstreeSysrootUpgrader</span></a> *
|
||||
ostree_sysroot_upgrader_new (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *sysroot</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-new.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||||
|
|
@ -205,8 +205,8 @@ ostree_sysroot_upgrader_new (<em class="parameter"><code><a class="link" href="o
|
|||
<pre class="programlisting"><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="returnvalue">OstreeSysrootUpgrader</span></a> *
|
||||
ostree_sysroot_upgrader_new_for_os (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *sysroot</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *osname</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-new-for-os.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||||
|
|
@ -253,8 +253,8 @@ ostree_sysroot_upgrader_new_for_os_with_flags
|
|||
(<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *sysroot</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *osname</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgraderFlags" title="enum OstreeSysrootUpgraderFlags"><span class="type">OstreeSysrootUpgraderFlags</span></a> flags</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-new-for-os-with-flags.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||||
|
|
@ -301,7 +301,7 @@ ostree_sysroot_upgrader_new_for_os_with_flags
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-get-origin"></a><h3>ostree_sysroot_upgrader_get_origin ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GKeyFile</span> *
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="returnvalue">GKeyFile</span></a> *
|
||||
ostree_sysroot_upgrader_get_origin (<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="type">OstreeSysrootUpgrader</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-get-origin.parameters"></a><h4>Parameters</h4>
|
||||
|
|
@ -320,14 +320,14 @@ ostree_sysroot_upgrader_get_origin (<em class="parameter"><code><a class="link"
|
|||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-get-origin.returns"></a><h4>Returns</h4>
|
||||
<p> The origin file, or <code class="literal">NULL</code> if unknown. </p>
|
||||
<p> The origin file, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-dup-origin"></a><h3>ostree_sysroot_upgrader_dup_origin ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GKeyFile</span> *
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="returnvalue">GKeyFile</span></a> *
|
||||
ostree_sysroot_upgrader_dup_origin (<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="type">OstreeSysrootUpgrader</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-dup-origin.parameters"></a><h4>Parameters</h4>
|
||||
|
|
@ -346,18 +346,18 @@ ostree_sysroot_upgrader_dup_origin (<em class="parameter"><code><a class="link"
|
|||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-dup-origin.returns"></a><h4>Returns</h4>
|
||||
<p> A copy of the origin file, or <code class="literal">NULL</code> if unknown. </p>
|
||||
<p> A copy of the origin file, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-set-origin"></a><h3>ostree_sysroot_upgrader_set_origin ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_upgrader_set_origin (<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="type">OstreeSysrootUpgrader</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GKeyFile</span> *origin</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="type">GKeyFile</span></a> *origin</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Replace the origin with <em class="parameter"><code>origin</code></em>
|
||||
.</p>
|
||||
<div class="refsect3">
|
||||
|
|
@ -416,18 +416,18 @@ ostree_sysroot_upgrader_get_origin_description
|
|||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-get-origin-description.returns"></a><h4>Returns</h4>
|
||||
<p> A one-line descriptive summary of the origin, or <code class="literal">NULL</code> if unknown</p>
|
||||
<p> A one-line descriptive summary of the origin, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-check-timestamps"></a><h3>ostree_sysroot_upgrader_check_timestamps ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_upgrader_check_timestamps
|
||||
(<em class="parameter"><code><a class="link" href="ostree-Content-addressed-object-store.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *repo</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *from_rev</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *to_rev</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Check that the timestamp on <em class="parameter"><code>to_rev</code></em>
|
||||
is equal to or newer than
|
||||
<em class="parameter"><code>from_rev</code></em>
|
||||
|
|
@ -469,21 +469,21 @@ attackers which provide a client with an older commit.</p>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-pull"></a><h3>ostree_sysroot_upgrader_pull ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_upgrader_pull (<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="type">OstreeSysrootUpgrader</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-Content-addressed-object-store.html#OstreeRepoPullFlags" title="enum OstreeRepoPullFlags"><span class="type">OstreeRepoPullFlags</span></a> flags</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgraderPullFlags" title="enum OstreeSysrootUpgraderPullFlags"><span class="type">OstreeSysrootUpgraderPullFlags</span></a> upgrader_flags</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *progress</code></em>,
|
||||
<em class="parameter"><code><span class="type">gboolean</span> *out_changed</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *out_changed</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>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 <em class="parameter"><code>out_changed</code></em>
|
||||
will be <code class="literal">TRUE</code>.</p>
|
||||
will be <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p>
|
||||
<p>If the origin remote is unchanged, <em class="parameter"><code>out_changed</code></em>
|
||||
will be set to
|
||||
<code class="literal">FALSE</code>.</p>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-pull.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||||
|
|
@ -535,15 +535,15 @@ ref locally. Then <em class="parameter"><code>out_changed</code></em>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-pull-one-dir"></a><h3>ostree_sysroot_upgrader_pull_one_dir ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_upgrader_pull_one_dir (<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="type">OstreeSysrootUpgrader</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *dir_to_pull</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-Content-addressed-object-store.html#OstreeRepoPullFlags" title="enum OstreeRepoPullFlags"><span class="type">OstreeRepoPullFlags</span></a> flags</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgraderPullFlags" title="enum OstreeSysrootUpgraderPullFlags"><span class="type">OstreeSysrootUpgraderPullFlags</span></a> upgrader_flags</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *progress</code></em>,
|
||||
<em class="parameter"><code><span class="type">gboolean</span> *out_changed</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *out_changed</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Like <a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-pull" title="ostree_sysroot_upgrader_pull ()"><code class="function">ostree_sysroot_upgrader_pull()</code></a>, 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.</p>
|
||||
|
|
@ -603,10 +603,10 @@ from inside the tree such as package databases.</p>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-deploy"></a><h3>ostree_sysroot_upgrader_deploy ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_sysroot_upgrader_deploy (<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="type">OstreeSysrootUpgrader</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Write the new deployment to disk, perform a configuration merge
|
||||
with /etc, and update the bootloader configuration.</p>
|
||||
<div class="refsect3">
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-parse" title="ostree_bootconfig_parser_parse ()">ostree_bootconfig_parser_parse</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -65,7 +65,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-parse-at" title="ostree_bootconfig_parser_parse_at ()">ostree_bootconfig_parser_parse_at</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -73,7 +73,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-write" title="ostree_bootconfig_parser_write ()">ostree_bootconfig_parser_write</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -81,7 +81,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-write-at" title="ostree_bootconfig_parser_write_at ()">ostree_bootconfig_parser_write_at</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -158,21 +158,21 @@ ostree_bootconfig_parser_clone (<em class="parameter"><code><a class="link" href
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-bootconfig-parser-parse"></a><h3>ostree_bootconfig_parser_parse ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_bootconfig_parser_parse (<em class="parameter"><code><a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="type">OstreeBootconfigParser</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFile</span> *path</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="type">GFile</span></a> *path</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-bootconfig-parser-parse-at"></a><h3>ostree_bootconfig_parser_parse_at ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_bootconfig_parser_parse_at (<em class="parameter"><code><a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="type">OstreeBootconfigParser</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">int</span> dfd</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Initialize a bootconfig from the given file.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-bootconfig-parser-parse-at.parameters"></a><h4>Parameters</h4>
|
||||
|
|
@ -215,21 +215,21 @@ ostree_bootconfig_parser_parse_at (<em class="parameter"><code><a class="link" h
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-bootconfig-parser-write"></a><h3>ostree_bootconfig_parser_write ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_bootconfig_parser_write (<em class="parameter"><code><a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="type">OstreeBootconfigParser</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFile</span> *output</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="type">GFile</span></a> *output</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-bootconfig-parser-write-at"></a><h3>ostree_bootconfig_parser_write_at ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_bootconfig_parser_write_at (<em class="parameter"><code><a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="type">OstreeBootconfigParser</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">int</span> dfd</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@
|
|||
<div class="refsect2">
|
||||
<a name="ostree-chain-input-stream-new"></a><h3>ostree_chain_input_stream_new ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-ostree-chain-input-stream.html#OstreeChainInputStream" title="struct OstreeChainInputStream"><span class="returnvalue">OstreeChainInputStream</span></a> *
|
||||
ostree_chain_input_stream_new (<em class="parameter"><code><span class="type">GPtrArray</span> *streams</code></em>);</pre>
|
||||
ostree_chain_input_stream_new (<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *streams</code></em>);</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
|
|
|
|||
|
|
@ -69,8 +69,8 @@
|
|||
<div class="refsect2">
|
||||
<a name="ostree-checksum-input-stream-new"></a><h3>ostree_checksum_input_stream_new ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-ostree-checksum-input-stream.html#OstreeChecksumInputStream" title="struct OstreeChecksumInputStream"><span class="returnvalue">OstreeChecksumInputStream</span></a> *
|
||||
ostree_checksum_input_stream_new (<em class="parameter"><code><span class="type">GInputStream</span> *stream</code></em>,
|
||||
<em class="parameter"><code><span class="type">GChecksum</span> *checksum</code></em>);</pre>
|
||||
ostree_checksum_input_stream_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GInputStream.html#GInputStream-struct"><span class="type">GInputStream</span></a> *stream</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Data-Checksums.html#GChecksum"><span class="type">GChecksum</span></a> *checksum</code></em>);</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
<tbody>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">guint</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-hash" title="ostree_deployment_hash ()">ostree_deployment_hash</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -49,7 +49,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-equal" title="ostree_deployment_equal ()">ostree_deployment_equal</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -118,7 +118,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GKeyFile</span> *
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="returnvalue">GKeyFile</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-get-origin" title="ostree_deployment_get_origin ()">ostree_deployment_get_origin</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -210,15 +210,15 @@
|
|||
<a name="ostree-ostree-deployment.functions_details"></a><h2>Functions</h2>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-hash"></a><h3>ostree_deployment_hash ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">guint</span>
|
||||
ostree_deployment_hash (<em class="parameter"><code><span class="type">gconstpointer</span> v</code></em>);</pre>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
|
||||
ostree_deployment_hash (<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> v</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-equal"></a><h3>ostree_deployment_equal ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_deployment_equal (<em class="parameter"><code><span class="type">gconstpointer</span> ap</code></em>,
|
||||
<em class="parameter"><code><span class="type">gconstpointer</span> bp</code></em>);</pre>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_deployment_equal (<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> ap</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> bp</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-deployment-equal.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||||
|
|
@ -243,7 +243,7 @@ ostree_deployment_equal (<em class="parameter"><code><span class="type">gconstpo
|
|||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-deployment-equal.returns"></a><h4>Returns</h4>
|
||||
<p> <code class="literal">TRUE</code> if deployments have the same osname, csum, and deployserial</p>
|
||||
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if deployments have the same osname, csum, and deployserial</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
|
|
@ -322,7 +322,7 @@ ostree_deployment_get_bootconfig (<em class="parameter"><code><a class="link" hr
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-get-origin"></a><h3>ostree_deployment_get_origin ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GKeyFile</span> *
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="returnvalue">GKeyFile</span></a> *
|
||||
ostree_deployment_get_origin (<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-deployment-get-origin.parameters"></a><h4>Parameters</h4>
|
||||
|
|
@ -406,7 +406,7 @@ ostree_deployment_set_bootconfig (<em class="parameter"><code><a class="link" hr
|
|||
<a name="ostree-deployment-set-origin"></a><h3>ostree_deployment_set_origin ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_deployment_set_origin (<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GKeyFile</span> *origin</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="type">GKeyFile</span></a> *origin</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
|
|
@ -506,7 +506,7 @@ ostree_deployment_unlocked_state_to_string
|
|||
<td class="struct_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="struct_member_name"><p><span class="type">GKeyFile</span> *<em class="structfield"><code><a name="OstreeDeployment.origin"></a>origin</code></em>;</p></td>
|
||||
<td class="struct_member_name"><p><a href="https://developer.gnome.org/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="type">GKeyFile</span></a> *<em class="structfield"><code><a name="OstreeDeployment.origin"></a>origin</code></em>;</p></td>
|
||||
<td class="struct_member_description"><p>How to construct an upgraded version of this tree</p></td>
|
||||
<td class="struct_member_annotations"> </td>
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-diff.html#ostree-diff-dirs" title="ostree_diff_dirs ()">ostree_diff_dirs</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -65,7 +65,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-diff.html#ostree-diff-dirs-with-options" title="ostree_diff_dirs_with_options ()">ostree_diff_dirs_with_options</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -120,15 +120,15 @@ ostree_diff_item_unref (<em class="parameter"><code><a class="link" href="ostree
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-diff-dirs"></a><h3>ostree_diff_dirs ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_diff_dirs (<em class="parameter"><code><a class="link" href="ostree-ostree-diff.html#OstreeDiffFlags" title="enum OstreeDiffFlags"><span class="type">OstreeDiffFlags</span></a> flags</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFile</span> *a</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFile</span> *b</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *modified</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *removed</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *added</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="type">GFile</span></a> *a</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="type">GFile</span></a> *b</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *modified</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *removed</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *added</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Compute the difference between directory <em class="parameter"><code>a</code></em>
|
||||
and <em class="parameter"><code>b</code></em>
|
||||
as 3 separate
|
||||
|
|
@ -152,7 +152,7 @@ sets of <a class="link" href="ostree-ostree-diff.html#OstreeDiffItem" title="str
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>a</p></td>
|
||||
<td class="parameter_description"><p>First directory path, or <code class="literal">NULL</code></p></td>
|
||||
<td class="parameter_description"><p>First directory path, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
@ -192,16 +192,16 @@ sets of <a class="link" href="ostree-ostree-diff.html#OstreeDiffItem" title="str
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-diff-dirs-with-options"></a><h3>ostree_diff_dirs_with_options ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_diff_dirs_with_options (<em class="parameter"><code><a class="link" href="ostree-ostree-diff.html#OstreeDiffFlags" title="enum OstreeDiffFlags"><span class="type">OstreeDiffFlags</span></a> flags</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFile</span> *a</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFile</span> *b</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *modified</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *removed</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *added</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="type">GFile</span></a> *a</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="type">GFile</span></a> *b</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *modified</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *removed</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *added</code></em>,
|
||||
<em class="parameter"><code><span class="type">OstreeDiffDirsOptions</span> *options</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
<p>Compute the difference between directory <em class="parameter"><code>a</code></em>
|
||||
and <em class="parameter"><code>b</code></em>
|
||||
as 3 separate
|
||||
|
|
@ -225,7 +225,7 @@ sets of <a class="link" href="ostree-ostree-diff.html#OstreeDiffItem" title="str
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>a</p></td>
|
||||
<td class="parameter_description"><p>First directory path, or <code class="literal">NULL</code></p></td>
|
||||
<td class="parameter_description"><p>First directory path, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
@ -271,11 +271,11 @@ sets of <a class="link" href="ostree-ostree-diff.html#OstreeDiffItem" title="str
|
|||
<div class="refsect2">
|
||||
<a name="ostree-diff-print"></a><h3>ostree_diff_print ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_diff_print (<em class="parameter"><code><span class="type">GFile</span> *a</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFile</span> *b</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *modified</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *removed</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *added</code></em>);</pre>
|
||||
ostree_diff_print (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="type">GFile</span></a> *a</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GFile.html#GFile-struct"><span class="type">GFile</span></a> *b</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *modified</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *removed</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *added</code></em>);</pre>
|
||||
<p>Print the contents of a diff to stdout.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-diff-print.parameters"></a><h4>Parameters</h4>
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
<tbody>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#ostree-repo-file-ensure-resolved" title="ostree_repo_file_ensure_resolved ()">ostree_repo_file_ensure_resolved</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -48,7 +48,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#ostree-repo-file-get-xattrs" title="ostree_repo_file_get_xattrs ()">ostree_repo_file_get_xattrs</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -94,7 +94,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GVariant</span> *
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#ostree-repo-file-tree-get-contents" title="ostree_repo_file_tree_get_contents ()">ostree_repo_file_tree_get_contents</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -102,7 +102,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GVariant</span> *
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#ostree-repo-file-tree-get-metadata" title="ostree_repo_file_tree_get_metadata ()">ostree_repo_file_tree_get_metadata</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -125,7 +125,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#ostree-repo-file-tree-query-child" title="ostree_repo_file_tree_query_child ()">ostree_repo_file_tree_query_child</a> <span class="c_punctuation">()</span>
|
||||
|
|
@ -154,18 +154,18 @@
|
|||
<a name="ostree-ostree-repo-file.functions_details"></a><h2>Functions</h2>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-repo-file-ensure-resolved"></a><h3>ostree_repo_file_ensure_resolved ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_repo_file_ensure_resolved (<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-repo-file-get-xattrs"></a><h3>ostree_repo_file_get_xattrs ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_repo_file_get_xattrs (<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GVariant</span> **out_xattrs</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> **out_xattrs</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
|
|
@ -195,7 +195,7 @@ ostree_repo_file_get_root (<em class="parameter"><code><a class="link" href="ost
|
|||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_repo_file_tree_set_metadata (<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
|
||||
<em class="parameter"><code><span class="type">GVariant</span> *metadata</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *metadata</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
|
|
@ -214,13 +214,13 @@ ostree_repo_file_tree_get_metadata_checksum
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-repo-file-tree-get-contents"></a><h3>ostree_repo_file_tree_get_contents ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GVariant</span> *
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
|
||||
ostree_repo_file_tree_get_contents (<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-repo-file-tree-get-metadata"></a><h3>ostree_repo_file_tree_get_metadata ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GVariant</span> *
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
|
||||
ostree_repo_file_tree_get_metadata (<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
|
|
@ -235,20 +235,20 @@ ostree_repo_file_get_checksum (<em class="parameter"><code><a class="link" href=
|
|||
<pre class="programlisting"><span class="returnvalue">int</span>
|
||||
ostree_repo_file_tree_find_child (<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
|
||||
<em class="parameter"><code><span class="type">gboolean</span> *is_dir</code></em>,
|
||||
<em class="parameter"><code><span class="type">GVariant</span> **out_container</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *is_dir</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> **out_container</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-repo-file-tree-query-child"></a><h3>ostree_repo_file_tree_query_child ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
|
||||
ostree_repo_file_tree_query_child (<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">int</span> n</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *attributes</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFileQueryInfoFlags</span> flags</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFileInfo</span> **out_info</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GFile.html#GFileQueryInfoFlags"><span class="type">GFileQueryInfoFlags</span></a> flags</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GFileInfo.html#GFileInfo-struct"><span class="type">GFileInfo</span></a> **out_info</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
||||
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
|
|
|
|||
|
|
@ -68,7 +68,6 @@
|
|||
<keyword type="function" name="ostree_check_version ()" link="ostree-Core-repository-independent-functions.html#ostree-check-version"/>
|
||||
<keyword type="macro" name="OSTREE_MAX_METADATA_SIZE" link="ostree-Core-repository-independent-functions.html#OSTREE-MAX-METADATA-SIZE:CAPS"/>
|
||||
<keyword type="macro" name="OSTREE_MAX_METADATA_WARN_SIZE" link="ostree-Core-repository-independent-functions.html#OSTREE-MAX-METADATA-WARN-SIZE:CAPS"/>
|
||||
<keyword type="macro" name="OSTREE_MAX_RECURSION" link="ostree-Core-repository-independent-functions.html#OSTREE-MAX-RECURSION:CAPS"/>
|
||||
<keyword type="enum" name="enum OstreeObjectType" link="ostree-Core-repository-independent-functions.html#OstreeObjectType"/>
|
||||
<keyword type="macro" name="OSTREE_OBJECT_TYPE_LAST" link="ostree-Core-repository-independent-functions.html#OSTREE-OBJECT-TYPE-LAST:CAPS"/>
|
||||
<keyword type="macro" name="OSTREE_DIRMETA_GVARIANT_STRING" link="ostree-Core-repository-independent-functions.html#OSTREE-DIRMETA-GVARIANT-STRING:CAPS"/>
|
||||
|
|
@ -257,6 +256,7 @@
|
|||
<keyword type="function" name="ostree_sysroot_get_deployment_origin_path ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-get-deployment-origin-path"/>
|
||||
<keyword type="function" name="ostree_sysroot_cleanup ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-cleanup"/>
|
||||
<keyword type="function" name="ostree_sysroot_prepare_cleanup ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-prepare-cleanup"/>
|
||||
<keyword type="function" name="ostree_sysroot_repo ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-repo"/>
|
||||
<keyword type="function" name="ostree_sysroot_get_repo ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-get-repo"/>
|
||||
<keyword type="function" name="ostree_sysroot_init_osname ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-init-osname"/>
|
||||
<keyword type="function" name="ostree_sysroot_deployment_set_kargs ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-deployment-set-kargs"/>
|
||||
|
|
@ -267,6 +267,7 @@
|
|||
<keyword type="function" name="ostree_sysroot_write_origin_file ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-write-origin-file"/>
|
||||
<keyword type="function" name="ostree_sysroot_deploy_tree ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-deploy-tree"/>
|
||||
<keyword type="function" name="ostree_sysroot_get_merge_deployment ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-get-merge-deployment"/>
|
||||
<keyword type="function" name="ostree_sysroot_query_deployments_for ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-query-deployments-for" since="2017.7"/>
|
||||
<keyword type="function" name="ostree_sysroot_origin_new_from_refspec ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-origin-new-from-refspec"/>
|
||||
<keyword type="function" name="ostree_sysroot_simple_write_deployment ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-simple-write-deployment"/>
|
||||
<keyword type="typedef" name="OstreeSysroot" link="ostree-Root-partition-mount-point.html#OstreeSysroot"/>
|
||||
|
|
@ -421,6 +422,7 @@
|
|||
<keyword type="constant" name="OSTREE_REPO_PULL_FLAGS_MIRROR" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-PULL-FLAGS-MIRROR:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_PULL_FLAGS_COMMIT_ONLY" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-PULL-FLAGS-COMMIT-ONLY:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_PULL_FLAGS_UNTRUSTED" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-PULL-FLAGS-UNTRUSTED:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_PULL_FLAGS_BAREUSERONLY_FILES" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-PULL-FLAGS-BAREUSERONLY-FILES:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_SYSROOT_SIMPLE_WRITE_DEPLOYMENT_FLAGS_NONE" link="ostree-Root-partition-mount-point.html#OSTREE-SYSROOT-SIMPLE-WRITE-DEPLOYMENT-FLAGS-NONE:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_SYSROOT_SIMPLE_WRITE_DEPLOYMENT_FLAGS_RETAIN" link="ostree-Root-partition-mount-point.html#OSTREE-SYSROOT-SIMPLE-WRITE-DEPLOYMENT-FLAGS-RETAIN:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_SYSROOT_SIMPLE_WRITE_DEPLOYMENT_FLAGS_NOT_DEFAULT" link="ostree-Root-partition-mount-point.html#OSTREE-SYSROOT-SIMPLE-WRITE-DEPLOYMENT-FLAGS-NOT-DEFAULT:CAPS"/>
|
||||
|
|
|
|||
|
|
@ -475,10 +475,6 @@ OSTREE_CHECK_VERSION, macro in ostree-version
|
|||
</dt>
|
||||
<dd></dd>
|
||||
<dt>
|
||||
<a class="link" href="ostree-Core-repository-independent-functions.html#OSTREE-MAX-RECURSION:CAPS" title="OSTREE_MAX_RECURSION">OSTREE_MAX_RECURSION</a>, macro in <a class="link" href="ostree-Core-repository-independent-functions.html" title="Core repository-independent functions">Core repository-independent functions</a>
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>
|
||||
<a class="link" href="ostree-Core-repository-independent-functions.html#ostree-metadata-variant-type" title="ostree_metadata_variant_type ()">ostree_metadata_variant_type</a>, function in <a class="link" href="ostree-Core-repository-independent-functions.html" title="Core repository-independent functions">Core repository-independent functions</a>
|
||||
</dt>
|
||||
<dd></dd>
|
||||
|
|
@ -1391,6 +1387,14 @@ OSTREE_RELEASE_VERSION, macro in ostree-version
|
|||
</dt>
|
||||
<dd></dd>
|
||||
<dt>
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-query-deployments-for" title="ostree_sysroot_query_deployments_for ()">ostree_sysroot_query_deployments_for</a>, function in <a class="link" href="ostree-Root-partition-mount-point.html" title="Root partition mount point">Root partition mount point</a>
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-repo" title="ostree_sysroot_repo ()">ostree_sysroot_repo</a>, function in <a class="link" href="ostree-Root-partition-mount-point.html" title="Root partition mount point">Root partition mount point</a>
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-simple-write-deployment" title="ostree_sysroot_simple_write_deployment ()">ostree_sysroot_simple_write_deployment</a>, function in <a class="link" href="ostree-Root-partition-mount-point.html" title="Root partition mount point">Root partition mount point</a>
|
||||
</dt>
|
||||
<dd></dd>
|
||||
|
|
|
|||
|
|
@ -3,4 +3,5 @@
|
|||
OstreeRemote
|
||||
ostree_remote_ref
|
||||
ostree_remote_unref
|
||||
ostree_remote_get_name
|
||||
</SECTION>
|
||||
|
|
|
|||
|
|
@ -89,7 +89,6 @@ OSTREE_VERSION_HEX
|
|||
<FILE>ostree-core</FILE>
|
||||
OSTREE_MAX_METADATA_SIZE
|
||||
OSTREE_MAX_METADATA_WARN_SIZE
|
||||
OSTREE_MAX_RECURSION
|
||||
OstreeObjectType
|
||||
OSTREE_OBJECT_TYPE_IS_META
|
||||
OSTREE_OBJECT_TYPE_LAST
|
||||
|
|
@ -486,6 +485,7 @@ ostree_sysroot_get_deployment_dirpath
|
|||
ostree_sysroot_get_deployment_origin_path
|
||||
ostree_sysroot_cleanup
|
||||
ostree_sysroot_prepare_cleanup
|
||||
ostree_sysroot_repo
|
||||
ostree_sysroot_get_repo
|
||||
ostree_sysroot_init_osname
|
||||
ostree_sysroot_deployment_set_kargs
|
||||
|
|
@ -496,6 +496,7 @@ ostree_sysroot_write_deployments_with_options
|
|||
ostree_sysroot_write_origin_file
|
||||
ostree_sysroot_deploy_tree
|
||||
ostree_sysroot_get_merge_deployment
|
||||
ostree_sysroot_query_deployments_for
|
||||
ostree_sysroot_origin_new_from_refspec
|
||||
OstreeSysrootSimpleWriteDeploymentFlags
|
||||
ostree_sysroot_simple_write_deployment
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
2017.6
|
||||
2017.7
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
# GLIB - Library of useful C routines
|
||||
|
||||
TESTS_ENVIRONMENT= \
|
||||
AM_TESTS_ENVIRONMENT= \
|
||||
G_TEST_SRCDIR="$(abs_srcdir)" \
|
||||
G_TEST_BUILDDIR="$(abs_builddir)" \
|
||||
UNINSTALLEDTESTS=1 \
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.69 for libostree 2017.6.
|
||||
# Generated by GNU Autoconf 2.69 for libostree 2017.7.
|
||||
#
|
||||
# Report bugs to <walters@verbum.org>.
|
||||
#
|
||||
|
|
@ -590,8 +590,8 @@ MAKEFLAGS=
|
|||
# Identity of this package.
|
||||
PACKAGE_NAME='libostree'
|
||||
PACKAGE_TARNAME='libostree'
|
||||
PACKAGE_VERSION='2017.6'
|
||||
PACKAGE_STRING='libostree 2017.6'
|
||||
PACKAGE_VERSION='2017.7'
|
||||
PACKAGE_STRING='libostree 2017.7'
|
||||
PACKAGE_BUGREPORT='walters@verbum.org'
|
||||
PACKAGE_URL=''
|
||||
|
||||
|
|
@ -635,6 +635,8 @@ ac_subst_vars='am__EXEEXT_FALSE
|
|||
am__EXEEXT_TRUE
|
||||
LTLIBOBJS
|
||||
LIBOBJS
|
||||
BUILDOPT_IS_DEVEL_BUILD_FALSE
|
||||
BUILDOPT_IS_DEVEL_BUILD_TRUE
|
||||
ENABLE_EXPERIMENTAL_API_FALSE
|
||||
ENABLE_EXPERIMENTAL_API_TRUE
|
||||
BUILDOPT_GJS_FALSE
|
||||
|
|
@ -732,6 +734,8 @@ INTROSPECTION_COMPILER
|
|||
INTROSPECTION_SCANNER
|
||||
USE_CURL_OR_SOUP_FALSE
|
||||
USE_CURL_OR_SOUP_TRUE
|
||||
BUILDOPT_TRIVIAL_HTTPD_FALSE
|
||||
BUILDOPT_TRIVIAL_HTTPD_TRUE
|
||||
HAVE_LIBSOUP_CLIENT_CERTS_FALSE
|
||||
HAVE_LIBSOUP_CLIENT_CERTS_TRUE
|
||||
USE_LIBSOUP_FALSE
|
||||
|
|
@ -1522,7 +1526,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 2017.6 to adapt to many kinds of systems.
|
||||
\`configure' configures libostree 2017.7 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
|
|
@ -1592,7 +1596,7 @@ fi
|
|||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of libostree 2017.6:";;
|
||||
short | recursive ) echo "Configuration of libostree 2017.7:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
|
|
@ -1823,7 +1827,7 @@ fi
|
|||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
libostree configure 2017.6
|
||||
libostree configure 2017.7
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
|
|
@ -2238,7 +2242,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 2017.6, which was
|
||||
It was created by libostree $as_me 2017.7, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
|
|
@ -2586,6 +2590,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
|
||||
ac_config_headers="$ac_config_headers config.h"
|
||||
|
||||
|
||||
|
|
@ -3105,7 +3110,7 @@ fi
|
|||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='libostree'
|
||||
VERSION='2017.6'
|
||||
VERSION='2017.7'
|
||||
|
||||
|
||||
# Some tools Automake needs.
|
||||
|
|
@ -5839,9 +5844,9 @@ test -n "$YACC" || YACC="yacc"
|
|||
|
||||
YEAR_VERSION=2017
|
||||
|
||||
RELEASE_VERSION=6
|
||||
RELEASE_VERSION=7
|
||||
|
||||
PACKAGE_VERSION=2017.6
|
||||
PACKAGE_VERSION=2017.7
|
||||
|
||||
|
||||
|
||||
|
|
@ -14889,7 +14894,15 @@ else
|
|||
enable_trivial_httpd_cmdline=no
|
||||
fi
|
||||
|
||||
if test x$enable_trivial_httpd_cmdline = xyes; then :
|
||||
if test x$enable_trivial_httpd_cmdline = xyes; then
|
||||
BUILDOPT_TRIVIAL_HTTPD_TRUE=
|
||||
BUILDOPT_TRIVIAL_HTTPD_FALSE='#'
|
||||
else
|
||||
BUILDOPT_TRIVIAL_HTTPD_TRUE='#'
|
||||
BUILDOPT_TRIVIAL_HTTPD_FALSE=
|
||||
fi
|
||||
|
||||
if test -z "$BUILDOPT_TRIVIAL_HTTPD_TRUE"; then :
|
||||
|
||||
$as_echo "#define BUILDOPT_ENABLE_TRIVIAL_HTTPD_CMDLINE 1" >>confdefs.h
|
||||
|
||||
|
|
@ -17072,6 +17085,19 @@ else
|
|||
ENABLE_EXPERIMENTAL_API_FALSE=
|
||||
fi
|
||||
|
||||
if test x$is_release_build != xyes; then
|
||||
BUILDOPT_IS_DEVEL_BUILD_TRUE=
|
||||
BUILDOPT_IS_DEVEL_BUILD_FALSE='#'
|
||||
else
|
||||
BUILDOPT_IS_DEVEL_BUILD_TRUE='#'
|
||||
BUILDOPT_IS_DEVEL_BUILD_FALSE=
|
||||
fi
|
||||
|
||||
if test -z "$BUILDOPT_IS_DEVEL_BUILD_TRUE"; then :
|
||||
release_build_type=devel
|
||||
else
|
||||
release_build_type=release
|
||||
fi
|
||||
|
||||
ac_config_files="$ac_config_files Makefile apidoc/Makefile src/libostree/ostree-1.pc src/libostree/ostree-version.h"
|
||||
|
||||
|
|
@ -17244,6 +17270,10 @@ if test -z "${HAVE_LIBSOUP_CLIENT_CERTS_TRUE}" && test -z "${HAVE_LIBSOUP_CLIENT
|
|||
as_fn_error $? "conditional \"HAVE_LIBSOUP_CLIENT_CERTS\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
if test -z "${BUILDOPT_TRIVIAL_HTTPD_TRUE}" && test -z "${BUILDOPT_TRIVIAL_HTTPD_FALSE}"; then
|
||||
as_fn_error $? "conditional \"BUILDOPT_TRIVIAL_HTTPD\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
if test -z "${USE_CURL_OR_SOUP_TRUE}" && test -z "${USE_CURL_OR_SOUP_FALSE}"; then
|
||||
as_fn_error $? "conditional \"USE_CURL_OR_SOUP\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
|
|
@ -17356,6 +17386,10 @@ if test -z "${ENABLE_EXPERIMENTAL_API_TRUE}" && test -z "${ENABLE_EXPERIMENTAL_A
|
|||
as_fn_error $? "conditional \"ENABLE_EXPERIMENTAL_API\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
if test -z "${BUILDOPT_IS_DEVEL_BUILD_TRUE}" && test -z "${BUILDOPT_IS_DEVEL_BUILD_FALSE}"; then
|
||||
as_fn_error $? "conditional \"BUILDOPT_IS_DEVEL_BUILD\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
|
||||
: "${CONFIG_STATUS=./config.status}"
|
||||
ac_write_fail=0
|
||||
|
|
@ -17753,7 +17787,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 2017.6, which was
|
||||
This file was extended by libostree $as_me 2017.7, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
|
|
@ -17819,7 +17853,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 2017.6
|
||||
libostree config.status 2017.7
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
|
@ -19509,7 +19543,7 @@ fi
|
|||
|
||||
|
||||
echo "
|
||||
libOSTree $VERSION
|
||||
libOSTree $VERSION ($release_build_type)
|
||||
===============
|
||||
|
||||
|
||||
|
|
|
|||
16
configure.ac
16
configure.ac
|
|
@ -1,10 +1,13 @@
|
|||
AC_PREREQ([2.63])
|
||||
dnl If incrementing the version here, remember to update libostree.sym too
|
||||
dnl If doing a final release, remember to follow the instructions to
|
||||
dnl update libostree-released.sym from libostree-devel.sym, and update the checksum
|
||||
dnl 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], [2017])
|
||||
m4_define([release_version], [6])
|
||||
m4_define([release_version], [7])
|
||||
m4_define([package_version], [year_version.release_version])
|
||||
|
||||
AC_INIT([libostree], [package_version], [walters@verbum.org])
|
||||
is_release_build=yes
|
||||
AC_CONFIG_HEADER([config.h])
|
||||
AC_CONFIG_MACRO_DIR([buildutil])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
|
|
@ -148,7 +151,8 @@ AC_ARG_ENABLE(trivial-httpd-cmdline,
|
|||
[AS_HELP_STRING([--enable-trivial-httpd-cmdline],
|
||||
[Continue to support "ostree trivial-httpd" [default=no]])],,
|
||||
enable_trivial_httpd_cmdline=no)
|
||||
AS_IF([test x$enable_trivial_httpd_cmdline = xyes],
|
||||
AM_CONDITIONAL(BUILDOPT_TRIVIAL_HTTPD, test x$enable_trivial_httpd_cmdline = xyes)
|
||||
AM_COND_IF(BUILDOPT_TRIVIAL_HTTPD,
|
||||
[AC_DEFINE([BUILDOPT_ENABLE_TRIVIAL_HTTPD_CMDLINE], 1, [Define if we are enabling ostree trivial-httpd entrypoint])]
|
||||
)
|
||||
|
||||
|
|
@ -455,6 +459,8 @@ AS_IF([test x$enable_experimental_api = xyes],
|
|||
OSTREE_FEATURES="$OSTREE_FEATURES experimental"]
|
||||
)
|
||||
AM_CONDITIONAL([ENABLE_EXPERIMENTAL_API],[test x$enable_experimental_api = xyes])
|
||||
AM_CONDITIONAL([BUILDOPT_IS_DEVEL_BUILD],[test x$is_release_build != xyes])
|
||||
AM_COND_IF([BUILDOPT_IS_DEVEL_BUILD], release_build_type=devel, release_build_type=release)
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
|
|
@ -465,7 +471,7 @@ src/libostree/ostree-version.h
|
|||
AC_OUTPUT
|
||||
|
||||
echo "
|
||||
libOSTree $VERSION
|
||||
libOSTree $VERSION ($release_build_type)
|
||||
===============
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree admin cleanup
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree admin cleanup
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree admin config-diff
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree admin config-diff
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree admin deploy
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree admin deploy
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree admin init-fs
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree admin init-fs
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree admin instutil
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree admin instutil
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree admin os-init
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree admin os-init
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree admin set-origin
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree admin set-origin
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree admin status
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree admin status
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree admin switch
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree admin switch
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree admin undeploy
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree admin undeploy
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree admin unlock
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree admin unlock
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree admin upgrade
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree admin upgrade
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree admin
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree admin
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree cat
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree cat
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree checkout
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree checkout
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree checksum
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree checksum
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree commit
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree commit
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree config
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree config
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree diff
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree diff
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree export
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree export
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree fsck
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree fsck
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree gpg-sign
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree gpg-sign
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree init
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree init
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree log
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree log
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree ls
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree ls
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree prune
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree prune
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree pull-local
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree pull-local
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree pull
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree pull
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree refs
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree refs
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree remote
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree remote
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree reset
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree reset
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree rev-parse
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree rev-parse
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree show
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree show
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree static-delta
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree static-delta
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree summary
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree summary
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -1,66 +0,0 @@
|
|||
'\" t
|
||||
.\" Title: ostree trivial-httpd
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Manual: ostree trivial-httpd
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "OSTREE TRIVIAL\-HTTP" "1" "" "OSTree" "ostree trivial-httpd"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" http://bugs.debian.org/507673
|
||||
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * set default formatting
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" disable hyphenation
|
||||
.nh
|
||||
.\" disable justification (adjust text to left margin only)
|
||||
.ad l
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * MAIN CONTENT STARTS HERE *
|
||||
.\" -----------------------------------------------------------------
|
||||
.SH "NAME"
|
||||
ostree-trivial-httpd \- Simple webserver
|
||||
.SH "SYNOPSIS"
|
||||
.HP \w'\fBostree\ trivial\-httpd\fR\ 'u
|
||||
\fBostree trivial\-httpd\fR [OPTIONS...] [DIR]
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
This runs a simple webserver and keeps it running until killed\&. If DIR is not specified, it defaults to the current directory\&.
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\fB\-\-daemonize\fR,\fB\-d\fR
|
||||
.RS 4
|
||||
Fork into background when ready\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-\-autoexit\fR
|
||||
.RS 4
|
||||
Automatically exit when directory is deleted\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-\-port\-file\fR,\fB\-p\fR="PATH"
|
||||
.RS 4
|
||||
Write port number to PATH (\- for standard output)\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-\-port\fR,\fB\-P\fR
|
||||
.RS 4
|
||||
Use the specified TCP port to listen on\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-\-force\-range\-requests\fR
|
||||
.RS 4
|
||||
Force range requests by only serving half of files\&.
|
||||
.RE
|
||||
.SH "EXAMPLE"
|
||||
.PP
|
||||
\fB$ ostree trivial\-httpd\fR
|
||||
|
|
@ -1,116 +0,0 @@
|
|||
<?xml version='1.0'?> <!--*-nxml-*-->
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
|
||||
<!--
|
||||
Copyright 2011,2013 Colin Walters <walters@verbum.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
-->
|
||||
|
||||
<refentry id="ostree">
|
||||
|
||||
<refentryinfo>
|
||||
<title>ostree trivial-httpd</title>
|
||||
<productname>OSTree</productname>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<contrib>Developer</contrib>
|
||||
<firstname>Colin</firstname>
|
||||
<surname>Walters</surname>
|
||||
<email>walters@verbum.org</email>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>ostree trivial-httpd</refentrytitle>
|
||||
<manvolnum>1</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>ostree-trivial-httpd</refname>
|
||||
<refpurpose>Simple webserver</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>ostree trivial-httpd</command> <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="opt">DIR</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<!-- Don't entirely understand this command. Needs details, better content-->
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para>
|
||||
This runs a simple webserver and keeps it running until killed. If DIR is not specified, it defaults to the current directory.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Options</title>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><option>--daemonize</option>,<option>-d</option></term>
|
||||
|
||||
<listitem><para>
|
||||
Fork into background when ready.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--autoexit</option></term>
|
||||
|
||||
<listitem><para>
|
||||
Automatically exit when directory is deleted.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--port-file</option>,<option>-p</option>="PATH"</term>
|
||||
|
||||
<listitem><para>
|
||||
Write port number to PATH (- for standard output).
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--port</option>,<option>-P</option></term>
|
||||
|
||||
<listitem><para>
|
||||
Use the specified TCP port to listen on.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--force-range-requests</option></term>
|
||||
|
||||
<listitem><para>
|
||||
Force range requests by only serving half of files.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<!-- NEED EXAMPLE OUTPUT HERE!-->
|
||||
<refsect1>
|
||||
<title>Example</title>
|
||||
<para><command>$ ostree trivial-httpd</command></para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree.repo-config
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree.repo-config
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: ostree.repo
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: ostree.repo
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.\" Title: rofiles-fuse
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/17/2017
|
||||
.\" Date: 06/19/2017
|
||||
.\" Manual: rofiles-fuse
|
||||
.\" Source: rofiles-fuse
|
||||
.\" Language: English
|
||||
|
|
|
|||
|
|
@ -1,31 +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 <withnall@endlessm.com>
|
||||
*/
|
||||
|
||||
/* 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;
|
||||
|
|
@ -1,4 +1,6 @@
|
|||
/***
|
||||
/* Released symbol file: DO NOT EDIT except in release commits!
|
||||
Edit libostree-devel.sym instead.
|
||||
|
||||
Copyright (C) 2016 Colin Walters <walters@verbum.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
|
|
@ -17,6 +19,9 @@
|
|||
Boston, MA 02111-1307, USA.
|
||||
***/
|
||||
|
||||
/* DO NOT EDIT this file - use libostree-devel.sym instead. Release
|
||||
* commits will move symbols from libostree-devel.sym to libostree-released.sym.
|
||||
*/
|
||||
|
||||
/*
|
||||
Retroactively make all of these symbols 2016.3, which is
|
||||
|
|
@ -397,24 +402,12 @@ global:
|
|||
ostree_async_progress_set_variant;
|
||||
} LIBOSTREE_2017.4;
|
||||
|
||||
/* NOTE NOTE NOTE
|
||||
* Versions above here are released. Only add symbols below this line.
|
||||
* NOTE NOTE NOTE
|
||||
*/
|
||||
|
||||
/*
|
||||
LIBOSTREE_2017.$NEWVERSION {
|
||||
LIBOSTREE_2017.7 {
|
||||
global:
|
||||
someostree_symbol_deleteme;
|
||||
ostree_sysroot_repo;
|
||||
ostree_sysroot_query_deployments_for;
|
||||
} LIBOSTREE_2017.6;
|
||||
*/
|
||||
|
||||
/* 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 {
|
||||
global:
|
||||
someostree_symbol_deleteme;
|
||||
} LIBOSTREE_2017.$LASTSTABLE;
|
||||
*/
|
||||
/* NOTE: Only add more content here in release commits! See the
|
||||
* comments at the top of this file.
|
||||
*/
|
||||
|
|
@ -1763,16 +1763,12 @@ validate_variant (GVariant *variant,
|
|||
{
|
||||
if (!g_variant_is_normal_form (variant))
|
||||
{
|
||||
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"Not normal form");
|
||||
return FALSE;
|
||||
return glnx_throw (error, "%s", "Not normal form");
|
||||
}
|
||||
if (!g_variant_is_of_type (variant, variant_type))
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"Doesn't match variant type '%s'",
|
||||
(char*)variant_type);
|
||||
return FALSE;
|
||||
return glnx_throw (error, "Doesn't match variant type '%s'",
|
||||
(char *)variant_type);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,13 +44,6 @@ G_BEGIN_DECLS
|
|||
*/
|
||||
#define OSTREE_MAX_METADATA_WARN_SIZE (7 * 1024 * 1024)
|
||||
|
||||
/**
|
||||
* OSTREE_MAX_RECURSION:
|
||||
*
|
||||
* Maximum depth of metadata.
|
||||
*/
|
||||
#define OSTREE_MAX_RECURSION (256)
|
||||
|
||||
/**
|
||||
* OSTREE_SHA256_DIGEST_LEN:
|
||||
*
|
||||
|
|
|
|||
|
|
@ -99,8 +99,7 @@ struct FetcherRequest {
|
|||
OstreeFetcherRequestFlags flags;
|
||||
gboolean is_membuf;
|
||||
GError *caught_write_error;
|
||||
char *out_tmpfile;
|
||||
int out_tmpfile_fd;
|
||||
OtTmpfile tmpf;
|
||||
GString *output_buf;
|
||||
|
||||
CURL *easy;
|
||||
|
|
@ -269,12 +268,11 @@ request_get_uri (FetcherRequest *req, guint idx)
|
|||
static gboolean
|
||||
ensure_tmpfile (FetcherRequest *req, GError **error)
|
||||
{
|
||||
if (req->out_tmpfile_fd == -1)
|
||||
if (!req->tmpf.initialized)
|
||||
{
|
||||
if (!glnx_open_tmpfile_linkable_at (req->fetcher->tmpdir_dfd, ".",
|
||||
O_WRONLY | O_CLOEXEC, &req->out_tmpfile_fd,
|
||||
&req->out_tmpfile,
|
||||
error))
|
||||
if (!ot_open_tmpfile_linkable_at (req->fetcher->tmpdir_dfd, ".",
|
||||
O_WRONLY | O_CLOEXEC, &req->tmpf,
|
||||
error))
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
|
|
@ -387,18 +385,14 @@ check_multi_info (OstreeFetcher *fetcher)
|
|||
{
|
||||
g_task_return_error (task, g_steal_pointer (&local_error));
|
||||
}
|
||||
else if (fchmod (req->out_tmpfile_fd, 0644) < 0)
|
||||
else if (fchmod (req->tmpf.fd, 0644) < 0)
|
||||
{
|
||||
glnx_set_error_from_errno (error);
|
||||
g_task_return_error (task, g_steal_pointer (&local_error));
|
||||
}
|
||||
else if (!glnx_link_tmpfile_at (fetcher->tmpdir_dfd,
|
||||
GLNX_LINK_TMPFILE_REPLACE,
|
||||
req->out_tmpfile_fd,
|
||||
req->out_tmpfile,
|
||||
fetcher->tmpdir_dfd,
|
||||
tmpfile_path,
|
||||
error))
|
||||
else if (!ot_link_tmpfile_at (&req->tmpf, GLNX_LINK_TMPFILE_REPLACE,
|
||||
fetcher->tmpdir_dfd, tmpfile_path,
|
||||
error))
|
||||
g_task_return_error (task, g_steal_pointer (&local_error));
|
||||
else
|
||||
{
|
||||
|
|
@ -586,8 +580,8 @@ write_cb (void *ptr, size_t size, size_t nmemb, void *data)
|
|||
{
|
||||
if (!ensure_tmpfile (req, &req->caught_write_error))
|
||||
return -1;
|
||||
g_assert (req->out_tmpfile_fd >= 0);
|
||||
if (glnx_loop_write (req->out_tmpfile_fd, ptr, realsize) < 0)
|
||||
g_assert (req->tmpf.fd >= 0);
|
||||
if (glnx_loop_write (req->tmpf.fd, ptr, realsize) < 0)
|
||||
{
|
||||
glnx_set_error_from_errno (&req->caught_write_error);
|
||||
return -1;
|
||||
|
|
@ -622,9 +616,7 @@ request_unref (FetcherRequest *req)
|
|||
g_ptr_array_unref (req->mirrorlist);
|
||||
g_free (req->filename);
|
||||
g_clear_error (&req->caught_write_error);
|
||||
if (req->out_tmpfile_fd != -1)
|
||||
(void) close (req->out_tmpfile_fd);
|
||||
g_free (req->out_tmpfile);
|
||||
ot_tmpfile_clear (&req->tmpf);
|
||||
if (req->output_buf)
|
||||
g_string_free (req->output_buf, TRUE);
|
||||
curl_easy_cleanup (req->easy);
|
||||
|
|
@ -770,6 +762,9 @@ initiate_next_curl_request (FetcherRequest *req,
|
|||
curl_easy_setopt (req->easy, CURLOPT_SSLKEY, self->tls_client_key_path);
|
||||
}
|
||||
|
||||
if ((self->config_flags & OSTREE_FETCHER_FLAGS_TRANSFER_GZIP) > 0)
|
||||
curl_easy_setopt (req->easy, CURLOPT_ACCEPT_ENCODING, "");
|
||||
|
||||
/* We should only speak HTTP; TODO: only enable file if specified */
|
||||
curl_easy_setopt (req->easy, CURLOPT_PROTOCOLS, (long)(CURLPROTO_HTTP | CURLPROTO_HTTPS | CURLPROTO_FILE));
|
||||
/* Picked the current version in F25 as of 20170127, since
|
||||
|
|
@ -847,7 +842,6 @@ _ostree_fetcher_request_async (OstreeFetcher *self,
|
|||
/* We'll allocate the tmpfile on demand, so we handle
|
||||
* file I/O errors just in the write func.
|
||||
*/
|
||||
req->out_tmpfile_fd = -1;
|
||||
if (req->is_membuf)
|
||||
req->output_buf = g_string_new ("");
|
||||
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@ typedef struct {
|
|||
|
||||
GVariant *extra_headers;
|
||||
int max_outstanding;
|
||||
gboolean transfer_gzip;
|
||||
|
||||
/* Our active HTTP requests */
|
||||
GHashTable *outstanding;
|
||||
|
|
@ -553,6 +554,9 @@ ostree_fetcher_session_thread (gpointer data)
|
|||
SOUP_SESSION_IDLE_TIMEOUT, 60,
|
||||
NULL);
|
||||
|
||||
if (closure->transfer_gzip)
|
||||
soup_session_add_feature_by_type (closure->session, SOUP_TYPE_CONTENT_DECODER);
|
||||
|
||||
/* XXX: Now that we have mirrorlist support, we could make this even smarter
|
||||
* by spreading requests across mirrors. */
|
||||
g_object_get (closure->session, "max-conns-per-host", &max_conns, NULL);
|
||||
|
|
@ -663,6 +667,7 @@ _ostree_fetcher_constructed (GObject *object)
|
|||
self->thread_closure->ref_count = 1;
|
||||
self->thread_closure->main_context = g_main_context_ref (main_context);
|
||||
self->thread_closure->running = 1;
|
||||
self->thread_closure->transfer_gzip = (self->config_flags & OSTREE_FETCHER_FLAGS_TRANSFER_GZIP) != 0;
|
||||
self->thread_closure->tmpdir_dfd = -1;
|
||||
self->thread_closure->tmpdir_lock = empty_lockfile;
|
||||
|
||||
|
|
|
|||
|
|
@ -46,9 +46,12 @@ struct OstreeFetcherClass
|
|||
GObjectClass parent_class;
|
||||
};
|
||||
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(OstreeFetcher, g_object_unref)
|
||||
|
||||
typedef enum {
|
||||
OSTREE_FETCHER_FLAGS_NONE = 0,
|
||||
OSTREE_FETCHER_FLAGS_TLS_PERMISSIVE = (1 << 0)
|
||||
OSTREE_FETCHER_FLAGS_TLS_PERMISSIVE = (1 << 0),
|
||||
OSTREE_FETCHER_FLAGS_TRANSFER_GZIP = (1 << 1)
|
||||
} OstreeFetcherConfigFlags;
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -665,9 +665,8 @@ ostree_gpg_verify_result_require_valid_signature (OstreeGpgVerifyResult *result,
|
|||
|
||||
if (ostree_gpg_verify_result_count_valid (result) == 0)
|
||||
{
|
||||
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"GPG signatures found, but none are in trusted keyring");
|
||||
return FALSE;
|
||||
return glnx_throw (error, "%s",
|
||||
"GPG signatures found, but none are in trusted keyring");
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@
|
|||
#include <sys/ioctl.h>
|
||||
#include <ext2fs/ext2_fs.h>
|
||||
|
||||
#include "otutil.h"
|
||||
|
||||
/**
|
||||
* _ostree_linuxfs_fd_alter_immutable_flag:
|
||||
* @fd: A file descriptor
|
||||
|
|
@ -47,29 +49,21 @@ _ostree_linuxfs_fd_alter_immutable_flag (int fd,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
unsigned long flags;
|
||||
int r;
|
||||
static gint no_alter_immutable = 0;
|
||||
|
||||
if (g_atomic_int_get (&no_alter_immutable))
|
||||
return TRUE;
|
||||
|
||||
r = ioctl (fd, EXT2_IOC_GETFLAGS, &flags);
|
||||
unsigned long flags;
|
||||
int r = ioctl (fd, EXT2_IOC_GETFLAGS, &flags);
|
||||
if (r == -1)
|
||||
{
|
||||
int errsv = errno;
|
||||
if (errsv == EPERM)
|
||||
if (errno == EPERM)
|
||||
g_atomic_int_set (&no_alter_immutable, 1);
|
||||
else if (errsv == EOPNOTSUPP || errsv == ENOTTY)
|
||||
else if (errno == EOPNOTSUPP || errno == ENOTTY)
|
||||
;
|
||||
else
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"ioctl(EXT2_IOC_GETFLAGS): %s",
|
||||
g_strerror (errsv));
|
||||
goto out;
|
||||
}
|
||||
return glnx_throw_errno_prefix (error, "ioctl(EXT2_IOC_GETFLAGS)");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -80,54 +74,14 @@ _ostree_linuxfs_fd_alter_immutable_flag (int fd,
|
|||
r = ioctl (fd, EXT2_IOC_SETFLAGS, &flags);
|
||||
if (r == -1)
|
||||
{
|
||||
int errsv = errno;
|
||||
if (errsv == EPERM)
|
||||
if (errno == EPERM)
|
||||
g_atomic_int_set (&no_alter_immutable, 1);
|
||||
else if (errsv == EOPNOTSUPP || errsv == ENOTTY)
|
||||
else if (errno == EOPNOTSUPP || errno == ENOTTY)
|
||||
;
|
||||
else
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"ioctl(EXT2_IOC_GETFLAGS): %s",
|
||||
g_strerror (errsv));
|
||||
goto out;
|
||||
}
|
||||
return glnx_throw_errno_prefix (error, "ioctl(EXT2_IOC_SETFLAGS)");
|
||||
}
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
gboolean
|
||||
_ostree_linuxfs_alter_immutable_flag (GFile *path,
|
||||
gboolean new_immutable_state,
|
||||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
glnx_fd_close int fd = -1;
|
||||
|
||||
if (g_cancellable_set_error_if_cancelled (cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
fd = open (gs_file_get_path_cached (path), O_RDONLY|O_NONBLOCK|O_LARGEFILE);
|
||||
if (fd == -1)
|
||||
{
|
||||
int errsv = errno;
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"open(%s): %s",
|
||||
gs_file_get_path_cached (path),
|
||||
g_strerror (errsv));
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!_ostree_linuxfs_fd_alter_immutable_flag (fd, new_immutable_state,
|
||||
cancellable, error))
|
||||
goto out;
|
||||
|
||||
ret = TRUE;
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,10 +30,4 @@ _ostree_linuxfs_fd_alter_immutable_flag (int fd,
|
|||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
|
||||
gboolean
|
||||
_ostree_linuxfs_alter_immutable_flag (GFile *path,
|
||||
gboolean new_immutable_state,
|
||||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
|
||||
G_END_DECLS
|
||||
|
|
|
|||
|
|
@ -38,15 +38,15 @@ G_BEGIN_DECLS
|
|||
|
||||
struct OstreeRemote {
|
||||
volatile int ref_count;
|
||||
char *name;
|
||||
char *group; /* group name in options */
|
||||
char *keyring; /* keyring name (NAME.trustedkeys.gpg) */
|
||||
char *name; /* (not nullable) */
|
||||
char *group; /* group name in options (not nullable) */
|
||||
char *keyring; /* keyring name (NAME.trustedkeys.gpg) (not nullable) */
|
||||
GFile *file; /* NULL if remote defined in repo/config */
|
||||
GKeyFile *options;
|
||||
};
|
||||
|
||||
G_GNUC_INTERNAL
|
||||
OstreeRemote *ostree_remote_new (void);
|
||||
OstreeRemote *ostree_remote_new (const gchar *name);
|
||||
|
||||
G_GNUC_INTERNAL
|
||||
OstreeRemote *ostree_remote_new_from_keyfile (GKeyFile *keyfile,
|
||||
|
|
|
|||
|
|
@ -53,12 +53,17 @@
|
|||
*/
|
||||
|
||||
OstreeRemote *
|
||||
ostree_remote_new (void)
|
||||
ostree_remote_new (const gchar *name)
|
||||
{
|
||||
OstreeRemote *remote;
|
||||
|
||||
g_return_val_if_fail (name != NULL && *name != '\0', NULL);
|
||||
|
||||
remote = g_slice_new0 (OstreeRemote);
|
||||
remote->ref_count = 1;
|
||||
remote->name = g_strdup (name);
|
||||
remote->group = g_strdup_printf ("remote \"%s\"", name);
|
||||
remote->keyring = g_strdup_printf ("%s.trustedkeys.gpg", name);
|
||||
remote->options = g_key_file_new ();
|
||||
|
||||
return remote;
|
||||
|
|
@ -70,6 +75,7 @@ ostree_remote_new_from_keyfile (GKeyFile *keyfile,
|
|||
{
|
||||
g_autoptr(GMatchInfo) match = NULL;
|
||||
OstreeRemote *remote;
|
||||
g_autofree gchar *name = NULL;
|
||||
|
||||
static gsize regex_initialized;
|
||||
static GRegex *regex;
|
||||
|
|
@ -88,10 +94,8 @@ ostree_remote_new_from_keyfile (GKeyFile *keyfile,
|
|||
if (!g_regex_match (regex, group, 0, &match))
|
||||
return NULL;
|
||||
|
||||
remote = ostree_remote_new ();
|
||||
remote->name = g_match_info_fetch (match, 1);
|
||||
remote->group = g_strdup (group);
|
||||
remote->keyring = g_strdup_printf ("%s.trustedkeys.gpg", remote->name);
|
||||
name = g_match_info_fetch (match, 1);
|
||||
remote = ostree_remote_new (name);
|
||||
|
||||
ot_keyfile_copy_group (keyfile, remote->options, group);
|
||||
|
||||
|
|
@ -148,3 +152,23 @@ G_DEFINE_BOXED_TYPE(OstreeRemote, ostree_remote,
|
|||
ostree_remote_ref,
|
||||
ostree_remote_unref);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* ostree_remote_get_name:
|
||||
* @remote: an #OstreeRemote
|
||||
*
|
||||
* Get the human-readable name of the remote. This is what the user configured,
|
||||
* if the remote was explicitly configured; and will otherwise be a stable,
|
||||
* arbitrary, string.
|
||||
*
|
||||
* Returns: remote’s name
|
||||
* Since: 2017.7
|
||||
*/
|
||||
const gchar *
|
||||
ostree_remote_get_name (OstreeRemote *remote)
|
||||
{
|
||||
g_return_val_if_fail (remote != NULL, NULL);
|
||||
g_return_val_if_fail (remote->ref_count > 0, NULL);
|
||||
|
||||
return remote->name;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,16 +48,16 @@ G_BEGIN_DECLS
|
|||
typedef struct OstreeRemote OstreeRemote;
|
||||
#endif
|
||||
|
||||
#ifdef OSTREE_ENABLE_EXPERIMENTAL_API
|
||||
#ifndef __GI_SCANNER__
|
||||
_OSTREE_PUBLIC
|
||||
GType ostree_remote_get_type (void) G_GNUC_CONST;
|
||||
#else
|
||||
#ifndef __GI_SCANNER__
|
||||
_OSTREE_PUBLIC
|
||||
OstreeRemote *ostree_remote_ref (OstreeRemote *remote);
|
||||
_OSTREE_PUBLIC
|
||||
void ostree_remote_unref (OstreeRemote *remote);
|
||||
#endif /* GI_SCANNER */
|
||||
#endif
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
const gchar *ostree_remote_get_name (OstreeRemote *remote);
|
||||
|
||||
G_END_DECLS
|
||||
|
|
|
|||
|
|
@ -60,13 +60,11 @@ checkout_object_for_uncompressed_cache (OstreeRepo *self,
|
|||
guint32 file_mode = g_file_info_get_attribute_uint32 (src_info, "unix::mode");
|
||||
file_mode &= ~(S_ISUID|S_ISGID);
|
||||
|
||||
glnx_fd_close int fd = -1;
|
||||
g_autofree char *temp_filename = NULL;
|
||||
if (!glnx_open_tmpfile_linkable_at (self->tmp_dir_fd, ".", O_WRONLY | O_CLOEXEC,
|
||||
&fd, &temp_filename,
|
||||
error))
|
||||
g_auto(OtTmpfile) tmpf = { 0, };
|
||||
if (!ot_open_tmpfile_linkable_at (self->tmp_dir_fd, ".", O_WRONLY | O_CLOEXEC,
|
||||
&tmpf, error))
|
||||
return FALSE;
|
||||
g_autoptr(GOutputStream) temp_out = g_unix_output_stream_new (fd, FALSE);
|
||||
g_autoptr(GOutputStream) temp_out = g_unix_output_stream_new (tmpf.fd, FALSE);
|
||||
|
||||
if (g_output_stream_splice (temp_out, content, 0, cancellable, error) < 0)
|
||||
return FALSE;
|
||||
|
|
@ -76,14 +74,14 @@ checkout_object_for_uncompressed_cache (OstreeRepo *self,
|
|||
|
||||
if (!self->disable_fsync)
|
||||
{
|
||||
if (TEMP_FAILURE_RETRY (fsync (fd)) < 0)
|
||||
if (TEMP_FAILURE_RETRY (fsync (tmpf.fd)) < 0)
|
||||
return glnx_throw_errno (error);
|
||||
}
|
||||
|
||||
if (!g_output_stream_close (temp_out, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
if (fchmod (fd, file_mode) < 0)
|
||||
if (fchmod (tmpf.fd, file_mode) < 0)
|
||||
return glnx_throw_errno (error);
|
||||
|
||||
if (!_ostree_repo_ensure_loose_objdir_at (self->uncompressed_objects_dir_fd,
|
||||
|
|
@ -91,10 +89,9 @@ checkout_object_for_uncompressed_cache (OstreeRepo *self,
|
|||
cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
if (!glnx_link_tmpfile_at (self->tmp_dir_fd, GLNX_LINK_TMPFILE_NOREPLACE_IGNORE_EXIST,
|
||||
fd, temp_filename,
|
||||
self->uncompressed_objects_dir_fd, loose_path,
|
||||
error))
|
||||
if (!ot_link_tmpfile_at (&tmpf, GLNX_LINK_TMPFILE_NOREPLACE_IGNORE_EXIST,
|
||||
self->uncompressed_objects_dir_fd, loose_path,
|
||||
error))
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
|
|
@ -143,10 +140,7 @@ write_regular_file_content (OstreeRepo *self,
|
|||
{
|
||||
if (TEMP_FAILURE_RETRY (fchown (outfd, g_file_info_get_attribute_uint32 (file_info, "unix::uid"),
|
||||
g_file_info_get_attribute_uint32 (file_info, "unix::gid"))) < 0)
|
||||
return glnx_throw_errno (error);
|
||||
|
||||
if (TEMP_FAILURE_RETRY (fchmod (outfd, g_file_info_get_attribute_uint32 (file_info, "unix::mode"))) < 0)
|
||||
return glnx_throw_errno (error);
|
||||
return glnx_throw_errno_prefix (error, "fchown");
|
||||
|
||||
if (xattrs)
|
||||
{
|
||||
|
|
@ -155,10 +149,19 @@ write_regular_file_content (OstreeRepo *self,
|
|||
}
|
||||
}
|
||||
|
||||
guint32 file_mode = g_file_info_get_attribute_uint32 (file_info, "unix::mode");
|
||||
|
||||
/* Don't make setuid files on checkout when we're doing --user */
|
||||
if (mode == OSTREE_REPO_CHECKOUT_MODE_USER)
|
||||
file_mode &= ~(S_ISUID|S_ISGID);
|
||||
|
||||
if (TEMP_FAILURE_RETRY (fchmod (outfd, file_mode)) < 0)
|
||||
return glnx_throw_errno_prefix (error, "fchmod");
|
||||
|
||||
if (fsync_is_enabled (self, options))
|
||||
{
|
||||
if (fsync (outfd) == -1)
|
||||
return glnx_throw_errno (error);
|
||||
return glnx_throw_errno_prefix (error, "fsync");
|
||||
}
|
||||
|
||||
if (outstream)
|
||||
|
|
@ -185,7 +188,6 @@ create_file_copy_from_input_at (OstreeRepo *repo,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
g_autofree char *temp_filename = NULL;
|
||||
const gboolean union_mode = options->overwrite_mode == OSTREE_REPO_CHECKOUT_OVERWRITE_UNION_FILES;
|
||||
const gboolean add_mode = options->overwrite_mode == OSTREE_REPO_CHECKOUT_OVERWRITE_ADD_FILES;
|
||||
const gboolean sepolicy_enabled = options->sepolicy && !repo->disable_xattrs;
|
||||
|
|
@ -252,33 +254,26 @@ create_file_copy_from_input_at (OstreeRepo *repo,
|
|||
}
|
||||
else if (g_file_info_get_file_type (file_info) == G_FILE_TYPE_REGULAR)
|
||||
{
|
||||
glnx_fd_close int temp_fd = -1;
|
||||
guint32 file_mode;
|
||||
g_auto(OtTmpfile) tmpf = { 0, };
|
||||
GLnxLinkTmpfileReplaceMode replace_mode;
|
||||
|
||||
file_mode = g_file_info_get_attribute_uint32 (file_info, "unix::mode");
|
||||
/* Don't make setuid files on checkout when we're doing --user */
|
||||
if (options->mode == OSTREE_REPO_CHECKOUT_MODE_USER)
|
||||
file_mode &= ~(S_ISUID|S_ISGID);
|
||||
|
||||
if (!glnx_open_tmpfile_linkable_at (destination_dfd, ".", O_WRONLY | O_CLOEXEC,
|
||||
&temp_fd, &temp_filename,
|
||||
error))
|
||||
if (!ot_open_tmpfile_linkable_at (destination_dfd, ".", O_WRONLY | O_CLOEXEC,
|
||||
&tmpf, error))
|
||||
return FALSE;
|
||||
|
||||
if (sepolicy_enabled)
|
||||
if (sepolicy_enabled && options->mode != OSTREE_REPO_CHECKOUT_MODE_USER)
|
||||
{
|
||||
g_autofree char *label = NULL;
|
||||
if (!ostree_sepolicy_get_label (options->sepolicy,
|
||||
state->selabel_path_buf->str,
|
||||
if (!ostree_sepolicy_get_label (options->sepolicy, state->selabel_path_buf->str,
|
||||
g_file_info_get_attribute_uint32 (file_info, "unix::mode"),
|
||||
&label, cancellable, error))
|
||||
return FALSE;
|
||||
if (fsetxattr (temp_fd, "security.selinux", label, strlen (label), 0) < 0)
|
||||
|
||||
if (fsetxattr (tmpf.fd, "security.selinux", label, strlen (label), 0) < 0)
|
||||
return glnx_throw_errno_prefix (error, "Setting security.selinux");
|
||||
}
|
||||
|
||||
if (!write_regular_file_content (repo, options, temp_fd, file_info, xattrs, input,
|
||||
if (!write_regular_file_content (repo, options, tmpf.fd, file_info, xattrs, input,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
|
|
@ -290,10 +285,9 @@ create_file_copy_from_input_at (OstreeRepo *repo,
|
|||
else
|
||||
replace_mode = GLNX_LINK_TMPFILE_NOREPLACE;
|
||||
|
||||
if (!glnx_link_tmpfile_at (destination_dfd, replace_mode,
|
||||
temp_fd, temp_filename, destination_dfd,
|
||||
destination_name,
|
||||
error))
|
||||
if (!ot_link_tmpfile_at (&tmpf, replace_mode,
|
||||
destination_dfd, destination_name,
|
||||
error))
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
|
|
@ -699,9 +693,9 @@ checkout_tree_at_recurse (OstreeRepo *self,
|
|||
g_autoptr(GVariant) contents_csum_v = NULL;
|
||||
while (g_variant_iter_loop (&viter, "(&s@ay)", &fname, &contents_csum_v))
|
||||
{
|
||||
const size_t namelen = strlen (fname);
|
||||
const size_t origlen = selabel_path_buf ? selabel_path_buf->len : 0;
|
||||
if (selabel_path_buf)
|
||||
g_string_append_len (selabel_path_buf, fname, namelen);
|
||||
g_string_append (selabel_path_buf, fname);
|
||||
|
||||
char tmp_checksum[OSTREE_SHA256_STRING_LEN+1];
|
||||
_ostree_checksum_inplace_from_bytes_v (contents_csum_v, tmp_checksum);
|
||||
|
|
@ -713,7 +707,7 @@ checkout_tree_at_recurse (OstreeRepo *self,
|
|||
return FALSE;
|
||||
|
||||
if (selabel_path_buf)
|
||||
g_string_truncate (selabel_path_buf, selabel_path_buf->len - namelen);
|
||||
g_string_truncate (selabel_path_buf, origlen);
|
||||
}
|
||||
contents_csum_v = NULL; /* iter_loop freed it */
|
||||
}
|
||||
|
|
@ -728,10 +722,10 @@ checkout_tree_at_recurse (OstreeRepo *self,
|
|||
while (g_variant_iter_loop (&viter, "(&s@ay@ay)", &dname,
|
||||
&subdirtree_csum_v, &subdirmeta_csum_v))
|
||||
{
|
||||
const size_t namelen = strlen (dname);
|
||||
const size_t origlen = selabel_path_buf ? selabel_path_buf->len : 0;
|
||||
if (selabel_path_buf)
|
||||
{
|
||||
g_string_append_len (selabel_path_buf, dname, namelen);
|
||||
g_string_append (selabel_path_buf, dname);
|
||||
g_string_append_c (selabel_path_buf, '/');
|
||||
}
|
||||
|
||||
|
|
@ -746,7 +740,7 @@ checkout_tree_at_recurse (OstreeRepo *self,
|
|||
return FALSE;
|
||||
|
||||
if (selabel_path_buf)
|
||||
g_string_truncate (selabel_path_buf, selabel_path_buf->len - namelen);
|
||||
g_string_truncate (selabel_path_buf, origlen);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -755,8 +749,18 @@ checkout_tree_at_recurse (OstreeRepo *self,
|
|||
*/
|
||||
if (!did_exist)
|
||||
{
|
||||
if (TEMP_FAILURE_RETRY (fchmod (destination_dfd, mode)) < 0)
|
||||
return glnx_throw_errno (error);
|
||||
guint32 canonical_mode;
|
||||
/* Silently ignore world-writable directories (plus sticky, suid bits,
|
||||
* etc.) when doing a checkout for bare-user-only repos, or if requested explicitly.
|
||||
* This is related to the logic in ostree-repo-commit.c for files.
|
||||
* See also: https://github.com/ostreedev/ostree/pull/909 i.e. 0c4b3a2b6da950fd78e63f9afec602f6188f1ab0
|
||||
*/
|
||||
if (self->mode == OSTREE_REPO_MODE_BARE_USER_ONLY || options->bareuseronly_dirs)
|
||||
canonical_mode = (mode & 0775) | S_IFDIR;
|
||||
else
|
||||
canonical_mode = mode;
|
||||
if (TEMP_FAILURE_RETRY (fchmod (destination_dfd, canonical_mode)) < 0)
|
||||
return glnx_throw_errno_prefix (error, "fchmod");
|
||||
}
|
||||
|
||||
if (!did_exist && options->mode != OSTREE_REPO_CHECKOUT_MODE_USER)
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -148,7 +148,6 @@ _ostree_repo_file_new_for_commit (OstreeRepo *repo,
|
|||
const char *commit,
|
||||
GError **error)
|
||||
{
|
||||
OstreeRepoFile *ret = NULL;
|
||||
g_autoptr(GVariant) commit_v = NULL;
|
||||
g_autoptr(GVariant) tree_contents_csum_v = NULL;
|
||||
g_autoptr(GVariant) tree_metadata_csum_v = NULL;
|
||||
|
|
@ -161,7 +160,7 @@ _ostree_repo_file_new_for_commit (OstreeRepo *repo,
|
|||
|
||||
if (!ostree_repo_load_variant (repo, OSTREE_OBJECT_TYPE_COMMIT,
|
||||
commit, &commit_v, error))
|
||||
goto out;
|
||||
return NULL;
|
||||
|
||||
/* PARSE OSTREE_OBJECT_TYPE_COMMIT */
|
||||
g_variant_get_child (commit_v, 6, "@ay", &tree_contents_csum_v);
|
||||
|
|
@ -172,17 +171,13 @@ _ostree_repo_file_new_for_commit (OstreeRepo *repo,
|
|||
ostree_checksum_inplace_from_bytes (g_variant_get_data (tree_metadata_csum_v),
|
||||
tree_metadata_csum);
|
||||
|
||||
ret = _ostree_repo_file_new_root (repo, tree_contents_csum, tree_metadata_csum);
|
||||
|
||||
out:
|
||||
return ret;
|
||||
return _ostree_repo_file_new_root (repo, tree_contents_csum, tree_metadata_csum);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
do_resolve (OstreeRepoFile *self,
|
||||
GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
g_autoptr(GVariant) root_contents = NULL;
|
||||
g_autoptr(GVariant) root_metadata = NULL;
|
||||
|
||||
|
|
@ -190,27 +185,24 @@ do_resolve (OstreeRepoFile *self,
|
|||
|
||||
if (!ostree_repo_load_variant (self->repo, OSTREE_OBJECT_TYPE_DIR_TREE,
|
||||
self->tree_contents_checksum, &root_contents, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
if (!ostree_repo_load_variant (self->repo, OSTREE_OBJECT_TYPE_DIR_META,
|
||||
self->tree_metadata_checksum, &root_metadata, error))
|
||||
goto out;
|
||||
|
||||
return FALSE;
|
||||
|
||||
self->tree_metadata = root_metadata;
|
||||
root_metadata = NULL;
|
||||
self->tree_contents = root_contents;
|
||||
root_contents = NULL;
|
||||
|
||||
ret = TRUE;
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
do_resolve_nonroot (OstreeRepoFile *self,
|
||||
GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
gboolean is_dir;
|
||||
int i;
|
||||
g_autoptr(GVariant) container = NULL;
|
||||
|
|
@ -221,13 +213,13 @@ do_resolve_nonroot (OstreeRepoFile *self,
|
|||
g_autofree char *tmp_checksum = NULL;
|
||||
|
||||
if (!ostree_repo_file_ensure_resolved (self->parent, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
if (!self->parent->tree_contents)
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_DIRECTORY,
|
||||
"Not a directory");
|
||||
goto out;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
i = ostree_repo_file_tree_find_child (self->parent, self->name, &is_dir, &container);
|
||||
|
|
@ -235,7 +227,7 @@ do_resolve_nonroot (OstreeRepoFile *self,
|
|||
if (i < 0)
|
||||
{
|
||||
set_error_noent ((GFile*)self, error);
|
||||
goto out;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (is_dir)
|
||||
|
|
@ -255,14 +247,14 @@ do_resolve_nonroot (OstreeRepoFile *self,
|
|||
if (!ostree_repo_load_variant (self->repo, OSTREE_OBJECT_TYPE_DIR_TREE,
|
||||
tmp_checksum, &tree_contents,
|
||||
error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
g_free (tmp_checksum);
|
||||
tmp_checksum = ostree_checksum_from_bytes_v (metadata_csum_v);
|
||||
if (!ostree_repo_load_variant (self->repo, OSTREE_OBJECT_TYPE_DIR_META,
|
||||
tmp_checksum, &tree_metadata,
|
||||
error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
self->tree_contents = tree_contents;
|
||||
tree_contents = NULL;
|
||||
|
|
@ -274,35 +266,29 @@ do_resolve_nonroot (OstreeRepoFile *self,
|
|||
else
|
||||
self->index = i;
|
||||
|
||||
ret = TRUE;
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
ostree_repo_file_ensure_resolved (OstreeRepoFile *self,
|
||||
GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
|
||||
if (self->parent == NULL)
|
||||
{
|
||||
if (self->tree_contents == NULL)
|
||||
if (!do_resolve (self, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (self->index == -1)
|
||||
{
|
||||
if (!do_resolve_nonroot (self, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
|
|
@ -311,25 +297,21 @@ ostree_repo_file_get_xattrs (OstreeRepoFile *self,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
g_autoptr(GVariant) ret_xattrs = NULL;
|
||||
|
||||
if (!ostree_repo_file_ensure_resolved (self, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
g_autoptr(GVariant) ret_xattrs = NULL;
|
||||
if (self->tree_metadata)
|
||||
ret_xattrs = g_variant_get_child_value (self->tree_metadata, 3);
|
||||
else
|
||||
else
|
||||
{
|
||||
if (!ostree_repo_load_file (self->repo, ostree_repo_file_get_checksum (self),
|
||||
NULL, NULL, &ret_xattrs, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
ot_transfer_out_value(out_xattrs, &ret_xattrs);
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
GVariant *
|
||||
|
|
@ -721,28 +703,24 @@ query_child_info_dir (OstreeRepo *repo,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
g_autoptr(GFileInfo) ret_info = NULL;
|
||||
g_autoptr(GVariant) metadata = NULL;
|
||||
|
||||
ret_info = g_file_info_new ();
|
||||
g_autoptr(GFileInfo) ret_info = g_file_info_new ();
|
||||
|
||||
g_file_info_set_attribute_uint32 (ret_info, "standard::type",
|
||||
G_FILE_TYPE_DIRECTORY);
|
||||
|
||||
|
||||
if (g_file_attribute_matcher_matches (matcher, "unix::mode"))
|
||||
{
|
||||
g_autoptr(GVariant) metadata = NULL;
|
||||
if (!ostree_repo_load_variant (repo, OSTREE_OBJECT_TYPE_DIR_META,
|
||||
metadata_checksum, &metadata, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
set_info_from_dirmeta (ret_info, metadata);
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
|
||||
ot_transfer_out_value(out_info, &ret_info);
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int
|
||||
|
|
@ -890,12 +868,11 @@ ostree_repo_file_query_info (GFile *file,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
OstreeRepoFile *self = OSTREE_REPO_FILE (file);
|
||||
g_autoptr(GFileInfo) info = NULL;
|
||||
|
||||
if (!ostree_repo_file_ensure_resolved (self, error))
|
||||
goto out;
|
||||
return NULL;
|
||||
|
||||
if (!self->parent)
|
||||
{
|
||||
|
|
@ -904,20 +881,14 @@ ostree_repo_file_query_info (GFile *file,
|
|||
}
|
||||
else
|
||||
{
|
||||
if (!ostree_repo_file_tree_query_child (self->parent, self->index,
|
||||
attributes, flags,
|
||||
if (!ostree_repo_file_tree_query_child (self->parent, self->index,
|
||||
attributes, flags,
|
||||
&info, cancellable, error))
|
||||
goto out;
|
||||
return NULL;
|
||||
g_assert (info != NULL);
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
out:
|
||||
if (!ret)
|
||||
g_clear_object (&info);
|
||||
else
|
||||
g_object_ref (info);
|
||||
return info;
|
||||
|
||||
return g_steal_pointer (&info);
|
||||
}
|
||||
|
||||
static GFileAttributeInfoList *
|
||||
|
|
@ -938,38 +909,44 @@ ostree_repo_file_query_writable_namespaces (GFile *file,
|
|||
|
||||
static GFileInputStream *
|
||||
ostree_repo_file_read (GFile *file,
|
||||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
OstreeRepoFile *self = OSTREE_REPO_FILE (file);
|
||||
const char *checksum;
|
||||
g_autoptr(GInputStream) ret_stream = NULL;
|
||||
|
||||
if (!ostree_repo_file_ensure_resolved (self, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
if (self->tree_contents)
|
||||
{
|
||||
g_set_error_literal (error, G_IO_ERROR,
|
||||
G_IO_ERROR_IS_DIRECTORY,
|
||||
"Can't open directory");
|
||||
goto out;
|
||||
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_IS_DIRECTORY,
|
||||
"Can't open directory");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
checksum = ostree_repo_file_get_checksum (self);
|
||||
|
||||
if (!ostree_repo_load_file (self->repo, checksum, &ret_stream,
|
||||
NULL, NULL, cancellable, error))
|
||||
goto out;
|
||||
|
||||
ret = TRUE;
|
||||
out:
|
||||
if (!ret)
|
||||
g_clear_object (&ret_stream);
|
||||
g_autoptr(GFileInfo) finfo = NULL;
|
||||
if (!ostree_repo_load_file (self->repo, checksum, NULL,
|
||||
&finfo, NULL, cancellable, error))
|
||||
return NULL;
|
||||
if (g_file_info_get_file_type (finfo) == G_FILE_TYPE_REGULAR)
|
||||
{
|
||||
if (!ostree_repo_load_file (self->repo, checksum, &ret_stream,
|
||||
NULL, NULL, cancellable, error))
|
||||
return NULL;
|
||||
}
|
||||
else
|
||||
g_object_ref (ret_stream);
|
||||
return (GFileInputStream*)ret_stream;
|
||||
{
|
||||
g_autoptr(GFile) parent = g_file_get_parent (file);
|
||||
const char *target = g_file_info_get_symlink_target (finfo);
|
||||
g_autoptr(GFile) dest = g_file_resolve_relative_path (parent, target);
|
||||
return g_file_read (dest, cancellable, error);
|
||||
}
|
||||
|
||||
return g_steal_pointer (&ret_stream);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -640,9 +640,8 @@ aic_handle_entry (OstreeRepoArchiveImportContext *ctx,
|
|||
return TRUE;
|
||||
else
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"Unsupported file type for path \"%s\"", path);
|
||||
return FALSE;
|
||||
return glnx_throw (error, "Unsupported file type for path \"%s\"",
|
||||
path);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,6 +106,7 @@ struct OstreeRepo {
|
|||
|
||||
gboolean inited;
|
||||
gboolean writable;
|
||||
gboolean is_system; /* Was this repo created via ostree_sysroot_get_repo() ? */
|
||||
GError *writable_error;
|
||||
gboolean in_transaction;
|
||||
gboolean disable_fsync;
|
||||
|
|
@ -115,6 +116,7 @@ struct OstreeRepo {
|
|||
GHashTable *updated_uncompressed_dirs;
|
||||
GHashTable *object_sizes;
|
||||
|
||||
uid_t owner_uid;
|
||||
uid_t target_owner_uid;
|
||||
gid_t target_owner_gid;
|
||||
|
||||
|
|
@ -318,28 +320,6 @@ _ostree_repo_commit_trusted_content_bare (OstreeRepo *self,
|
|||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
|
||||
gboolean
|
||||
_ostree_repo_open_untrusted_content_bare (OstreeRepo *self,
|
||||
const char *expected_checksum,
|
||||
guint64 content_len,
|
||||
OstreeRepoContentBareCommit *out_state,
|
||||
GOutputStream **out_stream,
|
||||
gboolean *out_have_object,
|
||||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
|
||||
gboolean
|
||||
_ostree_repo_commit_untrusted_content_bare (OstreeRepo *self,
|
||||
const char *expected_checksum,
|
||||
OstreeRepoContentBareCommit *state,
|
||||
guint32 uid,
|
||||
guint32 gid,
|
||||
guint32 mode,
|
||||
GVariant *xattrs,
|
||||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
|
||||
|
||||
gboolean
|
||||
_ostree_repo_read_bare_fd (OstreeRepo *self,
|
||||
const char *checksum,
|
||||
|
|
@ -351,9 +331,12 @@ gboolean
|
|||
_ostree_repo_update_mtime (OstreeRepo *self,
|
||||
GError **error);
|
||||
|
||||
void
|
||||
gboolean
|
||||
_ostree_repo_add_remote (OstreeRepo *self,
|
||||
OstreeRemote *remote);
|
||||
gboolean
|
||||
_ostree_repo_remove_remote (OstreeRepo *self,
|
||||
OstreeRemote *remote);
|
||||
OstreeRemote *
|
||||
_ostree_repo_get_remote (OstreeRepo *self,
|
||||
const char *name,
|
||||
|
|
|
|||
|
|
@ -80,6 +80,7 @@ typedef struct {
|
|||
GHashTable *expected_commit_sizes; /* Maps commit checksum to known size */
|
||||
GHashTable *commit_to_depth; /* Maps commit checksum maximum depth */
|
||||
GHashTable *scanned_metadata; /* Maps object name to itself */
|
||||
GHashTable *fetched_detached_metadata; /* Set<checksum> */
|
||||
GHashTable *requested_metadata; /* Maps object name to itself */
|
||||
GHashTable *requested_content; /* Maps checksum to itself */
|
||||
GHashTable *requested_fallback_content; /* Maps checksum to itself */
|
||||
|
|
@ -110,6 +111,7 @@ typedef struct {
|
|||
gboolean is_mirror;
|
||||
gboolean is_commit_only;
|
||||
gboolean is_untrusted;
|
||||
gboolean is_bareuseronly_files;
|
||||
|
||||
GPtrArray *dirs;
|
||||
|
||||
|
|
@ -151,7 +153,7 @@ typedef struct {
|
|||
guchar csum[OSTREE_SHA256_DIGEST_LEN];
|
||||
char *path;
|
||||
OstreeObjectType objtype;
|
||||
guint recursion_depth;
|
||||
guint recursion_depth; /* NB: not used anymore, though might be nice to print */
|
||||
} ScanObjectQueueData;
|
||||
|
||||
static void start_fetch (OtPullData *pull_data, FetchObjectData *fetch);
|
||||
|
|
@ -555,6 +557,94 @@ pull_matches_subdir (OtPullData *pull_data,
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
/* This bit mirrors similar code in commit_loose_content_object() for the
|
||||
* bare-user-only mode. It's opt-in though for all pulls.
|
||||
*/
|
||||
static gboolean
|
||||
validate_bareuseronly_mode (OtPullData *pull_data,
|
||||
const char *checksum,
|
||||
guint32 content_mode,
|
||||
GError **error)
|
||||
{
|
||||
if (!pull_data->is_bareuseronly_files)
|
||||
return TRUE;
|
||||
|
||||
if (S_ISREG (content_mode))
|
||||
{
|
||||
const guint32 invalid_modebits = ((content_mode & ~S_IFMT) & ~0775);
|
||||
if (invalid_modebits > 0)
|
||||
return glnx_throw (error, "object %s.file: invalid mode 0%04o with bits 0%04o",
|
||||
checksum, content_mode, invalid_modebits);
|
||||
}
|
||||
else if (S_ISLNK (content_mode))
|
||||
; /* Nothing */
|
||||
else
|
||||
g_assert_not_reached ();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Import a single content object in the case where
|
||||
* we have pull_data->remote_repo_local.
|
||||
*
|
||||
* One important special case here is handling the
|
||||
* OSTREE_REPO_PULL_FLAGS_BAREUSERONLY_FILES flag.
|
||||
*/
|
||||
static gboolean
|
||||
import_one_local_content_object (OtPullData *pull_data,
|
||||
const char *checksum,
|
||||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
g_assert (pull_data->remote_repo_local);
|
||||
|
||||
const gboolean trusted = !pull_data->is_untrusted;
|
||||
if (trusted && !pull_data->is_bareuseronly_files)
|
||||
{
|
||||
if (!ostree_repo_import_object_from_with_trust (pull_data->repo, pull_data->remote_repo_local,
|
||||
OSTREE_OBJECT_TYPE_FILE, checksum,
|
||||
trusted,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* In this case we either need to validate the checksum
|
||||
* or the file mode.
|
||||
*/
|
||||
g_autoptr(GInputStream) content_input = NULL;
|
||||
g_autoptr(GFileInfo) content_finfo = NULL;
|
||||
g_autoptr(GVariant) content_xattrs = NULL;
|
||||
|
||||
if (!ostree_repo_load_file (pull_data->remote_repo_local, checksum,
|
||||
&content_input, &content_finfo, &content_xattrs,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
if (!validate_bareuseronly_mode (pull_data, checksum,
|
||||
g_file_info_get_attribute_uint32 (content_finfo, "unix::mode"),
|
||||
error))
|
||||
return FALSE;
|
||||
|
||||
/* Now that we've potentially validated it, convert to object stream */
|
||||
guint64 length;
|
||||
g_autoptr(GInputStream) object_stream = NULL;
|
||||
if (!ostree_raw_file_to_content_stream (content_input, content_finfo,
|
||||
content_xattrs, &object_stream,
|
||||
&length, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
g_autofree guchar *real_csum = NULL;
|
||||
if (!ostree_repo_write_content (pull_data->repo, checksum,
|
||||
object_stream, length,
|
||||
&real_csum,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
scan_dirtree_object (OtPullData *pull_data,
|
||||
const char *checksum,
|
||||
|
|
@ -563,9 +653,6 @@ scan_dirtree_object (OtPullData *pull_data,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
if (recursion_depth > OSTREE_MAX_RECURSION)
|
||||
return glnx_throw (error, "Exceeded maximum recursion");
|
||||
|
||||
g_autoptr(GVariant) tree = NULL;
|
||||
if (!ostree_repo_load_variant (pull_data->repo, OSTREE_OBJECT_TYPE_DIR_TREE, checksum,
|
||||
&tree, error))
|
||||
|
|
@ -597,15 +684,19 @@ scan_dirtree_object (OtPullData *pull_data,
|
|||
&file_is_stored, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
if (!file_is_stored && pull_data->remote_repo_local)
|
||||
/* If we already have this object, move on to the next */
|
||||
if (file_is_stored)
|
||||
continue;
|
||||
|
||||
/* Is this a local repo? */
|
||||
if (pull_data->remote_repo_local)
|
||||
{
|
||||
if (!ostree_repo_import_object_from_with_trust (pull_data->repo, pull_data->remote_repo_local,
|
||||
OSTREE_OBJECT_TYPE_FILE, file_checksum, !pull_data->is_untrusted,
|
||||
cancellable, error))
|
||||
if (!import_one_local_content_object (pull_data, file_checksum, cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
else if (!file_is_stored && !g_hash_table_lookup (pull_data->requested_content, file_checksum))
|
||||
else if (!g_hash_table_lookup (pull_data->requested_content, file_checksum))
|
||||
{
|
||||
/* In this case we're doing HTTP pulls */
|
||||
g_hash_table_add (pull_data->requested_content, file_checksum);
|
||||
enqueue_one_object_request (pull_data, file_checksum, OSTREE_OBJECT_TYPE_FILE, path, FALSE, FALSE);
|
||||
file_checksum = NULL; /* Transfer ownership */
|
||||
|
|
@ -780,7 +871,12 @@ content_fetch_on_complete (GObject *object,
|
|||
checksum_obj = ostree_object_to_string (checksum, objtype);
|
||||
g_debug ("fetch of %s complete", checksum_obj);
|
||||
|
||||
if (pull_data->is_mirror && pull_data->repo->mode == OSTREE_REPO_MODE_ARCHIVE_Z2)
|
||||
/* If we're mirroring and writing into an archive repo, we can directly copy
|
||||
* the content rather than paying the cost of exploding it, checksumming, and
|
||||
* re-gzip.
|
||||
*/
|
||||
if (pull_data->is_mirror && pull_data->repo->mode == OSTREE_REPO_MODE_ARCHIVE_Z2
|
||||
&& !pull_data->is_bareuseronly_files)
|
||||
{
|
||||
gboolean have_object;
|
||||
if (!ostree_repo_has_object (pull_data->repo, OSTREE_OBJECT_TYPE_FILE, checksum,
|
||||
|
|
@ -812,16 +908,22 @@ content_fetch_on_complete (GObject *object,
|
|||
}
|
||||
|
||||
/* Also, delete it now that we've opened it, we'll hold
|
||||
* a reference to the fd. If we fail to write later, then
|
||||
* a reference to the fd. If we fail to validate or write, then
|
||||
* the temp space will be cleaned up.
|
||||
*/
|
||||
(void) unlinkat (_ostree_fetcher_get_dfd (fetcher), temp_path, 0);
|
||||
|
||||
if (!validate_bareuseronly_mode (pull_data,
|
||||
checksum,
|
||||
g_file_info_get_attribute_uint32 (file_info, "unix::mode"),
|
||||
error))
|
||||
goto out;
|
||||
|
||||
if (!ostree_raw_file_to_content_stream (file_in, file_info, xattrs,
|
||||
&object_input, &length,
|
||||
cancellable, error))
|
||||
goto out;
|
||||
|
||||
|
||||
pull_data->n_outstanding_content_write_requests++;
|
||||
ostree_repo_write_content_async (pull_data->repo, checksum,
|
||||
object_input, length,
|
||||
|
|
@ -912,8 +1014,15 @@ meta_fetch_on_complete (GObject *object,
|
|||
{
|
||||
/* There isn't any detached metadata, just fetch the commit */
|
||||
g_clear_error (&local_error);
|
||||
|
||||
/* Now that we've at least tried to fetch it, we can proceed to
|
||||
* scan/fetch the commit object */
|
||||
g_hash_table_add (pull_data->fetched_detached_metadata, g_strdup (checksum));
|
||||
|
||||
if (!fetch_data->object_is_stored)
|
||||
enqueue_one_object_request (pull_data, checksum, objtype, fetch_data->path, FALSE, FALSE);
|
||||
else
|
||||
queue_scan_one_metadata_object (pull_data, checksum, objtype, fetch_data->path, 0);
|
||||
}
|
||||
|
||||
/* When traversing parents, do not fail on a missing commit.
|
||||
|
|
@ -960,8 +1069,12 @@ meta_fetch_on_complete (GObject *object,
|
|||
pull_data->cancellable, error))
|
||||
goto out;
|
||||
|
||||
g_hash_table_add (pull_data->fetched_detached_metadata, g_strdup (checksum));
|
||||
|
||||
if (!fetch_data->object_is_stored)
|
||||
enqueue_one_object_request (pull_data, checksum, objtype, fetch_data->path, FALSE, FALSE);
|
||||
else
|
||||
queue_scan_one_metadata_object (pull_data, checksum, objtype, fetch_data->path, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -977,7 +1090,7 @@ meta_fetch_on_complete (GObject *object,
|
|||
if (!write_commitpartial_for (pull_data, checksum, error))
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
||||
ostree_repo_write_metadata_async (pull_data->repo, objtype, checksum, metadata,
|
||||
pull_data->cancellable,
|
||||
on_metadata_written, fetch_data);
|
||||
|
|
@ -1176,13 +1289,6 @@ scan_commit_object (OtPullData *pull_data,
|
|||
gint depth;
|
||||
gboolean is_partial;
|
||||
|
||||
if (recursion_depth > OSTREE_MAX_RECURSION)
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"Exceeded maximum recursion");
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (g_hash_table_lookup_extended (pull_data->commit_to_depth, checksum,
|
||||
NULL, &depthp))
|
||||
{
|
||||
|
|
@ -1377,15 +1483,20 @@ scan_one_metadata_object_c (OtPullData *pull_data,
|
|||
}
|
||||
else if (is_stored && objtype == OSTREE_OBJECT_TYPE_COMMIT)
|
||||
{
|
||||
/* For commits, always refetch detached metadata. */
|
||||
enqueue_one_object_request (pull_data, tmp_checksum, objtype, path, TRUE, TRUE);
|
||||
/* Even though we already have the commit, we always try to (re)fetch the
|
||||
* detached metadata before scanning it, in case new signatures appear.
|
||||
* https://github.com/projectatomic/rpm-ostree/issues/630 */
|
||||
if (!g_hash_table_contains (pull_data->fetched_detached_metadata, tmp_checksum))
|
||||
enqueue_one_object_request (pull_data, tmp_checksum, objtype, path, TRUE, TRUE);
|
||||
else
|
||||
{
|
||||
if (!scan_commit_object (pull_data, tmp_checksum, recursion_depth,
|
||||
pull_data->cancellable, error))
|
||||
goto out;
|
||||
|
||||
if (!scan_commit_object (pull_data, tmp_checksum, recursion_depth,
|
||||
pull_data->cancellable, error))
|
||||
goto out;
|
||||
|
||||
g_hash_table_add (pull_data->scanned_metadata, g_variant_ref (object));
|
||||
pull_data->n_scanned_metadata++;
|
||||
g_hash_table_add (pull_data->scanned_metadata, g_variant_ref (object));
|
||||
pull_data->n_scanned_metadata++;
|
||||
}
|
||||
}
|
||||
else if (is_stored && objtype == OSTREE_OBJECT_TYPE_DIR_TREE)
|
||||
{
|
||||
|
|
@ -2144,6 +2255,7 @@ _ostree_repo_cache_summary (OstreeRepo *self,
|
|||
static OstreeFetcher *
|
||||
_ostree_repo_remote_new_fetcher (OstreeRepo *self,
|
||||
const char *remote_name,
|
||||
gboolean gzip,
|
||||
GError **error)
|
||||
{
|
||||
OstreeFetcher *fetcher = NULL;
|
||||
|
|
@ -2162,6 +2274,9 @@ _ostree_repo_remote_new_fetcher (OstreeRepo *self,
|
|||
if (tls_permissive)
|
||||
fetcher_flags |= OSTREE_FETCHER_FLAGS_TLS_PERMISSIVE;
|
||||
|
||||
if (gzip)
|
||||
fetcher_flags |= OSTREE_FETCHER_FLAGS_TRANSFER_GZIP;
|
||||
|
||||
fetcher = _ostree_fetcher_new (self->tmp_dir_fd, remote_name, fetcher_flags);
|
||||
|
||||
{
|
||||
|
|
@ -2419,7 +2534,7 @@ repo_remote_fetch_summary (OstreeRepo *self,
|
|||
mainctx = g_main_context_new ();
|
||||
g_main_context_push_thread_default (mainctx);
|
||||
|
||||
fetcher = _ostree_repo_remote_new_fetcher (self, name, error);
|
||||
fetcher = _ostree_repo_remote_new_fetcher (self, name, TRUE, error);
|
||||
if (fetcher == NULL)
|
||||
goto out;
|
||||
|
||||
|
|
@ -2527,7 +2642,7 @@ static gboolean
|
|||
reinitialize_fetcher (OtPullData *pull_data, const char *remote_name, GError **error)
|
||||
{
|
||||
g_clear_object (&pull_data->fetcher);
|
||||
pull_data->fetcher = _ostree_repo_remote_new_fetcher (pull_data->repo, remote_name, error);
|
||||
pull_data->fetcher = _ostree_repo_remote_new_fetcher (pull_data->repo, remote_name, FALSE, error);
|
||||
if (pull_data->fetcher == NULL)
|
||||
return FALSE;
|
||||
|
||||
|
|
@ -2679,7 +2794,7 @@ initiate_request (OtPullData *pull_data,
|
|||
* * override-commit-ids (as): Array of specific commit IDs to fetch for refs
|
||||
* * dry-run (b): Only print information on what will be downloaded (requires static deltas)
|
||||
* * override-url (s): Fetch objects from this URL if remote specifies no metalink in options
|
||||
* * inherit-transaction (b): Don't initiate, finish or abort a transaction, usefult to do multiple pulls in one transaction.
|
||||
* * inherit-transaction (b): Don't initiate, finish or abort a transaction, useful to do multiple pulls in one transaction.
|
||||
* * http-headers (a(ss)): Additional headers to add to all HTTP requests
|
||||
* * update-frequency (u): Frequency to call the async progress callback in milliseconds, if any; only values higher than 0 are valid
|
||||
*/
|
||||
|
|
@ -2764,6 +2879,7 @@ ostree_repo_pull_with_options (OstreeRepo *self,
|
|||
pull_data->is_mirror = (flags & OSTREE_REPO_PULL_FLAGS_MIRROR) > 0;
|
||||
pull_data->is_commit_only = (flags & OSTREE_REPO_PULL_FLAGS_COMMIT_ONLY) > 0;
|
||||
pull_data->is_untrusted = (flags & OSTREE_REPO_PULL_FLAGS_UNTRUSTED) > 0;
|
||||
pull_data->is_bareuseronly_files = (flags & OSTREE_REPO_PULL_FLAGS_BAREUSERONLY_FILES) > 0;
|
||||
pull_data->cancellable = cancellable ? g_object_ref (cancellable) : NULL;
|
||||
|
||||
if (error)
|
||||
|
|
@ -2787,6 +2903,8 @@ ostree_repo_pull_with_options (OstreeRepo *self,
|
|||
(GDestroyNotify)g_free);
|
||||
pull_data->scanned_metadata = g_hash_table_new_full (ostree_hash_object_name, g_variant_equal,
|
||||
(GDestroyNotify)g_variant_unref, NULL);
|
||||
pull_data->fetched_detached_metadata = g_hash_table_new_full (g_str_hash, g_str_equal,
|
||||
(GDestroyNotify)g_free, NULL);
|
||||
pull_data->requested_content = g_hash_table_new_full (g_str_hash, g_str_equal,
|
||||
(GDestroyNotify)g_free, NULL);
|
||||
pull_data->requested_fallback_content = g_hash_table_new_full (g_str_hash, g_str_equal,
|
||||
|
|
@ -3029,11 +3147,15 @@ ostree_repo_pull_with_options (OstreeRepo *self,
|
|||
}
|
||||
}
|
||||
|
||||
/* For local pulls, default to disabling static deltas so that the
|
||||
* exact object files are copied.
|
||||
*/
|
||||
if (pull_data->remote_repo_local && !pull_data->require_static_deltas)
|
||||
pull_data->disable_static_deltas = TRUE;
|
||||
if (pull_data->remote_repo_local)
|
||||
{
|
||||
/* For local pulls, default to disabling static deltas so that the
|
||||
* exact object files are copied.
|
||||
*/
|
||||
if (!pull_data->require_static_deltas)
|
||||
pull_data->disable_static_deltas = TRUE;
|
||||
|
||||
}
|
||||
|
||||
/* We can't use static deltas if pulling into an archive-z2 repo. */
|
||||
if (self->mode == OSTREE_REPO_MODE_ARCHIVE_Z2)
|
||||
|
|
@ -3161,8 +3283,7 @@ ostree_repo_pull_with_options (OstreeRepo *self,
|
|||
if (pull_data->summary)
|
||||
{
|
||||
refs = g_variant_get_child_value (pull_data->summary, 0);
|
||||
n = g_variant_n_children (refs);
|
||||
for (i = 0; i < n; i++)
|
||||
for (i = 0, n = g_variant_n_children (refs); i < n; i++)
|
||||
{
|
||||
const char *refname;
|
||||
g_autoptr(GVariant) ref = g_variant_get_child_value (refs, i);
|
||||
|
|
@ -3229,7 +3350,7 @@ ostree_repo_pull_with_options (OstreeRepo *self,
|
|||
char *commitid = commitid_strviter ? g_strdup (*commitid_strviter) : NULL;
|
||||
g_hash_table_insert (requested_refs_to_fetch, g_strdup (branch), commitid);
|
||||
}
|
||||
|
||||
|
||||
strviter++;
|
||||
if (commitid_strviter)
|
||||
commitid_strviter++;
|
||||
|
|
@ -3365,7 +3486,7 @@ ostree_repo_pull_with_options (OstreeRepo *self,
|
|||
ret = TRUE;
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
||||
g_assert_cmpint (pull_data->n_outstanding_metadata_fetches, ==, 0);
|
||||
g_assert_cmpint (pull_data->n_outstanding_metadata_write_requests, ==, 0);
|
||||
g_assert_cmpint (pull_data->n_outstanding_content_fetches, ==, 0);
|
||||
|
|
@ -3378,9 +3499,9 @@ ostree_repo_pull_with_options (OstreeRepo *self,
|
|||
const char *checksum = value;
|
||||
g_autofree char *remote_ref = NULL;
|
||||
g_autofree char *original_rev = NULL;
|
||||
|
||||
|
||||
if (pull_data->remote_name)
|
||||
remote_ref = g_strdup_printf ("%s/%s", pull_data->remote_name, ref);
|
||||
remote_ref = g_strdup_printf ("%s:%s", pull_data->remote_name, ref);
|
||||
else
|
||||
remote_ref = g_strdup (ref);
|
||||
|
||||
|
|
@ -3397,7 +3518,7 @@ ostree_repo_pull_with_options (OstreeRepo *self,
|
|||
}
|
||||
}
|
||||
|
||||
if (pull_data->is_mirror && pull_data->summary_data)
|
||||
if (pull_data->is_mirror && pull_data->summary_data && !refs_to_fetch && !configured_branches)
|
||||
{
|
||||
GLnxFileReplaceFlags replaceflag =
|
||||
pull_data->repo->disable_fsync ? GLNX_FILE_REPLACE_NODATASYNC : 0;
|
||||
|
|
@ -3467,15 +3588,16 @@ ostree_repo_pull_with_options (OstreeRepo *self,
|
|||
if (!ot_ensure_unlinked_at (pull_data->repo->repo_dir_fd, commitpartial_path, 0))
|
||||
goto out;
|
||||
}
|
||||
g_hash_table_iter_init (&hash_iter, commits_to_fetch);
|
||||
while (g_hash_table_iter_next (&hash_iter, &key, &value))
|
||||
{
|
||||
const char *commit = value;
|
||||
g_autofree char *commitpartial_path = _ostree_get_commitpartial_path (commit);
|
||||
|
||||
if (!ot_ensure_unlinked_at (pull_data->repo->repo_dir_fd, commitpartial_path, 0))
|
||||
goto out;
|
||||
}
|
||||
g_hash_table_iter_init (&hash_iter, commits_to_fetch);
|
||||
while (g_hash_table_iter_next (&hash_iter, &key, &value))
|
||||
{
|
||||
const char *commit = value;
|
||||
g_autofree char *commitpartial_path = _ostree_get_commitpartial_path (commit);
|
||||
|
||||
if (!ot_ensure_unlinked_at (pull_data->repo->repo_dir_fd, commitpartial_path, 0))
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
|
|
@ -3509,6 +3631,7 @@ ostree_repo_pull_with_options (OstreeRepo *self,
|
|||
g_clear_pointer (&pull_data->commit_to_depth, (GDestroyNotify) g_hash_table_unref);
|
||||
g_clear_pointer (&pull_data->expected_commit_sizes, (GDestroyNotify) g_hash_table_unref);
|
||||
g_clear_pointer (&pull_data->scanned_metadata, (GDestroyNotify) g_hash_table_unref);
|
||||
g_clear_pointer (&pull_data->fetched_detached_metadata, (GDestroyNotify) g_hash_table_unref);
|
||||
g_clear_pointer (&pull_data->summary_deltas_checksums, (GDestroyNotify) g_hash_table_unref);
|
||||
g_clear_pointer (&pull_data->requested_content, (GDestroyNotify) g_hash_table_unref);
|
||||
g_clear_pointer (&pull_data->requested_fallback_content, (GDestroyNotify) g_hash_table_unref);
|
||||
|
|
|
|||
|
|
@ -45,9 +45,8 @@ _ostree_static_delta_parse_checksum_array (GVariant *array,
|
|||
if (G_UNLIKELY(n > (G_MAXUINT32/OSTREE_STATIC_DELTA_OBJTYPE_CSUM_LEN) ||
|
||||
(n_checksums * OSTREE_STATIC_DELTA_OBJTYPE_CSUM_LEN) != n))
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"Invalid checksum array length %" G_GSIZE_FORMAT, n);
|
||||
return FALSE;
|
||||
return glnx_throw (error,
|
||||
"Invalid checksum array length %" G_GSIZE_FORMAT, n);
|
||||
}
|
||||
|
||||
*out_checksums_array = (gpointer)g_variant_get_data (array);
|
||||
|
|
|
|||
|
|
@ -115,9 +115,7 @@ read_varuint64 (StaticDeltaExecutionState *state,
|
|||
gsize bytes_read;
|
||||
if (!_ostree_read_varuint64 (state->opdata, state->oplen, out_value, &bytes_read))
|
||||
{
|
||||
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"Unexpected EOF reading varint");
|
||||
return FALSE;
|
||||
return glnx_throw (error, "%s", "Unexpected EOF reading varint");
|
||||
}
|
||||
state->opdata += bytes_read;
|
||||
state->oplen -= bytes_read;
|
||||
|
|
@ -692,7 +690,8 @@ dispatch_open (OstreeRepo *repo,
|
|||
if (!state->stats_only)
|
||||
{
|
||||
g_assert (repo->mode == OSTREE_REPO_MODE_BARE ||
|
||||
repo->mode == OSTREE_REPO_MODE_BARE_USER);
|
||||
repo->mode == OSTREE_REPO_MODE_BARE_USER ||
|
||||
repo->mode == OSTREE_REPO_MODE_BARE_USER_ONLY);
|
||||
}
|
||||
|
||||
if (!open_output_target (state, cancellable, error))
|
||||
|
|
|
|||
|
|
@ -150,24 +150,28 @@ _ostree_repo_get_remote_inherited (OstreeRepo *self,
|
|||
return g_steal_pointer (&remote);
|
||||
}
|
||||
|
||||
void
|
||||
gboolean
|
||||
_ostree_repo_add_remote (OstreeRepo *self,
|
||||
OstreeRemote *remote)
|
||||
{
|
||||
g_return_if_fail (self != NULL);
|
||||
g_return_if_fail (remote != NULL);
|
||||
g_return_if_fail (remote->name != NULL);
|
||||
gboolean already_existed;
|
||||
|
||||
g_return_val_if_fail (self != NULL, FALSE);
|
||||
g_return_val_if_fail (remote != NULL, FALSE);
|
||||
g_return_val_if_fail (remote->name != NULL, FALSE);
|
||||
|
||||
g_mutex_lock (&self->remotes_lock);
|
||||
|
||||
g_hash_table_replace (self->remotes, remote->name, ostree_remote_ref (remote));
|
||||
already_existed = g_hash_table_replace (self->remotes, remote->name, ostree_remote_ref (remote));
|
||||
|
||||
g_mutex_unlock (&self->remotes_lock);
|
||||
|
||||
return already_existed;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
ost_repo_remove_remote (OstreeRepo *self,
|
||||
OstreeRemote *remote)
|
||||
gboolean
|
||||
_ostree_repo_remove_remote (OstreeRepo *self,
|
||||
OstreeRemote *remote)
|
||||
{
|
||||
gboolean removed;
|
||||
|
||||
|
|
@ -706,6 +710,12 @@ ostree_repo_is_system (OstreeRepo *repo)
|
|||
|
||||
g_return_val_if_fail (OSTREE_IS_REPO (repo), FALSE);
|
||||
|
||||
/* If we were created via ostree_sysroot_get_repo(), we know the answer is yes
|
||||
* without having to compare file paths.
|
||||
*/
|
||||
if (repo->is_system)
|
||||
return TRUE;
|
||||
|
||||
default_repo_path = get_default_repo_path (repo->sysroot_dir);
|
||||
|
||||
return g_file_equal (repo->repodir, default_repo_path);
|
||||
|
|
@ -882,10 +892,7 @@ impl_repo_remote_add (OstreeRepo *self,
|
|||
name, remote->file ? gs_file_get_path_cached (remote->file) : "(in config)");
|
||||
}
|
||||
|
||||
remote = ostree_remote_new ();
|
||||
remote->name = g_strdup (name);
|
||||
remote->group = g_strdup_printf ("remote \"%s\"", name);
|
||||
remote->keyring = g_strdup_printf ("%s.trustedkeys.gpg", name);
|
||||
remote = ostree_remote_new (name);
|
||||
|
||||
/* The OstreeRepo maintains its own internal system root path,
|
||||
* so we need to not only check if a "sysroot" argument was given
|
||||
|
|
@ -1039,7 +1046,7 @@ impl_repo_remote_delete (OstreeRepo *self,
|
|||
if (!ot_ensure_unlinked_at (self->repo_dir_fd, remote->keyring, error))
|
||||
return FALSE;
|
||||
|
||||
ost_repo_remove_remote (self, remote);
|
||||
_ostree_repo_remove_remote (self, remote);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -1322,7 +1329,6 @@ ostree_repo_remote_gpg_import (OstreeRepo *self,
|
|||
struct stat stbuf;
|
||||
gpgme_error_t gpg_error;
|
||||
gboolean ret = FALSE;
|
||||
const GLnxFileCopyFlags copyflags = self->disable_xattrs ? GLNX_FILE_COPY_NOXATTRS : 0;
|
||||
|
||||
g_return_val_if_fail (OSTREE_IS_REPO (self), FALSE);
|
||||
g_return_val_if_fail (name != NULL, FALSE);
|
||||
|
|
@ -1446,7 +1452,7 @@ ostree_repo_remote_gpg_import (OstreeRepo *self,
|
|||
{
|
||||
if (!glnx_file_copy_at (self->repo_dir_fd, remote->keyring,
|
||||
&stbuf, target_temp_fd, "pubring.gpg",
|
||||
copyflags, cancellable, error))
|
||||
GLNX_FILE_COPY_NOXATTRS, cancellable, error))
|
||||
{
|
||||
g_prefix_error (error, "Unable to copy remote's keyring: ");
|
||||
goto out;
|
||||
|
|
@ -1530,7 +1536,7 @@ ostree_repo_remote_gpg_import (OstreeRepo *self,
|
|||
* updated keyring in the target context's temporary directory. */
|
||||
if (!glnx_file_copy_at (target_temp_fd, "pubring.gpg", NULL,
|
||||
self->repo_dir_fd, remote->keyring,
|
||||
copyflags | GLNX_FILE_COPY_OVERWRITE,
|
||||
GLNX_FILE_COPY_NOXATTRS | GLNX_FILE_COPY_OVERWRITE,
|
||||
cancellable, error))
|
||||
goto out;
|
||||
|
||||
|
|
@ -2086,6 +2092,7 @@ ostree_repo_open (OstreeRepo *self,
|
|||
|
||||
if (fstat (self->objects_dir_fd, &stbuf) != 0)
|
||||
return glnx_throw_errno (error);
|
||||
self->owner_uid = stbuf.st_uid;
|
||||
|
||||
if (stbuf.st_uid != getuid () || stbuf.st_gid != getgid ())
|
||||
{
|
||||
|
|
@ -2495,19 +2502,33 @@ load_metadata_internal (OstreeRepo *self,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/* Basically fstatat(), but also looks in both the committed and staging
|
||||
* directories, and returns *out_dfd for where we found the object.
|
||||
*/
|
||||
static gboolean
|
||||
query_info_for_bare_content_object (OstreeRepo *self,
|
||||
const char *loose_path_buf,
|
||||
GFileInfo **out_info,
|
||||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
stat_bare_content_object (OstreeRepo *self,
|
||||
const char *loose_path_buf,
|
||||
int *out_dfd,
|
||||
GFileInfo **out_info,
|
||||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
struct stat stbuf;
|
||||
int res;
|
||||
int dirfd;
|
||||
|
||||
if (TEMP_FAILURE_RETRY (fstatat (self->objects_dir_fd, loose_path_buf, &stbuf, AT_SYMLINK_NOFOLLOW)) < 0)
|
||||
dirfd = self->objects_dir_fd;
|
||||
res = TEMP_FAILURE_RETRY (fstatat (dirfd, loose_path_buf, &stbuf, AT_SYMLINK_NOFOLLOW));
|
||||
if (res < 0 && errno == ENOENT && self->commit_stagedir_fd != -1)
|
||||
{
|
||||
dirfd = self->commit_stagedir_fd;
|
||||
res = TEMP_FAILURE_RETRY (fstatat (dirfd, loose_path_buf, &stbuf, AT_SYMLINK_NOFOLLOW));
|
||||
}
|
||||
if (res < 0)
|
||||
{
|
||||
if (errno == ENOENT)
|
||||
{
|
||||
*out_dfd = -1;
|
||||
*out_info = NULL;
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -2522,13 +2543,14 @@ query_info_for_bare_content_object (OstreeRepo *self,
|
|||
}
|
||||
else if (S_ISLNK (stbuf.st_mode))
|
||||
{
|
||||
if (!ot_readlinkat_gfile_info (self->objects_dir_fd, loose_path_buf,
|
||||
if (!ot_readlinkat_gfile_info (dirfd, loose_path_buf,
|
||||
ret_info, cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
return glnx_throw (error, "Not a regular file or symlink: %s", loose_path_buf);
|
||||
|
||||
*out_dfd = dirfd;
|
||||
ot_transfer_out_value (out_info, &ret_info);
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -2569,6 +2591,12 @@ _ostree_repo_read_bare_fd (OstreeRepo *self,
|
|||
if (!ot_openat_ignore_enoent (self->objects_dir_fd, loose_path_buf, out_fd, error))
|
||||
return FALSE;
|
||||
|
||||
if (*out_fd == -1 && self->commit_stagedir_fd != -1)
|
||||
{
|
||||
if (!ot_openat_ignore_enoent (self->commit_stagedir_fd, loose_path_buf, out_fd, error))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (*out_fd == -1)
|
||||
{
|
||||
if (self->parent_repo)
|
||||
|
|
@ -2590,9 +2618,9 @@ _ostree_repo_read_bare_fd (OstreeRepo *self,
|
|||
* ostree_repo_load_file:
|
||||
* @self: Repo
|
||||
* @checksum: ASCII SHA256 checksum
|
||||
* @out_input: (out) (allow-none): File content
|
||||
* @out_file_info: (out) (allow-none): File information
|
||||
* @out_xattrs: (out) (allow-none): Extended attributes
|
||||
* @out_input: (out) (optional) (nullable): File content
|
||||
* @out_file_info: (out) (optional) (nullable): File information
|
||||
* @out_xattrs: (out) (optional) (nullable): Extended attributes
|
||||
* @cancellable: Cancellable
|
||||
* @error: Error
|
||||
*
|
||||
|
|
@ -2655,9 +2683,11 @@ ostree_repo_load_file (OstreeRepo *self,
|
|||
}
|
||||
else
|
||||
{
|
||||
if (!query_info_for_bare_content_object (self, loose_path_buf,
|
||||
&ret_file_info,
|
||||
cancellable, error))
|
||||
int objdir_fd; /* referenced */
|
||||
if (!stat_bare_content_object (self, loose_path_buf,
|
||||
&objdir_fd,
|
||||
&ret_file_info,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
if (ret_file_info)
|
||||
|
|
@ -2675,7 +2705,7 @@ ostree_repo_load_file (OstreeRepo *self,
|
|||
* always do an open, then query the user.ostreemeta xattr for
|
||||
* more information.
|
||||
*/
|
||||
fd = openat (self->objects_dir_fd, loose_path_buf, O_RDONLY | O_CLOEXEC);
|
||||
fd = openat (objdir_fd, loose_path_buf, O_RDONLY | O_CLOEXEC);
|
||||
if (fd < 0)
|
||||
return glnx_throw_errno (error);
|
||||
|
||||
|
|
@ -2729,7 +2759,7 @@ ostree_repo_load_file (OstreeRepo *self,
|
|||
if (g_file_info_get_file_type (ret_file_info) == G_FILE_TYPE_REGULAR &&
|
||||
out_input)
|
||||
{
|
||||
fd = openat (self->objects_dir_fd, loose_path_buf, O_RDONLY | O_CLOEXEC);
|
||||
fd = openat (objdir_fd, loose_path_buf, O_RDONLY | O_CLOEXEC);
|
||||
if (fd < 0)
|
||||
return glnx_throw_errno (error);
|
||||
|
||||
|
|
@ -2753,7 +2783,7 @@ ostree_repo_load_file (OstreeRepo *self,
|
|||
{
|
||||
glnx_fd_close int fd = -1;
|
||||
|
||||
fd = openat (self->objects_dir_fd, loose_path_buf, O_RDONLY | O_CLOEXEC);
|
||||
fd = openat (objdir_fd, loose_path_buf, O_RDONLY | O_CLOEXEC);
|
||||
if (fd < 0)
|
||||
return glnx_throw_errno (error);
|
||||
|
||||
|
|
@ -2777,7 +2807,7 @@ ostree_repo_load_file (OstreeRepo *self,
|
|||
{
|
||||
if (self->disable_xattrs)
|
||||
ret_xattrs = g_variant_ref_sink (g_variant_new_array (G_VARIANT_TYPE ("(ayay)"), NULL, 0));
|
||||
else if (!glnx_dfd_name_get_all_xattrs (self->objects_dir_fd, loose_path_buf,
|
||||
else if (!glnx_dfd_name_get_all_xattrs (objdir_fd, loose_path_buf,
|
||||
&ret_xattrs,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
|
|
@ -3043,75 +3073,18 @@ copy_detached_metadata (OstreeRepo *self,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/* Special case between bare-user and bare-user-only,
|
||||
* mostly for https://github.com/flatpak/flatpak/issues/845
|
||||
* see below for any more comments.
|
||||
*/
|
||||
static gboolean
|
||||
import_one_object_copy (OstreeRepo *self,
|
||||
OstreeRepo *source,
|
||||
const char *checksum,
|
||||
OstreeObjectType objtype,
|
||||
gboolean trusted,
|
||||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
import_is_bareuser_only_conversion (OstreeRepo *src_repo,
|
||||
OstreeRepo *dest_repo,
|
||||
OstreeObjectType objtype)
|
||||
{
|
||||
guint64 length;
|
||||
g_autoptr(GInputStream) object_stream = NULL;
|
||||
|
||||
if (!ostree_repo_load_object_stream (source, objtype, checksum,
|
||||
&object_stream, &length,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
if (objtype == OSTREE_OBJECT_TYPE_FILE)
|
||||
{
|
||||
if (trusted)
|
||||
{
|
||||
if (!ostree_repo_write_content_trusted (self, checksum,
|
||||
object_stream, length,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
g_autofree guchar *real_csum = NULL;
|
||||
if (!ostree_repo_write_content (self, checksum,
|
||||
object_stream, length,
|
||||
&real_csum,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (objtype == OSTREE_OBJECT_TYPE_COMMIT)
|
||||
{
|
||||
if (!copy_detached_metadata (self, source, checksum, cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (trusted)
|
||||
{
|
||||
if (!ostree_repo_write_metadata_stream_trusted (self, objtype,
|
||||
checksum, object_stream, length,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
g_autofree guchar *real_csum = NULL;
|
||||
g_autoptr(GVariant) variant = NULL;
|
||||
|
||||
if (!ostree_repo_load_variant (source, objtype, checksum,
|
||||
&variant, error))
|
||||
return FALSE;
|
||||
|
||||
if (!ostree_repo_write_metadata (self, objtype,
|
||||
checksum, variant,
|
||||
&real_csum,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
return src_repo->mode == OSTREE_REPO_MODE_BARE_USER
|
||||
&& dest_repo->mode == OSTREE_REPO_MODE_BARE_USER_ONLY
|
||||
&& objtype == OSTREE_OBJECT_TYPE_FILE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
|
@ -3126,6 +3099,33 @@ import_one_object_link (OstreeRepo *self,
|
|||
char loose_path_buf[_OSTREE_LOOSE_PATH_MAX];
|
||||
_ostree_loose_path (loose_path_buf, checksum, objtype, self->mode);
|
||||
|
||||
/* Hardlinking between bare-user → bare-user-only is only possible for regular
|
||||
* files, *not* symlinks, which in bare-user are stored as regular files. At
|
||||
* this point we need to parse the file to see the difference.
|
||||
*/
|
||||
if (import_is_bareuser_only_conversion (source, self, objtype))
|
||||
{
|
||||
g_autoptr(GFileInfo) finfo = NULL;
|
||||
|
||||
if (!ostree_repo_load_file (source, checksum, NULL, &finfo, NULL,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
switch (g_file_info_get_file_type (finfo))
|
||||
{
|
||||
case G_FILE_TYPE_REGULAR:
|
||||
/* This is OK, we'll drop through and try a hardlink */
|
||||
break;
|
||||
case G_FILE_TYPE_SYMBOLIC_LINK:
|
||||
/* NOTE early return */
|
||||
*out_was_supported = FALSE;
|
||||
return TRUE;
|
||||
default:
|
||||
g_assert_not_reached ();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!_ostree_repo_ensure_loose_objdir_at (self->objects_dir_fd, loose_path_buf, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
|
|
@ -3184,6 +3184,28 @@ ostree_repo_import_object_from (OstreeRepo *self,
|
|||
checksum, TRUE, cancellable, error);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
import_via_hardlink_is_possible (OstreeRepo *src_repo,
|
||||
OstreeRepo *dest_repo,
|
||||
OstreeObjectType objtype)
|
||||
{
|
||||
/* We need the ability to make hardlinks */
|
||||
if (src_repo->owner_uid != dest_repo->owner_uid)
|
||||
return FALSE;
|
||||
/* Equal modes are always compatible */
|
||||
if (src_repo->mode == dest_repo->mode)
|
||||
return TRUE;
|
||||
/* Metadata is identical between all modes */
|
||||
if (OSTREE_OBJECT_TYPE_IS_META (objtype))
|
||||
return TRUE;
|
||||
/* And now a special case between bare-user and bare-user-only,
|
||||
* mostly for https://github.com/flatpak/flatpak/issues/845
|
||||
*/
|
||||
if (import_is_bareuser_only_conversion (src_repo, dest_repo, objtype))
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* ostree_repo_import_object_from_with_trust:
|
||||
* @self: Destination repo
|
||||
|
|
@ -3210,29 +3232,95 @@ ostree_repo_import_object_from_with_trust (OstreeRepo *self,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
gboolean hardlink_was_supported = FALSE;
|
||||
|
||||
if (trusted && /* Don't hardlink into untrusted remotes */
|
||||
self->mode == source->mode)
|
||||
/* We try to import via hardlink. If the remote is explicitly not trusted
|
||||
* (i.e.) their checksums may be incorrect, we skip that. Also, we require the
|
||||
* repository modes to match, as well as the owner uid (since we need to be
|
||||
* able to make hardlinks).
|
||||
*/
|
||||
if (trusted && import_via_hardlink_is_possible (source, self, objtype))
|
||||
{
|
||||
gboolean hardlink_was_supported = FALSE;
|
||||
|
||||
if (!import_one_object_link (self, source, checksum, objtype,
|
||||
&hardlink_was_supported,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
/* If we hardlinked, we're done! */
|
||||
if (hardlink_was_supported)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (!hardlink_was_supported)
|
||||
{
|
||||
gboolean has_object;
|
||||
/* The copy path */
|
||||
|
||||
if (!ostree_repo_has_object (self, objtype, checksum, &has_object,
|
||||
cancellable, error))
|
||||
/* First, do we have the object already? */
|
||||
gboolean has_object;
|
||||
if (!ostree_repo_has_object (self, objtype, checksum, &has_object,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
/* If we have it, we're done */
|
||||
if (has_object)
|
||||
return TRUE;
|
||||
|
||||
if (OSTREE_OBJECT_TYPE_IS_META (objtype))
|
||||
{
|
||||
/* Metadata object */
|
||||
g_autoptr(GVariant) variant = NULL;
|
||||
|
||||
if (objtype == OSTREE_OBJECT_TYPE_COMMIT)
|
||||
{
|
||||
/* FIXME - cleanup detached metadata if copy below fails */
|
||||
if (!copy_detached_metadata (self, source, checksum, cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!ostree_repo_load_variant (source, objtype, checksum,
|
||||
&variant, error))
|
||||
return FALSE;
|
||||
|
||||
if (!has_object)
|
||||
if (trusted)
|
||||
{
|
||||
if (!import_one_object_copy (self, source, checksum, objtype, trusted,
|
||||
cancellable, error))
|
||||
if (!ostree_repo_write_metadata_trusted (self, objtype,
|
||||
checksum, variant,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
g_autofree guchar *real_csum = NULL;
|
||||
|
||||
if (!ostree_repo_write_metadata (self, objtype,
|
||||
checksum, variant,
|
||||
&real_csum,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Content object */
|
||||
guint64 length;
|
||||
g_autoptr(GInputStream) object_stream = NULL;
|
||||
|
||||
if (!ostree_repo_load_object_stream (source, objtype, checksum,
|
||||
&object_stream, &length,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
if (trusted)
|
||||
{
|
||||
if (!ostree_repo_write_content_trusted (self, checksum,
|
||||
object_stream, length,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
g_autofree guchar *real_csum = NULL;
|
||||
if (!ostree_repo_write_content (self, checksum,
|
||||
object_stream, length,
|
||||
&real_csum,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
|
@ -3263,9 +3351,14 @@ ostree_repo_query_object_storage_size (OstreeRepo *self,
|
|||
{
|
||||
char loose_path[_OSTREE_LOOSE_PATH_MAX];
|
||||
_ostree_loose_path (loose_path, sha256, objtype, self->mode);
|
||||
int res;
|
||||
|
||||
struct stat stbuf;
|
||||
if (TEMP_FAILURE_RETRY (fstatat (self->objects_dir_fd, loose_path, &stbuf, AT_SYMLINK_NOFOLLOW)) < 0)
|
||||
res = TEMP_FAILURE_RETRY (fstatat (self->objects_dir_fd, loose_path, &stbuf, AT_SYMLINK_NOFOLLOW));
|
||||
if (res < 0 && errno == ENOENT && self->commit_stagedir_fd != -1)
|
||||
res = TEMP_FAILURE_RETRY (fstatat (self->commit_stagedir_fd, loose_path, &stbuf, AT_SYMLINK_NOFOLLOW));
|
||||
|
||||
if (res < 0)
|
||||
return glnx_throw_errno_prefix (error, "Querying object %s.%s", sha256, ostree_object_type_to_string (objtype));
|
||||
|
||||
*out_size = stbuf.st_size;
|
||||
|
|
@ -4470,54 +4563,55 @@ ostree_repo_regenerate_summary (OstreeRepo *self,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
g_autoptr(GHashTable) refs = NULL;
|
||||
if (!ostree_repo_list_refs (self, NULL, &refs, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
g_auto(GVariantDict) additional_metadata_builder = OT_VARIANT_BUILDER_INITIALIZER;
|
||||
g_variant_dict_init (&additional_metadata_builder, additional_metadata);
|
||||
g_autoptr(GVariantBuilder) refs_builder = g_variant_builder_new (G_VARIANT_TYPE ("a(s(taya{sv}))"));
|
||||
|
||||
g_autoptr(GList) ordered_keys = g_hash_table_get_keys (refs);
|
||||
ordered_keys = g_list_sort (ordered_keys, (GCompareFunc)strcmp);
|
||||
{
|
||||
g_autoptr(GHashTable) refs = NULL;
|
||||
if (!ostree_repo_list_refs (self, NULL, &refs, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
for (GList *iter = ordered_keys; iter; iter = iter->next)
|
||||
{
|
||||
const char *ref = iter->data;
|
||||
const char *commit = g_hash_table_lookup (refs, ref);
|
||||
g_auto(GVariantDict) commit_metadata_builder = OT_VARIANT_BUILDER_INITIALIZER;
|
||||
g_autoptr(GList) ordered_keys = g_hash_table_get_keys (refs);
|
||||
ordered_keys = g_list_sort (ordered_keys, (GCompareFunc)strcmp);
|
||||
|
||||
g_assert (commit);
|
||||
for (GList *iter = ordered_keys; iter; iter = iter->next)
|
||||
{
|
||||
const char *ref = iter->data;
|
||||
const char *commit = g_hash_table_lookup (refs, ref);
|
||||
g_auto(GVariantDict) commit_metadata_builder = OT_VARIANT_BUILDER_INITIALIZER;
|
||||
|
||||
g_autofree char *remotename = NULL;
|
||||
if (!ostree_parse_refspec (ref, &remotename, NULL, NULL))
|
||||
g_assert_not_reached ();
|
||||
g_assert (commit);
|
||||
|
||||
/* Don't put remote refs in the summary */
|
||||
if (remotename != NULL)
|
||||
continue;
|
||||
g_autofree char *remotename = NULL;
|
||||
if (!ostree_parse_refspec (ref, &remotename, NULL, NULL))
|
||||
g_assert_not_reached ();
|
||||
|
||||
g_autoptr(GVariant) commit_obj = NULL;
|
||||
if (!ostree_repo_load_variant (self, OSTREE_OBJECT_TYPE_COMMIT, commit, &commit_obj, error))
|
||||
return FALSE;
|
||||
/* Don't put remote refs in the summary */
|
||||
if (remotename != NULL)
|
||||
continue;
|
||||
|
||||
g_variant_dict_init (&commit_metadata_builder, NULL);
|
||||
g_autoptr(GVariant) commit_obj = NULL;
|
||||
if (!ostree_repo_load_variant (self, OSTREE_OBJECT_TYPE_COMMIT, commit, &commit_obj, error))
|
||||
return FALSE;
|
||||
|
||||
/* Forward the commit’s timestamp if it’s valid. */
|
||||
guint64 commit_timestamp = ostree_commit_get_timestamp (commit_obj);
|
||||
g_autoptr(GDateTime) dt = g_date_time_new_from_unix_utc (commit_timestamp);
|
||||
g_variant_dict_init (&commit_metadata_builder, NULL);
|
||||
|
||||
if (dt != NULL)
|
||||
g_variant_dict_insert_value (&commit_metadata_builder, OSTREE_COMMIT_TIMESTAMP,
|
||||
g_variant_new_uint64 (GUINT64_TO_BE (commit_timestamp)));
|
||||
/* Forward the commit’s timestamp if it’s valid. */
|
||||
guint64 commit_timestamp = ostree_commit_get_timestamp (commit_obj);
|
||||
g_autoptr(GDateTime) dt = g_date_time_new_from_unix_utc (commit_timestamp);
|
||||
|
||||
g_variant_builder_add_value (refs_builder,
|
||||
g_variant_new ("(s(t@ay@a{sv}))", ref,
|
||||
(guint64) g_variant_get_size (commit_obj),
|
||||
ostree_checksum_to_bytes_v (commit),
|
||||
g_variant_dict_end (&commit_metadata_builder)));
|
||||
}
|
||||
if (dt != NULL)
|
||||
g_variant_dict_insert_value (&commit_metadata_builder, OSTREE_COMMIT_TIMESTAMP,
|
||||
g_variant_new_uint64 (GUINT64_TO_BE (commit_timestamp)));
|
||||
|
||||
g_variant_builder_add_value (refs_builder,
|
||||
g_variant_new ("(s(t@ay@a{sv}))", ref,
|
||||
(guint64) g_variant_get_size (commit_obj),
|
||||
ostree_checksum_to_bytes_v (commit),
|
||||
g_variant_dict_end (&commit_metadata_builder)));
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
g_autoptr(GPtrArray) delta_names = NULL;
|
||||
|
|
@ -4542,7 +4636,6 @@ ostree_repo_regenerate_summary (OstreeRepo *self,
|
|||
g_autoptr(GInputStream) in_stream = g_unix_input_stream_new (superblock_file_fd, FALSE);
|
||||
if (!in_stream)
|
||||
return FALSE;
|
||||
superblock_file_fd = -1; /* Transfer ownership */
|
||||
|
||||
g_autofree guchar *csum = NULL;
|
||||
if (!ot_gio_checksum_stream (in_stream,
|
||||
|
|
@ -4554,7 +4647,8 @@ ostree_repo_regenerate_summary (OstreeRepo *self,
|
|||
g_variant_dict_insert_value (&deltas_builder, delta_names->pdata[i], ot_gvariant_new_bytearray (csum, 32));
|
||||
}
|
||||
|
||||
g_variant_dict_insert_value (&additional_metadata_builder, OSTREE_SUMMARY_STATIC_DELTAS, g_variant_dict_end (&deltas_builder));
|
||||
if (delta_names->len > 0)
|
||||
g_variant_dict_insert_value (&additional_metadata_builder, OSTREE_SUMMARY_STATIC_DELTAS, g_variant_dict_end (&deltas_builder));
|
||||
}
|
||||
|
||||
{
|
||||
|
|
|
|||
|
|
@ -768,7 +768,8 @@ typedef struct {
|
|||
gboolean process_whiteouts;
|
||||
gboolean no_copy_fallback;
|
||||
gboolean force_copy; /* Since: 2017.6 */
|
||||
gboolean unused_bools[6];
|
||||
gboolean bareuseronly_dirs; /* Since: 2017.7 */
|
||||
gboolean unused_bools[5];
|
||||
|
||||
const char *subpath;
|
||||
|
||||
|
|
@ -1015,12 +1016,14 @@ gboolean ostree_repo_prune_from_reachable (OstreeRepo *self,
|
|||
* @OSTREE_REPO_PULL_FLAGS_MIRROR: Write out refs suitable for mirrors
|
||||
* @OSTREE_REPO_PULL_FLAGS_COMMIT_ONLY: Fetch only the commit metadata
|
||||
* @OSTREE_REPO_PULL_FLAGS_UNTRUSTED: Don't trust local remote
|
||||
* @OSTREE_REPO_PULL_FLAGS_BAREUSERONLY_FILES: Since 2017.7. Reject writes of content objects with modes outside of 0775.
|
||||
*/
|
||||
typedef enum {
|
||||
OSTREE_REPO_PULL_FLAGS_NONE,
|
||||
OSTREE_REPO_PULL_FLAGS_MIRROR = (1 << 0),
|
||||
OSTREE_REPO_PULL_FLAGS_COMMIT_ONLY = (1 << 1),
|
||||
OSTREE_REPO_PULL_FLAGS_UNTRUSTED = (1 << 2)
|
||||
OSTREE_REPO_PULL_FLAGS_UNTRUSTED = (1 << 2),
|
||||
OSTREE_REPO_PULL_FLAGS_BAREUSERONLY_FILES = (1 << 3)
|
||||
} OstreeRepoPullFlags;
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
|
|
|
|||
|
|
@ -501,31 +501,27 @@ _ostree_sysroot_cleanup_internal (OstreeSysroot *self,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
glnx_unref_object OstreeRepo *repo = NULL;
|
||||
|
||||
g_return_val_if_fail (OSTREE_IS_SYSROOT (self), FALSE);
|
||||
g_return_val_if_fail (self->loaded, FALSE);
|
||||
|
||||
if (!cleanup_other_bootversions (self, cancellable, error))
|
||||
return FALSE;
|
||||
return glnx_prefix_error (error, "Cleaning bootversions");
|
||||
|
||||
if (!cleanup_old_deployments (self, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
if (!ostree_sysroot_get_repo (self, &repo, cancellable, error))
|
||||
return FALSE;
|
||||
return glnx_prefix_error (error, "Cleaning deployments");
|
||||
|
||||
OstreeRepo *repo = ostree_sysroot_repo (self);
|
||||
if (!generate_deployment_refs (self, repo,
|
||||
self->bootversion,
|
||||
self->subbootversion,
|
||||
self->deployments,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
return glnx_prefix_error (error, "Generating deployment refs");
|
||||
|
||||
if (do_prune_repo)
|
||||
{
|
||||
if (!prune_repo (repo, cancellable, error))
|
||||
return FALSE;
|
||||
return glnx_prefix_error (error, "Pruning repo");
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
|
|
|||
|
|
@ -423,11 +423,18 @@ copy_modified_config_file (int orig_etc_fd,
|
|||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* merge_etc_changes:
|
||||
/*
|
||||
* merge_configuration_from:
|
||||
* @sysroot: Sysroot
|
||||
* @merge_deployment: Source of configuration differences
|
||||
* @merge_deployment_dfd: Directory fd, may be -1
|
||||
* @new_deployment: Target for merge of configuration
|
||||
* @new_deployment_dfd: Directory fd for @new_deployment (may *not* be -1)
|
||||
* @cancellable: Cancellable
|
||||
* @error: Error
|
||||
*
|
||||
* Compute the difference between @orig_etc and @modified_etc,
|
||||
* and apply that to @new_etc.
|
||||
* Compute the difference between @merge_deployment's `/usr/etc` and `/etc`, and
|
||||
* apply that to @new_deployment's `/etc`.
|
||||
*
|
||||
* The algorithm for computing the difference is pretty simple; it's
|
||||
* approximately equivalent to "diff -unR orig_etc modified_etc",
|
||||
|
|
@ -435,26 +442,37 @@ copy_modified_config_file (int orig_etc_fd,
|
|||
* changed in @new_etc, the modified version always wins.
|
||||
*/
|
||||
static gboolean
|
||||
merge_etc_changes (GFile *orig_etc,
|
||||
GFile *modified_etc,
|
||||
GFile *new_etc,
|
||||
OstreeSysrootDebugFlags flags,
|
||||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
merge_configuration_from (OstreeSysroot *sysroot,
|
||||
OstreeDeployment *merge_deployment,
|
||||
int merge_deployment_dfd,
|
||||
OstreeDeployment *new_deployment,
|
||||
int new_deployment_dfd,
|
||||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
g_autoptr(GPtrArray) modified = NULL;
|
||||
g_autoptr(GPtrArray) removed = NULL;
|
||||
g_autoptr(GPtrArray) added = NULL;
|
||||
guint i;
|
||||
glnx_fd_close int orig_etc_fd = -1;
|
||||
glnx_fd_close int modified_etc_fd = -1;
|
||||
glnx_fd_close int new_etc_fd = -1;
|
||||
glnx_fd_close int owned_merge_deployment_dfd = -1;
|
||||
const OstreeSysrootDebugFlags flags = sysroot->debug_flags;
|
||||
|
||||
modified = g_ptr_array_new_with_free_func ((GDestroyNotify) ostree_diff_item_unref);
|
||||
removed = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
|
||||
added = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
|
||||
g_assert (merge_deployment != NULL && new_deployment != NULL);
|
||||
g_assert (new_deployment_dfd != -1);
|
||||
|
||||
/* Allow the caller to pass -1 for the merge, for convenience */
|
||||
if (merge_deployment_dfd == -1)
|
||||
{
|
||||
g_autofree char *merge_deployment_path = ostree_sysroot_get_deployment_dirpath (sysroot, merge_deployment);
|
||||
if (!glnx_opendirat (sysroot->sysroot_fd, merge_deployment_path, FALSE,
|
||||
&owned_merge_deployment_dfd, error))
|
||||
return FALSE;
|
||||
merge_deployment_dfd = owned_merge_deployment_dfd;
|
||||
}
|
||||
|
||||
/* TODO: get rid of GFile usage here */
|
||||
g_autoptr(GFile) orig_etc = ot_fdrel_to_gfile (merge_deployment_dfd, "usr/etc");
|
||||
g_autoptr(GFile) modified_etc = ot_fdrel_to_gfile (merge_deployment_dfd, "etc");
|
||||
/* Return values for below */
|
||||
g_autoptr(GPtrArray) modified = g_ptr_array_new_with_free_func ((GDestroyNotify) ostree_diff_item_unref);
|
||||
g_autoptr(GPtrArray) removed = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
|
||||
g_autoptr(GPtrArray) added = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
|
||||
/* For now, ignore changes to xattrs; the problem is that
|
||||
* security.selinux will be different between the /usr/etc labels
|
||||
* and the ones in the real /etc, so they all show up as different.
|
||||
|
|
@ -466,42 +484,37 @@ merge_etc_changes (GFile *orig_etc,
|
|||
if (!ostree_diff_dirs (OSTREE_DIFF_FLAGS_IGNORE_XATTRS,
|
||||
orig_etc, modified_etc, modified, removed, added,
|
||||
cancellable, error))
|
||||
{
|
||||
g_prefix_error (error, "While computing configuration diff: ");
|
||||
goto out;
|
||||
}
|
||||
return glnx_prefix_error (error, "While computing configuration diff");
|
||||
|
||||
ot_log_structured_print_id_v (OSTREE_CONFIGMERGE_ID,
|
||||
"Copying /etc changes: %u modified, %u removed, %u added",
|
||||
"Copying /etc changes: %u modified, %u removed, %u added",
|
||||
modified->len,
|
||||
removed->len,
|
||||
added->len);
|
||||
|
||||
if (!glnx_opendirat (AT_FDCWD, gs_file_get_path_cached (orig_etc), TRUE,
|
||||
&orig_etc_fd, error))
|
||||
goto out;
|
||||
if (!glnx_opendirat (AT_FDCWD, gs_file_get_path_cached (modified_etc), TRUE,
|
||||
&modified_etc_fd, error))
|
||||
goto out;
|
||||
if (!glnx_opendirat (AT_FDCWD, gs_file_get_path_cached (new_etc), TRUE,
|
||||
&new_etc_fd, error))
|
||||
goto out;
|
||||
glnx_fd_close int orig_etc_fd = -1;
|
||||
if (!glnx_opendirat (merge_deployment_dfd, "usr/etc", TRUE, &orig_etc_fd, error))
|
||||
return FALSE;
|
||||
glnx_fd_close int modified_etc_fd = -1;
|
||||
if (!glnx_opendirat (merge_deployment_dfd, "etc", TRUE, &modified_etc_fd, error))
|
||||
return FALSE;
|
||||
glnx_fd_close int new_etc_fd = -1;
|
||||
if (!glnx_opendirat (new_deployment_dfd, "etc", TRUE, &new_etc_fd, error))
|
||||
return FALSE;
|
||||
|
||||
for (i = 0; i < removed->len; i++)
|
||||
for (guint i = 0; i < removed->len; i++)
|
||||
{
|
||||
GFile *file = removed->pdata[i];
|
||||
g_autoptr(GFile) target_file = NULL;
|
||||
g_autofree char *path = NULL;
|
||||
|
||||
path = g_file_get_relative_path (orig_etc, file);
|
||||
g_assert (path);
|
||||
target_file = g_file_resolve_relative_path (new_etc, path);
|
||||
|
||||
if (!glnx_shutil_rm_rf_at (AT_FDCWD, gs_file_get_path_cached (target_file), cancellable, error))
|
||||
goto out;
|
||||
if (!glnx_shutil_rm_rf_at (new_etc_fd, path, cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
for (i = 0; i < modified->len; i++)
|
||||
for (guint i = 0; i < modified->len; i++)
|
||||
{
|
||||
OstreeDiffItem *diff = modified->pdata[i];
|
||||
g_autofree char *path = g_file_get_relative_path (modified_etc, diff->target);
|
||||
|
|
@ -510,9 +523,9 @@ merge_etc_changes (GFile *orig_etc,
|
|||
|
||||
if (!copy_modified_config_file (orig_etc_fd, modified_etc_fd, new_etc_fd, path,
|
||||
flags, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
}
|
||||
for (i = 0; i < added->len; i++)
|
||||
for (guint i = 0; i < added->len; i++)
|
||||
{
|
||||
GFile *file = added->pdata[i];
|
||||
g_autofree char *path = g_file_get_relative_path (modified_etc, file);
|
||||
|
|
@ -521,12 +534,10 @@ merge_etc_changes (GFile *orig_etc,
|
|||
|
||||
if (!copy_modified_config_file (orig_etc_fd, modified_etc_fd, new_etc_fd, path,
|
||||
flags, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -775,16 +786,7 @@ merge_configuration (OstreeSysroot *sysroot,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
g_autofree char *deployment_abspath = glnx_fdrel_abspath (deployment_dfd, ".");
|
||||
g_autoptr(GFile) deployment_path = g_file_new_for_path (deployment_abspath);
|
||||
g_autoptr(GFile) source_etc_path = NULL;
|
||||
g_autoptr(GFile) source_etc_pristine_path = NULL;
|
||||
g_autoptr(GFile) deployment_usretc_path = NULL;
|
||||
g_autoptr(GFile) deployment_etc_path = NULL;
|
||||
glnx_unref_object OstreeSePolicy *sepolicy = NULL;
|
||||
gboolean etc_exists;
|
||||
gboolean usretc_exists;
|
||||
|
||||
if (previous_deployment)
|
||||
{
|
||||
|
|
@ -792,8 +794,6 @@ merge_configuration (OstreeSysroot *sysroot,
|
|||
OstreeBootconfigParser *previous_bootconfig;
|
||||
|
||||
previous_path = ostree_sysroot_get_deployment_directory (sysroot, previous_deployment);
|
||||
source_etc_path = g_file_resolve_relative_path (previous_path, "etc");
|
||||
source_etc_pristine_path = g_file_resolve_relative_path (previous_path, "usr/etc");
|
||||
|
||||
previous_bootconfig = ostree_deployment_get_bootconfig (previous_deployment);
|
||||
if (previous_bootconfig)
|
||||
|
|
@ -807,26 +807,20 @@ merge_configuration (OstreeSysroot *sysroot,
|
|||
}
|
||||
}
|
||||
|
||||
deployment_etc_path = g_file_get_child (deployment_path, "etc");
|
||||
deployment_usretc_path = g_file_resolve_relative_path (deployment_path, "usr/etc");
|
||||
|
||||
etc_exists = g_file_query_exists (deployment_etc_path, NULL);
|
||||
usretc_exists = g_file_query_exists (deployment_usretc_path, NULL);
|
||||
gboolean etc_exists = FALSE;
|
||||
if (!ot_query_exists_at (deployment_dfd, "etc", &etc_exists, error))
|
||||
return FALSE;
|
||||
gboolean usretc_exists = FALSE;
|
||||
if (!ot_query_exists_at (deployment_dfd, "usr/etc", &usretc_exists, error))
|
||||
return FALSE;
|
||||
|
||||
if (etc_exists && usretc_exists)
|
||||
{
|
||||
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
|
||||
"Tree contains both /etc and /usr/etc");
|
||||
goto out;
|
||||
}
|
||||
return glnx_throw (error, "Tree contains both /etc and /usr/etc");
|
||||
else if (etc_exists)
|
||||
{
|
||||
/* Compatibility hack */
|
||||
if (renameat (deployment_dfd, "etc", deployment_dfd, "usr/etc") < 0)
|
||||
{
|
||||
glnx_set_error_from_errno (error);
|
||||
goto out;
|
||||
}
|
||||
return glnx_throw_errno_prefix (error, "renameat");
|
||||
usretc_exists = TRUE;
|
||||
etc_exists = FALSE;
|
||||
}
|
||||
|
|
@ -843,9 +837,9 @@ merge_configuration (OstreeSysroot *sysroot,
|
|||
/* Here, we initialize SELinux policy from the /usr/etc inside
|
||||
* the root - this is before we've finalized the configuration
|
||||
* merge into /etc. */
|
||||
sepolicy = ostree_sepolicy_new (deployment_path, cancellable, error);
|
||||
sepolicy = ostree_sepolicy_new_at (deployment_dfd, cancellable, error);
|
||||
if (!sepolicy)
|
||||
goto out;
|
||||
return FALSE;
|
||||
if (ostree_sepolicy_get_name (sepolicy) != NULL)
|
||||
etc_co_opts.sepolicy = sepolicy;
|
||||
|
||||
|
|
@ -854,21 +848,21 @@ merge_configuration (OstreeSysroot *sysroot,
|
|||
deployment_dfd, "etc",
|
||||
ostree_deployment_get_csum (deployment),
|
||||
cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
|
||||
if (source_etc_path)
|
||||
if (previous_deployment)
|
||||
{
|
||||
if (!merge_etc_changes (source_etc_pristine_path, source_etc_path, deployment_etc_path,
|
||||
sysroot->debug_flags, cancellable, error))
|
||||
goto out;
|
||||
if (!merge_configuration_from (sysroot, previous_deployment, -1,
|
||||
deployment, deployment_dfd,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
if (out_sepolicy)
|
||||
*out_sepolicy = g_steal_pointer (&sepolicy);
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
|
@ -1034,9 +1028,9 @@ checksum_from_kernel_src (const char *name,
|
|||
const char *last_dash = strrchr (name, '-');
|
||||
if (!last_dash)
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"Malformed kernel/initramfs name '%s', missing '-'", name);
|
||||
return FALSE;
|
||||
return glnx_throw (error,
|
||||
"Malformed kernel/initramfs name '%s', missing '-'",
|
||||
name);
|
||||
}
|
||||
*out_checksum = g_strdup (last_dash + 1);
|
||||
return TRUE;
|
||||
|
|
@ -1962,10 +1956,7 @@ ostree_sysroot_deploy_tree (OstreeSysroot *self,
|
|||
if (!glnx_opendirat (self->sysroot_fd, osdeploypath, TRUE, &os_deploy_dfd, error))
|
||||
return FALSE;
|
||||
|
||||
glnx_unref_object OstreeRepo *repo = NULL;
|
||||
if (!ostree_sysroot_get_repo (self, &repo, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
OstreeRepo *repo = ostree_sysroot_repo (self);
|
||||
glnx_unref_object OstreeDeployment *merge_deployment = NULL;
|
||||
if (provided_merge_deployment != NULL)
|
||||
merge_deployment = g_object_ref (provided_merge_deployment);
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ struct OstreeSysroot {
|
|||
|
||||
/* Only access through ostree_sysroot_get_repo() */
|
||||
OstreeRepo *repo;
|
||||
gboolean repo_opened;
|
||||
|
||||
OstreeSysrootDebugFlags debug_flags;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -512,6 +512,10 @@ ostree_sysroot_upgrader_pull_one_dir (OstreeSysrootUpgrader *self,
|
|||
char *refs_to_fetch[] = { NULL, NULL };
|
||||
const char *from_revision = NULL;
|
||||
g_autofree char *origin_refspec = NULL;
|
||||
g_autofree char *new_revision = NULL;
|
||||
g_autoptr(GVariant) new_variant = NULL;
|
||||
g_autoptr(GVariant) new_metadata = NULL;
|
||||
g_autoptr(GVariant) rebase = NULL;
|
||||
|
||||
if (self->override_csum != NULL)
|
||||
refs_to_fetch[0] = self->override_csum;
|
||||
|
|
@ -541,6 +545,48 @@ ostree_sysroot_upgrader_pull_one_dir (OstreeSysrootUpgrader *self,
|
|||
ostree_async_progress_finish (progress);
|
||||
}
|
||||
|
||||
/* Check to see if the commit marks the ref as EOL, redirecting to
|
||||
* another. */
|
||||
if (!ostree_repo_resolve_rev (repo, origin_refspec, FALSE,
|
||||
&new_revision, error))
|
||||
return FALSE;
|
||||
|
||||
if (!ostree_repo_load_variant (repo,
|
||||
OSTREE_OBJECT_TYPE_COMMIT,
|
||||
new_revision,
|
||||
&new_variant,
|
||||
error))
|
||||
return FALSE;
|
||||
|
||||
g_variant_get_child (new_variant, 0, "@a{sv}", &new_metadata);
|
||||
rebase = g_variant_lookup_value (new_metadata, "ostree.endoflife-rebase", G_VARIANT_TYPE_STRING);
|
||||
if (rebase)
|
||||
{
|
||||
const char *new_ref = g_variant_get_string (rebase, 0);
|
||||
|
||||
/* Pull the new ref */
|
||||
if (self->origin_remote &&
|
||||
(upgrader_flags & OSTREE_SYSROOT_UPGRADER_PULL_FLAGS_SYNTHETIC) == 0)
|
||||
{
|
||||
refs_to_fetch[0] = (char *) new_ref;
|
||||
if (!ostree_repo_pull_one_dir (repo, self->origin_remote, dir_to_pull, refs_to_fetch,
|
||||
flags, progress, cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Use the new ref for the rest of the update process */
|
||||
g_free (self->origin_ref);
|
||||
self->origin_ref = g_strdup(new_ref);
|
||||
g_free (origin_refspec);
|
||||
|
||||
if (self->origin_remote)
|
||||
origin_refspec = g_strconcat (self->origin_remote, ":", new_ref, NULL);
|
||||
else
|
||||
origin_refspec = g_strdup (new_ref);
|
||||
|
||||
g_key_file_set_string (self->origin, "origin", "refspec", origin_refspec);
|
||||
}
|
||||
|
||||
if (self->override_csum != NULL)
|
||||
{
|
||||
if (!ostree_repo_set_ref_immediate (repo,
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
#include <sys/wait.h>
|
||||
|
||||
#include "ostree-core-private.h"
|
||||
#include "ostree-repo-private.h"
|
||||
#include "ostree-sepolicy-private.h"
|
||||
#include "ostree-sysroot-private.h"
|
||||
#include "ostree-deployment-private.h"
|
||||
|
|
@ -133,6 +134,7 @@ ostree_sysroot_constructed (GObject *object)
|
|||
|
||||
repo_path = g_file_resolve_relative_path (self->path, "ostree/repo");
|
||||
self->repo = ostree_repo_new_for_sysroot_path (repo_path, self->path);
|
||||
self->repo->is_system = TRUE;
|
||||
|
||||
G_OBJECT_CLASS (ostree_sysroot_parent_class)->constructed (object);
|
||||
}
|
||||
|
|
@ -727,6 +729,18 @@ ostree_sysroot_load (OstreeSysroot *self,
|
|||
return ostree_sysroot_load_if_changed (self, NULL, cancellable, error);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
ensure_repo_opened (OstreeSysroot *self,
|
||||
GError **error)
|
||||
{
|
||||
if (self->repo_opened)
|
||||
return TRUE;
|
||||
if (!ostree_repo_open (self->repo, NULL, error))
|
||||
return FALSE;
|
||||
self->repo_opened = TRUE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
ostree_sysroot_load_if_changed (OstreeSysroot *self,
|
||||
gboolean *out_changed,
|
||||
|
|
@ -736,6 +750,13 @@ ostree_sysroot_load_if_changed (OstreeSysroot *self,
|
|||
if (!ensure_sysroot_fd (self, error))
|
||||
return FALSE;
|
||||
|
||||
/* Here we also lazily initialize the repository. We didn't do this
|
||||
* previous to v2017.6, but we do now to support the error-free
|
||||
* ostree_sysroot_repo() API.
|
||||
*/
|
||||
if (!ensure_repo_opened (self, error))
|
||||
return FALSE;
|
||||
|
||||
int bootversion = 0;
|
||||
if (!read_current_bootversion (self, &bootversion, cancellable, error))
|
||||
return FALSE;
|
||||
|
|
@ -916,8 +937,7 @@ ostree_sysroot_get_repo (OstreeSysroot *self,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
/* ostree_repo_open() is idempotent. */
|
||||
if (!ostree_repo_open (self->repo, cancellable, error))
|
||||
if (!ensure_repo_opened (self, error))
|
||||
return FALSE;
|
||||
|
||||
if (out_repo != NULL)
|
||||
|
|
@ -925,6 +945,24 @@ ostree_sysroot_get_repo (OstreeSysroot *self,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* ostree_sysroot_repo:
|
||||
* @self: Sysroot
|
||||
*
|
||||
* This function is a variant of ostree_sysroot_get_repo() that cannot fail, and
|
||||
* returns a cached repository. Can only be called after ostree_sysroot_load()
|
||||
* has been invoked successfully.
|
||||
*
|
||||
* Returns: (transfer none): The OSTree repository in sysroot @self.
|
||||
*/
|
||||
OstreeRepo *
|
||||
ostree_sysroot_repo (OstreeSysroot *self)
|
||||
{
|
||||
g_return_val_if_fail (self->loaded, NULL);
|
||||
g_assert (self->repo);
|
||||
return self->repo;
|
||||
}
|
||||
|
||||
/**
|
||||
* ostree_sysroot_query_bootloader:
|
||||
* @sysroot: Sysroot
|
||||
|
|
@ -1069,6 +1107,63 @@ find_booted_deployment (OstreeSysroot *self,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* ostree_sysroot_query_deployments_for:
|
||||
* @self: Sysroot
|
||||
* @osname: (allow-none): "stateroot" name
|
||||
* @out_pending: (out) (allow-none) (transfer full): The pending deployment
|
||||
* @out_rollback: (out) (allow-none) (transfer full): The rollback deployment
|
||||
*
|
||||
* Find the pending and rollback deployments 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, and @rollback will be the
|
||||
* next one after the booted deployment, or the deployment after the pending if
|
||||
* we're not looking at the booted deployment.
|
||||
*
|
||||
* Since: 2017.7
|
||||
*/
|
||||
void
|
||||
ostree_sysroot_query_deployments_for (OstreeSysroot *self,
|
||||
const char *osname,
|
||||
OstreeDeployment **out_pending,
|
||||
OstreeDeployment **out_rollback)
|
||||
{
|
||||
g_return_if_fail (osname != NULL || self->booted_deployment != NULL);
|
||||
g_autoptr(OstreeDeployment) ret_pending = NULL;
|
||||
g_autoptr(OstreeDeployment) ret_rollback = NULL;
|
||||
|
||||
if (osname == NULL)
|
||||
osname = ostree_deployment_get_osname (self->booted_deployment);
|
||||
|
||||
gboolean found_booted = FALSE;
|
||||
for (guint i = 0; i < self->deployments->len; i++)
|
||||
{
|
||||
OstreeDeployment *deployment = self->deployments->pdata[i];
|
||||
|
||||
/* Is this deployment booted? If so, note we're past the booted */
|
||||
if (self->booted_deployment != NULL &&
|
||||
ostree_deployment_equal (deployment, self->booted_deployment))
|
||||
{
|
||||
found_booted = TRUE;
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Ignore deployments not for this osname */
|
||||
if (strcmp (ostree_deployment_get_osname (deployment), osname) != 0)
|
||||
continue;
|
||||
|
||||
if (!found_booted && !ret_pending)
|
||||
ret_pending = g_object_ref (deployment);
|
||||
else if (found_booted && !ret_rollback)
|
||||
ret_rollback = g_object_ref (deployment);
|
||||
}
|
||||
if (out_pending)
|
||||
*out_pending = g_steal_pointer (&ret_pending);
|
||||
if (out_rollback)
|
||||
*out_rollback = g_steal_pointer (&ret_rollback);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* ostree_sysroot_get_merge_deployment:
|
||||
* @self: Sysroot
|
||||
|
|
@ -1094,23 +1189,13 @@ ostree_sysroot_get_merge_deployment (OstreeSysroot *self,
|
|||
*/
|
||||
if (self->booted_deployment &&
|
||||
g_strcmp0 (ostree_deployment_get_osname (self->booted_deployment), osname) == 0)
|
||||
{
|
||||
return g_object_ref (self->booted_deployment);
|
||||
}
|
||||
else
|
||||
{
|
||||
guint i;
|
||||
for (i = 0; i < self->deployments->len; i++)
|
||||
{
|
||||
OstreeDeployment *deployment = self->deployments->pdata[i];
|
||||
|
||||
if (strcmp (ostree_deployment_get_osname (deployment), osname) != 0)
|
||||
continue;
|
||||
|
||||
return g_object_ref (deployment);
|
||||
}
|
||||
g_autoptr(OstreeDeployment) pending = NULL;
|
||||
ostree_sysroot_query_deployments_for (self, osname, &pending, NULL);
|
||||
return g_steal_pointer (&pending);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1352,6 +1437,11 @@ ostree_sysroot_init_osname (OstreeSysroot *self,
|
|||
* If %OSTREE_SYSROOT_SIMPLE_WRITE_DEPLOYMENT_FLAGS_NOT_DEFAULT is
|
||||
* specified, then instead of prepending, the new deployment will be
|
||||
* added right after the booted or merge deployment, instead of first.
|
||||
*
|
||||
* If %OSTREE_SYSROOT_SIMPLE_WRITE_DEPLOYMENT_FLAGS_NO_CLEAN is
|
||||
* specified, then no cleanup will be performed after adding the
|
||||
* deployment. Make sure to call ostree_sysroot_cleanup() sometime
|
||||
* later, instead.
|
||||
*/
|
||||
gboolean
|
||||
ostree_sysroot_simple_write_deployment (OstreeSysroot *sysroot,
|
||||
|
|
|
|||
|
|
@ -126,6 +126,9 @@ gboolean ostree_sysroot_write_origin_file (OstreeSysroot *sysroot,
|
|||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
OstreeRepo * ostree_sysroot_repo (OstreeSysroot *self);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
gboolean ostree_sysroot_get_repo (OstreeSysroot *self,
|
||||
OstreeRepo **out_repo,
|
||||
|
|
@ -184,6 +187,12 @@ gboolean ostree_sysroot_deployment_unlock (OstreeSysroot *self,
|
|||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
void ostree_sysroot_query_deployments_for (OstreeSysroot *self,
|
||||
const char *osname,
|
||||
OstreeDeployment **out_pending,
|
||||
OstreeDeployment **out_rollback);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
OstreeDeployment *ostree_sysroot_get_merge_deployment (OstreeSysroot *self,
|
||||
const char *osname);
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@
|
|||
* OSTREE_YEAR_VERSION:
|
||||
*
|
||||
* ostree year version component (e.g. 2017 if %OSTREE_VERSION is 2017.2)
|
||||
*
|
||||
* Since: 2017.4
|
||||
*/
|
||||
#define OSTREE_YEAR_VERSION (2017)
|
||||
|
||||
|
|
@ -39,23 +41,29 @@
|
|||
* OSTREE_RELEASE_VERSION:
|
||||
*
|
||||
* ostree release version component (e.g. 2 if %OSTREE_VERSION is 2017.2)
|
||||
*
|
||||
* Since: 2017.4
|
||||
*/
|
||||
#define OSTREE_RELEASE_VERSION (6)
|
||||
#define OSTREE_RELEASE_VERSION (7)
|
||||
|
||||
/**
|
||||
* OSTREE_VERSION
|
||||
*
|
||||
* ostree version.
|
||||
*
|
||||
* Since: 2017.4
|
||||
*/
|
||||
#define OSTREE_VERSION (2017.6)
|
||||
#define OSTREE_VERSION (2017.7)
|
||||
|
||||
/**
|
||||
* OSTREE_VERSION_S:
|
||||
*
|
||||
* ostree version, encoded as a string, useful for printing and
|
||||
* concatenation.
|
||||
*
|
||||
* Since: 2017.4
|
||||
*/
|
||||
#define OSTREE_VERSION_S "2017.6"
|
||||
#define OSTREE_VERSION_S "2017.7"
|
||||
|
||||
#define OSTREE_ENCODE_VERSION(year,release) \
|
||||
((year) << 16 | (release))
|
||||
|
|
@ -65,6 +73,8 @@
|
|||
*
|
||||
* ostree version, encoded as an hexadecimal number, useful for
|
||||
* integer comparisons.
|
||||
*
|
||||
* Since: 2017.4
|
||||
*/
|
||||
#define OSTREE_VERSION_HEX \
|
||||
(OSTREE_ENCODE_VERSION (OSTREE_YEAR_VERSION, OSTREE_RELEASE_VERSION))
|
||||
|
|
@ -76,6 +86,8 @@
|
|||
*
|
||||
* Compile-time version checking. Evaluates to %TRUE if the version
|
||||
* of ostree is equal or greater than the required one.
|
||||
*
|
||||
* Since: 2017.4
|
||||
*/
|
||||
#define OSTREE_CHECK_VERSION(year,release) \
|
||||
(OSTREE_YEAR_VERSION > (year) || \
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@
|
|||
* OSTREE_YEAR_VERSION:
|
||||
*
|
||||
* ostree year version component (e.g. 2017 if %OSTREE_VERSION is 2017.2)
|
||||
*
|
||||
* Since: 2017.4
|
||||
*/
|
||||
#define OSTREE_YEAR_VERSION (@YEAR_VERSION@)
|
||||
|
||||
|
|
@ -39,6 +41,8 @@
|
|||
* OSTREE_RELEASE_VERSION:
|
||||
*
|
||||
* ostree release version component (e.g. 2 if %OSTREE_VERSION is 2017.2)
|
||||
*
|
||||
* Since: 2017.4
|
||||
*/
|
||||
#define OSTREE_RELEASE_VERSION (@RELEASE_VERSION@)
|
||||
|
||||
|
|
@ -46,6 +50,8 @@
|
|||
* OSTREE_VERSION
|
||||
*
|
||||
* ostree version.
|
||||
*
|
||||
* Since: 2017.4
|
||||
*/
|
||||
#define OSTREE_VERSION (@VERSION@)
|
||||
|
||||
|
|
@ -54,6 +60,8 @@
|
|||
*
|
||||
* ostree version, encoded as a string, useful for printing and
|
||||
* concatenation.
|
||||
*
|
||||
* Since: 2017.4
|
||||
*/
|
||||
#define OSTREE_VERSION_S "@VERSION@"
|
||||
|
||||
|
|
@ -65,6 +73,8 @@
|
|||
*
|
||||
* ostree version, encoded as an hexadecimal number, useful for
|
||||
* integer comparisons.
|
||||
*
|
||||
* Since: 2017.4
|
||||
*/
|
||||
#define OSTREE_VERSION_HEX \
|
||||
(OSTREE_ENCODE_VERSION (OSTREE_YEAR_VERSION, OSTREE_RELEASE_VERSION))
|
||||
|
|
@ -76,6 +86,8 @@
|
|||
*
|
||||
* Compile-time version checking. Evaluates to %TRUE if the version
|
||||
* of ostree is equal or greater than the required one.
|
||||
*
|
||||
* Since: 2017.4
|
||||
*/
|
||||
#define OSTREE_CHECK_VERSION(year,release) \
|
||||
(OSTREE_YEAR_VERSION > (year) || \
|
||||
|
|
|
|||
|
|
@ -25,6 +25,61 @@
|
|||
#include <sys/xattr.h>
|
||||
#include <gio/gunixinputstream.h>
|
||||
|
||||
/* Before https://github.com/GNOME/libglnx/commit/9929adc, the libglnx
|
||||
* tmpfile API made it hard to clean up tmpfiles in failure cases.
|
||||
* it's API breaking. Carry the fix here until we're ready to fully port.
|
||||
*/
|
||||
void
|
||||
ot_tmpfile_clear (OtTmpfile *tmpf)
|
||||
{
|
||||
if (!tmpf->initialized)
|
||||
return;
|
||||
if (tmpf->fd == -1)
|
||||
return;
|
||||
(void) close (tmpf->fd);
|
||||
/* If ->path is set, we're likely aborting due to an error. Clean it up */
|
||||
if (tmpf->path)
|
||||
{
|
||||
(void) unlinkat (tmpf->src_dfd, tmpf->path, 0);
|
||||
g_free (tmpf->path);
|
||||
}
|
||||
}
|
||||
|
||||
gboolean
|
||||
ot_open_tmpfile_linkable_at (int dfd,
|
||||
const char *subpath,
|
||||
int flags,
|
||||
OtTmpfile *out_tmpf,
|
||||
GError **error)
|
||||
{
|
||||
if (!glnx_open_tmpfile_linkable_at (dfd, subpath, flags, &out_tmpf->fd, &out_tmpf->path, error))
|
||||
return FALSE;
|
||||
out_tmpf->initialized = TRUE;
|
||||
out_tmpf->src_dfd = dfd;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
ot_link_tmpfile_at (OtTmpfile *tmpf,
|
||||
GLnxLinkTmpfileReplaceMode mode,
|
||||
int target_dfd,
|
||||
const char *target,
|
||||
GError **error)
|
||||
{
|
||||
g_return_val_if_fail (tmpf->initialized, FALSE);
|
||||
glnx_fd_close int fd = glnx_steal_fd (&tmpf->fd);
|
||||
if (!glnx_link_tmpfile_at (tmpf->src_dfd, mode, fd, tmpf->path,
|
||||
target_dfd, target, error))
|
||||
{
|
||||
if (tmpf->path)
|
||||
(void) unlinkat (tmpf->src_dfd, tmpf->path, 0);
|
||||
tmpf->initialized = FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
tmpf->initialized = FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Convert a fd-relative path to a GFile* - use
|
||||
* for legacy code.
|
||||
*/
|
||||
|
|
@ -42,24 +97,15 @@ ot_readlinkat_gfile_info (int dfd,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
char targetbuf[PATH_MAX+1];
|
||||
ssize_t len;
|
||||
|
||||
do
|
||||
len = readlinkat (dfd, path, targetbuf, sizeof (targetbuf) - 1);
|
||||
while (G_UNLIKELY (len == -1 && errno == EINTR));
|
||||
if (len == -1)
|
||||
{
|
||||
glnx_set_error_from_errno (error);
|
||||
goto out;
|
||||
}
|
||||
if (TEMP_FAILURE_RETRY (len = readlinkat (dfd, path, targetbuf, sizeof (targetbuf) - 1)) < 0)
|
||||
return glnx_throw_errno_prefix (error, "readlinkat");
|
||||
targetbuf[len] = '\0';
|
||||
g_file_info_set_symlink_target (target_info, targetbuf);
|
||||
|
||||
ret = TRUE;
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -85,26 +131,17 @@ ot_openat_read_stream (int dfd,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
int fd = -1;
|
||||
int flags = O_RDONLY | O_NOCTTY | O_CLOEXEC;
|
||||
|
||||
if (!follow)
|
||||
flags |= O_NOFOLLOW;
|
||||
|
||||
do
|
||||
fd = openat (dfd, path, flags, 0);
|
||||
while (G_UNLIKELY (fd == -1 && errno == EINTR));
|
||||
if (fd == -1)
|
||||
{
|
||||
glnx_set_error_from_errno (error);
|
||||
goto out;
|
||||
}
|
||||
if (TEMP_FAILURE_RETRY (fd = openat (dfd, path, flags, 0)) < 0)
|
||||
return glnx_throw_errno_prefix (error, "openat(%s)", path);
|
||||
|
||||
*out_istream = g_unix_input_stream_new (fd, TRUE);
|
||||
ret = TRUE;
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
|
|
@ -115,10 +152,7 @@ ot_ensure_unlinked_at (int dfd,
|
|||
if (unlinkat (dfd, path, 0) != 0)
|
||||
{
|
||||
if (G_UNLIKELY (errno != ENOENT))
|
||||
{
|
||||
glnx_set_error_from_errno (error);
|
||||
return FALSE;
|
||||
}
|
||||
return glnx_throw_errno_prefix (error, "unlink(%s)", path);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -134,10 +168,7 @@ ot_query_exists_at (int dfd, const char *path,
|
|||
if (fstatat (dfd, path, &stbuf, AT_SYMLINK_NOFOLLOW) < 0)
|
||||
{
|
||||
if (errno != ENOENT)
|
||||
{
|
||||
glnx_set_error_from_errno (error);
|
||||
return FALSE;
|
||||
}
|
||||
return glnx_throw_errno_prefix (error, "fstatat(%s)", path);
|
||||
ret_exists = FALSE;
|
||||
}
|
||||
else
|
||||
|
|
@ -153,23 +184,15 @@ ot_openat_ignore_enoent (int dfd,
|
|||
int *out_fd,
|
||||
GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
int target_fd = -1;
|
||||
|
||||
target_fd = openat (dfd, path, O_CLOEXEC | O_RDONLY);
|
||||
int target_fd = openat (dfd, path, O_CLOEXEC | O_RDONLY);
|
||||
if (target_fd < 0)
|
||||
{
|
||||
if (errno != ENOENT)
|
||||
{
|
||||
glnx_set_error_from_errno (error);
|
||||
goto out;
|
||||
}
|
||||
return glnx_throw_errno_prefix (error, "openat(%s)", path);
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
*out_fd = target_fd;
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Like glnx_dirfd_iterator_init_at(), but if %ENOENT, then set
|
||||
|
|
@ -206,10 +229,7 @@ ot_file_mapat_bytes (int dfd,
|
|||
g_autoptr(GMappedFile) mfile = NULL;
|
||||
|
||||
if (fd < 0)
|
||||
{
|
||||
glnx_set_error_from_errno (error);
|
||||
return FALSE;
|
||||
}
|
||||
return glnx_null_throw_errno_prefix (error, "openat(%s)", path);
|
||||
|
||||
mfile = g_mapped_file_new_from_fd (fd, FALSE, error);
|
||||
if (!mfile)
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue