summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge pull request #2448 from cgwalters/fix-selinux-policyColin Walters2021-09-302-7/+25
|\ \ | |/ |/| bin/commit: Fix --tree=tar with --selinux-policy
| * bin/commit: Fix --tree=tar with --selinux-policyColin Walters2021-09-302-7/+25
|/ | | | | | | | | | | | The logic for `--selinux-policy` ended up in the `--tree=dir` path, but there's no reason for that. Fix the imported labeling with `--tree=tar`. Prep for use with containers. We had this bug because the previous logic was trying to avoid duplicating the code for generic `--selinux-policy` and the case of `--selinux-policy-from-base --tree=dir`. It's a bit more code, but it's cleaner if we dis-entangle them.
* Merge pull request #2440 from cgwalters/unit-test-countingColin Walters2021-09-133-7/+19
|\ | | | | two small unit test patches
| * tests: Add new TAP APIsColin Walters2021-09-102-4/+15
| | | | | | | | | | | | | | | | | | | | | | Having to touch a global test counter when adding tests is a recipe for conflicts between PRs. The TAP protocol allows *ending* with the expected number of tests, so the best way to do this is to have an explicit API like our `tap_ok` which bumps a counter, then end with `tap_end`. I ported one test as a demo.
| * tests/pull-test: Avoid duplicating test numbersColin Walters2021-09-101-3/+4
|/ | | | | We do this in other places; avoids touching two numbers when adding tests. Let computers do the addition.
* Merge pull request #2438 from cgwalters/release-2021.4v2021.4Colin Walters2021-09-095-11/+12
|\ | | | | Release 2021.4
| * configure: post-release version bumpColin Walters2021-09-082-5/+5
| |
| * Release 2021.4Colin Walters2021-09-084-8/+9
|/
* Merge pull request #2434 from cgwalters/custom-remoteColin Walters2021-09-085-22/+93
|\ | | | | Add support for "custom remotes"
| * Add support for "custom remotes"Colin Walters2021-09-085-22/+93
| | | | | | | | | | | | | | | | | | | | This will be helpful for the "ostree native container" work in https://github.com/ostreedev/ostree-rs-ext/ Basically in order to reuse GPG/signapi verification, we need to support adding a remote, even though it can't be used via `ostree pull`. (At least, not until we merge ostree-rs-ext into ostree, but even then I think the principle stands)
* | Merge pull request #2435 from RBuddel/fix-delta-files-resume-legacy-transactionLuca Bruno2021-09-081-1/+1
|\ \ | | | | | | repo-pull: legacy_transaction_resuming flag ignored
| * | repo-pull: legacy_transaction_resuming flag ignoredBuddelmann, Richard RB2021-09-081-1/+1
| |/ | | | | | | | | | | for deltafiles the legacy_transaction_resuming flag is not used, which will mark the commit as done, even if files are missing. using already existing commitstate_is_partial function as fix
* | Merge pull request #2430 from cgwalters/stabilize-stagingLuca Bruno2021-09-085-7/+25
|\ \ | |/ |/| upgrade: Stabilize deployment staging
| * upgrade: Stabilize deployment stagingColin Walters2021-09-075-7/+25
|/ | | | | | | | | | We're waaay overdue for this, it's been the default in rpm-ostree for years, and solves several important bugs around not capturing `/etc` while things are running. Also, `ostree admin upgrade --stage` (should) become idempotent. Closes: https://github.com/ostreedev/ostree/issues/2389
* Merge pull request #2428 from lucab/ups/tests-selinux-basicColin Walters2021-09-072-4/+14
|\ | | | | tests: fix bare mode unprivileged 'make check'
| * tests: skip a broken fsck caseLuca BRUNO2021-09-061-1/+4
| | | | | | | | | | | | There are some existing issues around fsck in unprivileged bare mode, so this test does not really work at the moment. Leaving it as a FIXME for the moment.
| * tests/basic: avoid changing ownershipLuca BRUNO2021-09-061-1/+1
| | | | | | | | | | This avoids possible issues when trying to chmod, tweaking permissions instead.
| * tests/basic: Skip --no-xattrs if we have selinuxColin Walters2021-09-061-1/+8
| | | | | | | | | | | | | | | | | | It cannot work to use `--no-xattrs` when SELinux is enabled because we get a `security.selinux` attribute on created files regardless. So just skip this test if true. Also add some `ostree fsck`s in here which helped me debug this.
| * libtest: tweak selinux/relabel messageLuca BRUNO2021-09-061-1/+1
|/
* Merge pull request #2340 from cgwalters/sign-verify-apiColin Walters2021-08-3110-3/+311
|\ | | | | Add an API to verify a commit signature explicitly
| * Add an API to verify a commit signature explicitlyColin Walters2021-08-3010-3/+311
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #2426 from cgwalters/xattrs-bareuseronly-unionLuca Bruno2021-08-271-2/+2
|\ \ | | | | | | checkout: Also ignore xattrs for union in bare-user-only mode
| * | checkout: Also ignore xattrs for union in bare-user-only modeColin Walters2021-08-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Followup to PRs related to https://github.com/ostreedev/ostree/issues/2410 Since the test suite now covers this the test was failing on a Fedora SELinux enabled host where we see `security.selinux` even if not in the commit.
* | | Merge pull request #2425 from cgwalters/hardlink-correct-errnoLuca Bruno2021-08-271-0/+2
|\ \ \ | | | | | | | | checkout: Save errno when re-throwing
| * | | checkout: Save errno when re-throwingColin Walters2021-08-261-0/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | I was seeing an `EPERM` here which was confusing. It turned out the real error was `EEXIST`. Since we're referring to the original error, but we do a lot of computation in the middle, we need to save errno.
* | | Merge pull request #2424 from cgwalters/test-nonroot-ciColin Walters2021-08-261-1/+4
|\ \ \ | | | | | | | | ci: Run GH action CI build+test as non-root
| * | | ci: Run main GH action CI build+test as non-rootColin Walters2021-08-261-1/+4
| |/ / | | | | | | | | | | | | | | | This is really the standard best practice, matching how e.g. dpkg/rpm work, as well as most local development environments (including mine) with e.g. `toolbox`.
* | | Merge pull request #2422 from cgwalters/allow-none-detachedDan Nicholson2021-08-261-1/+3
|\ \ \ | |/ / |/| | lib: Change read_commit_detached_metadata to be nullable
| * | lib: Change read_commit_detached_metadata to be nullableColin Walters2021-08-251-1/+3
| |/ | | | | | | Hit this while working on some Rust code.
* | Merge pull request #2421 from lucab/ups/auto-txn-fixesColin Walters2021-08-251-3/+12
|\ \ | |/ |/| lib: improve transactions auto-cleanup logic
| * lib: improve transactions auto-cleanup logicLuca BRUNO2021-08-251-3/+12
|/ | | | | | | | | | This fixes some aspects of OstreeRepoAutoTransaction and re-aligns it with the logic in flatpak. Specifically: * link to the underlying repo through refcounting * bridge internal errors to warning messages * verify the input pointer type This is a preparation step before exposing this logic as a public API.
* Merge pull request #2418 from lucab/ups/lib-commit-xattrsLuca Bruno2021-08-246-34/+27
|\ | | | | commit: automatically skip xattrs in bare-user-only mode
| * tests: update several bare-user-only checksLuca BRUNO2021-08-242-26/+18
| |
| * lib/commit: automatically skip xattrs in bare-user-only modeLuca BRUNO2021-08-242-3/+4
| |
| * builtins/commit: set up relevant flags in bare-user-only modeLuca BRUNO2021-08-241-3/+3
| | | | | | | | | | This detects bare-user-only mode and automatically enables a commit modifier with relevant flags.
| * lib/diff: automatically skip xattrs in bare-user-only modeLuca BRUNO2021-08-241-2/+2
|/
* Merge pull request #2419 from dbnicholson/gpg-list-keysLuca Bruno2021-08-247-13/+13
|\ | | | | bin/remote: Rename list-gpg-keys to gpg-list-keys
| * bin/remote: Rename list-gpg-keys to gpg-list-keysDan Nicholson2021-08-237-13/+13
|/ | | | | | | | | | | | | | | As pointed out in the original review, `gpg-list-keys` fits better alongside the existing `gpg-import`. Changes were done with: ``` git grep -l list-gpg-keys | xargs sed -i 's/list-gpg-keys/gpg-list-keys/' for src in $(git ls-files '*list-gpg-keys*'); do dst=${src/list-gpg-keys/gpg-list-keys} git mv "$src" "$dst" done ```
* Merge pull request #2417 from lucab/ups/diff-repo-ignore-xattrsColin Walters2021-08-231-8/+11
|\ | | | | lib/diff: ignore xattrs if disabled on either repos
| * lib/diff: ignore xattrs if disabled on either reposLuca BRUNO2021-08-231-8/+11
|/ | | | | This fixes the logic to detect whether xattrs should be automatically ignored when diffing.
* Merge pull request #2412 from lucab/ups/lib-commit-canonicalizeColin Walters2021-08-204-11/+40
|\ | | | | lib/commit: autofix permissions for bare-user-only
| * lib/commit: autofix permissions for bare-user-onlyLuca BRUNO2021-08-204-11/+40
| | | | | | | | | | This tweaks commit logic to detect bare-user-only repositories and canonicalize permissions automatically.
* | Merge pull request #2401 from dbnicholson/gpg-key-infoColin Walters2021-08-2022-73/+1052
|\ \ | |/ |/| Remote GPG key info
| * fixup! lib/repo: Add ostree_repo_remote_get_gpg_keys()Dan Nicholson2021-07-151-1/+1
| |
| * fixup! bin/remote: Add list-gpg-keys subcommandDan Nicholson2021-07-151-3/+3
| |
| * fixup! lib/repo: Add ostree_repo_remote_get_gpg_keys()Dan Nicholson2021-07-152-8/+8
| |
| * bin/remote: Include update URLs in list-gpg-keysDan Nicholson2021-07-152-0/+15
| |
| * lib/repo: Include WKD update URLs in GPG key listingDan Nicholson2021-07-152-0/+16
| | | | | | | | | | If the key UID contains a valid email address, include the GPG WKD update URLs in GVariant returned by ostree_repo_remote_get_gpg_keys().
| * libotutil: Add helper for GPG WKD update URLsDan Nicholson2021-07-152-0/+80
| | | | | | | | | | | | | | | | | | Calculate the advanced and direct update URLs for the key discovery portion[1] of the OpenPGP Web Key Directory specification, and include the URLs in the key listing in ostree_repo_remote_get_gpg_keys(). These URLs can be used to locate updated GPG keys for the remote. 1. https://datatracker.ietf.org/doc/html/draft-koch-openpgp-webkey-service#section-3.1
| * libotutil: Import implementation of zbase32 encodingDan Nicholson2021-07-153-0/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will be used to implement the PGP Web Key Directory (WKD) URL generation. This is a slightly cleaned up implementation[1] taken from the zbase32 author's original implementation[2]. It provides a single zbase32_encode API to convert a set of bytes to the zbase32 encoding. I believe this should be acceptable for inclusion in ostree. The license in the source files is BSD style while the original repo LICENSE file claims the Creative Commons CC0 1.0 Universal license, which is public domain. 1. https://github.com/dbnicholson/libbase32/tree/for-ostree 2. https://github.com/zooko/libbase32