By far the biggest change here is
Introduce experimental "rpm-ostree jigdo" (#1103)
This is currently experimental, but it's part of a major initiative
we have to rethink transport/storage and really the whole UX of
rpm-ostree, including on the client side. If you're interested
in this, please see the tracking issue:
https://github.com/projectatomic/rpm-ostree/issues/1081
(Landing this feature also required adding a new experimental
--ex-unified-core option for `compose tree`; this demonstrates
what we consider the future for the build side, including
leading us down the path towards fully unprivileged composes)
To keep the universe in balance, we also lifted a feature out of
experimental; the `ex override` command is now just `override`.
A few efficiency improvements were made for client-side layering
around package imports, and the final commit. In my test scenario,
the "Writing OSTree commit" phase went from 10 seconds to less than 1.
There is a new `ex kargs` command to change kernel arguments,
contributed by Ruixin Bao. This has been a longstanding gap in
management; the way libostree generates kernel arguments is
quite different, and long term we'd like to remove `grub2-mkconfig`
etc. from the system. Among other neat features, this is the first
command with an interactive `--editor`.
On the client side, you may notice after upgrading that the output
of `ostree refs` will include entries for the imported layered packages.
Rather than using a separate repo, packages are now
imported directly into the system repo to better share memory and avoid
tricky pitfalls.
Some minor improvements to reported errors during package layering
were also made.
```
Colin Walters (31 PRs, 46 commits)
compose: Add rpmostree.rpmmd-repo metadata to commits by default (#1079)
lib/scripts: Only log to journal if stdout is already the journal (#1084)
tree-wide: Use glnx_close_fd() (#1085)
(refactor) Move pkgcache helper function to sysroot-core (#1086)
Lift 'override' out of experimental (#1089)
unpacker: Error out when trying to install RPM in /usr/local (#1090)
scripts: Ignore nfs-utils.post (#1092)
core: Use tmpdir in ${repo}/tmp for SELinux relabeling (#1095)
lib/db: Port to new style (#1100)
tree-wide: s/hif/dnf/ (#1106)
daemon,libpriv: Some porting to decl-after-stmt (#1107)
ci/papr: Update to f27-primary (#1108)
compose: Do relabel before downloading in --ex-unified-core (#1109)
libpriv: Rename "unpacker" to "importer", split off "unpacker-core" (#1110)
postprocess: Add envvar option, and detect NFS, skip ostree txn (#1111)
tests: Correctly error out if some part of install.sh fails (#1115)
tests: Use ostree commit --consume (#1117)
txn: For --download-only, print 'changed' message if changed (#1118)
ci/papr: Update the other contexts to F27 (#1125)
compose/dracut: Use a host tmpdir for dracut (#1126)
PR: #940
compose: Add --ex-unified-core
core: Don't try to apply non-root uid/gid when run as non-root
unpacker: Handle uid/gid when running unprivileged (non-root)
tests/ex-container: Disable parallelism for now
PR: #1082
lib/postprocess: Create OstreeSePolicy more directly
ex-unpack: Open OstreeSePolicy more directly
PR: #1083
lib/core: Synthesize tmpdir for commit if no base provided
lib/core: Add API to set devino cache
PR: #1088
passwd: Don't use alloca() in a loop
lib: Hoist "break single hardlink" API to util.c, use in passwd
PR: #1098
passwd: Always break hardlinks for shadow,gshadow, handle no merge
core: Always process usr/etc/passwd
core: Use ADD_FILES checkout mode for "setup"
PR: #1103
Introduce experimental "rpm-ostree jigdo"
tests/libtest: Fix logic error in creation test-repo file
tests/compose: Disable fsync
PR: #1104
core: (refactor) Load pkgcache commit object earlier
core: (refactor) Style cleanup for pkg cache state load
PR: #1105
unpacker,core: Honor nodocs flag
unpacker,core: Handle selinux-policy-targeted at unpack time
PR: #1116
Change unpacking to use a single ostree txn
ex-unpack: Delete
PR: #1122
tests/compose: Rework caching to cache RPMs
compose: Add --download-only option
PR: #1123
core: Use DEVINO_CANONICAL for pkglayer if policy unchanged
ci/build.sh: s/26/27/ for FAHC check
Jonathan Lebon (6 PRs, 10 commits)
compose CLI: fix --repo consuming two arguments (#1101)
build: allow `git describe` versioning in worktrees (#1102)
papr: fix sanity test and bump to f27 (#1112)
PR: #1055
daemon: Unify pkgcache with system repo
daemon/sysroot: Port to new style
PR: #1119
tree: account for ephemeral nevra string
core: fix minor memory leak
PR: #1121
core: print out more details on forbidden replacements
diff_print: drop unused OstreeRepo argument
core: separate scopes for each check
Ruixin Bao (2 PRs, 2 commits)
app/libpriv: add editor option for karg command (#1097)
PR: #1013
tests/check: Add unit tests for kargs options
(and 6 commits from other authors)
Ruixin Bao (1 PR, 6 commits)
PR: #1013
tests/vmcheck: add deploy-index and proc-cmd test for kargs
libpriv/vmcheck: support replace option for karg command
vmcheck: Add tests for rpm-ostree ex kargs delete and append
daemon/libpriv: add handlation for kargs delete option
daemon: add handlation for kargs append
app/daemon: add groundwork for rpm-ostree kargs command
(and 1 commits from other authors)
```
Git-EVTag-v0-SHA512: 14b067ea2bb847f4240a100df75eda2c01809399cba9edc021d600328e07ccf2ca33aac4e5efe426228cab639f2e5ae2885b6ea2594c2efe6f7a3e94dda448fc