This release introduces a new automatic update policy: "ex-stage". As
hinted by the "ex" prefix, this is still an experimental option. This
builds upon a new "staging" feature in libostree which allows a pending
deployment to only be completed at reboot time. The major advantage of
this approach is that it finally addresses the long-standing `/etc`
merge issue (#40), where changes to `/etc` *after* a pending deployment
is created are not actually carried over at reboot. We expect this
behaviour to become the default in the future. For now, one can either
use the "ex-stage" policy, or put this in their `rpm-ostreed.conf`:
```
[Experimental]
StageDeployments=yes
```
See the [ostree upstream release](https://mail.gnome.org/archives/ostree-list/2018-May/msg00003.html)
for more details around deployment staging.
PR: #1321
The way pending updates are displayed in the `status` output has been
reworked to be more intuitive. The pending diff and any addressed
advisories are now printed as part of the pending deployment itself
rather than a separate "Available update" section.
PR: #1350
Two changes for overrides:
- core: Finish implementing `override replace ./kernel*.x86_64.rpm (#1346)
- core: Don't rm-rf directories when doing overrides (#1341)
We fixed using `override replace systemd*.rpm`. And the kernel
overrides in particular closes a longstanding gap - using ostree with
local or testing kernel builds is an obvious thing to support.
The `status` command now supports a new `-a`/`--advisories` to only
print details about outstanding advisories fixed in an available update.
PR: #1350
As usual, there were also a string of minor paper cut fixes and
enhancements. For example, resetting an inactive override is now
possible. There were also multiple tweaks to the auto-updates mechanism
to make it more lightweight.
PRs: #1323 #1324 #1344 #1357
Colin Walters (22 PRs, 28 commits)
core: Prefix error when loading commit for cache branch (#1314)
core: Bound number of async imports by CPUs (#1317)
core/scripts: Support /var/lib/rpm-state (#1319)
build-sys: Mark libpriv symbols as private (#1320)
Add "ex-stage" update policy, support for ostree staged deployments (#1321)
ci: Ensure we exclude ostree from base fedora too (#1326)
daemon: Simplify how we load deployments (#1327)
bin/status: Factor out deployment printing into helper function (#1328)
tests: Split unit test-basic.sh into introspection + upgrade-rebase (#1338)
core: Don't rm-rf directories when doing overrides (#1341)
status: Show rpmmd-repo data in verbose mode (#1345)
core: Finish implementing `override replace ./kernel*.x86_64.rpm (#1346)
docs/compose: Mention caching, privileged containers, example code (#1347)
syscore: Only do a single repo prune for base+pkgcache (#1351)
Add an experimental option to use libostree's "staging" API (#1352)
db: Add some error prefixing around rpmdb loading (#1356)
core: Tweak package checkout message, update libglnx (#1363)
ci: Split codestyle checks into separate context (#1364)
PR: #1333
bwrap: Split out a "base" constructor
core,scripts: Move creation of /var/tmp into core
compose: Add environment variable to skip tmpdir cleanup
PR: #1336
tests: Split test-basic into misc-{1,2}
tests: Move ostree-update creation functions into libvm.sh
tests: Migrate some basic unit tests that start daemon to vmcheck
PR: #1339
tests: Move upgrade/rebase tests from unit to vmcheck/test-upgrades
tests: Move more update-generation bits to libvm.sh
PR: #1355
tests: Extend staging to cover vmcheck/upgrades
daemon: Add some error prefixing around reloading
Jonathan Lebon (8 PRs, 18 commits)
daemon/upgrade: Write out new cached update (#1344)
libglnx: Bump for copy_file_range fix (#1361)
Release 2018.5 (#1367)
PR: #1323
vmcheck/override-replace: Fix status jq test
overrides: Allow resetting inactive overrides
buildutils: Add libglnx.m4 to .gitignore
PR: #1324
daemon: Factor out function for retrieving DnfSack
daemon: Create cache dir before writing cached update
tests/libvm: Support SSH_CONFIG env var
daemon/upgrader: Return new deployment in deploy()
PR: #1350
app/status: Add --advisories flag
app/status: Print diff/advisories with pending deployment
PR: #1357
daemon/upgrader: Reuse sack from core for advisories
libpriv/core: Always load updateinfo when preparing
app/dbus-helpers: Factor out diff/advisory printing
app/status: Drop unused argument
PR: #1365
ci: Use continuous branch for now
ci: Drop BDB1539 hack
Matthew Leeds (1 PR, 1 commit)
README.md: Fix youtube link (#1335)
Micah Abbott (2 PRs, 2 commits)
docs: add additional details about 'tmp-is-dir' (#1315)
man/rpm-ostree: --check always updates RPM metadata (#1353)
Git-EVTag-v0-SHA512: bef65b5bbc7c0a57a08437a4e536978cbcfca83a2500c3737685973e29373e515baaa4922fb7bc1f6e5dec4e06557074bb67a7e902923d693abe2cfbb6a6cd98