repo: Add wrapper function for setting devino cache on checkout opts
I was trying to use this with pygobject for an OCI+ostree project, and pygobject rejected simply assigning to the field (understandably, since it can't bind the lifetime together). Add a wrapper function, which is still unsafe, but hides that unsafety where most people shouldn't find it. And if they do...well, sorry, Rust wasn't invented when ostree was started. Closes: #1295 Approved by: pwithnall
This commit is contained in:
parent
b8251d26bd
commit
1222c2271b
|
|
@ -371,6 +371,8 @@ ostree_repo_write_commit
|
||||||
ostree_repo_write_commit_with_time
|
ostree_repo_write_commit_with_time
|
||||||
ostree_repo_read_commit_detached_metadata
|
ostree_repo_read_commit_detached_metadata
|
||||||
ostree_repo_write_commit_detached_metadata
|
ostree_repo_write_commit_detached_metadata
|
||||||
|
OstreeRepoCheckoutAtOptions
|
||||||
|
ostree_repo_checkout_at_options_set_devino
|
||||||
OstreeRepoCheckoutMode
|
OstreeRepoCheckoutMode
|
||||||
OstreeRepoCheckoutOverwriteMode
|
OstreeRepoCheckoutOverwriteMode
|
||||||
ostree_repo_checkout_tree
|
ostree_repo_checkout_tree
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@
|
||||||
LIBOSTREE_2017.13 {
|
LIBOSTREE_2017.13 {
|
||||||
global:
|
global:
|
||||||
ostree_checksum_file_at;
|
ostree_checksum_file_at;
|
||||||
|
ostree_repo_checkout_at_options_set_devino;
|
||||||
} LIBOSTREE_2017.12;
|
} LIBOSTREE_2017.12;
|
||||||
|
|
||||||
/* Stub section for the stable release *after* this development one; don't
|
/* Stub section for the stable release *after* this development one; don't
|
||||||
|
|
|
||||||
|
|
@ -1210,6 +1210,24 @@ ostree_repo_checkout_at (OstreeRepo *self,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ostree_repo_checkout_at_options_set_devino:
|
||||||
|
* @opts: Checkout options
|
||||||
|
* @cache: (transfer none) (nullable): Devino cache
|
||||||
|
*
|
||||||
|
* This function simply assigns @cache to the `devino_to_csum_cache` member of
|
||||||
|
* @opts; it's only useful for introspection.
|
||||||
|
*
|
||||||
|
* Note that cache does *not* have its refcount incremented - the lifetime of
|
||||||
|
* @cache must be equal to or greater than that of @opts.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
ostree_repo_checkout_at_options_set_devino (OstreeRepoCheckoutAtOptions *opts,
|
||||||
|
OstreeRepoDevInoCache *cache)
|
||||||
|
{
|
||||||
|
opts->devino_to_csum_cache = cache;
|
||||||
|
}
|
||||||
|
|
||||||
static guint
|
static guint
|
||||||
devino_hash (gconstpointer a)
|
devino_hash (gconstpointer a)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -3415,6 +3415,8 @@ ostree_repo_commit_modifier_set_sepolicy (OstreeRepoCommitModifier
|
||||||
*
|
*
|
||||||
* This function will add a reference to @cache without copying - you
|
* This function will add a reference to @cache without copying - you
|
||||||
* should avoid further mutation of the cache.
|
* should avoid further mutation of the cache.
|
||||||
|
*
|
||||||
|
* Since: 2017.13
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
ostree_repo_commit_modifier_set_devino_cache (OstreeRepoCommitModifier *modifier,
|
ostree_repo_commit_modifier_set_devino_cache (OstreeRepoCommitModifier *modifier,
|
||||||
|
|
|
||||||
|
|
@ -911,6 +911,9 @@ OstreeRepoDevInoCache * ostree_repo_devino_cache_ref (OstreeRepoDevInoCache *cac
|
||||||
_OSTREE_PUBLIC
|
_OSTREE_PUBLIC
|
||||||
void ostree_repo_devino_cache_unref (OstreeRepoDevInoCache *cache);
|
void ostree_repo_devino_cache_unref (OstreeRepoDevInoCache *cache);
|
||||||
|
|
||||||
|
_OSTREE_PUBLIC
|
||||||
|
void ostree_repo_checkout_at_options_set_devino (OstreeRepoCheckoutAtOptions *opts, OstreeRepoDevInoCache *cache);
|
||||||
|
|
||||||
_OSTREE_PUBLIC
|
_OSTREE_PUBLIC
|
||||||
gboolean ostree_repo_checkout_at (OstreeRepo *self,
|
gboolean ostree_repo_checkout_at (OstreeRepo *self,
|
||||||
OstreeRepoCheckoutAtOptions *options,
|
OstreeRepoCheckoutAtOptions *options,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue