Skip to content

Releases: coreos/rpm-ostree

2022.6

08 Apr 21:47
v2022.6
Compare
Choose a tag to compare

rpm-ostree v2022.6

A major new feature in this release is initial support for "chunked" ostree containers.
The client (and part of the build side) was released in ostree-ext 0.7. On the build side here, the new
rpm-ostree container-encapsulate command will generate "chunked" images.
For more information, see ostreedev/ostree-rs-ext#69

Also relating to containers, override replace and override remove now work in container builds.

The rpm-ostree compose extensions command now supports a --rootfs switch to operate directly on a rootfs rather than an ostree ref.

Notable bugfixes

rpm-ostree should now work on CentOS Stream 9 systems without polkit.

We work around kernel packages that have absolute paths in their .hmac files.

We now correctly detect and error out when in a container environment for commands that do not support it.

Internals

We adopted clang-format and reformatted the whole source tree for consistency.

Significant work landed on canonicalization our representation of state in the treefile (not "origin"). For more information, see this issue.

Progress continues on porting to cap-std.

We fixed several clang scan-build warnings.

Several CI reliability improvements landed.

Oxidation continues! Some code was rewritten in Rust (from appoximately 17% of the code to 19%).
We also started adopting Rust inline format!, and fixed some clippy lints.

Special thanks to first-time contributor Jonathan Dickinson!

Benno Rice (7):
      Ignore .vscode and libgnlx-config.h
      Separate includes that need to retain non-alphabetic ordering.
      Add a clang-format configuration file.
      Add a pass to ensure C/C++ code under `src` meets style.
      Reformat all C/C++ code under src with clang-format.
      Fix handling of lockfile parent directory, port to cap_std
      Fix clippy warning.

Colin Walters (43):
      Bump to containers-image-proxy 0.4.1
      Require clang-format on all C/C++ files
      Update to cap-std-ext 0.23.3
      ci: Only run one instance of `clang-format`
      docs: Mention mount point mutability
      daemon/sysroot: Use iterators more
      compose: Complete porting to cap-std
      client: Don't invoke `systemctl start` if unit is already active
      client: Warn about reliability of `--check` and `--preview`
      extensions: Port to cap-std
      Bump to cap-std 0.24.2, use `try_exists()`
      lockfile: Use new internal `open_dir_of` helper
      composepost: Also remove stamp file created by recent RPM `%posttrans`
      rpmutil: Ensure libdnf is initialized when loading rpmdb
      ci: Add Github action flow for testing container path
      ci: Be verbose for tar extraction
      cli: Opt-in some CLI verbs to working inside ostree containers
      container: Cleanup BDB rpmdb leftovers after installs
      compose extensions: Support `--rootfs`
      extensions: Validate we don't have `--repo` and `--rootfs`
      ci: Drop skopeo override
      composepost: Make rpmdb location `pub(crate)`
      architecture: Motivate base vs extensions split
      man: Document that `rebase` and `deploy` will also update layered packages
      spec: BR `libassuan-devel` on rhel8
      daemon: Handle `org.freedesktop.DBus.Error.ServiceUnknown` too
      core: Port to cap-std
      compose: Fix handling of base rev
      daemon: Port to cap-std
      extensions: Port to cap-std
      testutils: Port to cap-std
      testutils: Port to rustix for `Mode`
      partial, tree-wide: Switch to using inline variables in `format!`
      daemon: Move tokio handle reference into daemon
      core: Minor cleanups for kernel hmac bits
      ci: Move legacy compose tests to GH actions
      ci: Rename some of the GH actions
      Update to ostree-ext 0.7, add new `container-encapsulate`
      ci: Move codestyle check into our single GH actions flow
      ci: Pull buildroot from CI registry
      importer: Initialize cpio offset
      tree-wide: Rework C++ try/catch to GError bridging
      Release 2021.6

Jonathan Dickinson (2):
      use basename when cleaning up the .vmlinuz.hmac file
      port rpmostreed_generate_object_path to rust

