Skip to content

Releases: ostreedev/ostree

2023.4

20 Jun 17:27
Compare
Choose a tag to compare

Notable bugfixes

  • commit: fix ostree deployment on 64-bit inode fs by @aospan in #2874

This is a simple patch that is a candidate for backporting to e.g. stable distribution/OS versions of ostree.

New features

composefs

See the documentation.

ostree=aboot for Android Boot

HTTP/pull fixes

  • ostree-fetcher-curl: explicitly use HTTP1.1 when HTTP2 is disabled by @daissi in #2886
  • Increase the metadata size limit to 128MB by @barthalion in #2865
  • fetcher: Always open tmpfiles in repo location by @cgwalters in #2875

Other changes

New Contributors

Full Changelog: v2023.3...v2023.4

2023.3

18 May 23:39
Compare
Choose a tag to compare

Release 2023.3

NOTE: As usual, some of these commits are actually for the Rust bindings,
which are versioned and released separately.

Colin Walters (14):
      configure: post-release version bump
      treegen: Require at least one mutation
      ci: Turn off errors for deprecated-declarations
      ci: Drop workaround for fedora-release-container
      rust: Bump MSRV to 1.64
      build-sys: Squash automake conditional warning re `.PHONY`
      Add clang formatting infrastructure
      lib: clang-format `ostree.h`
      tree-wide: Fix various include ordering issues
      lib: Fix one include
      clang-format: Don't align backslashes
      tree-wide: Run clang-format
      ci: Validate clang-format
      tests/inst: Add xshell and use it in one place

Dan Nicholson (3):
      tests: Ensure real GIO backends aren't used
      ci: Add test configuration with soup3
      fetcher/soup3: Rewrite without threads

Daniel Kolesa (1):
      fetcher: add libsoup3 backend

Jonathan Lebon (10):
      lib/sysroot-cleanup: Convert bootdir listing to dfd-relative
      lib/sysroot-cleanup: Make some static utility functions global
      lib/sysroot-cleanup: Drop dead code
      lib/sysroot-cleanup: Factor out bootfs cleanup
      lib/sysroot-cleanup: Make bootfs cleanup function global
      libotutil: add utility functions for calculating directory size
      lib/sysroot-deploy: Nuke `finalize-failure.stamp` on successful finalization
      tests/kola: delete unused .gitignore
      tests/kolainst: Add `make localinstall`
      lib/sysroot-deploy: Add experimental support for automatic early prune

Joseph Marrero (2):
      Release 2023.3
      configure: post-release version bump

Philip Withnall (1):
      lib/fetcher: Add some debugging messages to the libsoup request path

Full Changelog: v2023.2...v2023.3

2023.2

22 Mar 17:14
Compare
Choose a tag to compare

Release 2023.2

NOTE: As usual, some of these commits are actually for the Rust bindings,
which are versioned and released separately.

Though speaking of bindings in general,
there's a lot of cleanup that landed to the annotations around
nullability in general, which should improve ergonomics. These
changes will be reflected in a future release of the Rust bindings
specifically too.

Otherwise, we have some small tweaks and improvements in various places,
from a performance improvement in commits to test suite fixes.

A notable thing that landed here is fixes for recent GLibs introducing
warnings around unset standard::size.

Thanks to all contributors!

Colin Walters (18):
      Add `sysroot.bootprefix` option
      deploy: Use `semodule --refresh` if available
      configure: post-release version bump
      Release rust/ bindings 0.17.1
      rust-bindings: Regenerate for 2023.1
      rust-bindings: `Sysroot` is `Send`
      itest-pull-space: Use mkfs.ext4, align to at least 512b
      tests: Set size on fileinfo
      Enable `trust_return_value_nullability`
      Add docs and fix annotations for ostree-repo-file.c
      rust: Bump semver
      lib: Fix two nullable annotations
      repo: Fix nullability for remote options
      rust: Renerate bindings
      Revert "repo: Fix nullability for remote options"
      rust-bindings: Regenerate
      Release 2023.2
      configure: post-release version bump

Corentin Noël (3):
      build: Do not include private headers in the introspection
      libostree: Ignore new_and_connect in the introspection
      libostree: Enhance the annotation coverage

