summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2355 from jlebon/pr/etc-merge-moar-docsmasterDan Nicholson2021-04-301-4/+20
|\ | | | | docs: Add more details about 3-way merge
| * docs: Add more details about 3-way mergeJonathan Lebon2021-04-301-4/+20
|/ | | | This came up a few times so let's go into more details in the docs.
* Merge pull request #2354 from cgwalters/fix-gh-actionJonathan Lebon2021-04-271-1/+1
|\ | | | | ci: Fix GH action for rustfmt
| * ci: Fix GH action for rustfmtColin Walters2021-04-271-1/+1
| | | | | | | | Since we now have a toplevel workspace, just use that.
* | Merge pull request #2353 from cgwalters/uri-scheme-hardeningJonathan Lebon2021-04-274-2/+34
|\ \ | |/ |/| pull: Cleanly error out on unknown schemes
| * pull: Cleanly error out on unknown schemesColin Walters2021-04-274-2/+34
|/ | | | | | | | Previous to this we'd trip an assertion `abort()` deep in the curl code if e.g. a user did `ostree remote add foo htttp://...` etc. Motivated by considering supporting "external remotes" where code outside ostree does a pull, but we want to reuse the signing verification infrastructure.
* Merge pull request #2352 from dbnicholson/skip-summary-cache-envvarColin Walters2021-04-205-1/+15
|\ | | | | tests: Test without a cache directory by default
| * tests: Test without a cache directory by defaultDan Nicholson2021-04-195-1/+15
|/ | | | | | | | | | | | | | | | | | | Several tests generate summaries and then expect to use the generated summary immediately. However, this can cause intermittent test failures when they inadvertantly get a cached summary file. This typically happens when the test is run on a filesystem that doesn't support user extended attributes. In that case, the caching code can only use the last modified time, which only has 1 second granularity. If tests don't carefully manage the summary modification times or the repo cache then they are likely subject to races in some test environments. This introduces an environment variable `OSTREE_SKIP_CACHE` that prevents the repo from using a cache directory. This is enabled by default in tests and disabled for tests that are a explicitly trying to test the caching behavior. Fixes: #2313 Fixes: #2351
* Merge pull request #2350 from smcv/trap-errColin Walters2021-04-181-0/+8
|\ | | | | libtest: On failure, make it clearer what has happened
| * libtest: On failure, make it clearer what has happenedSimon McVittie2021-04-181-0/+8
|/ | | | | | | | If we fail as a result of `set -x`, It's often not completely obvious which command failed or how. Use a trap on ERR to show the command that failed, and its exit status. Signed-off-by: Simon McVittie <smcv@collabora.com>
* Merge pull request #2343 from cgwalters/cargo-workspaceColin Walters2021-04-157-4/+27
|\ | | | | build-sys: Add toplevel workspace Cargo.toml
| * tests/inst: Make nondestructive tests runnable as unit testsColin Walters2021-04-153-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | Ideally in the future we change more of our unit tests to support running installed; we've tried this in the past with https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests I'd like to pick that back up again. This takes a step towards that by having our Rust tests. To make this even easier, add a `tests/run-installed` which runs the installed tests (uninstalled, confusingly but conveniently for now).
| * build-sys: Add toplevel workspace Cargo.tomlColin Walters2021-04-154-3/+10
| | | | | | | | | | | | | | | | | | rust-analyzer is happier with this because it understands the project structure out of the box. We aren't actually again adding a dependency on Rust/cargo in the core, this is only used to make `cargo build` work out of the box to build the Rust test code.
* | Merge pull request #2346 from cgwalters/release-2021-2Colin Walters2021-04-156-15/+15
|\ \ | |/ |/| Release 2021.2
| * configure: post-release version bumpColin Walters2021-04-151-2/+2
| |
| * Release 2021.2v2021.2Colin Walters2021-04-156-15/+15
|/
* Merge pull request #2336 from bgilbert/editLuca Bruno2021-04-131-0/+1
|\ | | | | docs: fix "Edit this page on GitHub" links
| * docs: fix "Edit this page on GitHub" linksBenjamin Gilbert2021-04-091-0/+1
| |
* | Merge pull request #2335 from cgwalters/write-regfile-apiJonathan Lebon2021-04-1211-8/+303
|\ \ | |/ |/|
| * repo: Ensure we set the size for regfile inlineColin Walters2021-04-091-0/+1
| | | | | | | | Need to clean up the internal APIs for this.
| * tests: More tests for inline writingColin Walters2021-04-091-1/+21
| | | | | | | | I'm hitting a bug, add more tests.
| * repo: Add ostree_repo_write_regfileColin Walters2021-04-0911-8/+282
|/ | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Merge pull request #2334 from cgwalters/write-symlinkJonathan Lebon2021-04-096-0/+66
|\ | | | | repo: Add ostree_repo_write_symlink
| * repo: Add ostree_repo_write_symlinkColin Walters2021-04-086-0/+66
|/ | | | | | | 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.
* Merge pull request #2327 from cgwalters/writing-apisColin Walters2021-04-087-6/+125
|\ | | | | repo: Add ostree_repo_write_regfile_inline
| * repo: Add ostree_repo_write_regfile_inlineColin Walters2021-04-087-6/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #2333 from dbnicholson/travis-32bitColin Walters2021-04-081-2/+4
|\ \ | | | | | | Add back a travis 32 bit build
| * | travis: Add back a 32 bit i386 buildDan Nicholson2021-04-081-0/+2
| | | | | | | | | | | | | | | | | | Although people are likely not deploying on 32 bit x86 anymore, deploying on 32 bit armv7 is still often used. Add back an i386 build on debian to try to catch 32 bit bugs in CI.
| * | travis: Correct ci_suite settings for busterDan Nicholson2021-04-081-2/+2
|/ / | | | | | | | | The install script no longer uses this anymore and maybe it should just be removed, but in the meantime it should at least be correct.
* | Merge pull request #2332 from dbnicholson/ubuntu-ciColin Walters2021-04-082-1/+4
|\ \ | | | | | | travis: Don't ask any debconf questions when installing packages
| * | travis: Drop i386 Ubuntu targetDan Nicholson2021-04-081-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Ubuntu dropped i386[1], so there's no sense in attempting the build there. In 2021 I don't think it's worth the trouble to keep doing that, but if desired Debian still supports it. 1. https://wiki.ubuntu.com/FocalFossa/ReleaseNotes#Upgrades_on_i386
| * | travis: Don't ask any debconf questions when installing packagesDan Nicholson2021-04-081-0/+4
|/ / | | | | | | | | | | | | | | | | Currently the Ubuntu builds are stuck waiting for an answer on what timezone to use. That could be fixed, but generally the way to do these types of installs is to set the DEBIAN_FRONTEND environment variable to `noninteractive` so that debconf just chooses a default. This is what debootstrap does, for instance. I tested installing tzdata on a local focal container this way and it just chooses `Etc/UTC` as the timezone.
* | Merge pull request #2331 from cgwalters/update-travis-ubuntuDan Nicholson2021-04-081-3/+3
|\ \ | | | | | | travis: Bump Ubuntu versions
| * | travis: Bump Ubuntu versionsColin Walters2021-04-081-3/+3
|/ / | | | | | | xenial is EOL soon, let's bump to the latest LTS and the latest.
* | Merge pull request #2330 from cgwalters/silence-libarchive-warningLuca Bruno2021-04-081-1/+2
|\ \ | | | | | | tests: Silence a gcc warning
| * | tests: Silence a gcc warningColin Walters2021-04-081-1/+2
| |/ | | | | | | We can't mix `goto` and `__attribute__((cleanup))`.
* | Merge pull request #2326 from cgwalters/writing-api-prepLuca Bruno2021-04-081-23/+6
|\ \ | | | | | | core: Drop unused error handling from object stream helper
| * | core: Drop unused error handling from object stream helperColin Walters2021-04-071-23/+6
| |/ | | | | | | | | | | | | I was going to add some new API and I noticed that this function never returns an error; presumably at one point it did, but not anymore. It simplifies the code flow noticeably to remove that.
* | Merge pull request #2324 from cgwalters/test-use-exLuca Bruno2021-04-083-20/+22
|\ \ | | | | | | Various patches for tests/inst
| * | tests/inst: Update tokio, hyper and nixColin Walters2021-04-073-7/+8
| | |
| * | tests/inst: Update rpm-ostree clientColin Walters2021-04-072-5/+9
| | |
| * | tests/inst: Update ostree crateColin Walters2021-04-072-4/+5
| | |
| * | tests: Drop openat overrideColin Walters2021-04-071-4/+0
| |/ | | | | | | No longer needed.
* | Merge pull request #2323 from cgwalters/remove-experimentalDan Nicholson2021-04-079-76/+14
|\ \ | | | | | | build-sys: Remove --enable-experimental-api
| * | build-sys: Remove --enable-experimental-apiColin Walters2021-04-079-76/+14
| |/ | | | | | | | | | | | | | | | | It was added for the collections bits, but we made that stable. It's now just cruft and we're very unlikely to reuse the infrastructure again. Motivated by a unit test failure when running from a tarball: https://github.com/ostreedev/ostree/issues/2313
* | Merge pull request #2325 from dbnicholson/apidoc-gitignoreColin Walters2021-04-072-53/+7
|\ \ | |/ |/| API doc gitignore cleanup
| * Ensure consistent apidoc .gitignoreDan Nicholson2021-04-071-0/+7
| | | | | | | | | | | | | | | | If you don't configure with --enable-gtk-doc, these won't be included in the generated .gitignore. If you later configure with --enable-gtk-doc in the same checkout, they'll show up as untracked files. Include them in GITIGNOREFILES to ensure they're always added regardless of configure options.
| * Remove apidoc .gitignore from version controlDan Nicholson2021-04-071-53/+0
|/ | | | | | Like the top level .gitignore, there's no reason to track this if it's being generated automatically. It only produces spurious diff changes that you almost certainly don't want.
* core: Fix lgtm.com warning about always true `if (bits > 0)`Colin Walters2021-04-071-15/+9
| | | | | Since we're not going to change this, let's constant fold the logic here.
* manual-tests: Fix unused variablesColin Walters2021-04-071-3/+0
| | | | | lgtm.com harshly makes our JS grade "D" due to these unused variables.