Jonathan Lebon (68):
      packaging: Canonicalize tarballs to uid/gid 0
      packaging/spec: Don't own /usr/share/dbus-1/system-services
      Makefile: add `make clang-format` to format tree
      treefile: Don't serialize override-commit if `None`
      libpriv/container: Drop treefile generation helper
      libpriv/container: Add missing includes
      scripts: Also ignore kernel-debug-core.posttrans
      .editorconfig|.vimrc: Adapt to .clang-format spec
      daemon/upgrader: Cleanup unused variables
      treefile: Drop new_from_fields()
      daemon/upgrader: Remove misleading try/catch
      libpriv/util: Rename CXX_TRY to ROSCXX_TRY and add CXX_TRY
      libpriv/util: Add `CXX` and `CXX_VAL` macros
      tree: Add missing CXX wrapping
      tree: Remove unneeded CXX wrapping
      tree: Remove more try/catch blocks
      treefile: rework validation for container flow
      app/override: Support override remove in container flow
      app/override: Support override replace in container flow
      vmcheck/history: delete journal hack
      rust/origin: support converting treefile to origin
      libpriv/origin: Uninline parse_deployment
      libpriv/origin: Drop classify_refspec
      libpriv/origin: Pass RpmOstreeOrigin directly to helper
      libpriv/origin: Drop get_full_refspec
      libpriv/origin: Rename has_packages to has_any_packages
      libpriv/origin: Delete unused modules_install
      rust/origin: Genericize keyfile string list parsing
      libpriv/origin: Drop unused get_string
      libpriv/origin: Move ref/unref higher up
      rust/utils: Add OptionExtGetOrInsertDefault
      libpriv/origin: Stop commenting override commit version
      rust/origin: Drop duplicate check for `container-image-reference`
      core: Make refspec classification infallible
      libpriv/origin: Make set_rebase infallible
      core: Oxidize rpmostree_refspec_classify
      rust: Convert `map().flatten()` to `and_then()`
      rust/treefile: Support constructing from YAML strings
      libpriv/origin: Drop `G_[BEGIN|END]_DECLS` wrappers
      libpriv/origin: Label mutability of all public functions
      libpriv/origin: Move source of truth to treefile
      libpriv/origin: Back get_refspec() by treefile
      libpriv/origin: Back get_custom_description() by treefile
      libpriv/origin: Back get_packages() by treefile
      libpriv/origin: Back has_modules_enable() by treefile
      libpriv/origin: Back get_local_packages() by treefile
      libpriv/origin: Back get_override_remove() by treefile
      libpriv/origin: Back get_overrides_local_replace() by treefile
      libpriv/origin: Back get_override_commit() by treefile
      libpriv/origin: Back get_initramfs_etc_files() by treefile
      libpriv/origin: Back get_regenerate_initramfs() by treefile
      libpriv/origin: Back get_initramfs_args() by treefile
      libpriv/origin: Back get_unconfigured_state() by treefile
      libpriv/origin: Back has_any_packages() by treefile
      libpriv/origin: Back may_require_local_assembly() by treefile
      libpriv/origin: Back dup_keyfile() by treefile
      libpriv/origin: Back get_cliwrap() by treefile
      libpriv/origin: Make sync_treefile() void
      libpriv/origin: Use CXX_MUST_VAL in sync_treefile()
      libpriv/origin: Add sync_origin()
      libpriv/origin: Use set_override_commit() instead of treefile resync
      libpriv/origin: Fully back override-commit by treefile
      rust/treefile: Make initramfs-etc a set
      libpriv/origin: Use initramfs_etc_files_track() instead of treefile resync
      libpriv/origin: Use initramfs_etc_files_untrack() instead of treefile resync
      libpriv/origin: Use initramfs_etc_files_untrack_all() instead of treefile resync
      libpriv/origin: Fully back initramfs-etc files by treefile
      ci: Drop unnecessary `parallel`

Luca BRUNO (11):
      libpriv/postprocess: always set exit code
      daemon/utils: avoid superfluous gotos
      daemon: port some sysroot core logic to Rust
      libpriv/import: implement autocleanup for rpmfd
      daemon/dbus/os: remove some goto statements
      daemon/dbus: port some deployment logic to Rust
      libpriv/unpacker: tweak error handling
      libpriv/unpacker: implement autocleanup for archive
      libpriv/editor: rework error handling to avoid goto statements
      app: implement auto-cleanup for TransactionProgress
      daemon: simplify some error cases

Timothée Ravier (1):
      packaging: Remove unneeded Windows binaries from vendor snapshot