Evan Anderson (1):
      core: Ensure glib standard::size attribute is always set

Jonathan Lebon (1):
      ci: update for new kolaTestIso()

Philip Withnall (1):
      lib/fetcher-util: Wake up main context when a request is complete

Seppo Yli-Olli (1):
      Increase buffer size for create_regular_tmpfile_linkable_with_content

Simon McVittie (5):
      tests: Ensure non-root users have access to libcap tools
      ostree_raw_file_to_content_stream: Make size default to 0
      _ostree_zlib_file_header_new: Default size to 0
      write_content_object: Don't assume file info has standard::size
      Use g_steal_fd() in preference to glnx_steal_fd()

Timothée Ravier (1):
      docs: Use upstream theme & update to 0.4.1

dependabot[bot] (1):
      build(deps): bump libglnx from `4e44fd9` to `07e3e49`

-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAg5CRAd4pqfdf6DWMgvDhrcq1x8Q
gQPSQHIoZaiiRTt68AAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5
AAAAQJGTvsjNISYt6gOheoejoo2Znn3j11juGWFABJycsMqXxSBRQ7NXOZWJvctyleHVX+
QrLs/Wa0KPgo91tMoenwg=
-----END SSH SIGNATURE-----

New Contributors

Full Changelog: v2023.1...v2023.2

2023.1

17 Feb 18:05
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2022.7...v2023.1

v2022.7

23 Nov 17:59
Compare
Choose a tag to compare

(Some of these commits are actually only for the Rust bindings;
will try to enhance the release flow to more clearly filter
those out)

On the feature front, there's new APIs for idempotent delete operations on
kernel arguments, and for handling unshare() to
manipulate (otherwise) read-only sysroot.

A few very small memory leak fixes.

Many people will be happy that we now retry HTTP requests after
receiving HTTP 500 errors.

There's a notable bugfix avoiding rebuilding SELinux policy
when creating a first deployment.

Thanks to all contributors!

Colin Walters (18):
      Remove readdir-rand
      deploy: Don't rebuild selinux policy on first deployment
      ci: Bump memory for ISO testing flow
      rust: Update to cap-std 1.0
      rust: Drop `openat` dependency
      ci: Fix case where cosa != buildroot
      rust: Update to gio 0.16
      repo: Avoid potential double unwind when writing panic value
      Allow missing docs on two `glib::wrapper` functions
      sysroot: Add an API to initialize with mountns
      rust: Regenerate with latest gir and C sources
      tests/inst: Update to latest ostree-ext
      tests/inst: Drop nix dependency
      tests/inst: Update cap-std-ext to 1.0
      tests/inst: Update sh-inline
      tests: Require OSTREE_TEST_SUDO to be set to use `sudo`
      ci: Add a flow that combines C build and Rust integration tests
      Release 2022.7

Jonathan Lebon (4):
      ci: Bump memory request, use fcosKolaTestIso
      ci: Drop unnecessary outer stage
      ci: Use new names for custom kola steps
      ci: bump cosaPod memory requirement to 5Gi

Luca BRUNO (20):
      configure: post-release version bump
      lib/repo-checkout: fix typo in error message
      lib/bootloader-zipl: check for errors when opening initrd
      lib/static-delta: document and check parameters format
      rust/tests: fix static delta generation testcase
      lib/sign-ed25519: convert invariant checks to assertions
      rust: regenerate bindings after latest release (2022.6)
      ostree: manually patch generated files
      rust: update manual helpers
      ci/rust: bump linting toolchain to latest stable (1.64)
      lib/repo-refs: properly return an error value
      rust: update pinned gir tool to 0.15
      rust/ostree-sys: regenerate for gtk-rs 0.15
      rust/ostree: regenerate for gtk-rs 0.15
      ci/rust: test from git using latest feature
      cargo: prepare ostree 0.16.0 and ostree-sys 0.11.0
      copr: only use libostree tags
      ci: adjust git tags filtering
      cargo: bump minimum Rust version to 1.63
      ostree: manually patch generated files

Manuel Stühn (1):
      Add test for generating static delta to file

Philip Withnall (4):
      ot-builtin-commit: Fix a typo in a command line help string
      ot-builtin-commit: Don’t mention a C function name in a help string
      lib/pull: Fix a small leak when a variable is reused
      ot-builtin-pull: Fix a minor leak with progress reporting

