ostree.git
5 years agoBreak out the signature verification code into a helper function
Alexander Larsson [Thu, 10 Sep 2020 08:59:44 +0000 (10:59 +0200)]
Break out the signature verification code into a helper function

This changes nothing in the behaviour, but we want to later re-use
this when we also verify the summary index.

5 years agodeltas: Break out _ostree_repo_static_delta_superblock_digest() helper
Alexander Larsson [Mon, 31 Aug 2020 15:21:43 +0000 (17:21 +0200)]
deltas: Break out _ostree_repo_static_delta_superblock_digest() helper

This loads and makes a digest for a delta superblock. The previous
code was used when generating the deltas section in the summary
file. This changes nothing, but is in preparation for using similar
formats in a separate delta index file.

5 years agoAdd and use ot_checksum_bytes helper
Alexander Larsson [Thu, 10 Sep 2020 12:29:47 +0000 (14:29 +0200)]
Add and use ot_checksum_bytes helper

This removes some duplicated code (and will be use even more later).

5 years agopull: Actually mmap summary files
Alexander Larsson [Fri, 11 Sep 2020 09:24:43 +0000 (11:24 +0200)]
pull: Actually mmap summary files

The change in cbf1aca1d5c08d2f40832d16670484ba878d95fb actually
only mmaps the signature file, not the summary. This change makes
use mmap both, as well as extract the cache loading into a helper
function that we will later use in more places.

5 years agopull: Break out _ostree_repo_save_cache_summary_file() helper
Alexander Larsson [Fri, 11 Sep 2020 09:22:49 +0000 (11:22 +0200)]
pull: Break out _ostree_repo_save_cache_summary_file() helper

This is a minor cleanup as its just called twice from
_ostree_repo_cache_summary(). However, later code will need it in more
places.

5 years agoFix leak when signing
Alexander Larsson [Tue, 8 Sep 2020 09:37:33 +0000 (11:37 +0200)]
Fix leak when signing

_ostree_detached_metadata_append_gpg_sig() was returning a floating
ref, but all users were using g_autoptr. Fix it by adding a ref-sink.

5 years agolist-deltas: Don't break on non-subdir entries
Alexander Larsson [Mon, 31 Aug 2020 15:00:39 +0000 (17:00 +0200)]
list-deltas: Don't break on non-subdir entries

ostree_repo_list_static_delta_names() tried to validate that
any second-level directory element was a directory, but there was
a cut-and-paste issue, and it used `dent->d_type` instead
of `sub_dent->d_type`.

This fixes the code, but all old ostree versions will break if
there are non-directories in a subdirectory of the deltas directory
in the repo, so be wary.

5 years agoMerge pull request #2192 from cgwalters/error-prefixing
OpenShift Merge Robot [Wed, 9 Sep 2020 13:25:12 +0000 (09:25 -0400)]
Merge pull request #2192 from cgwalters/error-prefixing

deploy: Add some error prefixing around xattr setting

5 years agodeploy: Add some error prefixing around xattr setting
Colin Walters [Wed, 9 Sep 2020 12:34:44 +0000 (12:34 +0000)]
deploy: Add some error prefixing around xattr setting

Looking at
https://github.com/coreos/coreos-assembler/issues/1703
a user is getting a bare:
`error: fsetxattr: Permission denied`

I don't think it's these code paths since a deploy
isn't happening but on inspection I noticed we didn't
have error prefixing here.

5 years agoMerge pull request #2190 from cgwalters/ci-drop-var-test
OpenShift Merge Robot [Mon, 7 Sep 2020 23:26:02 +0000 (19:26 -0400)]
Merge pull request #2190 from cgwalters/ci-drop-var-test

ci: Drop var mount test

5 years agoci: Drop var mount test
Colin Walters [Thu, 3 Sep 2020 22:14:02 +0000 (22:14 +0000)]
ci: Drop var mount test

Merged in https://github.com/coreos/fedora-coreos-config/pull/586

5 years agoMerge pull request #2189 from cgwalters/release
OpenShift Merge Robot [Thu, 3 Sep 2020 18:41:11 +0000 (14:41 -0400)]
Merge pull request #2189 from cgwalters/release

Release 2020.6

5 years agoPost-release version bump
Colin Walters [Thu, 3 Sep 2020 18:00:27 +0000 (18:00 +0000)]
Post-release version bump

