Skip to content

v2018.1

@cgwalters cgwalters tagged this 15 Jan 19:45
One of the most notable features in this release is that we make
use of the new libostree `--copyup` support when executing RPM
scripts on the client side: https://github.com/ostreedev/ostree/pull/1382
For example, this makes `rpm-ostree install fish` work.  More information
about the general issue is available here: https://bugzilla.redhat.com/show_bug.cgi?id=1352154
PR: #1171

On the flip side, we have made a mostly-compatible change to drop
most Linux "capabilities" during RPM script invocation.  For example,
it is no longer supported to e.g. load a kernel module as part of a
%post.  We don't believe there are any packages that *currently* work
that this would break, but please do report any issues.
PR: #1099

Also related to scripts, we fixed compatibility with scripts that invoke
`systemctl enable` in %post:
PRs: #1157 #1148

The client now supports a new `cancel` command to allow cancelling
any on-going operation. This is useful if one has somehow lost the
controlling terminal from which the command was issued.
PR: #1019

The `status` command now supports a `--jsonpath` switch to make
it easier to access specific fields of the JSON output.
PR: #1164

A lot of preparatory work has gone in for automatic updates. For
example, `rpm-ostree compose tree` now embeds the full list of packages
contained within the compose directly in the commit metadata for
easier introspection both locally and remotely. An example of the benefits
from this is that `db diff` no longer requires the full commit tree to work.
PRs: #1134 #1162

One (mostly) cosmetic but still long-overdue change is a
rework of our progress bar output.
PRs: #1143 #1150

An internal change but one with quite visible effect
is that rpm-ostree has started to parallelize (multithread) more
operations; in this release, that includes "importing" and SELinux relabeling.
PRs: #1137 #1124

