diff options
-rw-r--r-- | docs/_config.yml | 2 | ||||
-rw-r--r-- | rust-bindings/conf/ostree.toml | 1 | ||||
-rw-r--r-- | rust-bindings/src/auto/gpg_verify_result.rs | 2 | ||||
-rw-r--r-- | rust-bindings/src/auto/mutable_tree.rs | 2 | ||||
-rw-r--r-- | rust-bindings/src/auto/repo.rs | 12 | ||||
-rw-r--r-- | rust-bindings/src/auto/sysroot.rs | 6 | ||||
-rw-r--r-- | rust-bindings/src/auto/versions.txt | 2 | ||||
-rw-r--r-- | rust-bindings/sys/Cargo.toml | 4 | ||||
-rw-r--r-- | rust-bindings/sys/src/auto/versions.txt | 2 | ||||
-rw-r--r-- | rust-bindings/sys/src/lib.rs | 21 | ||||
-rw-r--r-- | src/libostree/ostree-fetcher-util.c | 4 |
11 files changed, 45 insertions, 13 deletions
diff --git a/docs/_config.yml b/docs/_config.yml index 991d2adc..4af7c390 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -24,7 +24,7 @@ exclude: # prep-docs.sh before jekyll to put it in place. include: [reference, man] -remote_theme: coreos/just-the-docs +remote_theme: just-the-docs/just-the-docs@v0.4.1 plugins: - jekyll-remote-theme diff --git a/rust-bindings/conf/ostree.toml b/rust-bindings/conf/ostree.toml index b0f0f60f..6bcfe4f7 100644 --- a/rust-bindings/conf/ostree.toml +++ b/rust-bindings/conf/ostree.toml @@ -217,6 +217,7 @@ status = "generate" [[object]] name = "OSTree.Sysroot" status = "generate" +concurrency = "send" [[object.function]] name = "deploy_tree_with_options" [[object.function.parameter]] diff --git a/rust-bindings/src/auto/gpg_verify_result.rs b/rust-bindings/src/auto/gpg_verify_result.rs index 048037d9..6748f254 100644 --- a/rust-bindings/src/auto/gpg_verify_result.rs +++ b/rust-bindings/src/auto/gpg_verify_result.rs @@ -34,7 +34,7 @@ impl GpgVerifyResult { } //#[doc(alias = "ostree_gpg_verify_result_get")] - //pub fn get(&self, signature_index: u32, attrs: /*Unimplemented*/&CArray TypeId { ns_id: 1, id: 28 }) -> Option<glib::Variant> { + //pub fn get(&self, signature_index: u32, attrs: /*Unimplemented*/&CArray TypeId { ns_id: 1, id: 29 }) -> Option<glib::Variant> { // unsafe { TODO: call ffi:ostree_gpg_verify_result_get() } //} diff --git a/rust-bindings/src/auto/mutable_tree.rs b/rust-bindings/src/auto/mutable_tree.rs index ca3ba8d1..98206f31 100644 --- a/rust-bindings/src/auto/mutable_tree.rs +++ b/rust-bindings/src/auto/mutable_tree.rs @@ -115,7 +115,7 @@ impl MutableTree { //#[doc(alias = "ostree_mutable_tree_get_subdirs")] //#[doc(alias = "get_subdirs")] - //pub fn subdirs(&self) -> /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 1, id: 41 } { + //pub fn subdirs(&self) -> /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 1, id: 42 } { // unsafe { TODO: call ffi:ostree_mutable_tree_get_subdirs() } //} diff --git a/rust-bindings/src/auto/repo.rs b/rust-bindings/src/auto/repo.rs index 3d9bf74a..58babf96 100644 --- a/rust-bindings/src/auto/repo.rs +++ b/rust-bindings/src/auto/repo.rs @@ -687,6 +687,18 @@ impl Repo { } } + #[cfg(any(feature = "v2023_1", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v2023_1")))] + #[doc(alias = "ostree_repo_regenerate_metadata")] + pub fn regenerate_metadata(&self, additional_metadata: Option<&glib::Variant>, options: Option<&glib::Variant>, cancellable: Option<&impl IsA<gio::Cancellable>>) -> Result<(), glib::Error> { + unsafe { + let mut error = ptr::null_mut(); + let is_ok = ffi::ostree_repo_regenerate_metadata(self.to_glib_none().0, additional_metadata.to_glib_none().0, options.to_glib_none().0, cancellable.map(|p| p.as_ref()).to_glib_none().0, &mut error); + assert_eq!(is_ok == glib::ffi::GFALSE, !error.is_null()); + if error.is_null() { Ok(()) } else { Err(from_glib_full(error)) } + } + } + #[doc(alias = "ostree_repo_regenerate_summary")] pub fn regenerate_summary(&self, additional_metadata: Option<&glib::Variant>, cancellable: Option<&impl IsA<gio::Cancellable>>) -> Result<(), glib::Error> { unsafe { diff --git a/rust-bindings/src/auto/sysroot.rs b/rust-bindings/src/auto/sysroot.rs index abb80387..32d5855e 100644 --- a/rust-bindings/src/auto/sysroot.rs +++ b/rust-bindings/src/auto/sysroot.rs @@ -543,8 +543,8 @@ impl Sysroot { #[cfg(any(feature = "v2017_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v2017_10")))] #[doc(alias = "journal-msg")] - pub fn connect_journal_msg<F: Fn(&Self, &str) + 'static>(&self, f: F) -> SignalHandlerId { - unsafe extern "C" fn journal_msg_trampoline<F: Fn(&Sysroot, &str) + 'static>(this: *mut ffi::OstreeSysroot, msg: *mut libc::c_char, f: glib::ffi::gpointer) { + pub fn connect_journal_msg<F: Fn(&Self, &str) + Send + 'static>(&self, f: F) -> SignalHandlerId { + unsafe extern "C" fn journal_msg_trampoline<F: Fn(&Sysroot, &str) + Send + 'static>(this: *mut ffi::OstreeSysroot, msg: *mut libc::c_char, f: glib::ffi::gpointer) { let f: &F = &*(f as *const F); f(&from_glib_borrow(this), &glib::GString::from_glib_borrow(msg)) } @@ -556,6 +556,8 @@ impl Sysroot { } } +unsafe impl Send for Sysroot {} + impl fmt::Display for Sysroot { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { f.write_str("Sysroot") diff --git a/rust-bindings/src/auto/versions.txt b/rust-bindings/src/auto/versions.txt index 97f80dcd..154f5b03 100644 --- a/rust-bindings/src/auto/versions.txt +++ b/rust-bindings/src/auto/versions.txt @@ -1,2 +1,2 @@ Generated by gir (https://github.com/gtk-rs/gir @ 0eeebbdf9d4d) -from gir-files (@ 8c831311be59) +from gir-files (@ be0dbf02d770) diff --git a/rust-bindings/sys/Cargo.toml b/rust-bindings/sys/Cargo.toml index d77055a0..74e7d3db 100644 --- a/rust-bindings/sys/Cargo.toml +++ b/rust-bindings/sys/Cargo.toml @@ -68,6 +68,7 @@ v2022_2 = ["v2021_5"] v2022_5 = ["v2022_2"] v2022_6 = ["v2022_5"] v2022_7 = ["v2022_5"] +v2023_1 = ["v2022_7"] [lib] name = "ostree_sys" @@ -228,3 +229,6 @@ version = "2022.6" [package.metadata.system-deps.ostree_1.v2022_7] version = "2022.7" + +[package.metadata.system-deps.ostree_1.v2023_1] +version = "2023.1" diff --git a/rust-bindings/sys/src/auto/versions.txt b/rust-bindings/sys/src/auto/versions.txt index 97f80dcd..154f5b03 100644 --- a/rust-bindings/sys/src/auto/versions.txt +++ b/rust-bindings/sys/src/auto/versions.txt @@ -1,2 +1,2 @@ Generated by gir (https://github.com/gtk-rs/gir @ 0eeebbdf9d4d) -from gir-files (@ 8c831311be59) +from gir-files (@ be0dbf02d770) diff --git a/rust-bindings/sys/src/lib.rs b/rust-bindings/sys/src/lib.rs index 9c270d3d..d6e576d2 100644 --- a/rust-bindings/sys/src/lib.rs +++ b/rust-bindings/sys/src/lib.rs @@ -318,28 +318,28 @@ pub struct _OstreeBootloader { pub type OstreeBootloader = *mut _OstreeBootloader; #[repr(C)] -pub struct _OstreeBootloaderGrub2 { +pub struct _OstreeBootloaderAboot { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } -pub type OstreeBootloaderGrub2 = *mut _OstreeBootloaderGrub2; +pub type OstreeBootloaderAboot = *mut _OstreeBootloaderAboot; #[repr(C)] -pub struct _OstreeBootloaderSyslinux { +pub struct _OstreeBootloaderGrub2 { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } -pub type OstreeBootloaderSyslinux = *mut _OstreeBootloaderSyslinux; +pub type OstreeBootloaderGrub2 = *mut _OstreeBootloaderGrub2; #[repr(C)] -pub struct _OstreeBootloaderAboot { +pub struct _OstreeBootloaderSyslinux { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } -pub type OstreeBootloaderAboot = *mut _OstreeBootloaderAboot; +pub type OstreeBootloaderSyslinux = *mut _OstreeBootloaderSyslinux; #[repr(C)] pub struct _OstreeBootloaderUboot { @@ -2382,6 +2382,15 @@ extern "C" { cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError, ) -> gboolean; + #[cfg(any(feature = "v2023_1", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v2023_1")))] + pub fn ostree_repo_regenerate_metadata( + self_: *mut OstreeRepo, + additional_metadata: *mut glib::GVariant, + options: *mut glib::GVariant, + cancellable: *mut gio::GCancellable, + error: *mut *mut glib::GError, + ) -> gboolean; pub fn ostree_repo_regenerate_summary( self_: *mut OstreeRepo, additional_metadata: *mut glib::GVariant, diff --git a/src/libostree/ostree-fetcher-util.c b/src/libostree/ostree-fetcher-util.c index 1b317630..ecd6bc23 100644 --- a/src/libostree/ostree-fetcher-util.c +++ b/src/libostree/ostree-fetcher-util.c @@ -37,6 +37,7 @@ typedef struct char *result_etag; guint64 result_last_modified; /* second since the epoch */ gboolean done; + GMainContext *main_context; /* (owned) */ GError **error; } FetchUriSyncData; @@ -54,6 +55,7 @@ fetch_uri_sync_on_complete (GObject *object, &data->result_etag, &data->result_last_modified, data->error); data->done = TRUE; + g_main_context_wakeup (data->main_context); } static gboolean @@ -84,6 +86,7 @@ _ostree_fetcher_mirrored_request_to_membuf_once (OstreeFetcher *fe mainctx = g_main_context_new (); g_main_context_push_thread_default (mainctx); + data.main_context = g_main_context_ref (mainctx); data.done = FALSE; data.error = error; @@ -127,6 +130,7 @@ _ostree_fetcher_mirrored_request_to_membuf_once (OstreeFetcher *fe g_main_context_pop_thread_default (mainctx); g_clear_pointer (&data.result_buf, g_bytes_unref); g_clear_pointer (&data.result_etag, g_free); + g_clear_pointer (&data.main_context, g_main_context_unref); return ret; } |