Rafael Garcia Ruiz (2):
      ostree_kernel_args_contains for OstreeKernelArgs
      Idempotent delete operation for  OstreeKernelArgs

Ricardo Noriega (2):
      Enabling retry for HTTP 500 internal server error
      Add tests for cases under random 500s

Simon McVittie (2):
      readdir-rand: Copy full size of struct dirent
      Replace calls to g_memdup() with g_memdup2()

dependabot[bot] (2):
      build(deps): bump libglnx from `26375b5` to `e701578`
      build(deps): bump libglnx from `e701578` to `4e44fd9`

Git-EVTag-v0-SHA512: 9cbc7a178f1cc0dbda25ea1af5f9d4991f41c28768826c44cf2d42333c0677b22daaef6532eb075931f6c5622947780daaa1ec4a5fc64e2adef230feaed372c7

2022.6

07 Oct 16:45
v2022.6
eee649d
Compare
Choose a tag to compare

This release contains a collection of bugfixes and enhancements. Notable fixes concern finalize-staged, which should now better support automounted partitions and skip waiting for termination signal.

A file descriptor leak has been fixed in the commit logic. The codebase has also been fixed to avoid conflicting declarations when building with latest glibc (>= 2.36). Thanks @GeorgesStavracas for both fixes!

On the feature side, there is now basic support for handling overlayfs whiteouts on checkout through a new --process-passthrough-whiteouts flag. This is useful for users that need to carry container storage embedded into ostree commits. Thanks @mangelajo for that!

The ostree rev-parse command gained a new --single flag to better support repositories containing exactly one commit.
Overall, the s390x Secure Execution (SE) logic has been reworked to stop relying on glue scripts.

Thanks to all contributors!


Andrea Perotti (1):
      Fix recursive git archive reference

Colin Walters (12):
      configure: post-release version bump
      rust-bindings: Fix `cargo fmt`
      deny.toml: Add `Unicode-DFS-2016`
      Remove unused `linux/fs.h` includes
      Move FIFREEZE/FITHAW ioctl invocations into linuxfsutil.c
      cli/rev-parse: Port to new code style
      cli/rev-parse: Add `--single` option
      rust: Update to latest git
      ci: Also drop seccomp on debian testing
      rust: Bind `ostree_repo_list_commits_starting_with`
      finalize-staged: Don't listen to `SIGTERM`, just let kernel exit us
      README.md: Link otto

Dan Nicholson (3):
      main: Factor out sysroot loading
      finalize-staged: Ensure /boot automount doesn't expire
      lib/pull: Fix max-metadata-size documentation

Georges Basile Stavracas Neto (1):
      lib/commit: Unref repo on success

Huijing Hei (1):
      Fix `ostree admin kargs edit-in-place` assertion when deployments are pending

Jon Oster (1):
      docs: Add aktualizr and TorizonCore to related projects

Jonathan Lebon (3):
      lib/commit: Directly use FICLONE for payload link
      tests/kolainst/staged-deploy: parse `rpm-ostree status --json` instead
      docs: Add section about staged deployments

Luca BRUNO (7):
      libostree: fix a typo in annotation
      lib/bootloader: assert invariants
      lib/mtree: drop redundant name checks
      otutil: add error handling to variant builders
      lib/sign: convert invariant checks to assertions
      lib/repo: properly initialize boolean variable
      lib/sysroot-deploy: explicitly handle `g_variant_lookup` results

Lukas Kalbertodt (1):
      Update to `libtest-mimic` 0.5.0

Miguel Angel Ajo (1):
      Support overlayfs whiteouts on checkout

Nikita Dubrovskii (3):
      s390x: ensure both 'root' and 'boot' luks keys exist
      s390x: simplify 's390x-se-luks-gencpio' script
      s390x: use 'libarchive' to modify initrd in SE case

Sam James (1):
      buildutil/glibtests.m4: fix bashism

dependabot[bot] (1):
      build(deps): bump libglnx from `c59eb27` to `26375b5`

git-bruh (1):
      ostree-fetcher-curl: check for HTTP2 support before trying to use it

2022.5

22 Jul 20:25
v2022.5
Compare
Choose a tag to compare

