Releases: ostreedev/ostree
2020.5
This release primarily fixes a regression in 2020.4 where the "readonly sysroot" changes incorrectly left the sysroot read-only on systems that started out with a read-only /
(most of them, e.g. Fedora Silverblue/IoT at least)
Link: 33eeb7b
One thing not fixed in this release that also changed in 2020.4 is that if you were shipping an OS build with device trees before proper support landed in 2020.4, you may need to "ratchet" an upgrade process. See the linked issue for ongoing discussion.
Link: #2154
There's some additions to the pull API to aid flatpak, and although it turns out those are likely to be obviated by #2167 - we will retain those options in the future.
Link: #2166
There were a few fixes to the man pages, and ostree show
now displays the parent commit.
The default dracut config now enables reproducibility.
Link: #2170
On the "feature" side, there is a new ostree admin unlock --transient
. We expect this to be a foundation for further support for "live" updates.
Link: f2773c1
Finally, various CI improvements landed - more testing of FCOS in PXE/ISO, and most notably there's a large brand new test (written in Rust) that exercises a mix of kill -9
and reboot -ff
(immediate forced reboots) while upgrading.
Benjamin Gilbert (1):
ci: test FCOS PXE and ISO install
Colin Walters (8):
Post-release version bump
remount: Still remount /sysroot writable if not configured ro
tests/repo-finder: Explicitly commit empty dir
ci: Fix ISO testing
ci: Barf on unset umask
Add "transient" unlock
tests/inst: Add destructive test framework
Release 2020.5
Jonathan Lebon (7):
app: Fix various CLI metavariable names
lib/deploy: Clean up kargs override handling
lib/deploy: Avoid shadowing variable
lib/deploy: Simplify deployment creation
lib/cleanup: Drop unnecessary GEqualFunc cast
lib/deploy: Drop unneccessary function arg
lib/deploy: Clarify comment re. staging API
João Paulo Rechi Vita (1):
dracut: Create reproducible images
Philip Withnall (2):
pull: Improve formatting of pull options in documentation
pull: Add summary-{,sig-}bytes options to ostree_repo_pull()
Stefan Agner (3):
man: add glossary to main man page
man: add missing options to the ostree-commit man page
Show commit checksum of parent, if present
Stephen Lowrie (1):
ci: add pxe-offline-install testiso scenario
2020.4
ostree 2020.4
By far the biggest change in this release is new ed25519 signing support, powered by libsodium.
See: #1233
ostree commit
gained a new --base
argument, which significantly simplifies constructing "derived" commits, particularly for systems using SELinux.
Handling of the read-only sysroot was reimplemented to run in the initramfs and be more reliable. Enabling the readonly=true
flag in the repo config is recommended.
Several bugs were fixed in locking for the temporary "staging" directories OSTree creates, particularly on NFS.
lib: Coerce flags enums to GIR bitfields changed some values to be (correctly) flags - this may show up as incompatible for GObject Introspection consumers (but not C).
A new timestamp-check-from-rev option was added for pulls, which makes downgrade protection more reliable and will be used by Fedora CoreOS.
Several fixes and enhancements were made for "collection" pulls including a new --mirror
option.
The ostree commit
command learned a new --mode-ro-executables
which enforces W^R semantics on all executables.
A new commit metadata key (OSTREE_COMMIT_META_KEY_ARCHITECTURE
) was added to help standardize the architecture of the OSTree commit. This could be used on the client side for example to sanity-check that the commit matches the architecture of the machine before deploying.
Some new tests are being written in Rust, and ostree now itself uses the Rust ostree bindings for tests; work on this is ongoing.
The pull
command learned a new --per-object-fsync
which restores the original libostree behaviour of fsync
ing each object as they are written. This makes the overall operation take much longer, but exhibits an I/O latency profile friendlier to neighbouring processes (such as databases) that also invoke fsync
. This will be used in OpenShift for example, where etcd latency is crucial.
Future work
There's a lot in the pipeline, including better handling of the /boot = /
case, static delta inline signatures, more CI work, etc.
Git shortlog
AJ Jordan (1):
Fix typo
Colin Walters (62):
main/pin: Fix usage of GError
tests: Rework tests/installed → tests/kola
tests/kola: Two test fixes
main/commit: Rework control flow to use --tree=X path
tests/pull-repeated: Bump up retries to match max fails
repo/commit: Add support for --selinux-policy-from-base
build-sys: Print libsodium status at end of configure
sign-ed25519: Convert some functions to new style
sign-dummy: Convert to current code style
signing: Remove g_debug(__FUNCTION__)
lib: Add error prefixing for sysroot load and repo open
sysroot: Reorganize sysroot load code a bit
lib: Squash two gtk-doc warnings
tests/pull-sizes: Disable xattrs everywhere
pull: Update key loading function to match error style
commit: Add --base argument
OWNERS: add d4s to reviewers
Only enable "dummy" signature type with opt-in env variable
lib/pull: Two cosmetic internal function renames
Change signature opts to include type, cleanup error handling
ci: Build minimal without libsodium too
Use `sign-ed25519` for the feature name
travis: Add some libsodium coverage
lib: Move internal binding verification API to repo.c
lib: Move pull struct definition into repo-pull-private.h
lib: Move gpg/signapi bits into ostree-repo-pull-verify.c
deploy: Add --no-merge
finalize-staged: Add ProtectHome=yes and ReadOnlyPaths=/etc
tests/staged-deploy: Cleanup initial state
signing: Add #define OSTREE_SIGN_NAME_ED25519
commit: Add --mode-ro-executables option
ostree-prepare-root: Requires=sysroot.mount
remote-add: Add --sign-verify=KEYTYPE=[inline|file]:PUBKEYREF
signing: Change API to create instances directly
tests/staged-delay.sh: New test
pull: Further cleanup signapi verification
finalize: Add RequiresMountsFor=/boot too
ci: Install kola tests
pull: Only have API to disable signapi for local pulls
ci: Test for clock skew
admin-test: Show err.txt on unexpected failure
pull: Add support for sign-verify=<list>
Move ro /sysroot bind mount of /etc into initramfs
tests/kola: Move to tests/kolainst
Add new Rust-based tests
remote-add: Default to explicit sign-verify backends
pull: Add error prefixing with specific object when parsing
bupsplit: rustfmt(*)
tests/rust: Extract a with_webserver_in helper wrapper
commit: Note in help that --base takes an argument
core: Add OSTREE_COMMIT_META_KEY_ARCHITECTURE
tests: Add a pre-signed-pull.sh test
sign/ed25519: Output failed signatures in error message
signapi: Change API to also return a success message
libostree-devel.sym: Remove nonexistent stub symbol
core: Add documentation for ostree_commit_get_timestamp()
sysroot: Remove unimplemented ostree_sysroot_lock_with_mount_namespace
tests: Port to Debian autopkgtest reboot API
tests: Add needs-internet tag for webserver bits
pull: Also append bytes written
pull: Add --per-object-fsync
Release 2020.4
Dan Nicholson (1):
lib: Coerce flags enums to GIR bitfields
Denis Pynkin (80):
Add libsodium dependency
lib/sign: initial implementation
sign: add new builtin for signing
sign: allow to sign commits from CLI
lib/sign: enable verification for pulling
tests: add test for commits sign/verification
sign: API changes for public keys and CLI keys format
builtin/sign: allow to provide the file with public keys
tests/sign: check public keys load from file
builtin/sign: remove libsodium-specific code
sign: fix unneeded objects creation
sign: fix error return for dummy module
builtin/sign: remove libsodium dependency
sign: fixes for ed25519 for loading public keys from files
sign: check signatures for pulled commits
tests/sign: add initial test for pulling
lib/sign: disable mandatory signature check
lib/sign: add support of file with valid keys for remote
lib/sign: read ed25519 public keys from well known places
builtin/sign: allow to sign with keys from secret file
tests/gpg: skip test in JS if GPG is not supported
sign: fix memory leaks and code cleanup
builtin/sign: allow to use multiple public keys for verification
lib/sign-ed25519: cleanup unneeded code
lib/sign: public API optimisation
lib/sign: allow to add keys as base64 string for ed25519
sign: use common function for loading public keys during pulling
lib/sign: minor optimisation for ed25519
lib/sign: add ostree_seign_clear_keys function
lib/sign: add revoking mechanism for ed25519 keys
builtin/sign: add option 'keys-dir'
tests/sign: check system-wide config and revoked keys
man: document `ostree sign`
bash-completion: add completion for `ostree sign`
apidoc: add API documentation for signing interface
man: document commit signing
bin/pull-local: add --sign-verify
tests/libtest: add functions for ed25519 tests
tests/sign: use library functions for ed25519 keys
tests/local-pull: test "--sign-verify" option
bin/remote-add: added "--no-sign-verify" option
tests: use option "--no-sign-verify" for adding remote
tests/sign: disable GPG for alternatively signed pull
lib/sign: allow to build with glib version less than 2.44
lib/sign: use separate public and secret keys for 'dummy'
tests/sign: add verification key for pulling with dummy
lib/sign: fix the false failure while loading keys
tests/sign: allow to start pull test without libsodium
lib/sign: new function for summary file signing
bin/summary: add signing with alternative mechanism
lib/repo-pull: verify signature on summary pull
tests/sign: new test for summary file verification
man: add signature options for ostree summary
gpg: do not fail GPG-related configuration get for remote
lib/repo-pull: change sign supporting functions
lib/repo-pull: set default for sign-verify-summary
lib/repo-pull: add signature check while fetching summary
bin/pull-local: add --sign-verify-summary
lib/sign: make dummy engine non-public
lib/sign: make ed25519 engine non-public
lib/sign: better error handling of ed25519 initialization
lib/repo-pull: return error from signing engine
lib/repo-pull: return errors from signature engines
tests/sign: added check with file and single key on pull
sign-ed25519: Convert functions to new style
sign-dummy: optimize ostree_sign_dummy_data_verify
lib/sign: convert ostree_sign_summary to new style
tests/sign: check pull failure with invalid remote options
lib/sign: return false for non-implemented functions
sign-pull: improve error handling
o...
2020.3
A quick followup to 2020.2, which introduced support
for [read-only sysroot][1] ended up breaking some of
the Fedora CoreOS tests in [coreos-assembler][2]
which in turn holds back ostree going into FCOS:
coreos/fedora-coreos-tracker#343
Now we've closed that gap and are running more of those
tests as part of our [new CI][3].
[1] 5af403b
[2] coreos/fedora-coreos-tracker#343
[3] coreos/fedora-coreos-tracker#263
Colin Walters (3):
Post-release version bump
ci: Test kola --upgrades
main: Also automatically remount rw /sysroot for `ostree pull` etc.
Jonathan Lebon (3):
ci: migrate to new coreos-ci project
ci: use `fcosKola` for running kola tests
Release 2020.3
Git-EVTag-v0-SHA512: 0032a560965e0dc2e8cd27b4324b54ca5f968a0a1f2ca67f1de7d810ac135595c034f3f5d2f8f68ef38cb0172558d0911583cd57c17cf12b1cba19ebdadf8997
2020.2
2020.1
There is now support for making the /sysroot
mount point read-only to start, and this is used by Fedora CoreOS today. This protects against a lot of accidental damage, and also generalizes and improves the previous special case handling of having /boot
read-only. One known issue is that ostree pull
is broken with this enabled, and this will be fixed.
Error-handling around GPG verification has had an overhaul. Specifically, libostree now has more specific error codes to distinguish between different verification failures. This should allow apps to have more fine-grained control over how to respond to errors. Do note that the error messages themselves have changed, and we strongly suggest that anyone relying on a specific error message string to migrate to using the API directly.
The original "archive" (split up objects) format didn't make it easy for a client system to know how much data it would be downloading. Later, static deltas were added which addressed this problem, but there are situations in which object fetches still occur. Later then support for optional sizes
metadata in commit objects was added but was never really stabilized/publicized. There were also some bugs in it. That is now completed - the sizes data is now stable. and new API was added to read it.
This release adds initial fs-verity support; it doesn't do too much today. Bigger picture it's important to understand that the vision of OSTree is to enable Linux systems that feel like they're "image based" (transactional, versioned updates, no dependency resolution client side), but also to enable things like doing commits on the client side. Today rpm-ostree supports replacing the kernel client side as a first class operation. This is crucially important to make it feel truly like a Linux system that you own. See also this blog. Having a story for how system integrity works in this model is more complicated, but we (the CoreOS team at RHT) will be continuing work on it.
A small tweak was made to have OSTree create repo structure directories and files (such as objects/
or .lock
) with group write permissions. This is useful for managing OSTree remote servers from multiple UIDs. For systems with the default umask of 0022
, this should have no effect.
We've extensively reworked CI for the upstream repo. In addition to Travis, testing is now done on top of Fedora CoreOS. Not all tests have been carried over, but expect to see more coming. This rework will also allow us to have more comprehensive tests previously not possible.
Several fixes were made to the test suite to handle the cases of systemd vs no-systemd, and systemd
is now advertised in the list of features in ostree --version
if present.
$ git shortlog --no-merges v2019.6..
Alex Kiernan (6):
test-switchroot.sh: Exclude /proc from file list
build: Expose systemd in OSTREE_FEATURES
tests: Skip /var test if running with systemd and libmount
test-switchroot.sh: Find ostree-prepare-root in installed tests
fixup! test-switchroot.sh: Find ostree-prepare-root in installed tests
build: fix systemd feature advertisement
Cole Robinson (1):
docs: Fix 'package layering' rpm-ostree link
Colin Walters (8):
Post-release version bump
finalize-staged: Use the core option parsing to load sysroot
Support mounting /sysroot (and /boot) read-only
Initial fs-verity support
Add .cci.jenkinsfile
travis: Update debian/ubuntu environments
ci: Replace PAPR with CoreOS CI
deploy: Avoid trying to change immutable state unnecessarily
Dan Nicholson (26):
lib/commit: Only set generate_sizes for archive repos
tests/sizes: Improve metadata validation
lib/commit: Fix object sizes metadata for multiple commits
lib/commit: Make size entries for existing objects
tests/sizes: Test sizes metadata with existing objects
tests/sizes: Test that sizes metadata is not reused
tests/sizes: Check duplicate file doesn't add sizes entry
libarchive: Support commit sizes metadata
core: Add OstreeCommitSizesEntry type
core: Add ostree_commit_get_object_sizes API
bin/show: Add --print-sizes option to show sizes metadata
tests/core: Really pick C.UTF-8 locale
ci/rpmostree: Bump to 2019.4
lib/gpg: Prefer declare-and-initialize style
tests/libtest: Record long GPG key IDs and fingerprints
tests/libtest: Make temporary gpghome private
tests/gpghome: Create revocation certificates for keys
tests/gpg-verify-data: Split out signature data
tests/gpg-verify-data: Empty out trustdb.gpg
tests/test-gpg-verify-result: Allow specifying signature files
lib/gpg: Add more specific OstreeGpgError codes
tests/gpg: Test ostree_gpg_verify_result_require_valid_signature
tests/gpg: Add tests for importing updated remote GPG keys
ci/flatpak: Patch GPG error assertions from OSTree
ostree/trivial-httpd: Fix --autoexit with --daemonize and --log-file
ostree/trivial-httpd: Add log message for autoexit
John Hiesey (1):
lib/commit: Include object type in sizes metadata
Jonathan Lebon (1):
lib/repo: Create repo directories as 0775
clime (1):
Update ostree-pull.xml with info about pulled refs location and access
Git-EVTag-v0-SHA512: b3907c7d53696eee789bf9be60df54385a3146347b78752212745b2f84e0429b5d50f8cb7408b2be483757893e1b65dc1eeb5c8fa1f6446efbe81efbd998e249
2019.6
Nothing major in this release, but we have some
bigger stuff outstanding and ready to merge, so I
want to get this release out so that work will
have time to stabilize.
A few build/CI fixes. A new progress API which
will be used by flatpak (and can be used by others).
Finally, we also avoid reordering kernel arguments.
Thanks to all contributors!
git shortlog --no-merges v2019.5..
Alex Kiernan (5):
tests/core: Fallback to en_US.UTF-8 locale
tests: Handle EPIPE failures when head terminates
tests/core: Assume C.UTF-8 if locale isn't found
tests: Avoid musl failure with `cp -a`
build: create tests directory for split builds
Colin Walters (6):
Post-release version bump
lib/keyfile: Treat "group not found" the same as "key not found"
Bump libglnx
tests/repo-finder: Run realpath() on /tmp
pull: Add support for basic auth
Release 2019.6
Philip Chimento (2):
Bump version in symbols file
libostree: Add ostree_async_progress_copy_state()
Ricardo Salveti (1):
Makefile: declare ostree_boot_SCRIPTS and append values
Robert Fairley (1):
lib/kernel-args: Store kernel args as key/value entries
Sam Thursfield (1):
README.md: Tweak text about BuildStream
Stefan Agner (1):
Avoid race condition when building outside of source tree
Git-EVTag-v0-SHA512: 915ebfe9501a74ca86a3b3aceafad352f4730fb148cc1874f2e49c7076fa1a948049fe9bd96b081502995b56096892a7405f5628f4e2e749bfaed2f35136f42a
2019.5
Mainly in this release:
- We discovered that CLang has a static analyzer
scan-build
;
it found some small memory leaks so far, otherwise mostly
noise, but we haven't dug through all the errors yet. - Gained a new zipl (s390x bootloader) backend
- Install the
.hmac
files needed for FIPS mode in/boot
too
This is also the first release where we switched to using
the OpenShift Prow as a merge bot, though a lot more CI work
is pending.
Alex Kiernan (5):
Always enable trivial-httpd for tests
Gate ostree-trivial-httpd on BUILDOPT_TRIVIAL_HTTPD
Revert "Gate ostree-trivial-httpd on BUILDOPT_TRIVIAL_HTTPD"
Revert "Always enable trivial-httpd for tests"
tests/export: Guard with check for libarchive
Colin Walters (25):
ci: Honor ARTIFACTS environment variable
ci: Make ${ARTIFACTS} directory
OWNERS: New file
libostree: Add an assert to pacify clang-analyzer
repo: [scan-build] Initialize a variable
sysroot: [scan-build]: Remove a dead assignment
sysroot: [scan-build] Remove a dead assignment
repo: [scan-build]: Mark a variable used
libotutil: Port keyfile-utils.c to new style
ci: Skip all yum operations if SKIP_INSTALLDEPS is set
commit: [scan-build] Remove a dead assignment
tree-wide: [scan-build]: Add some asserts that pointers are non-NULL
prune: [scan-build] Initialize a variable
bootloader: Add a zipl bootloader backend
ci: Trim PAPR config to drop required flag
tree-wide: [scan-build] Fix some dead stores
lib/repo: [scan-build] Quiet a dead store warning
lib/pull: [scan-build] Silence a dead store warning
tests: Port keyfile test to new style
lib: Port variant-builder.c to new style
tests: [scan-build] Initialize a variable
lib/checksum-utils: Use g_memdup()
build-sys: Cleanup handling for trivial-httpd-cmdline
Revert "grub2: Exit gracefully if the configuration has BLS enabled"
Release 2019.5
Dan Nicholson (1):
repo: Stop using deprecated G_GNUC_FUNCTION
Javier Martinez Canillas (1):
grub2: Exit gracefully if the configuration has BLS enabled
Jonathan Lebon (6):
Post-release version bump
configure.ac: Add more details on how to do a release
src/libotutil: Fix strv memory leak
lib/pull: Avoid calling destroy on unref'ed GSource
lib/pull: Tweak update_timeout logic again
lib/deploy: Also install HMAC file into /boot
Umang Jain (1):
async-progress: Plug memory leak while destroying GSource
Git-EVTag-v0-SHA512: 395f281ee8286eb6d22c215abc5146e1f27ecba6b120abee045d178150ea2116dd87e0e82b2d9ef4c150dec719716ae0d2583e5a1f9f38cb790fa81f55867e70
-----BEGIN PGP SIGNATURE-----
iQFHBAABCgAxFiEEq5KKnPjdBikJw3u93EX9WSHBPwsFAl25+TwTHHdhbHRlcnNA
dmVyYnVtLm9yZwAKCRDcRf1ZIcE/C3eFB/42VTlOWGei+VhTY7NmpuX8I28YKS/m
/OznhgDw1CPoUVzTT35oMAbD67ufZAN5vRdlBi/Liw1w1a867hVA2t+sEPNp/BiJ
hcdzLCGlUR1KRlpKKqiMPjzrWGdB9J9f1a2w8BPJ0FTUfXsnoVgbBJLkSVJ0ws0o
/FvHrzZl4BoIGhqMRsiK/+xOU+TyCqT6/7x8Iah4spBFoPWz2c7CHC6zfXBN+6h/
o14+PHDAx8V4WFvyFSDHrvE447YXX/r09zPDa1s2qSIduszWcZsh0WcAG5X/lxbi
taFA7MzOL28M6OgnQcUuxOVThAcxfvV3XuGqo1L+hRAKF1Fllw6bYlpd
=2M+V
-----END PGP SIGNATURE-----
v2019.4
This is mostly a bugfix release. Notably, the 2019.3 release caused some issues
related to the gpg-agent code spewing messages on the terminal. Additionally,
Fedora 31 users have hit upon issues with ostree-finalize-staged.service
running too late to be able to write back its logs to the journal. This then
confused rpm-ostree
after reboot, because it looks at the previous boot's
journal for this message.
The biggest feature-ish change is support for a partial commit "reason" so that
after ostree fsck --delete
was used, subsequent ostree fsck
will continue to
report an error. This should be used by higher level tools that want to do
"fsck and repair". It's likely at some point that "fsck and repair" logic will
move down into the libostree core as well.
There are ongoing efforts to port Fedora CoreOS to s390x: one fix landed here to
add the deployment prefix to BLS entries since it's what the zipl
bootloader
expected.
Special thanks to first-time contributors Benjamin Gilbert and Jason Wessel!
Benjamin Gilbert (1 PR, 1 commit)
prepare-root: remember to remove /sysroot.tmp (#1919)
Colin Walters (4 PRs, 4 commits)
Post-release version bump (#1902)
sysroot: Add a clearer error if /boot/loader isn't found (#1905)
ci: Add prow/ subdirectory with Dockerfile (#1906)
fsck: Fix version in docs, tweak error text (#1918)
Dan Nicholson (3 PRs, 3 commits)
lib/gpg: Only show gpg-connect-agent stderr on failures (#1908)
lib/gpg: Don't kill gpg-agent on newer gnupg (#1915)
lib/gpg: Use g_spawn_sync to kill gpg-agent (#1917)
Jason Wessel (1 PR, 2 commits)
PR: #1910
fsck: Add test for --delete corruption, fix repair, and partial commit checks
fsck: Implement a partial commit reason bitmask
Javier Martinez Canillas (2 PRs, 3 commits)
lib/bootconfig-parser: Always include deployment index in BLS title (#1911)
PR: #1904
lib/bootconfig-parser: Write BLS fragment fields in a deterministic order
lib/bootconfig-parser: Remove support to preserve comments in BLS files
Jonathan Lebon (2 PRs, 3 commits)
boot/finalize-staged: Run after systemd-journal-flush.service (#1926)
Release 2019.4 (#1927)
Philip Withnall (1 PR, 1 commit)
lib/repo-pull: Add more debugging on pull failure (#1925)
2019.3
A lot of changes since the last release. On the feature side,
probably the biggest is we've made public the internal API
for kernel arguments, which rpm-ostree now uses.
Other things include a new --modern
switch for init-fs
,
better support in pull
for downgrade protection, better
use of mmap
, support for committing archives (tarballs)
from stdin, etc.
Finally, libostree now supports being built without GPG,
which is an important preparatory piece for introducing
an alternative signature system - look for more work
on that soon.
Thanks to all contributors!
Allen Bai (1 PR, 1 commit)
lib/kargs: Make API public and upstream new rpm-ostree APIs (#1869)
Allen Bai (1 PR, 1 commit)
lib/util: Fix segfault when validating filename (#1868)
Colin Walters (4 PRs, 4 commits)
Add OSTREE_BUILT_FEATURES to ostree-version.h (#1890)
admin/init-fs: Add a --modern switch (#1894)
README.md: Rework "projects using" section (#1895)
Release 2019.3 (#1902)
Dan Nicholson (5 PRs, 16 commits)
bin/refs: Allow overwriting existing ref (#1870)
PR: #1799
tests: Always cleanup gpg-agent when exiting
tests/libtest: Allow appending actions to be run on EXIT
lib: Kill GPG agent when cleaning up tmp homedirs
lib/gpg: Add helper to kill GPG agent
PR: #1872
tests/test-gpg-signed-commit: Test more key states
tests/libtest: Allow specifying GPG homedir to cleanup
lib/gpg: Show if GPG key has been revoked
lib/gpg: Show information for expired keys
lib/gpg: Factor out expiration timestamp formatting
PR: #1884
tests/sizes.js: Fix byte array unpacking
tests/sizes: Fix call to commit_transaction()
PR: #1892
ci/rpmostree: Bump to 2019.3
lib/kargs: Don't expose OstreeKernelArgs autoptr cleanup on old glib
tests/gpg: Skip tests when subkeys can't be expired
tests/gpg: Use exit hook to kill agent in temporary GPG homedir
Daniel Drake (1 PR, 1 commit)
lib/deploy: handle FIFREEZE ENOSYS failure (#1901)
Denis Pynkin (1 PR, 9 commits)
PR: #1889
tests/test-repo-finder-mount: skip some tests if GPG is not supported
tests/gpg: fix GPG-dependent shell tests if no GPG support
tests/gpg: fix the check of GPG support
gpg: add dummy public interface
lib: rename common sign/verification functions and variables
gpg: conditionally build GPG-related code for sign/verification
build: Conditionally build the GPG-related tests
build: Conditionally build GPGME-related sources
build: Add conditional use of GPGME
Felix Krull (2 PRs, 6 commits)
README: update link to ostree-rs (#1860)
PR: #1861
lib: add parameter annotations for sysroot_load_if_changed
lib: add some missing (out) annotations
lib: fix up some nullability annotations
lib: add minimum version to various symbols based on libostree-released.sym
lib: fix doc comment for ostree_repo_get_min_free_space_bytes
Jonathan Lebon (3 PRs, 4 commits)
Post-release version bump (#1844)
bin: Better handle -- (#1899)
PR: #1891
lib/pull: Rename variable for clarity
lib/pull: Allow downgrade protection with overrides
Matthew Leeds (1 PR, 1 commit)
lib/repo: Improve docs for get_min_free_space_bytes() (#1879)
Philip Withnall (1 PR, 1 commit)
ostree-repo-finder: Clarify immutability after construction (#1863)
Rafael Fonseca (2 PRs, 2 commits)
admin: allow multiple args for pin subcommand (#1874)
lib/kargs: add missing function to symbol-versioning table (#1883)
Richard Hughes (1 PR, 1 commit)
lib: mmap the summary to reduce RSS in clients (#1856)
Robert Fairley (4 PRs, 8 commits)
ci: Split out installdeps.sh from build.sh (#1865)
lib/util: Drop unneeded ot-tool-util.h includes (#1876)
PR: #1857
lib/fetcher-util: Use GIOErrorEnum instead of GIOError
tests: Drop unused variable
PR: #1871
ci/flatpak: Bump FLATPAK_TAG to 1.4.1
Makefile-libostree.am: Work around clang issues with g-ir-scanner
ci/build-check: Remove unused-command-line-argument diagnostic
ci: Use Fedora 29 artifacts
Tristan Cacqueray (3 PRs, 3 commits)
docs: fix switchroot source link (#1849)
docs: fix missing as typo (#1850)
prepare-root: remove ignored MS_MGC_VAL flag (#1851)
Tristan Van Berkom (1 PR, 4 commits)
PR: #1862
tests: Test committing archives from stdin
man: Document ability to commit archives from stdin
bin/commit: Support committing archives from stdin
lib/commit: Added new ostree_repo_write_archive_to_mtree_from_fd()
Git-EVTag-v0-SHA512: 0033fb6c93a0aed1518c93ac8ba153862da38e06e1e24fcae910121e36298295dff76cd7a38720e8ffa1c1899cdffd867ecd5350d9582b618eedd6172d6f5b8f
-----BEGIN PGP SIGNATURE-----
iQFHBAABCgAxFiEEq5KKnPjdBikJw3u93EX9WSHBPwsFAl1e6b8THHdhbHRlcnNA
dmVyYnVtLm9yZwAKCRDcRf1ZIcE/CzMmCACNW20+T+ttvo0gl+vQMaWBBLQXbCKg
qKyXuEXquKUXGOwq4Ke3tz+cB26QWmAT2A+aX6BzBgJrVq2xMZvjoAabHr8/sP3m
4Qql/fqBjKWhQPwxU/fwWxCD4zgdQgDBSLgXSQTnGCTG5uN40PQhAv084A9SiSVJ
1XDPg9pNvXUmvti6N3BKZtOd00qPd2IJb+G/OT+d87RYyviRdsXXI1LpOuz2KvzF
pcAZE1fTB3dLaiFuzSJVv7Du9rvVT39gaArZdJXKwL2eNkTzeAucIBLub6R5YRas
WWOs+K/vb+CrxsSkuuV7ynnK79r+2ZN37Sz3lOQ6oAE+BJjIsp8mwD0S
=/3eX
-----END PGP SIGNATURE-----
2019.2
It's been some time since the last release, so this is a slightly larger
one! There's lots of new features, and a few bug fixes. Some highlights
below.
New features:
- A new
sysroot.bootloader
key was added to be more explicit about
which bootloader OSTree should use. Notably anone
value is
supported, in which OSTree is solely responsible for writing the BLS
entries. This can then be used by bootloaders like GRUB2, which now
supports BLS natively. (#1814) ostree config
now supports theunset
command to unset a key from
the OSTree repo config (#1743)ostree remote add
now supports the--force
flag to replace a
remote of the same name if it exists (#1166)ostree-prepare-root
now logs a structured journal message after
finding the deployment to which to pivot. This can be used by
higher-level apps like RPM-OSTree to build a history of the
deployments the machine was booted into. (#1842)- The staging API now supports a lockfile which prevents finalization at
shutdown. This is intended to be used in systems like Fedora CoreOS,
which needs more fine-tuned control between staging a deployment,
and setting it as the default deployment on reboot. (#1841) ostree static-delta show
now prints theFrom
andTo
commits for
which the delta was generated (#1823)
Bug fixes:
- Make looking up collection-refs similar to how regular refs are looked
up, i.e. first in the transaction, then in the current repo, and then
in the parent repo (#1821) - Don't include the OSTree commit version number twice in the boot menu
title. This affected at least Fedora-based systems composed with
RPM-OSTree'smutate-os-release
. (#1829) - Activate
ostree-finalize-staged
earlier; this should hopefully make
deployment finalization more reliable by running it later in the
shutdown sequence, when less services are running (#1840) - Run
grub2-mkconfig
on the filesystem tree of the pending deployment,
rather than the previously deployed tree. This was a corner case where
the deployment failed if a previous deployment did not exist, on
systems where grub.cfg is used. (#1831)
As always, thanks to all the contributors!
Colin Walters (5 PRs, 8 commits)
Post-release bump (#1800)
static-delta: Change `show` to display from/to commits (#1823)
prepare-root: Fix compilation with --with-static-compiler (#1846)
PR: #1803
lib/commit: Don't set user.ostreemeta for bare → bare-user-only imports
lib/commit: Set xattr on correct fd for bare-user → bare-user imports
lib/commit: Fix bare → bare imports
PR: #1806
ci/rpmostree: Bump to 2019.1
ci/rpmostree: Fix use of `fatal`
Dan Nicholson (1 PR, 3 commits)
PR: #1166
remote-add: Add --force option to add or replace remote
man: Document remote add --if-not-exists option
repo: Add OstreeRepoRemoteChange replace operation
Jeremy Bicha (1 PR, 1 commit)
tests: Update for glib 2.59.2 (#1818)
Jonathan Lebon (6 PRs, 9 commits)
lib/deploy: Don't include version twice in bootmenu title (#1829)
boot: Activate ostree-finalize-staged even earlier (#1840)
ostree-prepare-root: Log journal message after finding deployment (#1842)
Release 2019.2 (#1844)
PR: #1841
lib/deploy: Support locking deployment finalization
lib/deploy: Write to journal if nothing to finalize
lib: Add ot_journal_* helper macros
PR: #1843
lib/sysroot: Match deployment /usr mode for overlay
lib/sysroot: Call `chmod` on overlay dirs when unlocking
Laurent Bonnans (1 PR, 1 commit)
lib/repo: fix leak of `bootloader` field (#1837)
Matthew Leeds (11 PRs, 17 commits)
tests: Don't skip collection-based summary test (#1804)
lib/repo-pull: Allow the keyring remote to be overridden (#1810)
lib/repo-pull: Fix docs for n-network-retries option (#1812)
lib/repo: Fix Since: annotation for REMOTE_CHANGE_REPLACE (#1813)
tests: Remove unused includes in libostreetest.c (#1815)
man: Document ostree --version (#1820)
lib/repo-refs: Resolve collection-refs in-memory and in parent repos (#1821)
lib: Check for http_proxy being the empty string (#1835)
PR: #1743
ostree/config: Check for too many args
man/ostree-config: Consistently use GROUPNAME placeholder
ostree/config: Use g_autoptr instead of goto
ostree/config: Add an "unset" operation
PR: #1825
lib/repo-refs: Allow resolving local collection-refs
lib/repo-refs: Add a flag to exclude listing from refs/mirrors
lib/repo-refs: Fix resolving collection-refs
PR: #1834
tests: Put a regex in quotes
tests: Escape periods when appropriate
Micah Abbott (1 PR, 1 commit)
README: add note about Liri OS (#1802)
Robert Fairley (3 PRs, 9 commits)
PR: #1814
Add sysroot.bootloader repo config key
libotutil: Rename to ot_keyfile_get_string_list_with_separator_choice()
tests/test-config: Remove extra space
ostree-grub-generator: Comment wording fix
(and 1 commit from other author)
PR: #1831
grub2: Generate config from pending deployment
tests/test-admin-deploy-none: Split grub.cfg directory and file creation
tests/test-admin-deploy-none: Update comment for #1774 status
PR: #1839
tests/test-config: Fix regex causing Debian test failure
travis: Update to Debian Stretch
Robert Fairley (1 PR, 1 commit)
PR: #1814
libotutil: Add ot_keyfile_get_value_with_default_group_optional()
(and 4 commits from other authors)