dependabot[bot] (13):
      build(deps): bump libglnx from `88da8dd` to `c71f7ae`
      build(deps): bump once_cell from 1.9.0 to 1.10.0
      build(deps): bump termcolor from 1.1.2 to 1.1.3
      build(deps): bump regex from 1.5.4 to 1.5.5
      build(deps): bump curl from 0.4.42 to 0.4.43
      build(deps): bump anyhow from 1.0.55 to 1.0.56
      build(deps): bump cxx from 1.0.65 to 1.0.66
      build(deps): bump cxx-build from 1.0.65 to 1.0.66
      build(deps): bump libc from 0.2.119 to 0.2.121
      build(deps): bump cap-tempfile from 0.24.1 to 0.24.2
      build(deps): bump tracing from 0.1.31 to 0.1.32
      build(deps): bump paste from 1.0.6 to 1.0.7
      build(deps): bump tracing-subscriber from 0.3.9 to 0.3.10

2022.5

03 Mar 22:19
v2022.5
Compare
Choose a tag to compare

This is a minor release which adds support for overriding transfiletriggerin Lua scriptlets (#3487) and corrects a tagging issue with the previous release (#3486).

Colin Walters (1):
      treefile: Use `std::io::Cursor` when reading byte arrays

Jonathan Lebon (5):
      treefile: Add from_fields() constructor, use for `install` in container
      scripts: Load transfiletriggerin earlier
      scripts: Create named var for RPMSCRIPT_FLAG_EXPAND
      scripts: Support transfiletriggerin lua replacements
      Release 2022.5

2022.4

01 Mar 20:37
79d9005
Compare
Choose a tag to compare

rpm-ostree v2022.4

This is a bug fix release which includes a bug fix to an issue that prevents building rpm-ostree on some architectures: #3482

Colin Walters (2):
      Revert "fstype: Add license identifier"
      Revert "compose: Print information about target filesystem"

Full Changelog: v2022.3...v2022.4

2022.3

28 Feb 23:15
Compare
Choose a tag to compare

rpm-ostree v2022.3

On the compose side, a major feature in this release is support for conditional-include and variable keys. This allows include directives to take effect only if some condition is met. See the treefile documentation for more information on this.

There is also a new repo_metadata treefile option that controls whether and how to inject metadata about the input rpm-md repositories.

The ostree-rs-ext stack is updated to 0.6.5.

On the bugfixes side, when RPM scripts are executed, /run is now properly a tmpfs.

On the client-side, the daemon now caches GPG verification status of commits which should dramatically increase startup times on systems which ship many GPG public keys such as Fedora.

There's an ongoing effort to make use of cap-std and rustix, with some more incremental porting happening in this release.

And of course, many other fixes and minor improvements!

Benno Rice (4):
      Replace some uses of "blacklist" with more accurate language.
      Add a Treefile option for where to stash the RPM repo metadata.
      Wire the repo_metadata Treefile option in to the compose process.
      Add tests for the repo_metadata Treefile option.

Colin Walters (20):
      treefile: Add `container-cmd`
      Port to `once_cell`, drop `lazy_static`
      scripts: Use a tmpfs for /run
      rust/initramfs: Port to cap-std
      Add internal API to expose package variant list to Rust
      scripts: Fix tmpfs for `/run`
      `db version`: Switch to using SHA-256
      Bump to cap-std-ext 0.24.1
      cliwrap: Port to cap-std
      compose: Print information about target filesystem
      fstype: Add license identifier
      daemon: Drop unused import
      initramfs: Port to cap-std, drop `subprocess` dependency
      postprocess: A bit more porting to `cap_std`
      composepost: Drop last usage of `subprocess` crate
      utils: varsubst: Allocate initial string to around expected capacity
      live: A bit of porting to cap-std
      countme: Port to cap-std
      Bump to ostree-ext 0.6.5
      testutils: Drop deprecated openat-ext usage

Jonathan Lebon (18):
      daemon: cache GPG commit verification
      rust: Oxidize `variant_add_remote_status`
      build(deps): bump ostree from 0.13.4 to 0.13.6
      rust/daemon: Use `replace_contents_with_perms`
      daemon: Fix clippy warnings
      treefile: Drop unnecessary collections:: prefixes
      treefile: Consistently use kebab-case and drop unnecessary renames
      treefile: Move from macro to function for var substitution
      treefile: Skip serializing `container-cmd` if None
      treefile: Support variables in more fields
      treefile: Add `variables` field
      treefile: Return String for releasever
      treefile: Support `releasever` being a number
      treefile: Make `basearch` and `releasever` variables
      treefile: Premerge variables during recursive parsing
      treefile: Add conditional includes
      tests/container-image: Add missing space before !
      app/composeutil: Canonicalize empty detached metadata to NULL

Joseph Marrero (1):
      src/app/rpmostree-builtin-cleanup: return after cleaning up repo cache

Justin Kinney (1):
      Ignore kernel-uek posttrans scripts

Luca BRUNO (3):
      compose: move and symlink content under /var/lib
      composepost: de-duplicate entries
      tests/basic: check iptables setup through alternatives

Matthew Kenigsberg (1):
      docs/layering.md: script using next fcos stream

Timothée Ravier (1):
      src/daemon: Exhaustively set arg direction for DBus interface

Zbigniew Jędrzejewski-Szmek (1):
      scripts: add replacements scripts for /sbin/ldconfig calls in glibc-common

New Contributors

Full Changelog: v2022.2...v2022.3

v2022.2

03 Feb 23:18
Compare
Choose a tag to compare

rpm-ostree v2022.2

A major feature in this release is:

This means rpm-ostree now has experimental support for layering packages defined on a tree file under /etc/rpm-ostree/origin.d/ which gives us a more declarative way to add packages on top of the OS. At the current time, this only works when run inside an ostree-based container.

This work is aimed for CoreOS layering/ostree native container.

We also fixed integration with two major changes coming in Fedora 36:

There is now support for platform-module in treefiles, which can be useful for modularity integration at build time.

There's an ongoing effort to make use of cap-std and rustix, with some more incremental porting happening in this release.

And of course, many other fixes and minor improvements!

Aravindh Puthiyaparambil (1):
      docs: clarify layering tutorial

Benno Rice (3):
      Allow the platform module to be specified in the Treefile.
      Fix platform_module getter.
      Document platform-module field.

Colin Walters (30):
      Start using cap-std/rustix instead of openat/nix
      tree-wide: Replace `nix::get*[ug]id` with rustix equivalents
      build-sys: Symlink, not hard link `ostree-container`
      scripts: Replace `authselect-libs` prein
      composepost: Deal with `/etc/nsswitch.conf` being a symlink to authselect
      core: When we fail to find a locked package, also print non-matches
      core: Small tweaks for non-matching package output
      client: Add context to microdnf failure to exec
      ci: Try using next so we pick up `microdnf`
      container-image: Test installs in a container
      packaging: Add `Recommends: skopeo`
      ci: Switch back to `testing-devel`
      README.md: Link to ostree native container change
      docs: Give a kernel override example too
      Bump ostree-ext and cap-std
      core: Honor `repo-packages` in treefile on client too
      treefile: Don't bail out if `/etc/rpm-ostree` doesn't exist
      ex-rebuild: Print something in the case where we found no files
      treefile: Fix parsing of derived config fields
      docs/container: Update for recent changes
      treefile: Use `Deref` trait for something like inheritance
      composepost: Do replace `altfiles` in `/etc/authselect/nsswitch.conf`
      `ex rebuild`: Drop check gating on `packages` key
      Add a `Dockerfile.containerci`
      treefile: Also error if derive is nonempty for client side
      treefile: Fix naming of `assert_empty()`
      Revert "composepost: Do replace `altfiles` in `/etc/authselect/nsswitch.conf`"
      Bump to cap-std-ext 0.24
      tests/container-image: Support old rhel8 podman
      Bump to ostree-ext 0.6.3

Jonathan Lebon (24):
      composepost: Add comment re. tmpfiles.d conversion
      tests/compose: check for /run/ostree-booted in unified mode
      rust: const-ify `OSTREE_BOOTED` path
      compose: Support `/run/ostree-booted` also in legacy mode
      rust/treefile: Document `extra` struct member a bit more
      rust/treefile: Sort compose knobs into "base" and "derivation"
      rust/treefile: Simplify `error_if_nonempty`
      core: Add new `rpmostree_context_new_container`
      rust/treefile: Add client treefile support
      Stabilize `initramfs-etc`
      rust/treefile: Factor out parsing and postprocess
      core: Connect callback to dnf context state changes
      rust/treefile: Also validate treefile when creating from string
      rust/treefile: Don't support workdir for clients
      rust/treefile: Support creating client from /etc dropins
      Add `rpm-ostree ex rebuild` command
      app/pkg-builtins: Use container backend for installs
      Finish dropping microdnf dependency
      rust: Fix `cargo clippy` warnings
      rust/treefile: Support creating client from /etc dropins
      Add `rpm-ostree ex rebuild` command
      app/pkg-builtins: Use container backend for installs
      Finish dropping microdnf dependency
      composepost: Remove /usr/lib/sysimage/rpm dir before symlinking

Joseph Marrero (1):
      docs/layering: Tutorial on using the rpm-ostree layering feature

Luca BRUNO (4):
      daemon: port revision-string parser to Rust
      daemon/donwload-pkgs: fix a wrong error return
      libpriv/core: recursively create /var/lib/rpm-state
      libpriv/importer: log spurious content for debugging

Timothée Ravier (3):
      docs: Match title and link for ex-container page
      docs: Add page for `override replace --experimental`
      docs/countme: Update doc links and trigger frequency

New Contributors

Full Changelog: v2022.1...v2022.2

2022.1

07 Jan 17:51
v2022.1
Compare
Choose a tag to compare

rpm-ostree v2022.1

Client

A major feature in this release is:

  • rust/src/client: Use microdnf when installing pkgs on a container by @jmarrero in #3280

This means one can use rpm-ostree install inside e.g. a Dockerfile when building a container. That said, we continue to discuss a possible declarative interface for this in coreos/fedora-coreos-tracker#1054

Overall

An update the ostree 2022.1 stack brings lots of fixes.

A notable change here is:

  • main: add support for multicall binaries by @lucab in #3281

Specifically one can now invoke ostree container which internally invokes rpm-ostree ex-container because we didn't want to duplicate all the Rust code for ostree into a separate binary. But the user story here is that it's "ostree containers", not rpm-ostree containers.

What's Changed

  • docs: Talk about override replace and usroverlay by @cgwalters in #3130
  • daemon: Add InaccessiblePaths=/var/lib/containers by @cgwalters in #3240
  • core: Nuke auto-generated tmpfiles.d when removing packages by @jlebon in #3228
  • tests/vmcheck: tweak some hackish direct access to /ostree by @lucab in #3246
  • docs: fix minor bugs in rpm-ostree manpage by @peberanek in #3247
  • Bump to ostree-ext 0.5.1 and containers-image-proxy 0.3.1 by @cgwalters in #3249
  • countme: Trigger on boot and bi-weekly with random delay by @travier in #3041
  • packaging: Don't use zchunk on RHEL9 either by @cgwalters in #3250
  • tests/compose: Add updates-archive repo for glibc-all-langpacks by @jlebon in #3258
  • core: Fix memory leak for colorless files by @cgwalters in #3260
  • More lints by @cgwalters in #3263
  • HACKING.md: Document iteration on kola external tests by @cgwalters in #3264
  • build-sys: Remove RPM_OSTREE_FEATURES from autoconf/C by @cgwalters in #3259
  • rust/src/client: detect src.rpms by @jmarrero in #3265
  • ci: Only run our own external tests by @jlebon in #3271
  • importer: Canonicalize symlink targets by @cgwalters in #3266
  • man/rpm-ostree: update docs for kargs and override parameters by @jmarrero in #3272
  • override: Add --cache-only flag by @cgwalters in #3153
  • Cargo.toml: Update ostree-ext to use main branch code by @jmarrero in #3283
  • two build system fixes for bindings by @cgwalters in #3284
  • rust: Add some more comments around cxx.rs, particularly Result<T> by @cgwalters in #3292
  • make: install ostree-container as a multicall hardlinked binary by @lucab in #3293
  • core: Add an assertion to silence clang-analyzer by @cgwalters in #3295
  • rust/src/client: check for ostree structure using ostree_ext api by @jmarrero in #3285
  • dbus/live-fs: remove some goto statements by @lucab in #3296
  • rust/src/client: rpm-ostree cleanup -m on containers calls microdnf c… by @jmarrero in #3297
  • dbus: remove some goto statements by @lucab in #3303
  • dbus/download-pkgs: remove some goto statements by @lucab in #3298
  • daemon: port the override-source string parser to Rust by @lucab in #3309
  • Fix or quiet unused field warnings by @cgwalters in #3312
  • rust: Switch to ostree-rs-ext 0.6.0 release by @cgwalters in #3314

New Contributors

Full Changelog: v2021.14...v2022.1

2021.14

17 Nov 18:23
v2021.14
Compare
Choose a tag to compare

Client

  • Move ostree:// parsing to daemon by @jlebon in #3199
  • Use ostree-rs-ext 0.5.0 by @cgwalters in #3139
    This pulls in a lot of work over the past weeks on "container native ostree" or "CoreOS layering".
    See coreos/enhancements#7 for more information.
  • Fix rpm-ostree kargs --edit by @lucab in #3219
  • Fixed a critical bug in rpm-ostree deploy --ex-cliwrap=true by @cgwalters in #3200
  • Sort and indent packages/package groups in rpm-ostree status by @Mershl in #3201
    (New contributor! 🎉)

Build/compose

  • Normalise various aspects of the RPM database that vary build-to-build by @jeamland in #3165
    This change deserves highlighting - @jeamland did significant work here to help ensure that the BDB-formatted RPM database is reproducible at a binary level. This in turn is a large portion of the work to make rpm-ostree compose tree reproducible.

Core/misc

  • DBus description: Add annotations for Qt support by @travier in #3112
  • docs: Add docs for ex-container by @cgwalters in #3225
  • libpriv: Update libsystemd copy of format_timestamp_relative by @jlebon in #3220

New Contributors

Full Changelog: v2021.13...v2021.14

2021.13

02 Nov 15:58
v2021.13
0c4cf93
Compare
Choose a tag to compare

This release contains mostly bugfixes and UX enhancements.

Some changes were made to help with reproducible builds. For example, rpm-ostree now passes the SOURCE_DATE_EPOCH to scripts during composes. Also, the lstchg timestamp field is now scrubbed from shadow files, and the content of generated tmpfiles.d fragments is sorted. #3163 #3174

A notable improvement for users is related to RPM packages with overlapping files color/disposition (i.e. multilib support), which are now properly handled at install time. This used to be a blocker for unixODBC.i686, a dependency of wine. #3125

A new rpm-ostree install --force-replacefiles flag allows overriding files without replacing the package. This may be useful in "quick testing" or hotfix scenarios. #3125

This release now consistently holds the ostree repository locked during a build, even when committing to a remote NFS repository. #3193

Thanks to all contributors!


Benno Rice (5):
      compose: pass SOURCE_DATE_EPOCH into bubblewrap environments
      nameservice: fix some comments and messages
      nameservice: Add data structures and parsers for shadow(5)
      compose: remove lstchg values from [/usr]/etc/shadow
      compose: make "unified core" arguments common

Colin Walters (1):
      make-git-snapshot: Use generated `cargo vendor` config

Jonathan Lebon (15):
      core: Inline back add_te_files_to_ht function
      core: Track file disposition by NEVRA
      core: Compare rpm file coloring within layered packages
      core: Free files_skip_add hash table after we're done
      core: Handle RPM file colors more efficiently
      app/pkg-builtins: Tweak pkgs strv passing to D-Bus
      app/pkg-builtins: Account for 'file://' when choosing D-Bus method
      daemon/upgrader: Factor out local pkgs handler
      libpriv/core: Add rpmprob filter flags one by one
      libpriv/origin: Use if-statement rather than ternary operator
      Add `install --force-replacefiles`
      docs/admin-handbook: Add docs about modularity support
      compose: Always commit under a shared repo lock
      ci: Remove `install-extra-builddeps.sh`
      Make `jq` a `BuildRequires`

Luca BRUNO (1):
      composepost: output translated /var entries in lexicographic order

Timothée Ravier (2):
      docs: Do not convert -- & --- to en/em-dash
      docs: Update links to code, man pages and projects

2021.12

06 Oct 17:17
v2021.12
Compare
Choose a tag to compare

There's a notable new feature in this release from our Outreachy intern, which
is that override replace learned experimental support for fetching from
rpm-md repos. This makes it a bit easier to find newer (or older) packages
from repos.
PR: #3092

A notable bugfix is that rpm-ostree rebase now accepts ostree:// as a
prefix again, which fixes gnome-software:
PR: #3157

Other fixes include kernel overrides with newer depmod, and a docs tweak.

Thanks to all contributors!

Colin Walters (6):
      rust: Use `opt-level=1` for default `dev`
      extensions: Add support for per-extension repos and modules
      main: Remove pointless `async { ... }` + `.await` pair
      main: Remove lots of `Some` matching
      rebase: Parse `ostree://` prefix again
      Release 2021.12

Jonathan Lebon (2):
      libpriv/kernel: Handle new modules.builtin.alias.bin depmod file
      libpriv/kernel: Point to depmod source of truth

Rafael G. Ruiz (1):
      override replace: add experimental options

Zhangyuan Nie (1):
      docs: fix hyperlinks in architecture-daemon.md

dependabot[bot] (10):
      build(deps): bump tokio from 1.11.0 to 1.12.0
      build(deps): bump subprocess from 0.2.7 to 0.2.8
      build(deps): bump libc from 0.2.102 to 0.2.103
      build(deps): bump cxx from 1.0.54 to 1.0.55
      build(deps): bump tracing from 0.1.27 to 0.1.28
      build(deps): bump serde_json from 1.0.67 to 1.0.68
      build(deps): bump system-deps from 4.0.0 to 5.0.0
      build(deps): bump cxx-build from 1.0.54 to 1.0.55
      build(deps): bump nix from 0.22.1 to 0.23.0
      build(deps): bump curl from 0.4.38 to 0.4.39

Git-EVTag-v0-SHA512: dd71cae4fab04ce0b8e1ab495afb2d3b5ed6620510bf71ce1eb7666d1b50cc873e53da4f1174905985e0b989c7f88159ca82cb9a441f730d04ca98e449a8441b

2021.11

24 Sep 18:10
v2021.11
3e787ce
Compare
Choose a tag to compare

Mainly smaller minor fixes; the main new feature here is support for modularity in extensions.

Support for the still-experimental "ostree native containers" is updated to the latest 0.3 release of https://crates.io/crates/ostree-ext

Colin Walters (12):
      rust: Fix some clippy lints
      treefile: Fix a clippy lint
      rust: Fix clippy lint for extra `&`
      Add --enable-bin-unit-tests
      rust: Fix misc clippy lints
      rust: Fix two clippy errors
      rust: Fix more clippy lints
      rust: Allow a few clippy lints
      rust: Fix a clippy lint about manual `strip_prefix()`
      tests/misc: Update regexp to match fixed ostree error
      Bump to ostree-rs-ext 0.3
      Release 2021.11

Evan Anderson (1):
      scripts: Ignore glibc-gconv-extra lua script in %post

Jonathan Lebon (2):
      extensions: support enabling/installing modules
      tests/kolainst: Check layering of `cri-o:1.20/default`

Timothée Ravier (1):
      gitignore: Add /api-doc/Makefile{,.in}

dependabot[bot] (21):
      build(deps): bump cxx-build from 1.0.52 to 1.0.54
      build(deps): update system-deps requirement in /rust/libdnf-sys
      build(deps): bump cxx from 1.0.52 to 1.0.54
      build(deps): bump libc from 0.2.100 to 0.2.101
      build(deps): bump libdnf from `387bd99` to `c8ccabc`
      build(deps): bump system-deps from 3.2.0 to 4.0.0
      build(deps): bump serde_json from 1.0.66 to 1.0.67
      build(deps): bump tokio from 1.10.0 to 1.11.0
      build(deps): bump serde_yaml from 0.8.19 to 0.8.20
      build(deps): bump futures from 0.3.16 to 0.3.17
      build(deps): bump structopt from 0.3.22 to 0.3.23
      build(deps): bump serde from 1.0.128 to 1.0.130
      build(deps): bump libdnf from `c8ccabc` to `4c7511c`
      build(deps): bump memfd from 0.4.0 to 0.4.1
      build(deps): bump anyhow from 1.0.43 to 1.0.44
      build(deps): bump tracing-subscriber from 0.2.20 to 0.2.22
      build(deps): bump serde_yaml from 0.8.20 to 0.8.21
      build(deps): bump tracing from 0.1.26 to 0.1.27
      build(deps): bump libdnf from `4c7511c` to `e5ecbc1`
      build(deps): bump tracing-subscriber from 0.2.22 to 0.2.24
      build(deps): bump libc from 0.2.101 to 0.2.102