Commit Graph

4972 Commits

Author SHA1 Message Date
Alexander Larsson
598adc457f 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.
2020-09-11 12:03:28 +02:00
Alexander Larsson
32014d99e6 Add and use ot_checksum_bytes helper
This removes some duplicated code (and will be use even more later).
2020-09-11 12:00:05 +02:00
Alexander Larsson
dddb449d2c pull: Actually mmap summary files
The change in cbf1aca1d5 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.
2020-09-11 12:00:02 +02:00
Alexander Larsson
85accb84e8 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.
2020-09-11 11:53:38 +02:00
Alexander Larsson
bb2649a8c0 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.
2020-09-11 11:45:33 +02:00
Alexander Larsson
74bae256fe 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.
2020-09-11 11:45:24 +02:00
OpenShift Merge Robot
69282a3dd3
Merge pull request #2192 from cgwalters/error-prefixing
deploy: Add some error prefixing around xattr setting
2020-09-09 09:25:12 -04:00
Colin Walters
a1bd29f245 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.
2020-09-09 12:34:44 +00:00
OpenShift Merge Robot
3bac819a5d
Merge pull request #2190 from cgwalters/ci-drop-var-test
ci: Drop var mount test
2020-09-07 19:26:02 -04:00
Colin Walters
be0f9e77e5 ci: Drop var mount test
Merged in https://github.com/coreos/fedora-coreos-config/pull/586
2020-09-03 22:14:02 +00:00
OpenShift Merge Robot
4d0f426e23
Merge pull request #2189 from cgwalters/release
Release 2020.6
2020-09-03 14:41:11 -04:00
Colin Walters
4d6e8f2b99 Post-release version bump 2020-09-03 18:00:27 +00:00
Colin Walters
5d2183f63e Release 2020.6
Let's get the /var mount fix out at least.
2020-09-03 18:00:03 +00:00
OpenShift Merge Robot
75376bae4c
Merge pull request #2186 from jlebon/pr/etc-rw
Fix read-only /etc when using sysroot=readonly and a separate /var mount
2020-08-28 14:52:24 -04:00
Jonathan Lebon
8408f8913b 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.
2020-08-28 14:16:46 -04:00
Jonathan Lebon
a7a751b69f 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.
2020-08-28 14:16:46 -04:00
Jonathan Lebon
b3c7b059ea 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.
2020-08-28 14:16:29 -04:00
OpenShift Merge Robot
22b3883aa4
Merge pull request #2184 from fkrull/docs-tags-fixes
Add some missing GI tags
2020-08-26 17:45:28 -04:00
Felix Krull
f4d0b17080 lib: mark out parameters as out parameters 2020-08-26 22:32:47 +02:00
Felix Krull
d5b8929017 lib: add some missing version tags 2020-08-26 22:32:47 +02:00
OpenShift Merge Robot
657b6a882d
Merge pull request #2183 from cgwalters/sh-inline-crates
tests/inst: Update to published sh-inline crate
2020-08-26 15:04:24 -04:00
Colin Walters
ef55c2c981 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

