summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge pull request #2836 from smcv/file-info-sizeColin Walters2023-03-172-3/+9
|\ \ \ | | | | | | | | Cope with GLib 2.76 being more strict about GFileInfo standard::size
| * | | write_content_object: Don't assume file info has standard::sizeSimon McVittie2023-03-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The file info object for symlinks might validly not have this attribute. If not, behave as though it was 0, matching what happened with older versions of GLib. Signed-off-by: Simon McVittie <smcv@collabora.com>
| * | | _ostree_zlib_file_header_new: Default size to 0Simon McVittie2023-03-171-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to the previous commit, but for ostree_raw_file_to_archive_z2_stream() and similar public APIs. Signed-off-by: Simon McVittie <smcv@collabora.com>
| * | | ostree_raw_file_to_content_stream: Make size default to 0Simon McVittie2023-03-171-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some existing code calls into ostree_raw_file_to_content_stream() with file objects that do not have the standard::size attribute. Since GLib 2.76.0, attempting to access the size of such an object raises a critical warning. Handle this more gracefully by defaulting the size to 0, like earlier versions of GLib did. Signed-off-by: Simon McVittie <smcv@collabora.com>
* | | | Merge pull request #2837 from smcv/g-steal-fdColin Walters2023-03-177-17/+17
|\ \ \ \ | | | | | | | | | | Use g_steal_fd() in preference to glnx_steal_fd()
| * | | | Use g_steal_fd() in preference to glnx_steal_fd()Simon McVittie2023-03-176-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | g_steal_fd() exists in GLib since 2.70, and libglnx has a backport for older GLib versions, equivalent to the libglnx-specific glnx_steal_fd(). Signed-off-by: Simon McVittie <smcv@collabora.com>
| * | | | build(deps): bump libglnx from `4e44fd9` to `07e3e49`dependabot[bot]2023-02-271-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumps libglnx from `4e44fd9` to `07e3e49`. --- updated-dependencies: - dependency-name: libglnx dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
* | | | | Merge pull request #2705 from cgwalters/always-bootJoseph Marrero Corchado2023-03-176-5/+58
|\ \ \ \ \ | | | | | | | | | | | | Add `sysroot.bootprefix` option
| * | | | | Add `sysroot.bootprefix` optionColin Walters2022-08-316-5/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a follow up to https://github.com/ostreedev/ostree/pull/2149/commits/0ced9fde7649271d9458ca424aa8c41908634b02 "sysroot: Support /boot on root or as seperate filesystem for syslinux and u-boot" What we should have done at the time is changed our bootloader entries to be prefixed with `/boot`. This means that the GRUB2 BLS support will Just Work. For now, I'm making this option default to off out of a lot of conservatism. I think in the future we should flip this on by default.
* | | | | | Merge pull request #2791 from cgwalters/enable-trust-return-nullabilityJonathan Lebon2023-03-1728-104/+157
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | |
| * | | | | rust: Renerate bindingsColin Walters2023-03-173-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | To pick up the latest introspection changes.
| * | | | | repo: Fix nullability for remote optionsColin Walters2023-03-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately, the nullability of the output value here is dependent on whether the `default_value` parameter is provided. There's no way to express this in introspection or Rust.
| * | | | | lib: Fix two nullable annotationsColin Walters2023-03-173-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - commit parents are optional - remote URLs are optional
| * | | | | rust: Bump semverColin Walters2023-03-172-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we did a bunch of API changes due to nullability and other introspection cleanups.
| * | | | | Add docs and fix annotations for ostree-repo-file.cColin Walters2023-03-174-6/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code here is not great, embarassing we've gone this long without docs for some of these public API functions too. I think this is right though.
| * | | | | Enable `trust_return_value_nullability`Colin Walters2023-03-1721-96/+98
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several commonly used APIs currently unnecessarily return `Option<T>`, like `ostree_deployment_get_csum()`. Flip the gir flag for this to on; I think our annotations are correct.
* | | | | Merge pull request #2835 from cgwalters/more-gfileinfoColin Walters2023-03-161-1/+3
|\ \ \ \ \ | | | | | | | | | | | | tests: Set size on fileinfo
| * | | | | tests: Set size on fileinfoColin Walters2023-03-161-1/+3
|/ / / / / | | | | | | | | | | | | | | | Closes: https://github.com/ostreedev/ostree/issues/2827
* | | | | Merge pull request #2834 from evan-a-a/fix_glibColin Walters2023-03-161-0/+2
|\ \ \ \ \ | | | | | | | | | | | | core: Ensure glib standard::size attribute is always set
| * | | | | core: Ensure glib standard::size attribute is always setEvan Anderson2023-03-151-0/+2
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * A recent change in glib [1] requires that the appropriate attribute be available when calling getters. ostree core only sets this attribute on regular files, and frequently triggers the critical warning. Solve this by setting standard::size to zero for non-regular files. Fixes https://github.com/ostreedev/ostree/issues/2827 [1]: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3261
* | | | | Merge pull request #2832 from cgwalters/fix-itest-pull-spaceColin Walters2023-03-151-4/+4
|\ \ \ \ \ | | | | | | | | | | | | itest-pull-space: Use mkfs.ext4, align to at least 512b
| * | | | | itest-pull-space: Use mkfs.ext4, align to at least 512bColin Walters2023-03-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XFS now seems to want filesystems larger than 300MB, so switch to ext4. Also use `20MiB` so we align to 512b sectors to squash a `losetup` warning. Also tweak some of the numbers to still work.
* | | | | | Merge pull request #2831 from nanonyme/larger-bufferColin Walters2023-03-151-2/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | Increase buffer size for create_regular_tmpfile_linkable_with_content
| * | | | | | Increase buffer size for create_regular_tmpfile_linkable_with_contentSeppo Yli-Olli2023-03-151-2/+3
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | The small buffer size results in really bad performance under any FUSE-based filesystems with round-trips.
* | | | | | Merge pull request #2814 from tintou/tintou/ostree-coverageColin Walters2023-03-1413-66/+96
|\ \ \ \ \ \ | |/ / / / / |/| | | | | libostree: Enhance the annotation coverage
| * | | | | libostree: Enhance the annotation coverageCorentin Noël2023-02-0913-66/+96
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | Increase the coverage of the GObject Introspection annotation and most notably replace the use of "allow-none" with "out" parameters to "nullable" or "optional" as the previous annotation is deprecated and ambiguous.
* | | | | Merge pull request #2821 from smcv/sbin-pathColin Walters2023-03-131-0/+3
|\ \ \ \ \ | | | | | | | | | | | | tests: Ensure non-root users have access to libcap tools
| * | | | | tests: Ensure non-root users have access to libcap toolsSimon McVittie2023-02-271-0/+3
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | On Debian systems, by default only root has /{usr/,}sbin in PATH. Signed-off-by: Simon McVittie <smcv@collabora.com>
* | | | | Merge pull request #2829 from pwithnall/fetcher-wakeupColin Walters2023-03-101-0/+4
|\ \ \ \ \ | | | | | | | | | | | | lib/fetcher-util: Wake up main context when a request is complete
| * | | | | lib/fetcher-util: Wake up main context when a request is completePhilip Withnall2023-03-101-0/+4
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the value of `data->done` is not watched by the main context, the context doesn’t know to wake up from `g_main_context_iteration()` when that value is changed. The code currently relies on something else happening to wake the main context up shortly after `data->done` is set. That doesn’t seem very reliable, so wake the main context up explicitly. Spotted this while reading the code while trying to debug a stall with backtrace: ``` 5 0x00007ffff68bbbfb in g_main_context_iteration (context=0x60f000136900, may_block=1) at ../../source/glib/glib/gmain.c:4343 6 0x00007fffdc0e50db in _ostree_fetcher_mirrored_request_to_membuf_once (fetcher=0x604001138c10, mirrorlist=0x603001df18b0, filename=0x7fffdc1049e7 "summary.sig", flags=OSTREE_FETCHER_REQUEST_OPTIONAL_CONTENT, if_none_match=0x602002f3b7f0 "\"640a49ff-250\"", if_modified_since=1678395903, out_contents=0x7fffdadd0e80, out_not_modified=0x7fffdadd0e38, out_etag=0x7fffdadd0e28, out_last_modified=0x7fffdadd0e00, max_size=10485760, cancellable=0x6060004bd720, error=0x7fffdadd0ca0) at src/libostree/ostree-fetcher-util.c:95 7 0x00007fffdc0e52e0 in _ostree_fetcher_mirrored_request_to_membuf (fetcher=0x604001138c10, mirrorlist=0x603001df18b0, filename=0x7fffdc1049e7 "summary.sig", flags=OSTREE_FETCHER_REQUEST_OPTIONAL_CONTENT, if_none_match=0x602002f3b7f0 "\"640a49ff-250\"", if_modified_since=1678395903, n_network_retries=5, out_contents=0x7fffdadd0e80, out_not_modified=0x7fffdadd0e38, out_etag=0x7fffdadd0e28, out_last_modified=0x7fffdadd0e00, max_size=10485760, cancellable=0x6060004bd720, error=0x7fffdadd10c0) at src/libostree/ostree-fetcher-util.c:155 8 0x00007fffdc08d937 in _ostree_preload_metadata_file (self=0x61600057bd80, fetcher=0x604001138c10, mirrorlist=0x603001df18b0, filename=0x7fffdc1049e7 "summary.sig", is_metalink=0, if_none_match=0x602002f3b7f0 "\"640a49ff-250\"", if_modified_since=1678395903, n_network_retries=5, out_bytes=0x7fffdadd0e80, out_not_modified=0x7fffdadd0e38, out_etag=0x7fffdadd0e28, out_last_modified=0x7fffdadd0e00, cancellable=0x6060004bd720, error=0x7fffdadd10c0) at src/libostree/ostree-repo-pull.c:3329 9 0x00007fffdc099712 in ostree_repo_remote_fetch_summary_with_options (self=0x61600057bd80, name=0x6020007f4fd0 "eos-apps", options=0x0, out_summary=0x7fffdadd0f88, out_signatures=0x7fffdadd0f80, cancellable=0x6060004bd720, error=0x7fffdadd10c0) at src/libostree/ostree-repo-pull.c:6675 10 0x00007fffdc06887f in ostree_repo_remote_fetch_summary (self=0x61600057bd80, name=0x6020007f4fd0 "eos-apps", out_summary=0x7fffdadd0f88, out_signatures=0x7fffdadd0f80, cancellable=0x6060004bd720, error=0x7fffdadd10c0) at src/libostree/ostree-repo.c:2706 11 0x00007fffdc18f5de in flatpak_dir_remote_fetch_summary (self=0x60c00577e640, name_or_uri=0x6020007f4fd0 "eos-apps", only_cached=0, out_summary=0x7fffdadd10f0, out_summary_sig=0x7fffdadd10e8, cancellable=0x6060004bd720, error=0x7fffdadd10c0) at /opt/gnome/source/flatpak/common/flatpak-dir.c:12235 12 0x00007fffdc1918cb in _flatpak_dir_get_remote_state (self=0x60c00577e640, remote_or_uri=0x6020007f4fd0 "eos-apps", optional=1, local_only=0, only_cached=0, opt_summary_is_index=0, opt_summary=0x0, opt_summary_sig=0x0, cancellable=0x6060004bd720, error=0x7fffdadd15a0) at /opt/gnome/source/flatpak/common/flatpak-dir.c:12789 13 0x00007fffdc19206d in flatpak_dir_get_remote_state_optional (self=0x60c00577e640, remote=0x6020007f4fd0 "eos-apps", only_cached=0, cancellable=0x6060004bd720, error=0x7fffdadd15a0) at /opt/gnome/source/flatpak/common/flatpak-dir.c:12953 14 0x00007fffdc1784f2 in flatpak_dir_update_appstream (self=0x60c00577e640, remote=0x6020007f4fd0 "eos-apps", arch=0x7fffdc239f30 "x86_64", out_changed=0x0, progress=0x6110007479c0, cancellable=0x6060004bd720, error=0x7fffdadd15a0) at /opt/gnome/source/flatpak/common/flatpak-dir.c:5182 ``` I don’t think it’ll fix it (calling `g_main_context_wakeup()` on the context in the debugger didn’t help), but it can’t hurt. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
* | | | | Merge pull request #2824 from cgwalters/regen-bindingsColin Walters2023-03-109-12/+40
|\ \ \ \ \ | | | | | | | | | | | | rust-bindings: Regenerate for 2023.1 && rust-bindings: `Sysroot` is `Send`
| * | | | | rust-bindings: `Sysroot` is `Send`Colin Walters2023-03-044-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I want to spawn tokio worker threads referencing sysroot objects in bootc. Just like the repo, there's nothing thread-local about it.
| * | | | | rust-bindings: Regenerate for 2023.1Colin Walters2023-03-047-10/+35
| |/ / / / | | | | | | | | | | | | | | | Still need to automate this...
* | | | | Merge pull request #2828 from travier/docs-theme-updateColin Walters2023-03-101-1/+1
|\ \ \ \ \ | |/ / / / |/| | | | docs: Use upstream theme & update to 0.4.1
| * | | | docs: Use upstream theme & update to 0.4.1Timothée Ravier2023-03-101-1/+1
|/ / / / | | | | | | | | | | | | | | | | Use a fixed tag for the theme so that we can directly pull it from upstream and skip vendoring the theme in the coreos org.
* | | | Merge pull request #2818 from cgwalters/release-rustv0.17.1Joseph Marrero Corchado2023-02-201-1/+1
|\ \ \ \ | | | | | | | | | | Release rust/ bindings 0.17.1
| * | | | Release rust/ bindings 0.17.1Colin Walters2023-02-171-1/+1
| | | | |
* | | | | Merge pull request #2755 from cgwalters/use-new-selinux-argJonathan Lebon2023-02-171-4/+4
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | deploy: Use `semodule --refresh` if availableColin Walters2022-11-011-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current FCOS emits a warning: ``` [root@cosa-devsh ~]# journalctl -b -1 -u ostree-finalize-staged --grep=deprecated Nov 01 20:21:21 cosa-devsh ostree[2481]: The --rebuild-if-modules-changed option is deprecated. Use --refresh instead. [root@cosa-devsh ~]# ```
* | | | | Merge pull request #2817 from cgwalters/releaseJonathan Lebon2023-02-175-11/+11
|\ \ \ \ \
| * | | | | configure: post-release version bumpColin Walters2023-02-171-2/+2
| | | | | |
| * | | | | Release 2023.1v2023.1Colin Walters2023-02-175-12/+12
|/ / / / /
* | | | | Merge pull request #1946 from dbnicholson/ostree-metadata-apiColin Walters2023-02-0976-411/+648
|\ \ \ \ \ | | | | | | | | | | | | ostree-metadata commit API
| * | | | | repo: Prevent publishing summary without matching signatureDan Nicholson2023-02-071-7/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a temporary directory for the summary and signature file in `ostree_repo_regenerate_metadata` so that the summary file isn't published if signing fails. This prevents publishing a summary without a signature file or leaving a mismatched signature file in place.
| * | | | | lib: Provide internal summary signing with separate directoryDan Nicholson2023-02-074-42/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor the summary signing APIs to use internal versions where the directory fd containing the summary can be found. The existing signing APIs still uses the repo directory fd, but this will allow using a temporary directory for the summary and signature in the new metadata generating API.
| * | | | | repo: Create metadata commit in ostree_repo_regenerate_metadataDan Nicholson2023-02-074-105/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than creating the `ostree-metadata` commit in the summary builtin, do it in the new `ostree_repo_regenerate_metadata` API. The commit contents are unchanged and the commit is generated before the summary as before. To keep from triggering an extra summary update, automatic summary updating is disabled in the transaction. Since the summary builtin was already using the new API, it will continue to generate the `ostree-metadata` commit when the repo has a collection ID. However, the `ostree_repo_regenerate_summary` API will still only generate the summary file as before.
| * | | | | commit: Allow skipping automatic summary generationDan Nicholson2023-02-072-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a commit is being made during summary generation, then it would trigger the summary to be generated again. That's either unwanted busy work or could result in an infinite loop. Add a boolean in `OstreeRepoTxn` to disable automatic summary generation as seen fit.
| * | | | | bin/summary: Use ostree_repo_regenerate_metadataDan Nicholson2023-02-071-38/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call `ostree_repo_regenerate_metadata` with the provided GPG and sign keys to generate and sign the summary in one call. This changes the handling when GPGME support is disabled but GPG keys are supplied. Instead of silently ignoring the option, it will now error. IMO that's better as callers would otherwise not know that the summary is not GPG signed.
| * | | | | repo: Add API to regenerate and sign repo metadataDan Nicholson2023-02-075-34/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently this is just a wrapper around regenerating and signing the summary in one call, but later it will be used to also generate the `ostree-metadata` commit if the repo has a collection ID.
| * | | | | Strip trailing whitespace on all C filesDan Nicholson2023-02-0770-193/+193
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | My editor started following the configuration in .editorconfig and is applying this rule to many files I'm editing. Let's just get this over with and strip everything. This was done like so: git ls-files | grep '\.[ch]$' | xargs sed -ri 's/\s+$//'