Work on [rpm-ostree jigdo ♲📦 https://github.com/projectatomic/rpm-ostree/issues/1081] continues.
We landed quite a lot of work to move the logic into the core code;
for example, it's now possible for the compose/build side to do *both*
an OSTree repository commit and jigdo simultaneously:
PR: #1165

The major missing piece now for jigdo is supporting it on the client side.  Also,
this is a deeply fundamental change to how rpm-ostree works, and we're
very interested in feedback particularly from anyone who today makes
"custom" builds.

Colin Walters (42 PRs, 64 commits)
  tests: Run compose tests in parallel ∥ (#545)
  Add `cancel` verb and DBus API (#1019)
  scripts: Drop most capabilities (#1099)
  jigdo2commit: Change input to repoid:name (#1130)
  jigdo2commit: Print download size (#1131)
  status: Prefix ostree refspecs with ostree:// (#1136)
  compose: Fix --ex-unified-core devino cache (suid bits lost) (#1139)
  core: c++ build: Use enum-NONE value instead of zero (#1141)
  compose: Write rpmdb to /usr/lib/sysimage/rpm-ostree-base-db (#1142)
  Improve progress output (#1143)
  Start moving some jigdo logic into core (#1144)
  Move most jigdo build logic into internal library (#1146)
  core: Process `systemctl preset` in `%post` (#1148)
  core: Make use of "n items" progress for filesystem checkouts (#1150)
  jigdo2commit: Make use of new libostree commitpartial API (#1152)
  core,passwd: Use new libostree hardlink-break API (#1154)
  tests: Make use of commit --no-bindings if available (#1167)
  cli: Rework exit status processing (#1169)
  bwrap: Use rofiles-fuse --copyup by default (#1171)
  core,compose: Fix unified core pkgcache labeling (#1173)
  scripts: Suppress microcode_ctl posttrans (#1174)
  tests/compose: Pull in Fedora updates (#1177)
  scripts: Only append "run journalctl" message if using journal (#1181)
  core: Say "Installing %u packages", not "overlays" for containers (#1186)
  ci/papr: Bump compose tests to 4 min vCPUs (#1187)
  tests/compose: Various fixes (#1188)
  man: Various tweaks/updates to the man page (#1189)
  experiments-and-demos: New subdir with skopeo2ostree Dockerfile (#1193)
  core: Don't try to relabel if no SELinux policy (#1194)
  PR: #1124
    core: Implement parallel importing
    importer: Rework API
  PR: #1135
    jigdo: Add Provides: rpmostree-jigdo(v1), require it on client
    commit2jigdo: Query objsize from correct repo when building objid map
    commit2jigdo: Add some error prefixing
  PR: #1137
    core: Implement parallel relabeling
    txn: Let first error win vs cancellation
    daemon/sysroot: Drop internal cancellable
    importer: Check cancellable early on
  PR: #1138
    core: Change relabeling to use libostree's SELinux support
    core: Rework internal checkout API and relabeling error message
  PR: #1140
    jigdo: v3: Make installSet=jigdoSet
    jigdo: v2: Use jigdoset in Requires, and commit hash in Provides
    commit2jigdo: Fix destructor ordering
    commit2jigdo: Print size of non-jigdoSet packages
    jigdo: Verify checksum of commit upfront
    commit2jigdo: Synthesize Requires: for jigdo set
  PR: #1151
    postprocess: Use same rigor for bwrap as scripts in unified core mode
    core: Fix fcaps (e.g. ping) in unified core mode
  PR: #1156
    build-sys: Sync CFLAGS with libostree
    Use #ifdef for BUILDOPT instead of #if
    build-sys: Bump glib dependency
    build-sys: Fix use of libglnx configure bits
  PR: #1157
    scripts: Make use of SYSTEMD_OFFLINE environment variable
    bwrap: Hoist subprocess data into struct
  PR: #1161
    compose: Move txn+ref to toplevel, out of postprocess/commit code
    tests/compose: Add a test for --write-commitid-to
  PR: #1165
    compose: Add --ex-jigdo-output-set
    compose: Add --ex-jigdo-output-rpm
  PR: #1168
    core: Split out a -private.h header with struct
    Lower jigdo client logic into core
  PR: #1184
    lib/core: Add API to retrieve all pkgs
    core,util: Lower some DnfPackage* bits into utils
    tests/compose: Rename jigdo.sh to jigdo-e2e.sh
  PR: #1198
    tests: Add a test case for epoch 0 in rpmdb pkglist
    (and 1 commits from other authors)

Jonathan Lebon (16 PRs, 37 commits)
  Makefile-daemon.am: work around gdbus-codegen path logic (#1153)
  app/status: wrap package lists nicely if too long (#1159)
  app/status: support JSONPath queries (#1164)
  libpriv/rpm-util: just encode evr in pkglist (#1190)
  app/main: also return the bus type on option parsing (#1191)
  daemon: bump idle exit timeout to 60s (#1192)
  lib/db: actually allow-none for out parameters (#1202)
  tests/vmcheck: expand a bit more --copyup tests (#1203)
  PR: #1134
    app/compose: include rpmdb pkglist in compose
    libpriv/util: add precondition to catch potential trap
    app/compose: fix bad return values
  PR: #1155
    daemon/os: check for download-only and dry-run conflict
    daemon/deploy: fix --dry-run downloads packages
    libpriv/rpm-util: fix returning FALSE instead of NULL
    daemon/os: fix complete function for SetInitramfsState()
    rpm-ostreed.service: tweak description and add doc
    core: remove extra newline between repo downloads
  PR: #1158
    libpriv/rpm-util: operate on DnfSack directly
    libpriv/rpm-util: insert pkglist metadata sorted
    libpriv/rpm-util: drop get_pkglist_for_root
    libpriv/core: include pkglist for client commits
  PR: #1160
    daemon: avoid using floating GVariant refs
    daemon/sysroot: reload repo before deployments
    daemon/deployment-utils: some new style porting
    daemon/os: reorder iface functions
    daemon/package-variant: fix off-by-one error
    daemon/package-variant: some more porting to new style
  PR: #1162
    app/db-diff: make use of new db API
    lib/db: use new pkglist metadata API if possible
    lib/package: teach about rpmostree.rpmdb.pkglist
  PR: #1196
    app/status: factor out some print functions
    app/status: factor out escape chars logic
    dbus: document missing key from CachedUpdate
  PR: #1198
    libpriv/rpm-util: encode epoch as a string
    (and 1 commits from other authors)
  PR: #1200
    tests/libtest-core: support multiple literal checks
    libpriv/rpm-util: add autoptr support to RpmHeaders
    libpriv/rpm-util: factor refts from rootfs helper

Micah Abbott (1 PR, 1 commit)
  docs: update branch examples for 'rebase' command (#1175)

Git-EVTag-v0-SHA512: 86631ef5fd7f149f835abb5335627f88346e609af5927e23182783b6ef61282df1104ed822e1469e267b89925e248bf6ee284cb5d064f53b26de842fa42deaa9
Assets 2
Loading