- cfa7c71126
- 679bce4cc7
2020-08-26 17:00:19 +00:00
OpenShift Merge Robot
27413afbff
Merge pull request #2181 from cgwalters/port-sh-inline
tests/inst: Port to new sh-inline repo
2020-08-26 11:01:52 -04:00
OpenShift Merge Robot
af881d7476
Merge pull request #2182 from mbilker/arch-linux
Fix mkinitcpio with newer systemd versions
2020-08-26 08:42:37 -04:00
Matt Bilker
dac2ad288f 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
2020-08-25 18:12:55 -04:00
Colin Walters
33e2d34ea5 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.
2020-08-25 22:06:13 +00:00
OpenShift Merge Robot
a85fb4fea1
Merge pull request #2180 from jlebon/pr/devel-build
configure.ac: Set is_release_build=no
2020-08-24 15:05:20 -04:00
Jonathan Lebon
0a6a41a63d configure.ac: Set is_release_build=no
We missed this during the post-release version bump.
2020-08-24 14:17:35 -04:00
OpenShift Merge Robot
2596a718ce
Merge pull request #2179 from cgwalters/ioctl-fix
linuxfsutil: Pass int to ioctl, not long
2020-08-21 20:13:51 -04:00
OpenShift Merge Robot
9850ec9cc6
Merge pull request #2178 from cgwalters/ioctl-test
tests: Check the immutable bit
2020-08-21 14:40:21 -04:00
Colin Walters
06ed04a816 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
2020-08-21 17:41:32 +00:00
Colin Walters
cc1b70d921 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.
2020-08-21 17:39:39 +00:00
OpenShift Merge Robot
41b455b1b0
Merge pull request #2177 from smcv/systemd-no-syslog
boot: Replace deprecated StandardOutput=syslog with journal, etc.
2020-08-21 14:57:29 +02:00
Simon McVittie
d3fadf14b7 boot: Replace deprecated StandardOutput=syslog with journal, etc.
systemd deprecated this in v246.

Resolves: #2169
Signed-off-by: Simon McVittie <smcv@collabora.com>
2020-08-21 09:58:05 +01:00
OpenShift Merge Robot
c61ff03304
Merge pull request #2175 from cgwalters/coverity-2020.5
Two small Coverity fixes
2020-08-19 16:46:49 +02:00
OpenShift Merge Robot
56f00586dd
Merge pull request #2176 from cgwalters/pin-str
admin/pin: Enforce that index is a number
2020-08-19 15:45:40 +02:00
Colin Walters
22a445c189 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
2020-08-19 13:11:55 +00:00
Colin Walters
95a7512622 prepare-root: Remove unused variable
Should quiet Coverity.
2020-08-18 23:35:38 +00:00
Colin Walters
1eab48363b pull: Assign idle_src variable before calling unref()
This should pacify Coverity, and also just "reads" better too.
2020-08-18 23:34:57 +00:00
OpenShift Merge Robot
199562fc14
Merge pull request #2149 from stb-tester/boot-self-symlink
sysroot: Support /boot on root or as seperate filesystem for syslinux and u-boot
2020-08-19 01:08:30 +02:00
OpenShift Merge Robot
b92f240e72
Merge pull request #2174 from cgwalters/bump-self
tests/inst: Bump to latest ostree and gtk-rs
2020-08-18 23:08:36 +02:00
Colin Walters
9f8c3f4400 tests/inst: Bump to latest ostree and gtk-rs
Updating our tests to the latest ostree crate is so deliciously
circular.
2020-08-18 18:00:19 +00:00
OpenShift Merge Robot
fa9942c7ad
Merge pull request #2173 from cgwalters/release
Release 2020.5
2020-08-18 19:11:02 +02:00
Colin Walters
b67f029d76 Post-release version bump 2020-08-18 15:55:47 +00:00
Colin Walters
8715989df3 Release 2020.5
Mainly to get https://github.com/ostreedev/ostree/pull/2160 out.
2020-08-18 15:55:21 +00:00
OpenShift Merge Robot
364556b8ae
Merge pull request #2172 from jlebon/pr/add-initrds-prep
Miscellaneous patches split out of #2155
2020-08-17 17:59:18 +02:00
OpenShift Merge Robot
543610bdd2
Merge pull request #2127 from cgwalters/destructive-rs
tests/inst: Add destructive test framework
2020-08-17 17:15:29 +02:00
Colin Walters
1101c02c2a 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.
2020-08-17 14:34:04 +00:00
Jonathan Lebon
10a68cd26b 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.
2020-08-17 09:48:57 -04:00
Jonathan Lebon
5de3a9759f lib/deploy: Drop unneccessary function arg 2020-08-17 09:48:57 -04:00