summaryrefslogtreecommitdiff
path: root/src/libostree/ostree-types.h
Commit message (Collapse)AuthorAgeFilesLines
* Update FSF license notices to use URL instead of addressJoseph Marrero2021-12-071-3/+1
|
* repo: Add ostree_repo_write_regfileColin Walters2021-04-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Make P2P API public (no longer experimental)Matthew Leeds2018-06-041-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the API that allows P2P operations (e.g. pulling an ostree ref from a LAN or USB source) is hidden behind the configure flag --enable-experimental-api. This commit makes the API public and makes that flag essentially a no-op (leaving it in place in case we want to use it again in the future). The P2P API has been tested over the last several months and proven to work. This means that since we're no longer using the "experimental" feature flag, P2P builds of Flatpak will fail when using versions of OSTree from this commit onwards, until Flatpak is patched in the near future. If you want to build Flatpak < 0.11.8 with P2P enabled and link against OSTree 2018.6, you'll have to patch Flatpak. However, since Flatpak won't yet have a hard dependency on OSTree 2018.6, it needs a new way to determine if the P2P API in OSTree is available, so this commit adds a "p2p" feature flag. This way the feature set is more semantically correct than if we had continued to use the "experimental" feature flag. In addition to making the P2P API public, this commit makes the P2P unit tests run by default, removes the f27-experimental CI instance that's no longer needed, changes a few man pages to reflect the changes, and updates the bash completion script to accept the new commands and options. Closes: #1596 Approved by: cgwalters
* Add SPDX-License-Identifier to source filesMarcus Folkesson2018-01-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | SPDX License List is a list of (common) open source licenses that can be referred to by a “short identifier”. It has several advantages compared to the common "license header texts" usually found in source files. Some of the advantages: * It is precise; there is no ambiguity due to variations in license header text * It is language neutral * It is easy to machine process * It is concise * It is simple and can be used without much cost in interpreted environments like java Script, etc. * An SPDX license identifier is immutable. * It provides simple guidance for developers who want to make sure the license for their code is respected See http://spdx.org for further reading. Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com> Closes: #1439 Approved by: cgwalters
* tree-wide: Remove Emacs modelinesColin Walters2017-09-211-2/+1
| | | | | | | | | We added a `.dir-locals.el` in commit: 9a77017d87b74c5e2895cdd64ad098018929403f There's no need to have it per-file, with that people might think to add other editors, which is the wrong direction. Closes: #1206 Approved by: jlebon
* libostree: Make OstreeRemote a public and internal APIPhilip Withnall2017-05-081-0/+4
| | | | | | | | | | | | | Previously it was static to ostree-repo.c. Make it usable throughout libostree so it can be used by an upcoming commit, but also expose the typedef and reference counting functions so that opaque OstreeRemote pointers can be used by user code, in anticipation of exposing more of its API publicly in future. Signed-off-by: Philip Withnall <withnall@endlessm.com> Closes: #832 Approved by: cgwalters
* lib: Introduce versioned symbolsColin Walters2016-03-011-0/+4
| | | | | | | | | | | | | | | | | | | | As rpm-ostree evolves, it keeps driving API additions to libostree. This creates a relatively tight coupling. However, if delivering via e.g. RPM, unless one manually remembers to increment the `Requires:` in the spec file, it's possible for the two to become desynchronized. RPM handles versioned symbols and will ensure a dependency if the application starts using a newer version. To implement this, switch to `-fvisibility=hidden`, along with an annotation in the header, and finally add a `.sym` file. This matches what other projects like systemd and libvirt do. Although rather than attempting to retroactively version symbols, glom them all onto the current one.
* repo: Add APIs for devino optimization between checkout -> commitColin Walters2016-01-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | A fast way to generate new OSTree content using an existing tree is to checkout (as hard links), add/replace files, then call `ostree_repo_scan_hardlinks()`, then commit. But `ostree_repo_scan_hardlinks()` scans the entire repo, which can be slow if you have a lot of content. All we really need is a mapping of (device,inode) -> checksum just for the objects we checked out, then use that mapping for commits. This patch adds API so that callers can create a mapping via `ostree_repo_devino_cache_new()`, then pass it to `ostree_repo_checkout_tree_at()` which will populate it, and then `ostree_repo_write_directory_to_mtree()` can consume it. I plan to use this in rpm-ostree for package layering work. Notes: - The old `ostree_repo_scan_hardlinks()` API still works. - I tweaked the cache to be a set with the checksum colocated with the key, to avoid a separate malloc block per entry. https://github.com/GNOME/ostree/pull/167
* syntax-check: Remove empty lines at the end of fileGiuseppe Scrivano2015-02-021-1/+0
| | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* Add an OstreeSysrootUpgrader APIColin Walters2014-03-241-0/+1
| | | | | This moves some utility code from the ostree tool into the shared library, which will make it easier to consume by external tools.
* libostree: Split off SELinux OstreeSePolicy classColin Walters2014-02-191-0/+1
| | | | | | | | | | | It's better if this is independent from the OstreeSysroot; for example, a policy is active in a given deployment root at once, not for a sysroot globally. We can also collect SELinux-related API in one place. Unfortunately at the moment there can be only one instance of this class per process.
* libostree: Add new OstreeSysroot classColin Walters2013-09-151-0/+1
| | | | | At the moment, just a container for a path, but we will start moving admin functionality here.
* core: Drop duplicated type declarationsColin Walters2013-08-171-3/+0
| | | | 3 fewer gtk-doc warnings, 99 still left on the wall...
* Switch to #pragma once for headersColin Walters2013-07-091-3/+1
| | | | It's just less tedious, and we're GCC/LLVM specific anyways.
* core: Add ostree-types.hColin Walters2012-03-061-0/+39
| | | | This allows us to have circular references between the headers.
* Do "bare" repositories by defaultColin Walters2011-10-191-33/+0
| | | | Mixing the repository and checkouts is discouraged.
* "Hacktree" is now known as "OSTree"Colin Walters2011-10-181-0/+33
It just sounds better.