This release fixes a denial of service security issue: GHSA-gqf4-p3gv-g8vw
The core fix is in sign/ed25519: Verify signatures are minimum length in 83e6357 which should be an easily backportable commit. (There's some further changes to add test coverage for this that can be ignored)
This only affects builds that use libsodium; it is however remotely reachable (assuming that the client is talking to a compromised server; ordinarily exploiting this would require that or breaking TLS/https). Thanks to @DemiMarie for the report!

Additional highlights are:

  • Greatly improved performance for ostree prune on large repositories
  • Support for in-place kargs changes

Thanks to everyone who contributed!

Chris Mucciolo (1):
      docs add debos to readme distribution build tools

Colin Walters (44):
      configure: post-release version bump
      repo: Optimize memory use of `ostree_repo_list_objects()`
      rust: Bump semver, add feature for current release
      repo: Further optimize `ostree_repo_list_objects_set()`
      ci: Add a flow that does a git libostree + git rust-bindings
      prune: Also use object set API in `ostree_repo_prune_from_reachable()`
      lib: Fix symbol versioning inheritance
      tests/inst: Bump the version of ostree-ext
      rust-bindings: Fix repository reference
      rust-bindings: use correct README.md
      rust-bindings: Update cargo package list
      rust: Switch to 2021 edition
      ci: Bump MSRV
      rust: Use inline `format!` variables in a few places
      repo: Document non-obvious way to list all commits
      fsck: Don't load all object names into memory
      fsck: De-indent loop
      fsck: Move most commit processing into helper function
      fsck: Use `load_variant_if_exists`
      rust-bindings: Wire up `tests/`
      cli/os-init: Port to C99 style
      cli/undeploy: Port to C99 style
      cli/unlock: Port to C99 style
      cli/config: Port to C99 style
      cli/diff: Port to C99 style
      cli/gpg-sign: Port to C99 style
      cli/remote-list: Port to C99 style
      cli/refs: Port to C99 style
      ci/rust: Enable `cap-std-apis` in default build, add a no-feature build
      ci/rust: Change MSRV to `cargo check`
      Fix clippy lint in cap-std bits
      rust: Bump semver to 0.15
      Bump to cap-std 0.25 and io-lifetimes 0.7
      repo: Metadata return values from `load_file` are not nullable
      tests/staged-deploy.sh: Hack around cosa systemd unit check
      tests/inst: Port to cap-std
      lib: Stop using old `ostree_sysroot_get_repo()` API
      deny: Sync with rpm-ostree
      deploy: Ensure sysroot is initialized for kargs in place
      sysroot: Have `ensure_writable` also always initialize
      sysroot: Add a few more assertions about `boot_fd`
      sign/ed25519: Verify signatures are minimum length
      rust: Add a test case for ed25519
      Release 2022.5

Huijing Hei (4):
      RFE: Add a hidden option to `ostree admin kargs edit-in-place` to update all existing deployments in place
      Fix `ostree admin kargs edit-in-place` fails issue
      Add test to verify `ostree admin kargs edit-in-place` working
      Update doc about adding new function to libostree

Jonathan Lebon (2):
      Drop `.packit.yaml`
      tests/inst/destructive: stop disabling fedora-coreos-pinger

Matthias Beyer (1):
      Fix link to rust bindings

Nikita Dubrovskii (1):
      s390x: rename sd-boot to sdboot

Saqib Ali (2):
      lib/prune: speed up pruning by retrieving only commits
      ostree-repo: bls-append-except-default followup

Simon McVittie (1):
      test-basic-c: Don't assert that extended attributes are available

Full Changelog: v2022.4...v2022.5

2022.4

06 Jun 18:00
v2022.4
Compare
Choose a tag to compare

The big change in this release is that we have merged the Rust bindings repository into the main one:
#2575
As of right now though, this is just (somewhat) simplifying development of the Rust bindings, as we can now more easily share CI configuration and a single PR can add a new API and update the Rust bindings in one step.

As of right now though, the "libostree" C library will still be buildable without depending on Rust itself. We may change that in the future; for more, please see and discuss at: #2427

There are a few other additions in this release:

  • A new repository option bls-append-except-default intended to help with enabling GRUB password locking
  • Further fixes for s390x SE
  • Various CI improvements
  • Several API additions and fixes to the Rust bindings (on top of the prior release)
Colin Walters (80):
      configure: post-release version bump
      repo: Add concurrency=send
      ci: Add GH action to build
      Update to 2021.2
      Bump versions
      Bump sys version requirement
      Mark src/auto/* as generated
      ci: Fix buildroot to use new official image
      Update to glib 0.14
      Bump versions
      Add 2021.3 feature
      Re-export glib, gio
      Deny unused results, warn on missing docs (except auto/)
      Add new GLib 0.14 variant types for metadata types
      Add more documentation for --features=v2021_3
      Fix build with --features=v2021_3, use in CI by default
      Use glib-sys via re-exported `glib::ffi` (and similar for gio)
      Release 0.12.2
      lib: Export ffi too
      Cargo.toml: Bump to glib 0.14.4
      Release 0.12.3
      Release 0.13
      sys: Release 0.9.0
      lib: Reexport libc::AT_FDCWD
      Make `SePolicy` have `Send`
      repo: Expose dfd_as_file()
      (cargo-release) version 0.13.1
      (cargo-release) start next development iteration 0.13.2-alpha.0
      repo: Add `auto_transaction` and `TransactionGuard`
      (cargo-release) version 0.13.2
      (cargo-release) version 0.13.3-alpha.1
      Update to 2021.5
      Bump ostree-sys version
      (cargo-release) version 0.13.3
      (cargo-release) start next development iteration 0.13.4-alpha.0
      repo: Add `require_rev` method
      repo: Add an API to read and parse directory metadata
      Release 0.13.4
      Add a `cap-std-apis` feature with open/create
      repo: Add two more cap-std APIs
      Add `COMMIT_META_CONTAINER_CMD` constant
      Release 0.13.5
      Fast-track fix for `ostree_gpg_verify_result_get_all()`
      Release 0.13.6
      Add manual bindings for MutableTree reading
      repo: Add `query_file` API
      lib: Run `cargo fmt`
      Add a `repo()` accessor to `TransactionGuard`
      build-sys: Adjust for merge of ostree-rs
      docs/ima: Also link the SUSE docs
      cfg.mk: Don't even look at rust-bindings/
      Add APIs to get xattrs from disk
      tests/inst: Fix install rules for ostree-rs merger
      ci: Work around GH actions `container:` + git + security bug
      tests/inst: Add .gitignore
      ci: Move rust-bindings CI to toplevel
      rust-bindings: Remove some unused CI/test bits
      Merge pull request #2602 from cgwalters/fix-docs-ci
      Merge pull request #2601 from cgwalters/expose-get-xattrs
      Merge pull request #2575 from cgwalters/merge-ostree-rs
      ci: use cargo-deny
      sysroot: Quiet one gcc `-fanalyzer` warning
      sysroot: Strengthen several `g_return_if_fail` into `g_assert()`
      ci: Drop gcc `-fanalyzer` by default
      ci: Drop all `runAsUser: 0` in builds
      Merge pull request #2608 from cgwalters/fanalyzer-fixes
      ci: Move codestyle and min build to GH actions
      Merge pull request #2580 from nikita-dubrovskii/sdboot_partition
      Merge pull request #2612 from HuijingHei/deploy-karg-delete
      Merge pull request #2605 from saqibali-2k/pr/bls-append
      ci: Drop libsoup build in jenkins
      ci: Drop an unused files
      ci: Add a codestyle.sh
      gitignore: Add ci-build/
      Rename ostree-cmdprivate to drop out of introspection
      Drop `OSTREE_BUILT_FEATURES` from introspection
      rust-bindings: Delete committed gir files
      rust-bindings: Use OSTree-1.0.gir from our own builddir
      rust-bindings: Update to latest git
      Release 2022.4

Dusty Mabe (1):
      Merge pull request #2614 from nikita-dubrovskii/issue-2867

Felix Krull (357):
      Add config file and gir files
      Add initial gir output
      Add external libraries and regenerate
      Update names and dependencies
      Add manual definition for stat
      Start describing libostree
      Add build files for libostree
      Generate
      Add some basic types and regenerate
      Add a prelude module for star imports
      Add a test/sample program
      Add additional 'new' method to Repo
      Add as much of Repo as easily possible
      Integrate docs into source
      Generate functions and constants
      Try implementing traverse_commit by hand
      Ignore Cargo.lock in libs
      sample: try to extract a file from the repo
      Add ObjectName wrapper to solve hashing issues
      repo: change custom new method to std::path::Path-alike
      repo: remove now-incorrect comment
      object_name: extend ObjectName
      Add RepoListRefsExtFlags
      repo: implement list_refs and list_refs_ext
      Add simple repo roundtrip test
      Remove sample
      Add Makefile
      Regenerate libostree-sys
      Regenerate libostree
      repo: newlines
      Add docs to generated files
      Copy autodocs to hand-implemented methods in RepoExtManual
      Generate docs for RepoExtManual
      Ignore internal structs in libostree-sys
      Regenerate libostree-sys
      Add include to make libostree-sys tests work
      Run cargo fmt on the custom code
      Explicitly implement PartialEq for ObjectName to satisfy clippy
      Exclude generated code from clippy
      Un-bump versions
      Add workspace Cargo.toml
      Add CI config
      Install libostree in CI
      Use libostree from backports
      Also install libostree-dev for libostree builds
      Install libostree for everything, actually
      Do release build and simply job names
      Remove package stage for now
      Add some metadata to libostree-sys
      Add libostree-sys publish step
      Fix libostree-sys publish step
      Fix Gitlab URL & remove readme
      Add docs build
      Always build docs
      Only publish for master & set docs urls
      Remove release builds
      Bump -sys version
      Try setting up docs.rs capable build
      libostree-sys: switch to docs.rs and add license file
      libostree: add metadata, readme, and license file
      Disable libostree docs
      Strip the libostree docs
      Bump -sys version
      Add libostree release task
      libostree-sys: remove license file
      libostree: include API docs at build time using a feature flag
      Remove docs targets
      Build API docs with LGPL parts
      Always build docs
      Fix docs build hopefully
      Keep only one license file in the repo root
      Add a symlink to the package readme in the repo root
      Move readme to repo root and copy it to the code prior to packaging
      Update docs back to self-hosted
      Add Gitlab badge
      Bump versions
      Add LICENSE to packages
      Update readme a lot
      Add badge-with-link to docs
      Fix -sys pre-package
      --allow-dirty to deal with the extra files we copy in
      Add back API docs merge to Makefile
      Remove lgpl-docs feature
      Update readme
      Add CMake to build gir
      Add features
      Move main crate into repo root
      Move installed tools into target/tools
      Exclude unnecessary files correctly
      Update gitlab-ci.yml
      Get rid of pre-package workaround
      Reorganise gitlab-ci.yml a bit
      Move libostree-sys/ to sys/
      Remove some methods that are not generated correctly
      Test with all features
      sys: regenerate
      Repo rename
      Pin gir version
      Remove version constants to fix build with different libostree versions
      Remove unnecessary gir/* aliases
      Rename libostree-sys to ostree-sys
      Rename libostree to ostree
      Rename libostree to ostree
      Add note about crate rename
      Update base gir files
      Update OSTree gir and regenerate
      Test sys with v2018_9 until I can get 2019.2 for CI
      Add explanatory comments to ostree-sys.toml
      Fix features in Repo
      Build CollectionRef manually
      Fix return type for CollectionRef::new
      Add some sanity tests for CollectionRef
      Sanity test for ObjectName
      Fix a few more missing methods
      Add some tests for Repo
      Fix some issues with RepoFile
      Add some explanatory comments to gir config
      Pin rustdoc-stripper version
      Add more types
      sys: regenerate with external version file
      Add version features
      Update gir version
      sys: regenerate with new gir
      Add missing version features
      Regenerate and update to new gir and glib-rs version
      Build with older libostree version for now
      Reorganise test code
      Switch to generated CollectionRef
      Clarify reasons for async exclude
      Fix
      Add docs for methods that were moved to RepoExtManual
      Switch ObjectName to GString
      Add some more unsorted types
      Refactor tests and add test for traverse_commit
      Don't allow nightly runs to fail
      Add other interesting pipeline stages
      Don't separately build ostree-sys with nightly
      Disable CollectionRef tests on too-old features
      Suppress unused import warnings in generated code
      Try caching
   ...
Read more

2022.3

04 May 19:07
v2022.3
Compare
Choose a tag to compare

A big patch landed to update our baseline GLib requirement to 2.66
(in preparation for a libsoup update, which is also coming). Thanks
so much to Daniel Kolesa!

Various test suite improvements and documentation improvements;
we now publish man pages! Thanks Dan Nicholson.

How to use Linux IMA with ostree is now documented - this
I think is a key point in helping "bridge" between the original
goal of ostree being a "flexible" Linux system with the stronger
security guarantees of other systems that use e.g. dm-verity.
More to come here!

A few static analyzer fixes (nothing critical). Some improvements
to the test suite.

As far as bugfixes, there's a notable one to the OstreeRepoAutoTransaction
refcounting that showed up in valgrind.

And last but not least, we finally closed a longstanding conflict
between ostree and per-machine SELinux policy customizations; ostree
learned how to use bubblewrap to create a container targeting
the pending deployment to re-build the policy if necessary.

Thanks so much to all contributors!

Colin Walters (17):
      configure: post-release version bump
      tmpfiles: Create `/run/ostree`
      tests: Stop using inventory crate
      Update to nix 0.23
      Update to ostree-ext 0.6
      Update to rand 0.8
      ci: Disable Ubuntu LTS
      ci: Update docs workflow to use fcos-buildroot
      Update to sh-inline 0.2
      deploy: Be a bit more verbose about SELinux bits
      libarchive: Handle `archive_entry_symlink()` returning NULL
      fetcher/curl: Consistently check return value `curl_easy_setopt`
      ci: Mask zincati for synthetic update
      docs: Add new IMA document
      Update docs/ima.md
      Add an `ostree-boot-complete.service` to propagate staging failures
      Release 2022.3

Damiano Donati (1):
      README.md: update ostree-rs language binding link

Dan Nicholson (5):
      man: Remove unnecessary nbsp's from ostree man page
      man: Allow building HTML man pages
      man: Use custom XSL stylesheet for HTML output
      man: Create an HTML index
      docs: Publish man pages

Daniel Kolesa (1):
      glib: bump glib requirement to 2.66 and port to GUri

Jan Tojnar (1):
      tests/test-cli-extensions: Fix with single-binary coreutils

Joe Talbott (1):
      Add Fedora Kinoite link to index.md also.

Luca BRUNO (2):
      apidoc: add missing page includes
      tests: move fixture to fix installed tests

Ondrej Mosnacek (1):
      deploy: Try to rebuild policy in new deployment if needed

Philip Withnall (1):
      ostree-repo-pull: Take correct out path on error

Simon McVittie (5):
      s390x-se-luks-gencpio: Fix shebang syntax
      s390x-se-luks-gencpio: Use interoperable path for bash
      test-prune: Read to the end of cut(1) output
      repo: Factor out _ostree_repo_auto_transaction_new()
      repo: Correctly initialize refcount of temporary transaction


Git-EVTag-v0-SHA512: 1e1ef032836c9b65dcd4de8140e4b742e73b87432c7ffa47cc7cc47e95a74680ff03f872295f8e4af316869ceabcfb74a65ec447bf005998ad1a2220fc5bbfbb
-----BEGIN PGP SIGNATURE-----

iQFHBAABCgAxFiEEq5KKnPjdBikJw3u93EX9WSHBPwsFAmJyzoYTHHdhbHRlcnNA
dmVyYnVtLm9yZwAKCRDcRf1ZIcE/C0f1B/9Zk7vSRF7HT+ErhcRmrFyTeC2bzl+C
D2lv4K4QLtwo2LgSm06GtztRIxqCGE+8g4G68VPqbh+BZ9i4HXaiI8bfIPQTCY2w
c2ITP81hdAZ23Ns8o/8qbF18usCVpjTyhzBHmgVbq+MSzsfjfjZE1yqxup2VYn1k
4T8UOQVJA2YR3TJkLLzsca1py8UkRkV9qfaTn6+VG6msuscUNrTHUkuc6kzsG6nd
Lsc8ijecusvyxpmwWHJ0LdBpBiC5mbzCdw2kIF10cl1XzNUI/2n2j26RmNx/RoW0
4Paib05G8o567PhawY653lPLP3+/SQ2HLVCQPoAv4lEL13yZ1QOVe2vO
=dt+M
-----END PGP SIGNATURE-----

2022.2

04 Mar 13:50
v2022.2
Compare
Choose a tag to compare

A usual collection of bugfixes and smaller enhancements. There is at least one bugfix worth calling out, which is #2549 that affects reliability of pulls with static deltas. It's a nicely self contained change, and if you aren't in a position to update to this latest release, we suggest cherry picking it.

On the feature side, there's a new ostree prune --commit-only which allow decoupling deleting unreachable (or undesired) commits from actually deleting the referenced objects, so object garbage collection can be delayed for a later time, or amortized.

The summary file now contains version information, which can help avoid fetching commits just to display that (often desired) metadata.

Another notable feature is initial read side support for the new bare-split-xattrs repository mode that was created as part of the "ostree native containers" work in https://github.com/ostreedev/ostree-rs-ext/ We haven't yet committed to marking that as production ready and stable ~forever, but it's getting close.

Thanks to all contributors!

Christian Hergert (2):
      lib/util: add syslog.h for ot_journal_print()
      lib/bootloader: use ot_journal_print() instead of sd-journal

Colin Walters (11):
      main: Also support CLI extensions in `/usr/libexec/libostree/ext`
      sysroot: Add a public `#define OSTREE_PATH_BOOTED`
      deploy: Add a 5s max timeout on global filesystem `sync()`
      deploy: Also log to journal if we time out global sync()
      core: Mark `ostree_create_directory_metadata` as `(not nullable)`
      lib/tar: Add some error prefixing
      build-sys: Drop `-Werror=aggregate-return`
      mtree: Use declare-and-initialize style
      mtree: Load traversed subdirs when creating parents
      Release 2022.2
      configure: post-release version bump

Dan Nicholson (3):
      github: Workaround glib/seccomp issue on Ubuntu impish
      lib/repo: Add commit version metadata to summary metadata
      .lgtm.yml: Fix gpgme dependency

Jonathan Lebon (9):
      lib/deploy: When deleting staged deployment, delete any lock
      ostree/deploy: Test finalization locking
      tests/kolainst: Avoid recursive symlinks
      ci/libbuild.sh: drop yum/CentOS support
      ci/make-git-snapshot.sh: fix archive name
      ci/make-git-snapshot.sh: auto-initialize submodules
      ci/make-git-snapshot.sh: xz the archive
      Add COPR integration Makefile
      lib/gpg-verify-result: Add missing floating annotation

Luca BRUNO (14):
      configure: post-release version bump
      libotutil: avoid leaking builder memory on error
      ostree: check g_setenv return value
      libostree/sepolicy: get rid of a g_setenv() call
      lib/commit: always validate metadata
      lib/commit: reject empty metadata keys
      builtin: use GCancellable and GError everywhere
      lib/repo: open file only if required
      lib/commit: clean up assertions
      lib/core: introduce two new object types for split xattrs
      lib/core: introduce 'bare-split-xattrs' mode
      lib/repo: read split xattrs content from file-xattrs-link objects
      lib/commit: disallow writing content in 'bare-split-xattrs' mode
      tests/basic-bare-split-xattrs: add fixture, check read logic

Marco Melorio (2):
      man: Fix typo in ostree-admin-switch
      man: Fix typo in ostree-find-remotes

Nikita Dubrovskii (2):
      s390x: add "IBM Secure Execution for Linux" support
      s390x: add LUKS keyfile to 'sd-boot'

Phaedrus Leeds (2):
      Fix marking static delta commits as partial
      lib/repo-refs: Remove misleading newline

Saqib Ali (4):
      src/ostree: Add --commit-only option to ostree prune
      man/prune, bash: Add --commit-only flag for ostree prune
      tests/test-prune.sh: expand testing for --commit-only
      tests/test-prune.sh: Use TAP API

Simon McVittie (2):
      libotutil: Avoid infinite recursion during error unwinding
      Update submodule: libglnx

dependabot[bot] (2):
      build(deps): bump libglnx from `803adaf` to `88da8dd`
      build(deps): bump libglnx from `88da8dd` to `c71f7ae`