summaryrefslogtreecommitdiff
path: root/src/libostree/libostree-devel.sym
Commit message (Collapse)AuthorAgeFilesLines
* Release 2023.1v2023.1Colin Walters2023-02-171-5/+0
|
* repo: Add API to regenerate and sign repo metadataDan Nicholson2023-02-071-0/+5
| | | | | | 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.
* Release 2022.7v2022.7Colin Walters2022-11-231-7/+0
|
* sysroot: Add an API to initialize with mountnsColin Walters2022-11-221-0/+1
| | | | | | | | | | | | | This lowers down into the C library some logic we have in the binary/app logic, in prep for having more Rust-native CLI code in https://github.com/ostreedev/ostree-rs-ext/pull/412 Basically we want to *ensure* a mount namespace by invoking `unshare()` if necessary, instead of requiring our callers to do this dance. This also helps fix e.g. Closes: https://github.com/ostreedev/ostree/issues/2769
* Idempotent delete operation for OstreeKernelArgsRafael Garcia Ruiz2022-11-181-0/+1
| | | | | | | ostree_kernel_args_delete_if_present checks if an argument is present in OstreeKernelArgs and delete it. Signed-off-by: Rafael Garcia Ruiz <rafael.garcia@collabora.com>
* ostree_kernel_args_contains for OstreeKernelArgsRafael Garcia Ruiz2022-11-181-0/+4
| | | | | | | | | | | Check if an argument is present in OstreeKernelArgs. This is a way to make easier idempotent append and delete operations. ostree_kernel_args_append_if_missing uses it to avoid inserting a duplicate key. Closes #2329 Signed-off-by: Rafael Garcia Ruiz <rafael.garcia@collabora.com>
* Release 2022.5v2022.5Colin Walters2022-07-221-5/+0
|
* Fix `ostree admin kargs edit-in-place` fails issueHuijing Hei2022-07-121-0/+1
| | | | | | Add func to set kernel arguments in place, instead of create new deployment Fix https://github.com/ostreedev/ostree/issues/2664
* RFE: Add a hidden option to `ostree admin kargs edit-in-place` toHuijing Hei2022-06-231-0/+4
| | | | | | | | | | | update all existing deployments in place Example: $ sudo ostree admin kargs edit-in-place --append-if-missing=rw See https://github.com/ostreedev/ostree/issues/2617 This will not add duplicate key, if there is `TESTARG=VAL1` in the kernel arguments, `--append-if-missing=TESTARG=VAL2` will be ignored.
* Release 2022.4v2022.4Colin Walters2022-06-061-5/+0
|
* Add APIs to get xattrs from diskColin Walters2022-05-091-1/+5
| | | | | | | I'm aiming to do some more work on the Rust side around `fsck` like functionality, and this is a useful primitive. There isn't a great Rust crate for xattrs, and I think it's better to share this code.
* Release 2022.2v2022.2Colin Walters2022-03-031-4/+1
|
* src/ostree: Add --commit-only option to ostree pruneSaqib Ali2022-02-251-0/+5
| | | | | | | | | | | | Recently we have noticed exceedingly long execution times for multiple invocations of ostree prune. This is a result of calculating full reachability on each invocation. The --commit-only flag provides an alternative strategy. It will only traverse and delete commit objects to avoid the more expensive reachability calculations. This allows us to chain multiple --commit-only commands cheaply, and then follow with a more expensive ostree prune invocation at the end to clean up orphaned meta and content objects.
* Update FSF license notices to use URL instead of addressJoseph Marrero2021-12-071-3/+1
|
* Release 2021.5v2021.5Colin Walters2021-10-051-6/+0
|
* lib: Add an API to construct a `MutableTree` from a commitColin Walters2021-10-011-0/+1
| | | | | | | This is nicer than having the caller parse the commit object, or indirect via the `OstreeRepoFile*` object of the root. Will be used in ostree-rs-ext around tar parsing.
* repo: Add an API to init `OstreeSePolicy` from commit directlyColin Walters2021-09-301-0/+5
| | | | | | | | | | This is part of `OstreeCommitModifier`, but I'm not using that in some of the ostree-ext Rust code. It just makes more sense as a direct policy API, where it should have been in the first place. There's already support for setting a policy object on a commit modifier, so that's all the old API needs to do now.
* Release 2021.4Colin Walters2021-09-081-6/+0
|
* Add an API to verify a commit signature explicitlyColin Walters2021-08-301-0/+1
| | | | | | | | | | | | | We have a bunch of APIs to do GPG verification of a commit, but that doesn't generalize to signapi. Further, they require the caller to check the signature status explicitly which seems like a trap. This much higher level API works with both GPG and signapi. The intention is to use this in things that are doing "external pulls" like the ostree-ext tar import support. There we will get the commitmeta from the tarball and we want to verify it at the same time we import the commit.
* lib/repo: Add ostree_repo_remote_get_gpg_keys()Dan Nicholson2021-07-151-0/+5
| | | | | | | | | | | | | | | | This function enumerates the trusted GPG keys for a remote and returns an array of `GVariant`s describing them. This is useful to see which keys are collected by ostree for a particular remote. The same information can be gathered with `gpg`. However, since ostree allows multiple keyring locations, that's only really useful if you have knowledge of how ostree collects GPG keyrings. The format of the variants is documented in `OSTREE_GPG_KEY_GVARIANT_FORMAT`. This format is primarily a copy of selected fields within `gpgme_key_t` and its subtypes. The fields are placed within vardicts rather than using a more efficient tuple of concrete types. This will allow flexibility if more components of `gpgme_key_t` are desired in the future.
* Release 2021.3v2021.3Luca BRUNO2021-07-121-8/+0
|
* repo: Make locking APIs publicColin Walters2021-06-051-0/+8
| | | | | | | | Doing anything even somewhat sophisticated requires this; turns out our own `ostree prune` CLI wants this, e.g. https://github.com/ostreedev/ostree/issues/2337 Closes: https://github.com/ostreedev/ostree/issues/2286
* Release 2021.2v2021.2Colin Walters2021-04-151-9/+0
|
* repo: Add ostree_repo_write_regfileColin Walters2021-04-091-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | This API is push rather than pull, which makes it much more suitable to use cases like parsing a tar file from external code. Now, we have a large mess in this area internally because the original file writing code was pull based, but static deltas hit the same problem of wanting a push API, so I added this special `OstreeRepoBareContent` just for writing regular files from a push API. Eventually...I'd like to deprecate the pull based API, and rework things so that for regular files the push API is the default, and then `write_content_object()` would be split up into archive/bare cases. In this world the `ostree_repo_write_content()` API would then need to hackily bridge pull to push and it'd be less efficient. Anyways for now due to this bifurcation, this API only works on non-archive repositories, but that's fine for now because that's what I want for the `ostree-ext-container` bits.
* repo: Add ostree_repo_write_symlinkColin Walters2021-04-081-0/+1
| | | | | | | Continuation of the addition of `ostree_repo_write_regfile_inline()`. This will be helpful for ostree-rs-ext and importing from tar, it's quite inefficient and awkward for small files to end up creating a whole `GInputStream` and `GFileInfo` and etc. for small files.
* repo: Add ostree_repo_write_regfile_inlineColin Walters2021-04-081-2/+7
| | | | | | | | | | | | | | | When working on ostree-ext and importing from tar, it's quite inefficient and awkward for small files to end up creating a whole `GInputStream` and `GFileInfo` and etc. for small files. Plus the gtk-rs binding API to map from `impl Read` to Gio https://docs.rs/gio/0.9.1/gio/struct.ReadInputStream.html requires that the input stream is `Send` but the Rust `tar` API isn't. This is only 1/3 of the problem; we also need similar APIs to directly create a symlink, and to stream large objects via a push-based API.
* Release 2021.1v2021.1Colin Walters2021-03-231-6/+0
|
* sysroot: Add _require_booted_deployment() APIColin Walters2021-03-171-0/+1
| | | | | This is a common pattern that is replicated both in our code and in rpm-ostree a lot. Let's add a canonical API.
* Add an API+CLI to inject metadata for bootable OSTree commitsColin Walters2021-03-121-0/+5
| | | | | | | | | | | | | | | | | | | | | I was doing some rpm-ostree work and I wanted to compare two OSTree commits to see if the kernel has changed. I think this should be a lot more natural. Add `ostree commit --bootable` which calls into a new generic library API `ostree_commit_metadata_for_bootable()` that discovers the kernel version and injects it as an `ostree.linux` metadata key. And for extra clarity, add an `ostree.bootable` key. It's interesting because the "core" OSTree layer is all about generic files, but this is adding special APIs around bootable OSTree commits (as opposed to e.g. flatpak as well as things like rpm-ostree's pkgcache refs). Eventually, I'd like to ensure everyone is using this and hard require this metadata key for the `ostree admin deploy` flow - mainly to prevent accidents.
* Release 2020.8v2020.8Luca BRUNO2020-11-171-7/+5
|
* Add ostree_repo_gpg_sign_data()Alexander Larsson2020-10-231-0/+1
| | | | | This is similar to ostree_sign_data() but for the old gpg code. Flatpak will need this to reproduce a signed summary.
* deltas: Make ostree_repo_static_delta_reindex() publicAlexander Larsson2020-10-231-0/+1
| | | | | | It is useful to be able to trigger this without having to regenerate the summary. For example, if you are not using summaries, or ar generating the summaries yourself.
* deltas: Add ostree_repo_list_static_delta_indexes() functionAlexander Larsson2020-10-231-3/+4
| | | | This lists all the available delta indexes.
* Post-release version bumpColin Walters2020-10-131-0/+4
|
* Release 2020.7v2020.7Colin Walters2020-10-131-14/+0
|
* lib/deploy: Add support for overlay initrdsJonathan Lebon2020-09-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | In FCOS and RHCOS, the need to configure software in the initramfs has come up multiple times. Sometimes, using kernel arguments suffices. Other times, it really must be a configuration file. Rebuilding the initramfs on the client-side however is a costly operation. Not only does it add complexity to the update workflow, it also erodes a lot of the value obtained from using the baked "blessed" initramfs from the tree itself. One elegant way to address this is to allow specifying multiple initramfses. This is supported by most bootloaders (notably GRUB) and results in each initrd being overlayed on top of each other. This patch allows libostree clients to leverage this so that they can avoid regenerating the initramfs entirely. libostree itself is agnostic as to what kind and how much data overlay initrds contain. It's up to the clients to enforce such boundaries. To implement this, we add a new ostree_sysroot_stage_overlay_initrd which takes a file descriptor and returns a checksum. Then users can pass these checksums when calling the deploy APIs via the new array option `overlay_initrds`. We copy these files into `/boot` and add them to the BLS as another `initrd` entry.
* lib/deploy: Add deploy/stage APIs with optionsJonathan Lebon2020-09-301-0/+2
| | | | | | | And make the `override_kernel_argv` one of those options. This is mostly a mechanical move here, no functional change otherwise. Prep for adding a new option.
* lib/bootconfig: Add support for multiple initrd keysJonathan Lebon2020-09-301-0/+2
| | | | | | | Prep for actually teaching the rest of the codebase about this. We keep the primary initrd in the `options` hash table for backwards compatibility.
* lib: Minor versioning related fixesJonathan Lebon2020-09-251-1/+1
| | | | | Fix/add the `Since` marker to the new static delta APIs, and update the symbol versioning templates/comments.
* lib/deltas: Check signed delta in execute_offlineFrédéric Danis2020-09-141-0/+1
| | | | | | | | | | | | | | | | Add a new function `ostree_repo_static_delta_execute_offline_with_signature` which takes a signature engine to verify the delta before applying it. The `ostree_repo_static_delta_execute_offline` is just a wrapper to this new function, passing a NULL signature engine. When this function is called without signature engine, but with a sign delta, it will only fails if `sign-verify-deltas` is set to true in repo core options. This commits move signature existence check and delta signature verification to share common parts between existing APIs and the new function. Signed-off-by: Frédéric Danis <frederic.danis@collabora.com>
* lib/deltas: Add signature check API for static-delta superblockFrédéric Danis2020-09-141-0/+1
| | | | | | | This retrieves the signatures and pass the static delta block as an array of bytes to ostree_sign_data_verify(). Signed-off-by: Frédéric Danis <frederic.danis@collabora.com>
* Update the symbols files to match that we're now on 2020.6Alexander Larsson2020-09-111-1/+1
|
* Post-release version bumpColin Walters2020-07-221-0/+7
|
* Release 2020.4v2020.4Colin Walters2020-07-211-22/+0
| | | | | A lot of stuff here, new signing API is the biggest. Let's get a release out.
* libostree-devel.sym: Remove nonexistent stub symbolColin Walters2020-06-171-1/+0
| | | | This should have been removed when we added symbols to this list.
* signing: Change API to create instances directlyColin Walters2020-05-101-1/+1
| | | | | | | This cleans up the verification code; it was weird how we'd get the list of known names and then try to create an instance from it (and throw an error if that failed, which couldn't happen).
* signapi: expose metadata format and keyDenis Pynkin2020-04-241-0/+2
| | | | | | | | | | | | Explicitly expose functions for querying the metadata format and key name used by OstreeSign object: - ostree_sign_metadata_format - ostree_sign_metadata_key This allows to use the same metadata format and key name by 3-rd party applications using signapi. Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com>
* lib/sign: make ed25519 engine non-publicDenis Pynkin2020-03-251-1/+0
| | | | | | Remove unneeded public declaration for ed25519 signing engine. Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com>
* lib/sign: make dummy engine non-publicDenis Pynkin2020-03-251-1/+0
| | | | | | Remove unneeded public declaration for dummy signing engine. Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com>
* lib/sign: new function for summary file signingDenis Pynkin2020-03-251-0/+1
| | | | | | Add function `ostree_sign_summary()` allowing to sign the summary file. Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com>