Skip to content

v2017.11

@cgwalters cgwalters tagged this 04 Dec 21:56
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
Assets 2
Loading