5 years agoRelease 2020.6
Colin Walters [Thu, 3 Sep 2020 18:00:03 +0000 (18:00 +0000)]
Release 2020.6

Let's get the /var mount fix out at least.

5 years agoMerge pull request #2186 from jlebon/pr/etc-rw
OpenShift Merge Robot [Fri, 28 Aug 2020 18:52:24 +0000 (14:52 -0400)]
Merge pull request #2186 from jlebon/pr/etc-rw

Fix read-only /etc when using sysroot=readonly and a separate /var mount

5 years agoci: Temporarily import kola test from jlebon's FCOS fork
Jonathan Lebon [Fri, 28 Aug 2020 16:49:32 +0000 (12:49 -0400)]
ci: Temporarily import kola test from jlebon's FCOS fork

That test will not make it into the fedora-coreos-config repo until the
libostree fix gets percolated down. PR is:

https://github.com/coreos/fedora-coreos-config/pull/586

But we want to make sure that the fix does work and that we don't
regress on it. So manually fetch it for now.

5 years agoostree-remount: Remount /etc rw if needed
Jonathan Lebon [Fri, 28 Aug 2020 16:35:29 +0000 (12:35 -0400)]
ostree-remount: Remount /etc rw if needed

When we remount `/sysroot` as read-only, we also make `/etc` read-only.
This is usually OK because we then remount `/var` read-write, which also
flips `/etc` back to read-write... unless `/var` is a separate
filesystem and not a bind-mount to the stateroot `/var`.

Fix this by just remounting `/etc` read-write in the read-only sysroot
case.

Eventually, I think we should rework this to set everything up the way
we want from the initramfs (#2115). This would also eliminate the window
during which `/etc` is read-only while `ostree-remount` runs.

5 years agoostree-prepare-root: Fix /etc bind mount
Jonathan Lebon [Fri, 28 Aug 2020 16:35:28 +0000 (12:35 -0400)]
ostree-prepare-root: Fix /etc bind mount

We were bind-mounting the initramfs' `/etc` (to itself) instead of the
target deployment `/etc` (to itself). Since we're already `chdir`'ed
into it, we can just drop the leading slash.

5 years agoMerge pull request #2184 from fkrull/docs-tags-fixes
OpenShift Merge Robot [Wed, 26 Aug 2020 21:45:28 +0000 (17:45 -0400)]
Merge pull request #2184 from fkrull/docs-tags-fixes

Add some missing GI tags

5 years agolib: mark out parameters as out parameters
Felix Krull [Tue, 25 Aug 2020 18:43:01 +0000 (20:43 +0200)]
lib: mark out parameters as out parameters

5 years agolib: add some missing version tags
Felix Krull [Tue, 25 Aug 2020 17:57:27 +0000 (19:57 +0200)]
lib: add some missing version tags

5 years agoMerge pull request #2183 from cgwalters/sh-inline-crates
OpenShift Merge Robot [Wed, 26 Aug 2020 19:04:24 +0000 (15:04 -0400)]
Merge pull request #2183 from cgwalters/sh-inline-crates

tests/inst: Update to published sh-inline crate

5 years agotests/inst: Update to published sh-inline crate
Colin Walters [Wed, 26 Aug 2020 17:00:19 +0000 (17:00 +0000)]
tests/inst: Update to published sh-inline crate

And I made a few more API tweaks, such as supporting `Path`
objects directly and also not needing e.g. `commit = commit`, see

- https://github.com/cgwalters/rust-sh-inline/commit/cfa7c71126f23545a7d4782cad650eab60e74204
- https://github.com/cgwalters/rust-sh-inline/commit/679bce4cc7ce65641e0c9bd33654510575583de8

5 years agoMerge pull request #2181 from cgwalters/port-sh-inline
OpenShift Merge Robot [Wed, 26 Aug 2020 15:01:52 +0000 (11:01 -0400)]
Merge pull request #2181 from cgwalters/port-sh-inline

tests/inst: Port to new sh-inline repo

5 years agoMerge pull request #2182 from mbilker/arch-linux
OpenShift Merge Robot [Wed, 26 Aug 2020 12:42:37 +0000 (08:42 -0400)]
Merge pull request #2182 from mbilker/arch-linux

Fix mkinitcpio with newer systemd versions

5 years agoFix mkinitcpio with newer systemd versions
Matt Bilker [Tue, 25 Aug 2020 22:12:52 +0000 (18:12 -0400)]
Fix mkinitcpio with newer systemd versions

- Fixes systemd failing to determine if `/sysroot` is valid because of
  `/etc/os-release` not being available yet.

- Related: #1759

5 years agotests/inst: Port to new sh-inline repo
Colin Walters [Tue, 25 Aug 2020 22:06:13 +0000 (22:06 +0000)]
tests/inst: Port to new sh-inline repo

I cleaned up my fork of commandspec (see git log) and am
planning to publish to crates.  Port to the new API in prep
for that.

5 years agoMerge pull request #2180 from jlebon/pr/devel-build
OpenShift Merge Robot [Mon, 24 Aug 2020 19:05:20 +0000 (15:05 -0400)]
Merge pull request #2180 from jlebon/pr/devel-build

configure.ac: Set is_release_build=no

5 years agoconfigure.ac: Set is_release_build=no
Jonathan Lebon [Mon, 24 Aug 2020 18:16:16 +0000 (14:16 -0400)]
configure.ac: Set is_release_build=no

We missed this during the post-release version bump.

5 years agoMerge pull request #2179 from cgwalters/ioctl-fix
OpenShift Merge Robot [Sat, 22 Aug 2020 00:13:51 +0000 (20:13 -0400)]
Merge pull request #2179 from cgwalters/ioctl-fix

linuxfsutil: Pass int to ioctl, not long

5 years agoMerge pull request #2178 from cgwalters/ioctl-test
OpenShift Merge Robot [Fri, 21 Aug 2020 18:40:21 +0000 (14:40 -0400)]
Merge pull request #2178 from cgwalters/ioctl-test

tests: Check the immutable bit

5 years agolinuxfsutil: Pass int to ioctl, not long
Colin Walters [Fri, 21 Aug 2020 17:40:41 +0000 (17:40 +0000)]
linuxfsutil: Pass int to ioctl, not long

Otherwise it will fail on big-endian architectures like s390x.
Ref https://bugzilla.redhat.com/show_bug.cgi?id=1867601

5 years agotests: Check the immutable bit
Colin Walters [Fri, 21 Aug 2020 17:35:03 +0000 (17:35 +0000)]
tests: Check the immutable bit

See https://bugzilla.redhat.com/show_bug.cgi?id=1867601

We really want an upstream test for this, even if (to my knowledge)
nothing is running ostree's upstream CI on !x86_64.

5 years agoMerge pull request #2177 from smcv/systemd-no-syslog
OpenShift Merge Robot [Fri, 21 Aug 2020 12:57:29 +0000 (14:57 +0200)]
Merge pull request #2177 from smcv/systemd-no-syslog

boot: Replace deprecated StandardOutput=syslog with journal, etc.

5 years agoboot: Replace deprecated StandardOutput=syslog with journal, etc.
Simon McVittie [Fri, 21 Aug 2020 08:14:36 +0000 (09:14 +0100)]
boot: Replace deprecated StandardOutput=syslog with journal, etc.

systemd deprecated this in v246.

Resolves: #2169
Signed-off-by: Simon McVittie <smcv@collabora.com>
5 years agoMerge pull request #2175 from cgwalters/coverity-2020.5
OpenShift Merge Robot [Wed, 19 Aug 2020 14:46:49 +0000 (16:46 +0200)]
Merge pull request #2175 from cgwalters/coverity-2020.5

Two small Coverity fixes

5 years agoMerge pull request #2176 from cgwalters/pin-str
OpenShift Merge Robot [Wed, 19 Aug 2020 13:45:40 +0000 (15:45 +0200)]
Merge pull request #2176 from cgwalters/pin-str

admin/pin: Enforce that index is a number

5 years agoadmin/pin: Enforce that index is a number
Colin Walters [Wed, 19 Aug 2020 13:09:46 +0000 (13:09 +0000)]
admin/pin: Enforce that index is a number

Validate that we're parsing a number; we want to guard
against typos.

Closes: https://github.com/ostreedev/ostree/issues/2171
5 years agoprepare-root: Remove unused variable
Colin Walters [Tue, 18 Aug 2020 23:35:38 +0000 (23:35 +0000)]
prepare-root: Remove unused variable

Should quiet Coverity.

5 years agopull: Assign idle_src variable before calling unref()
Colin Walters [Tue, 18 Aug 2020 23:34:57 +0000 (23:34 +0000)]
pull: Assign idle_src variable before calling unref()

This should pacify Coverity, and also just "reads" better too.

5 years agoMerge pull request #2149 from stb-tester/boot-self-symlink
OpenShift Merge Robot [Tue, 18 Aug 2020 23:08:30 +0000 (01:08 +0200)]
Merge pull request #2149 from stb-tester/boot-self-symlink

sysroot: Support /boot on root or as seperate filesystem for syslinux and u-boot

5 years agoMerge pull request #2174 from cgwalters/bump-self
OpenShift Merge Robot [Tue, 18 Aug 2020 21:08:36 +0000 (23:08 +0200)]
Merge pull request #2174 from cgwalters/bump-self

tests/inst: Bump to latest ostree and gtk-rs

5 years agotests/inst: Bump to latest ostree and gtk-rs
Colin Walters [Tue, 18 Aug 2020 18:00:19 +0000 (18:00 +0000)]
tests/inst: Bump to latest ostree and gtk-rs

Updating our tests to the latest ostree crate is so deliciously
circular.

5 years agoMerge pull request #2173 from cgwalters/release
OpenShift Merge Robot [Tue, 18 Aug 2020 17:11:02 +0000 (19:11 +0200)]
Merge pull request #2173 from cgwalters/release

Release 2020.5

5 years agoPost-release version bump
Colin Walters [Tue, 18 Aug 2020 15:55:47 +0000 (15:55 +0000)]
Post-release version bump

5 years agoRelease 2020.5
Colin Walters [Tue, 18 Aug 2020 15:55:21 +0000 (15:55 +0000)]
Release 2020.5

Mainly to get https://github.com/ostreedev/ostree/pull/2160 out.

5 years agoMerge pull request #2172 from jlebon/pr/add-initrds-prep
OpenShift Merge Robot [Mon, 17 Aug 2020 15:59:18 +0000 (17:59 +0200)]
Merge pull request #2172 from jlebon/pr/add-initrds-prep

Miscellaneous patches split out of #2155

5 years agoMerge pull request #2127 from cgwalters/destructive-rs
OpenShift Merge Robot [Mon, 17 Aug 2020 15:15:29 +0000 (17:15 +0200)]
Merge pull request #2127 from cgwalters/destructive-rs

tests/inst: Add destructive test framework

5 years agotests/inst: Add destructive test framework
Colin Walters [Sun, 31 May 2020 17:57:22 +0000 (17:57 +0000)]
tests/inst: Add destructive test framework

This adds infrastructure to the Rust test suite for destructive
tests, and adds a new `transactionality` test which runs
rpm-ostree in a loop (along with `ostree-finalize-staged`) and
repeatedly uses either `kill -9`, `reboot` and  `reboot -ff`.

The main goal here is to flush out any "logic errors".

So far I've validated that this passes a lot of cycles
using
```
$ kola run --qemu-image=fastbuild-fedora-coreos-ostree-qemu.qcow2 ext.ostree.destructive-rs.transactionality --debug --multiply 8 --parallel 4
```
a number of times.

5 years agolib/deploy: Clarify comment re. staging API
Jonathan Lebon [Mon, 17 Aug 2020 13:48:15 +0000 (09:48 -0400)]
lib/deploy: Clarify comment re. staging API

Don't mention deprecation in the description for
`ostree_sysroot_deploy_tree` since there are legitimate use cases for it
(e.g. to create the first deployment via `ostree admin deploy`).

Instead, make the comment clearly redirect to the staging API when
booted into the sysroot.

5 years agolib/deploy: Drop unneccessary function arg
Jonathan Lebon [Mon, 17 Aug 2020 13:48:13 +0000 (09:48 -0400)]
lib/deploy: Drop unneccessary function arg

5 years agolib/cleanup: Drop unnecessary GEqualFunc cast
Jonathan Lebon [Mon, 17 Aug 2020 13:48:12 +0000 (09:48 -0400)]
lib/cleanup: Drop unnecessary GEqualFunc cast

5 years agolib/deploy: Simplify deployment creation
Jonathan Lebon [Mon, 17 Aug 2020 13:48:11 +0000 (09:48 -0400)]
lib/deploy: Simplify deployment creation

Minor cleanup; we were declaring a superfluous variable.

5 years agolib/deploy: Avoid shadowing variable
Jonathan Lebon [Mon, 17 Aug 2020 13:48:10 +0000 (09:48 -0400)]
lib/deploy: Avoid shadowing variable

There's already a `boot_relpath` variable in the outside scope.

5 years agolib/deploy: Clean up kargs override handling
Jonathan Lebon [Mon, 17 Aug 2020 13:48:09 +0000 (09:48 -0400)]
lib/deploy: Clean up kargs override handling

Tighten up how we handle kargs here so it's more clear. When we call
`sysroot_finalize_deployment`, any karg overrides have already been set
on the bootconfig object of the deployment. So re-setting it here is
redundant and confusing.

5 years agoMerge pull request #2170 from jprvita/for-upstream
OpenShift Merge Robot [Sun, 16 Aug 2020 20:25:20 +0000 (22:25 +0200)]
Merge pull request #2170 from jprvita/for-upstream

dracut: Create reproducible images

5 years agodracut: Create reproducible images
João Paulo Rechi Vita [Sat, 27 Jun 2020 01:28:48 +0000 (18:28 -0700)]
dracut: Create reproducible images

Without reproducible images, a rebuild of the initrd will create a
different image file (due to things like creation time of the files in
the cpio archive) even if the actual contents in it are exactly the
same, adding an unnecessary download during updates.

Adding 'reproducible=yes' avoids this and creates the same image files
for the same content.

5 years agoMerge pull request #2168 from arithx/ci_pxe_offline
OpenShift Merge Robot [Thu, 13 Aug 2020 14:43:38 +0000 (16:43 +0200)]
Merge pull request #2168 from arithx/ci_pxe_offline

ci: add pxe-offline-install testiso scenario

5 years agoci: add pxe-offline-install testiso scenario
Stephen Lowrie [Tue, 11 Aug 2020 05:02:12 +0000 (00:02 -0500)]
ci: add pxe-offline-install testiso scenario

5 years agoMerge pull request #2103 from cgwalters/underlay-live
OpenShift Merge Robot [Fri, 7 Aug 2020 21:29:31 +0000 (17:29 -0400)]
Merge pull request #2103 from cgwalters/underlay-live

Add "transient" unlock

5 years agoAdd "transient" unlock
Colin Walters [Sun, 17 May 2020 18:17:37 +0000 (18:17 +0000)]
Add "transient" unlock

I was thinking a bit more recently about the "live" changes
stuff https://github.com/coreos/rpm-ostree/issues/639
(particularly since https://github.com/coreos/rpm-ostree/pull/2060 )
and I realized reading the last debates in that issue that
there's really a much simpler solution; do exactly the same
thing we do for `ostree admin unlock`, except mount it read-only
by default.

Then, anything that wants to modify it does the same thing
libostree does for `/sysroot` and `/boot` as of recently; create
a new mount namespace and do the modifications there.

The advantages of this are numerous.  First, we already have
all of the code, it's basically just plumbing through a new
entry in the state enumeration and passing `MS_RDONLY` into
the `mount()` system call.

"live" changes here also naturally don't persist, unlike what
we are currently doing in rpm-ostree.

5 years agoMerge pull request #2166 from pwithnall/summary-sig-downloads
OpenShift Merge Robot [Fri, 7 Aug 2020 17:24:58 +0000 (13:24 -0400)]
Merge pull request #2166 from pwithnall/summary-sig-downloads

pull: Add summary-{,sig-}bytes options to ostree_repo_pull()

5 years agopull: Add summary-{,sig-}bytes options to ostree_repo_pull()
Philip Withnall [Thu, 16 Jul 2020 15:16:37 +0000 (16:16 +0100)]
pull: Add summary-{,sig-}bytes options to ostree_repo_pull()

These allow the `summary` and `summary.sig` files to be cached at a
higher layer (for example, flatpak) between related pull operations (for
example, within a single flatpak transaction). This avoids
re-downloading `summary.sig` multiple times throughout a transaction,
which increases the transaction’s latency and introduces the possibility
for inconsistency between parts of the transaction if the server changes
its `summary` file part-way through.

In particular, this should speed up flatpak transactions on machines
with high latency network connections, where network round trips have a
high impact on the latency of an overall operation.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
5 years agopull: Improve formatting of pull options in documentation
Philip Withnall [Wed, 15 Jul 2020 15:24:32 +0000 (16:24 +0100)]
pull: Improve formatting of pull options in documentation

Backticks improve all things.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
5 years agoMerge pull request #2163 from cgwalters/fix-ci
OpenShift Merge Robot [Wed, 5 Aug 2020 19:20:27 +0000 (21:20 +0200)]
Merge pull request #2163 from cgwalters/fix-ci

 ci: Barf on unset umask

5 years agoci: Barf on unset umask
Colin Walters [Wed, 5 Aug 2020 14:17:53 +0000 (14:17 +0000)]
ci: Barf on unset umask

Since it's just not a sane thing to do and will cause various
failures in our test suite.

5 years agoMerge pull request #2159 from agners/show-parent
OpenShift Merge Robot [Tue, 4 Aug 2020 19:54:28 +0000 (21:54 +0200)]
Merge pull request #2159 from agners/show-parent

Show commit checksum of parent, if present

5 years agoMerge pull request #2160 from cgwalters/sysroot-ro
OpenShift Merge Robot [Mon, 3 Aug 2020 00:53:41 +0000 (20:53 -0400)]
Merge pull request #2160 from cgwalters/sysroot-ro

remount: Still remount /sysroot writable if not configured ro

5 years agoMerge pull request #2162 from cgwalters/fix-repo-finder
OpenShift Merge Robot [Sun, 2 Aug 2020 14:29:45 +0000 (10:29 -0400)]
Merge pull request #2162 from cgwalters/fix-repo-finder

tests/repo-finder: Explicitly commit empty dir

5 years agoMerge pull request #2161 from cgwalters/fix-ci
OpenShift Merge Robot [Sun, 2 Aug 2020 13:02:06 +0000 (09:02 -0400)]
Merge pull request #2161 from cgwalters/fix-ci

ci: Fix ISO testing

5 years agoci: Fix ISO testing
Colin Walters [Sat, 1 Aug 2020 18:14:30 +0000 (18:14 +0000)]
ci: Fix ISO testing

Regression from
https://github.com/ostreedev/ostree/pull/2158/commits/5d7f897908dbf7f471ddfdbd6c29a84ac6bc0bda

I'm not sure how (or if) this passed before, the job logs have
been GC'd.

This is a bit confusing but basically right now ostree/rpm-ostree's
CI jobs don't use `/srv/fcos` - it might make sense to port
these to `fcosBuild` but that needs investigation.

5 years agotests/repo-finder: Explicitly commit empty dir
Colin Walters [Sat, 1 Aug 2020 18:47:36 +0000 (18:47 +0000)]
tests/repo-finder: Explicitly commit empty dir

We were committing the whole tempdir, which seems to fail
in Travis because the GPG agent Unix domain socket ends up there too,
and ostree refuses to commit sockets.

5 years agoMerge pull request #2156 from jlebon/pr/clarify-ref-rev
OpenShift Merge Robot [Sat, 1 Aug 2020 19:02:23 +0000 (15:02 -0400)]
Merge pull request #2156 from jlebon/pr/clarify-ref-rev

app: Fix various CLI metavariable names

5 years agoremount: Still remount /sysroot writable if not configured ro
Colin Walters [Sat, 1 Aug 2020 17:24:28 +0000 (17:24 +0000)]
remount: Still remount /sysroot writable if not configured ro

Regression from https://github.com/ostreedev/ostree/pull/2113/commits/35642259175973617da937f3cab6ce5f13c95077
BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1862568

We still need to remount writable if it's not configured on;
because it may need OS adjustments it needs to be opt-in.

5 years agoShow commit checksum of parent, if present
Stefan Agner [Fri, 31 Jul 2020 19:43:09 +0000 (21:43 +0200)]
Show commit checksum of parent, if present

This is useful for ostree log on client side where often not the
full history of a branch is available. It is also helpful for
ostree show to show if a particular commit has a parent.

5 years agoapp: Fix various CLI metavariable names
Jonathan Lebon [Thu, 30 Jul 2020 21:35:20 +0000 (17:35 -0400)]
app: Fix various CLI metavariable names

- Use `REV` instead of `REF` in places where we meant it.
- Fix `commit --parent` actually taking a commit checksum and not a ref.
- Fix `ostree admin switch` using `REF` instead of `REFSPEC`.

5 years agoMerge pull request #2157 from agners/improve-man-pages
OpenShift Merge Robot [Fri, 31 Jul 2020 18:12:42 +0000 (14:12 -0400)]
Merge pull request #2157 from agners/improve-man-pages

Improve man pages

5 years agoMerge pull request #2158 from bgilbert/testiso
OpenShift Merge Robot [Fri, 31 Jul 2020 17:52:59 +0000 (13:52 -0400)]
Merge pull request #2158 from bgilbert/testiso

ci: test FCOS PXE and ISO install

5 years agoci: test FCOS PXE and ISO install
Benjamin Gilbert [Fri, 31 Jul 2020 10:57:58 +0000 (06:57 -0400)]
ci: test FCOS PXE and ISO install

Make sure we don't break the FCOS live image.  PXE is probably sufficient,
but also test the ISO image for good measure.

5 years agoman: add missing options to the ostree-commit man page
Stefan Agner [Fri, 31 Jul 2020 09:52:39 +0000 (11:52 +0200)]
man: add missing options to the ostree-commit man page

Add missing parameter to the ostree-commit man page.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
5 years agoman: add glossary to main man page
Stefan Agner [Fri, 31 Jul 2020 09:49:38 +0000 (11:49 +0200)]
man: add glossary to main man page

Add glossary to define some commonly used literals throughout the ostree
man pages.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
5 years agoMerge pull request #2153 from cgwalters/release-2020-4
OpenShift Merge Robot [Wed, 22 Jul 2020 14:48:44 +0000 (16:48 +0200)]
Merge pull request #2153 from cgwalters/release-2020-4

Release 2020.4

5 years agoPost-release version bump
Colin Walters [Tue, 21 Jul 2020 21:46:43 +0000 (21:46 +0000)]
Post-release version bump

5 years agoRelease 2020.4
Colin Walters [Tue, 21 Jul 2020 21:46:00 +0000 (21:46 +0000)]
Release 2020.4

A lot of stuff here, new signing API is the biggest.  Let's
get a release out.

5 years agoMerge pull request #2152 from cgwalters/pull-fdatasync
OpenShift Merge Robot [Mon, 20 Jul 2020 17:55:26 +0000 (13:55 -0400)]
Merge pull request #2152 from cgwalters/pull-fdatasync

pull: Add --per-object-fsync

5 years agoMerge pull request #2150 from cgwalters/pull-append-written
OpenShift Merge Robot [Sat, 18 Jul 2020 15:00:49 +0000 (11:00 -0400)]
Merge pull request #2150 from cgwalters/pull-append-written

pull: Also append bytes written

5 years agopull: Add --per-object-fsync
Colin Walters [Thu, 16 Jul 2020 21:13:36 +0000 (21:13 +0000)]
pull: Add --per-object-fsync

This is the opposite of
https://github.com/ostreedev/ostree/issues/1184

Motivated by OpenShift seeing etcd performance issues during
OS updates: https://github.com/openshift/machine-config-operator/issues/1897

Basically, if we switch to invoking `fsync()` as we go, it makes
ostree performance worse (in my tests, 31s to write 2G versus 7s if we
delay sync) but it avoids *huge* outliers in `fsync()` time for etcd.

5 years agopull: Also append bytes written
Colin Walters [Thu, 16 Jul 2020 14:20:07 +0000 (14:20 +0000)]
pull: Also append bytes written

This is very useful information that we get from the transaction
stats.  Append it to the final display if we're not inheriting
the transaction.

5 years agoMerge pull request #2151 from jlebon/pr/too-parallel
OpenShift Merge Robot [Fri, 17 Jul 2020 16:00:24 +0000 (12:00 -0400)]
Merge pull request #2151 from jlebon/pr/too-parallel

ci: Constrain parallel build jobs

5 years agotests: Add needs-internet tag for webserver bits
Colin Walters [Fri, 17 Jul 2020 01:36:51 +0000 (01:36 +0000)]
tests: Add needs-internet tag for webserver bits

Fixes the tests, see https://github.com/coreos/coreos-assembler/pull/1600
TODO: provide a webserver binary via virtio or so

5 years agoci: Constrain parallel build jobs
Jonathan Lebon [Thu, 16 Jul 2020 15:42:57 +0000 (11:42 -0400)]
ci: Constrain parallel build jobs

The default `_NPROCESSORS_ONLN` heuristic we have isn't cgroups aware.
So it thinks it has e.g. 40 CPUs when running in a k8s pod. This can
then blow through our allocated resource limits.

Declare some modest amount of RAM and CPU resources and override `make`
parallelism.

This matches what rpm-ostree now does in
https://github.com/coreos/rpm-ostree/pull/2155.

5 years agosysroot: Support /boot on root or as seperate filesystem for syslinux and u-boot
William Manley [Wed, 15 Jul 2020 14:40:14 +0000 (15:40 +0100)]
sysroot: Support /boot on root or as seperate filesystem for syslinux and u-boot

We use a similar trick to having a `sysroot -> .` symlink on the real root
here to support both /boot on root as well as on a separate filesystem.  No
matter how it's mounted `/boot/xyz` will always refer to the file you'd
expect.

This is nicer than my previous attempts at this because there's no
configuration nor auto-detection required.

5 years agoRefactor tests/bootloader-entries-crosscheck.py
William Manley [Wed, 15 Jul 2020 14:57:26 +0000 (15:57 +0100)]
Refactor tests/bootloader-entries-crosscheck.py

Reduce duplication.

5 years agoMerge pull request #2146 from stb-tester/owners-uncomment-wmanley
OpenShift Merge Robot [Fri, 10 Jul 2020 17:20:27 +0000 (19:20 +0200)]
Merge pull request #2146 from stb-tester/owners-uncomment-wmanley

OWNERS: Uncomment @wmanley

5 years agoOWNERS: Uncomment @wmanley
William Manley [Wed, 8 Jul 2020 14:54:22 +0000 (15:54 +0100)]
OWNERS: Uncomment @wmanley

I've made my affiliation public now thanks to @cgwalters:

https://github.com/ostreedev/ostree/pull/1678#issuecomment-653148139

5 years agoMerge pull request #2144 from cgwalters/deltas-new-style
OpenShift Merge Robot [Fri, 3 Jul 2020 15:31:45 +0000 (11:31 -0400)]
Merge pull request #2144 from cgwalters/deltas-new-style

lib/deltas: convert ostree_repo_static_delta_generate to new style

5 years agolib/deltas: convert ostree_repo_static_delta_generate to new style
Frédéric Danis [Thu, 16 Apr 2020 15:17:12 +0000 (17:17 +0200)]
lib/deltas: convert ostree_repo_static_delta_generate to new style

The "new style" code generally avoids `goto err` because it conflicts
with `__attribute__((cleanup))`.  This fixes a compiler warning.

Signed-off-by: Frédéric Danis <frederic.danis@collabora.com>
5 years agoMerge pull request #2143 from jlebon/pr/eacces-lock
OpenShift Merge Robot [Wed, 1 Jul 2020 21:05:40 +0000 (17:05 -0400)]
Merge pull request #2143 from jlebon/pr/eacces-lock

lib/repo: Handle EACCES for POSIX locking

5 years agolib/repo: Handle EACCES for POSIX locking
Jonathan Lebon [Tue, 30 Jun 2020 19:05:19 +0000 (15:05 -0400)]
lib/repo: Handle EACCES for POSIX locking

If `glnx_make_lock_file` falls back to `flock`, on NFS this uses POSIX
locks (`F_SETLK`). As such, we need to be able to handle `EACCES` as
well as `EAGAIN` (see `fnctl(2)`).

I think this is what coreos-ostree-importer has been hitting, which runs
on RHEL7 in the Fedora infra and does locking over an NFS share where
multiple apps could concurrently pull things into the repo.

5 years agoMerge pull request #2131 from cgwalters/sign-success
OpenShift Merge Robot [Wed, 24 Jun 2020 22:24:41 +0000 (18:24 -0400)]
Merge pull request #2131 from cgwalters/sign-success

signapi: Change API to also return a success message