ostree

Operating system and container binary deployment and upgrades

OTHER License

Downloads
98.6K
Stars
1.3K
Committers
166

Bot releases are hidden (Show)

ostree - 2022.2

Published by cgwalters over 2 years ago

A usual collection of bugfixes and smaller enhancements. There is at least one bugfix worth calling out, which is https://github.com/ostreedev/ostree/pull/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`
ostree - 2022.1

Published by lucab almost 3 years ago

New year, new ostree version!
This release adds transparent support for external sub-commands on the ostree binary. Custom binaries present in PATH in the form of ostree-<subcmd> will be now used as a fallback for sub-commands that are not natively implemented.
For example, this means that a custom /usr/bin/ostree-my-command binary can be used to transparently provide ostree my-command.

Build logic has been updated to support both libfuse 2.x and 3.x. Auto-detection is performed at configuration time, and the 3.x library is preferred from now on. Legacy 2.x support will be deprecated and removed in the future.

Several fixes and safety improvements have been merged, also addressing some static analysis warnings. The git submodule for bsdiff has been updated to latest upstream revision, picking up additional bound-checks and fixing CVE-2014-9862.


Colin Walters (3):
      repo: Change locking for summary regeneration to be shared
      soup-uri: Fix clang-analyzer warning by dropping dead code
      tests: Fix clang-analyzer not seeing through `g_error()`

Joseph Marrero (1):
      Update FSF license notices to use URL instead of address

Luca BRUNO (11):
      lib: misc static analysis fixes
      lib/repo: assert that writable state and error agree
      lib/repo: do no return an arbitrary mode on failure
      lib/repo: do no return a NULL on failure
      tests: assert mandatory values are present
      main: add support for CLI extensions via external binaries
      tests/cli-extensions: tweak test logic
      lib: use ostree-content-writer header
      bsdiff: bump submodule, pick up fix for CVE-2014-9862
      lib/static-delta: throw a proper error on bspatch failure
      github: add dependabot config

Simon McVittie (1):
      rofiles-fuse: Build using FUSE 3 if possible, falling back to FUSE 2
ostree - 2021.6

Published by lucab almost 3 years ago

This is a bugfix release.
Most of the fixes are related to warnings highlighted by gcc -fanalyzer static source analysis.
Performance of pruning logic has been improved, avoiding unnecessary trips through redundant serialization (#2484).
A regression has been fixed so that ostree is properly behaving again when used from the initramfs, at a point where /sysroot may not be mounted yet (#2486).
A race condition related to sysroot.readonly has been addressed by directly setting up sysroot readonly in initramfs (#2187).


Colin Walters (14):
      Remove OstreeTlsCertInteraction bits from introspection
      remote: Fix gcc `-fanalyzer` warning
      deployment: Fix gcc `-fanalyzer` warning
      sysroot: Fix gcc `-fanalyzer` warning
      fetcher/soup: Fix gcc `-fanalyzer` warning
      static-delta: Fix probably not actually possible NULL deref
      utils: Fix unreachable `NULL` deref by adding assertion
      variantutil: Fix gcc `-fanalyzer` warnin
      Attempt to update packit flow to build in COPR
      libglnx: Bump to ef502aabf7d3a0d37f9c4d228f870ac93404447b
      ci: Enable -fanalyzer
      tests/rollsum: Use `g_malloc` not `malloc`
      prepare-root: Set up sysroot readonly in initramfs
      ci: Require `libcap2-bin` for `capsh`

Dan Nicholson (1):
      lib/prune: Avoid unnecessary object serialization

Jonathan Lebon (1):
      app: Only remount /sysroot if needed

Luca BRUNO (8):
      prepare-root: tweak log messages to clarify errors
      repo/private: move OstreeRepoAutoTransaction to a boxed type
      tests/var-mount: tweak test setup
      prepare-root: make all mount operations silent
      prepare-root: check return codes for errors when assembling paths
      prepare-root: get rid of a global variable
      prepare-root: check for read-only sysroot status early on
      Release 2021.6

Ryan Gonzalez (1):
      lib: Avoid dereferencing NULL error values

Simon McVittie (1):
      test-commit-sign.sh: Skip a unit test when running as an installed-test

Timothée Ravier (1):
      docs: Do not convert -- & --- to en/em-dash

Valentin David (1):
      lib: Fix a bad call to g_file_get_child

Šimon (Simon) Rataj (1):
      Added Fedora Kinoite link
ostree - 2021.5

Published by cgwalters about 3 years ago

In this release, the sysroot code now ignores (with a log) any non-regular/non-symlink files in /etc. See: https://github.com/ostreedev/ostree/issues/2446

There are a few fixes and API additions for the new "ostree container" work happening in Rust in: https://github.com/ostreedev/ostree-rs-ext/

Some internal preparatory work landed for making an AutoTransaction API for C.

Finally, some small test suite improvements landed.

Colin Walters (11):
      tests/pull-test: Avoid duplicating test numbers
      tests: Add new TAP APIs
      bin/commit: Fix --tree=tar with --selinux-policy
      tests: Use ostree-ext 0.3.0
      fsck: Print a success message
      repo: Add an API to init `OstreeSePolicy` from commit directly
      sepolicy: Add deprecation comment for `_get_path()`
      lib: Add an API to construct a `MutableTree` from a commit
      deploy: Ignore sockets, fifos in /etc during merge
      Release 2021.5
      configure: post-release version bump

Luca BRUNO (1):
      repo/private: allow committing/aborting through a transaction guard

Closes: https://github.com/ostreedev/ostree/issues/2456

ostree - 2021.4

Published by cgwalters about 3 years ago

A fair set of minor bugfixes. Many fixes landed for bare-user-only (e.g. unprivileged flatpak) mode, and further work is forthcoming to ensure that ostree fsck for example also does the right thing.

There's a new public API to verify signatures outside of HTTP fetches, intended to be used for cases like the "ostree native container" bits in ostree-rs-ext. Related, there is now an API and CLI to enable "custom remotes".

ostree learned about OpenPGP Web Key Directory and there are more APIs to access remote GPG keys, in preparation for direct support for updating/rotating keys.

Several CI improvements landed, and minor static analyzer warnings were fixed.

The "deployment staging" model is now explicitly stabilized, and is fairly strongly recommended. In a future libostree release it is likely we will make it even easier to opt in to newer defaults such as staging and readonly sysroot.

Benjamin Gilbert (3):
      man: improve statoverride description
      workflows: bump lint toolchain
      workflows: limit permissions to reading repo contents

Buddelmann, Richard RB (1):
      repo-pull: legacy_transaction_resuming flag ignored

Colin Walters (10):
      lib: Change read_commit_detached_metadata to be nullable
      ci: Run main GH action CI build+test as non-root
      checkout: Save errno when re-throwing
      checkout: Also ignore xattrs for union in bare-user-only mode
      Add an API to verify a commit signature explicitly
      tests/basic: Skip --no-xattrs if we have selinux
      upgrade: Stabilize deployment staging
      Add support for "custom remotes"
      Release 2021.4
      configure: post-release version bump

Dan Nicholson (13):
      lib/repo: Factor out GPG verifier key imports
      lib/repo: Factor out GPG verifier preparation
      lib/repo: Allow preparing GPG verifier without global keyrings
      lib/repo: Add ostree_repo_remote_get_gpg_keys()
      bin/remote: Add list-gpg-keys subcommand
      libotutil: Import implementation of zbase32 encoding
      libotutil: Add helper for GPG WKD update URLs
      lib/repo: Include WKD update URLs in GPG key listing
      bin/remote: Include update URLs in list-gpg-keys
      fixup! lib/repo: Add ostree_repo_remote_get_gpg_keys()
      fixup! bin/remote: Add list-gpg-keys subcommand
      fixup! lib/repo: Add ostree_repo_remote_get_gpg_keys()
      bin/remote: Rename list-gpg-keys to gpg-list-keys

Jonathan Lebon (3):
      lib/sign-dummy: Handle incorrect signatures correctly
      lib/sysroot: Fix error message about creating `/var/lib`
      ostree/dump: Fix free'ing a static string

Luca BRUNO (15):
      configure: post-release version bump
      builtins/commit: check for conflicting permissions options
      builtins/commit: move commit modifier to auto-cleanup
      lib/core/checksum: add flag to use canonical permissions
      lib/repo/checkout: use canonical perms in bare-user-only mode
      lib/commit: autofix permissions for bare-user-only
      lib/diff: ignore xattrs if disabled on either repos
      lib/diff: automatically skip xattrs in bare-user-only mode
      builtins/commit: set up relevant flags in bare-user-only mode
      lib/commit: automatically skip xattrs in bare-user-only mode
      tests: update several bare-user-only checks
      lib: improve transactions auto-cleanup logic
      libtest: tweak selinux/relabel message
      tests/basic: avoid changing ownership
      tests: skip a broken fsck case

Simon McVittie (1):
      tests: Unset SOURCE_DATE_EPOCH

刘建强 (1):
      fix: Avoid wild pointers

ostree - 2021.3

Published by lucab over 3 years ago

This release adds new repository-locking methods to the API, in order to make lock handling more granular and better suited for multi-threaded consumers of the library.

Several bugs have been fixed related to service unit ordering and enablement. Pulling from remotes with unknown schemes now produces more friendly error messages.

API documentation is now automatically published to https://ostreedev.github.io/ostree/reference/.

By default, commit timestamps now respect the 'SOURCE_DATE_EPOCH' environment flag, improving support for reproducible outputs.

On the community side, the default git development branch has been renamed to 'main' and the IRC channel moved to the libera.chat network.


Alexander Larsson (1):
      libtest-core: Add assert_files_equal

Benjamin Gilbert (1):
      OWNERS: remove

Christian Kellner (1):
      Fix small typo in ostree-sysroot.c

Colin Walters (9):
      build-sys: Add toplevel workspace Cargo.toml
      tests/inst: Make nondestructive tests runnable as unit tests
      configure: post-release version bump
      ci: Fix GH action for rustfmt
      pull: Cleanly error out on unknown schemes
      ci: Fix staged-delay to work with newer systemd
      repo: Make locking APIs public
      deploy: Warn if we find content in the deployment's /var
      Use generator to enable ostree-remount.service and ostree-finalize-staged.path

Dan Nicholson (27):
      tests: Test without a cache directory by default
      docs: Fix CONTRIBUTING link
      docs: Provide bundler setup for building site locally
      docs: Add github workflow for building and publishing docs
      docs: Copy in API docs and add link
      workflow/docs: Give token write permission to push gh-pages
      tests/gpg: Don't assert subkey expiration when only primary expired
      repo: Require lock type in ostree_repo_lock_pop
      build-sys: Bump required GLib to 2.44
      repo: Make locking per-OstreeRepo
      repo: Make locking precondition failures fatal
      test-concurrency: Lower lock timeout
      tests: Add single process repo locking tests
      repo: Use g_new for OstreeRepoAutoLock
      Don't fail build when systemd unit path not defined
      ci: Rename GitHub Actions rust workflow metadata file
      ci: Add GitHub Actions workflow for test suite
      ci: So long, Travis CI
      ci: Disable fail-fast in GitHub Tests workflow
      ci: Drop special handling of test-suite.log
      ci: Update Debian and Ubuntu build dependencies
      ci: Use Debian and Ubuntu release stage tags

Jonathan Lebon (2):
      docs: Add more details about 3-way merge
      ostree-remount: Order before systemd-rfkill.*

Luca BRUNO (2):
      lib/commit: respect SOURCE_DATE_EPOCH for commit timestamp
      ci/release-build: evaluate package_version from m4 definition

Micah Abbott (1):
      docs: typo fix for /usr/etc

Philip Withnall (1):
      docs: Change IRC channel to libera.chat from freenode

Simon McVittie (5):
      libtest: On failure, make it clearer what has happened
      libtest-core: On failure, make it clearer what has happened
      libtest-core: Update URL of rpm-ostree
      libtest-core: Mention bubblewrap as a user of this file
      libtest.sh: Remove duplicate ERR trap and report_err()

Timothée Ravier (4):
      packit: update for F34, rawhide branch & master rename
      *: rename master branch to main
      *: rename master to main in tests & examples
      *: rename master branch to main (external repos)
ostree - 2021.2

Published by cgwalters over 3 years ago

Release 2021.2

This release mainly adds new APIs for file writing, which we will
use in the new ostree-rs-ext project to improve imports from tarballs.
The other feature is that rofiles-fuse now handles xattrs (but - rofiles-fuse
should be considered deprecated, see https://github.com/ostreedev/ostree/issues/2281 ).
There's also some more introspection API tweaks, and some testing improvements.

Thanks to all contributors!

Benjamin Gilbert (1):
      docs: fix "Edit this page on GitHub" links

Colin Walters (25):
      configure: post-release version bump
      .lgtm.yml: Add package deps
      installdeps: Drop PyYAML
      tests/pull-test: Use mv -f in a few cases
      cci: Update for buildroot changes
      repo: Fix load_variant_if_exists to return a nullable value
      repo: Ensure load_variant_if_exists sets NULL value
      build-sys: Include all mkinitcpio bits
      manual-tests: Fix unused variables
      core: Fix lgtm.com warning about always true `if (bits > 0)`
      tests: Drop openat override
      tests/inst: Update ostree crate
      tests/inst: Update rpm-ostree client
      tests/inst: Update tokio, hyper and nix
      build-sys: Remove --enable-experimental-api
      core: Drop unused error handling from object stream helper
      tests: Silence a gcc warning
      repo: Add ostree_repo_write_regfile_inline
      travis: Bump Ubuntu versions
      repo: Add ostree_repo_write_symlink
      repo: Add ostree_repo_write_regfile
      tests: More tests for inline writing
      repo: Ensure we set the size for regfile inline
      Release 2021.2
      configure: post-release version bump

Dan Nicholson (6):
      Remove apidoc .gitignore from version control
      Ensure consistent apidoc .gitignore
      travis: Don't ask any debconf questions when installing packages
      travis: Drop i386 Ubuntu target
      travis: Correct ci_suite settings for buster
      travis: Add back a 32 bit i386 build

Felix Krull (1):
      lib: fix some version tags

Stefan Berger (1):
      rofiles-fuse: Enable support for setting and getting xattrs

Git-EVTag-v0-SHA512: 82ed5d5fec3a782758ba89fa4e822e2c6fed33a8b47c55e3963bafb7ba8873cb62fbcb9ecc8028aae0bea516adbee83c54f781cd0ab589e785210856a6a05cd4
-----BEGIN PGP SIGNATURE-----

iQFHBAABCgAxFiEEq5KKnPjdBikJw3u93EX9WSHBPwsFAmB4l0sTHHdhbHRlcnNA
dmVyYnVtLm9yZwAKCRDcRf1ZIcE/CyNCB/4iQnRWViJrVD4jMJjLAAEpUxYTgQXA
6gFBC2yvjpgCtlKbhPyKr0MTN3s7Q0HCrurV8IILm6SO42mIq1B/W1zGON2KbBP+
Sl5iRrkBqkn5W8uIeZ4eodOzmw2FTJKs3XDWdXPctwBeswQa4DJz5JBmisF+i0Yh
AcXGq4KcPv7AkVs+qnjBCo8AJkJG/rEQouC8v1ch9sRjhHUjHxqCvP4/493XoRRk
WW4/4SxpXXGHZYA9oZiKOqG6VdDKhoFoXINN7Jei0knWB1eRF1wxoobNCr+JX7O7
E711NmRQsisD4+Imn7IPl9WoRL/v5EB/RQWkq0nw2VWUjGu7i55AyMYm
=fnyR
-----END PGP SIGNATURE-----
ostree - 2021.1

Published by cgwalters over 3 years ago

Some smaller bugfixes across board; for example introspection annotations, memory leaks, pull API with depth enabled, pulls from file:/// URLs that contain whitespace, etc.

" Add configure option for unsuffixed GRUB2 commands" is notable for users of upstream grub2 (not the Fedora fork).

I hope that everyone starts using the new ostree commit --bootable (or the new shlib API) - this injects metadata into the commit which is useful to distinguish between bootable ostree commits (ones that contain a Linux kernel) versus e.g. flatpak apps or caches.

Thanks to all contributors!

Colin Walters (28):
      main: Unconditionally set up mount namespace
      sysroot: Also maintain canonical boot_fd
      sysroot: Handle ro /boot but rw /sysroot
      repo: Move fsverity bits to ostree-repo-verity.c
      repo: Make ostree_repo_create_at take nullable options
      README.md: Also link apt2ostree
      ci: Don't install deps if running as non-root
      ci: Add new build-check-sanitized.sh
      deltas: Fix leak of matches
      Add --enable-sanitizers, fix `make check` with it
      docs: Describe using scratch/empty deltas for initial fetches
      README.md: Fix contributing link, add contact section
      refs: Make ostree_repo_resolve_rev{,_ext}() use (nullable)
      tests/inst: Switch to rpmostree-client from git
      deploy: Add subbootversion to journal
      Add an API+CLI to inject metadata for bootable OSTree commits
      tests/inst: Fix lots of `cargo clippy` warnings
      Merge pull request #2302 from cgwalters/tests-inst-clippy
      tests/inst: cargo fmt
      ci: Add a Github Action for Rust for tests/inst
      Merge pull request #2303 from cgwalters/gh-actions
      sysroot: Add _require_booted_deployment() API
      Merge pull request #2301 from cgwalters/api-require-booted
      Merge pull request #2298 from KloudJack/remove-grub2-suffix
      Drop minimal rust/ library
      tests/inst: Patch to use my PR for openat
      Merge pull request #2309 from jlebon/pr/prefix-pull
      Release 2021.1

Dan Nicholson (5):
      pull: Allow disabling commit binding verification
      pull: Use GNU coding style
      tests: Ensure no dangling commit partials on remote depth pull
      pull: Error on depth pull with missing head commit
      pull: Fix local pull with depth and truncated source history

Javier Jardón (1):
      README.md: Add Apertis and GNOME OS

Jonathan Lebon (3):
      lib/sysroot: Add comments and debug statements around sysroot parsing
      Merge pull request #2306 from cgwalters/drop-core-rust
      lib/pull: Add some error-prefixing in dirtree scanning

Kenneth J. Miller (1):
      Add configure option for unsuffixed GRUB2 commands

Leonardo Graboski Veiga (1):
      docs: Add Torizon to related projects and OS

Luca BRUNO (4):
      configure: post-release version bump
      workflow/release: further refinements
      templates: add release-checklist
      tests/ext/destructive: enhance test logic

Phaedrus Leeds (4):
      README: Fix typos of Flatpak
      man: Add missing repo mode in config docs
      pull: Fix some whitespace and a comment
      Fix translation of file:// URIs into paths

Philip Withnall (1):
      ostree-repo-pull: Fix a leak of the summary data if loading from cache

Simon McVittie (1):
      test-pull-summary-sigs: Set timestamps to serve expected files

William Manley (1):
      ostree commit --tree=tar: Import xattrs from tarballs
ostree - v2020.8

Published by lucab almost 4 years ago

This release mostly contains scalability improvements and bugfixes.

Caching-related HTTP headers are now supported on summaries and signatures, so that they do not have to be re-downloaded if not changed in the meanwhile.

Summaries and delta have been reworked to allow more fine-grained fetching.
It is now possible to store deltas in detached metadata outside of summary files, so that only relevant ones can be pulled when downloading a particular commit.
In particular, deltas can now be stored in a separate directory indexed by target commit, thus grouping the subset of deltas affecting it. These indexes are updated when the summary is updated and the in-summary delta index would normally be updated.

Related to the above, a new core option has been added to drop the deltas from the summary. However, as that would break older versions looking for the deltas there, it is off by default.

Finally, this fixes several bugs related to atomic variables, HTTP timeouts, and 32-bit architectures.


Alexander Larsson (16):
      deltas: Add _ostree_get_relative_static_delta_index_path()
      deltas: Add ostree_repo_list_static_delta_indexes() function
      deltas: Update delta indexes when updating summary
      deltas: Add and document no-deltas-in-summary config option
      deltas: Make ostree_repo_static_delta_reindex() public
      deltas: Add CLI ops to list and reindex delta-indexes
      deltas: Use delta indexes when pulling
      deltas: Add tests for delta indexes
      deltas: Take a shared repo lock while reindexing deltas
      deltas: Set `indexed-deltas` key in the config and summary
      pull: Only download summary if we need it for the pull operation
      tests: Add a testcase to ensure we're not using the summary if we don't need it
      Add ostree_repo_gpg_sign_data()
      ostree pull: Add more g_debug spew around fetching deltas
      ostree_repo_gpg_sign_data: Fix API doc argument name
      pull: Don't save into cache passed in GByte summaries

Colin Walters (7):
      Post-release version bump
      deploy: Remove (transfer none) from fd arg
      travis: Add a 32 bit build
      sysroot: Fix up some GI nullable annotations
      bin/checkout: Port some to new style
      deployment: Add a bunch of docs and fix annotations
      deployment: Ensure query_deployments_for returns nullable values

Dan Nicholson (1):
      lib/deltas: Annotate from checksum as nullable

Felix Krull (1):
      lib: fix GI parameter tags

Jonathan Lebon (4):
      ostree-prepare-root: print st_dev and st_ino as 64-bit ints
      lib/fetcher-curl: Use G_SOURCE_REMOVE instead of FALSE
      lib/fetch-curl: Unref timeout source
      Drop use of `volatile`

Kelvin Fan (1):
      docs: Fix various typos

Luca BRUNO (5):
      ci/travis: move to newer base distro
      ci: run ci-release-build.sh on GitHub
      workflows/release: pattern-match on PR title

Philip Withnall (5):
      libostree: Add support for ETag and Last-Modified headers
      lib/pull: Hook up HTTP caching headers for summary and summary.sig
      tests: Add simple test for summary file caching
      ostree/trivial-httpd: Add Last-Modified/ETag support
      tests: Split RFC 2616 date parsing code out and add tests

William Manley (8):
      ostree_repo_get_bootloader: Document transfer none
      Refactor: Centralise choosing the appropriate bootloader
      Refactor: sysroot.bootloader: Store enum value rather than string
      Add support for explicitly requesting any specific bootloader type
      Refactor `ostree_sysroot_query_bootloader`
      Tests: Refactor bootloader-entries-crosscheck
ostree - 2020.7

Published by cgwalters about 4 years ago

Static deltas can now be signed to more easily
support offline verification.

There's now support for multiple initramfs images;
the idea here is that one can have a "main" initramfs
image and a secondary one which represents local
configuration.

The documentation is now moved to https://ostreedev.github.io/ostree/#

A lot of preparatory cleanups to the pull code landed
for upcoming work on indexing deltas outside of the summary.

On the bugfix side, the biggest one is a fix for
an assertion failure when upgrading from systems
before ostree supported devicetree.

Also notable is that ostree no longer hardlinks zero
sized files to avoid hitting filesystem maximum
link counts.

Alexander Larsson (17):
      list-deltas: Don't break on non-subdir entries
      Fix leak when signing
      pull: Break out _ostree_repo_save_cache_summary_file() helper
      pull: Actually mmap summary files
      Add and use ot_checksum_bytes helper
      deltas: Break out _ostree_repo_static_delta_superblock_digest() helper
      Break out the signature verification code into a helper function
      fetch_summary_with_options: drop unnecessary "goto out" use
      Add g_autoptr helper for pushing a thread default main context
      repo_remote_fetch_summary: Use GMainContextPopDefault
      Inline repo_remote_fetch_summary
      Minor cleanup of _ostree_repo_remote_new_fetcher()
      ostree-repo-pull.c: Extract mirrorlist generation to helper
      Update the symbols files to match that we're now on 2020.6
      ostree_repo_find_remotes_async: Fix leak of summary
      fetch_summary_with_options: Fix n-network-retries option parsing
      signatures: Fix leak in _sign_detached_metadata_append()

Colin Walters (10):
      Post-release version bump
      ci: Drop var mount test
      deploy: Add some error prefixing around xattr setting
      commit: Tighten scope of two variables
      checkout: Ensure copies of unreadable usermode checkouts are readable
      deploy: Remove deployment bootcsum assertion
      delta: Some minor code style fixups
      checkout: Don't hardlink zero sized files
      libglnx: Bump to master
      Release 2020.7

Frédéric Danis (12):
      lib/deltas: Add inline signature for static-delta superblock
      bin/static-delta: Add support to sign superblock
      lib/deltas: Add signature check API for static-delta superblock
      bin/static-delta: Add command to verify delta signature
      lib/deltas: Support signed delta in execute_offline
      lib/deltas: Support signed delta in dump
      tests/delta: new tests for signed deltas
      tests/libtest.sh: Add skip_without_sign_ed25519() function
      tests/delta: new tests for 'ed25519' signed deltas
      lib/deltas: Check signed delta in execute_offline
      bin/static-delta: Add signature parameters to apply-offline
      tests/delta: Add new tests for applying signed deltas

Jonathan Lebon (8):
      Makefile-libostree.am: Uncomment BUILDOPT_IS_DEVEL_BUILD conditional
      lib: Minor versioning related fixes
      lib/bootconfig: Add support for multiple initrd keys
      lib/deploy: Add deploy/stage APIs with options
      lib/deploy: Add support for overlay initrds
      Add Packit integration
      lib/deploy: Don't leak fd when checksumming dtbs
      ci: Make Packit ignore downstream patches

Phaedrus Leeds (1):
      Avoid shadowing local variables

Philip Withnall (3):
      lib/repo: Add mode and tombstone config options to the summary file
      lib/pull: Read mode and tombstone options from summary file if possible
      ostree/dump: Fix a memory leak

Timothée Ravier (7):
      docs: Add Jekyll and theme config
      docs: Update Index page
      docs: Update Contributing and tutorial pages
      docs: Move and update pages from the manual
      docs: Move historical README to the docs
      README: Update and mention new docs
      docs: Fix URL in Jekyll _config.yml


Git-EVTag-v0-SHA512: d6f38b96bc9385bf89f347300967b53709be34d2bad9b78eecd7f5ae5c1bcadb18daca38576d65d325279d0bc77488fe49524c39114e3b2b05a7fe6eb24ac704
ostree - Release 2020.6

Published by cgwalters about 4 years ago

ostree 2020.6

One notable feature: ostree now supports / and /boot being on the same filesystem.
I know this has been a long time coming and often demanded - thanks to everyone
who contributed, but particularly @wmanley who even did two separate implementations to
better compare the advantages/disadvantages!
PR: https://github.com/ostreedev/ostree/pull/2149

Other than that it's mostly bugfixes; there is one quite important one for anyone using the readonly=true for /sysroot (which is still just Fedora CoreOS I suspect).

There's some improvements to the GObject Introspection metadata, some (cosmetic) static analyzer fixes, a fix for the immutable bit on s390x, dropping a deprecated bit in the systemd unit file, etc.

Thanks to everyone who contributed!

Colin Walters (11):
      Post-release version bump
      tests/inst: Bump to latest ostree and gtk-rs
      pull: Assign idle_src variable before calling unref()
      prepare-root: Remove unused variable
      admin/pin: Enforce that index is a number
      tests: Check the immutable bit
      linuxfsutil: Pass int to ioctl, not long
      tests/inst: Port to new sh-inline repo
      tests/inst: Update to published sh-inline crate
      Release 2020.6
      Post-release version bump

Felix Krull (2):
      lib: add some missing version tags
      lib: mark out parameters as out parameters

Jonathan Lebon (4):
      configure.ac: Set is_release_build=no
      ostree-prepare-root: Fix /etc bind mount
      ostree-remount: Remount /etc rw if needed
      ci: Temporarily import kola test from jlebon's FCOS fork

Matt Bilker (1):
      Fix mkinitcpio with newer systemd versions

Simon McVittie (1):
      boot: Replace deprecated StandardOutput=syslog with journal, etc.

William Manley (2):
      Refactor tests/bootloader-entries-crosscheck.py
      sysroot: Support /boot on root or as seperate filesystem for syslinux and u-boot
ostree - 2020.5

Published by cgwalters about 4 years ago

This release primarily fixes a regression in 2020.4 where the "readonly sysroot" changes incorrectly left the sysroot read-only on systems that started out with a read-only / (most of them, e.g. Fedora Silverblue/IoT at least)
Link: https://github.com/ostreedev/ostree/pull/2160/commits/33eeb7b9ebd858c0246a9155b7a64b9f8a258583

One thing not fixed in this release that also changed in 2020.4 is that if you were shipping an OS build with device trees before proper support landed in 2020.4, you may need to "ratchet" an upgrade process. See the linked issue for ongoing discussion.
Link: https://github.com/ostreedev/ostree/issues/2154

There's some additions to the pull API to aid flatpak, and although it turns out those are likely to be obviated by https://github.com/ostreedev/ostree/pull/2167 - we will retain those options in the future.
Link: https://github.com/ostreedev/ostree/pull/2166

There were a few fixes to the man pages, and ostree show now displays the parent commit.

The default dracut config now enables reproducibility.
Link: https://github.com/ostreedev/ostree/pull/2170

On the "feature" side, there is a new ostree admin unlock --transient. We expect this to be a foundation for further support for "live" updates.
Link: https://github.com/ostreedev/ostree/pull/2103/commits/f2773c1b55cdcc7eea0558e4f2505d4ecbd53d62

Finally, various CI improvements landed - more testing of FCOS in PXE/ISO, and most notably there's a large brand new test (written in Rust) that exercises a mix of kill -9 and reboot -ff (immediate forced reboots) while upgrading.

Benjamin Gilbert (1):
      ci: test FCOS PXE and ISO install

Colin Walters (8):
      Post-release version bump
      remount: Still remount /sysroot writable if not configured ro
      tests/repo-finder: Explicitly commit empty dir
      ci: Fix ISO testing
      ci: Barf on unset umask
      Add "transient" unlock
      tests/inst: Add destructive test framework
      Release 2020.5

Jonathan Lebon (7):
      app: Fix various CLI metavariable names
      lib/deploy: Clean up kargs override handling
      lib/deploy: Avoid shadowing variable
      lib/deploy: Simplify deployment creation
      lib/cleanup: Drop unnecessary GEqualFunc cast
      lib/deploy: Drop unneccessary function arg
      lib/deploy: Clarify comment re. staging API

João Paulo Rechi Vita (1):
      dracut: Create reproducible images

Philip Withnall (2):
      pull: Improve formatting of pull options in documentation
      pull: Add summary-{,sig-}bytes options to ostree_repo_pull()

Stefan Agner (3):
      man: add glossary to main man page
      man: add missing options to the ostree-commit man page
      Show commit checksum of parent, if present

Stephen Lowrie (1):
      ci: add pxe-offline-install testiso scenario
ostree - 2020.4

Published by cgwalters about 4 years ago

ostree 2020.4

By far the biggest change in this release is new ed25519 signing support, powered by libsodium.
See: https://github.com/ostreedev/ostree/issues/1233

ostree commit gained a new --base argument, which significantly simplifies constructing "derived" commits, particularly for systems using SELinux.

Handling of the read-only sysroot was reimplemented to run in the initramfs and be more reliable. Enabling the readonly=true flag in the repo config is recommended.

Several bugs were fixed in locking for the temporary "staging" directories OSTree creates, particularly on NFS.

lib: Coerce flags enums to GIR bitfields changed some values to be (correctly) flags - this may show up as incompatible for GObject Introspection consumers (but not C).

A new timestamp-check-from-rev option was added for pulls, which makes downgrade protection more reliable and will be used by Fedora CoreOS.

Several fixes and enhancements were made for "collection" pulls including a new --mirror option.

The ostree commit command learned a new --mode-ro-executables which enforces W^R semantics on all executables.

A new commit metadata key (OSTREE_COMMIT_META_KEY_ARCHITECTURE) was added to help standardize the architecture of the OSTree commit. This could be used on the client side for example to sanity-check that the commit matches the architecture of the machine before deploying.

Some new tests are being written in Rust, and ostree now itself uses the Rust ostree bindings for tests; work on this is ongoing.

The pull command learned a new --per-object-fsync which restores the original libostree behaviour of fsyncing each object as they are written. This makes the overall operation take much longer, but exhibits an I/O latency profile friendlier to neighbouring processes (such as databases) that also invoke fsync. This will be used in OpenShift for example, where etcd latency is crucial.

Future work

There's a lot in the pipeline, including better handling of the /boot = / case, static delta inline signatures, more CI work, etc.

Git shortlog

AJ Jordan (1):
      Fix typo

Colin Walters (62):
      main/pin: Fix usage of GError
      tests: Rework tests/installed → tests/kola
      tests/kola: Two test fixes
      main/commit: Rework control flow to use --tree=X path
      tests/pull-repeated: Bump up retries to match max fails
      repo/commit: Add support for --selinux-policy-from-base
      build-sys: Print libsodium status at end of configure
      sign-ed25519: Convert some functions to new style
      sign-dummy: Convert to current code style
      signing: Remove g_debug(__FUNCTION__)
      lib: Add error prefixing for sysroot load and repo open
      sysroot: Reorganize sysroot load code a bit
      lib: Squash two gtk-doc warnings
      tests/pull-sizes: Disable xattrs everywhere
      pull: Update key loading function to match error style
      commit: Add --base argument
      OWNERS: add d4s to reviewers
      Only enable "dummy" signature type with opt-in env variable
      lib/pull: Two cosmetic internal function renames
      Change signature opts to include type, cleanup error handling
      ci: Build minimal without libsodium too
      Use `sign-ed25519` for the feature name
      travis: Add some libsodium coverage
      lib: Move internal binding verification API to repo.c
      lib: Move pull struct definition into repo-pull-private.h
      lib: Move gpg/signapi bits into ostree-repo-pull-verify.c
      deploy: Add --no-merge
      finalize-staged: Add ProtectHome=yes and ReadOnlyPaths=/etc
      tests/staged-deploy: Cleanup initial state
      signing: Add #define OSTREE_SIGN_NAME_ED25519
      commit: Add --mode-ro-executables option
      ostree-prepare-root: Requires=sysroot.mount
      remote-add: Add --sign-verify=KEYTYPE=[inline|file]:PUBKEYREF
      signing: Change API to create instances directly
      tests/staged-delay.sh: New test
      pull: Further cleanup signapi verification
      finalize: Add RequiresMountsFor=/boot too
      ci: Install kola tests
      pull: Only have API to disable signapi for local pulls
      ci: Test for clock skew
      admin-test: Show err.txt on unexpected failure
      pull: Add support for sign-verify=<list>
      Move ro /sysroot bind mount of /etc into initramfs
      tests/kola: Move to tests/kolainst
      Add new Rust-based tests
      remote-add: Default to explicit sign-verify backends
      pull: Add error prefixing with specific object when parsing
      bupsplit: rustfmt(*)
      tests/rust: Extract a with_webserver_in helper wrapper
      commit: Note in help that --base takes an argument
      core: Add OSTREE_COMMIT_META_KEY_ARCHITECTURE
      tests: Add a pre-signed-pull.sh test
      sign/ed25519: Output failed signatures in error message
      signapi: Change API to also return a success message
      libostree-devel.sym: Remove nonexistent stub symbol
      core: Add documentation for ostree_commit_get_timestamp()
      sysroot: Remove unimplemented ostree_sysroot_lock_with_mount_namespace
      tests: Port to Debian autopkgtest reboot API
      tests: Add needs-internet tag for webserver bits
      pull: Also append bytes written
      pull: Add --per-object-fsync
      Release 2020.4

Dan Nicholson (1):
      lib: Coerce flags enums to GIR bitfields

Denis Pynkin (80):
      Add libsodium dependency
      lib/sign: initial implementation
      sign: add new builtin for signing
      sign: allow to sign commits from CLI
      lib/sign: enable verification for pulling
      tests: add test for commits sign/verification
      sign: API changes for public keys and CLI keys format
      builtin/sign: allow to provide the file with public keys
      tests/sign: check public keys load from file
      builtin/sign: remove libsodium-specific code
      sign: fix unneeded objects creation
      sign: fix error return for dummy module
      builtin/sign: remove libsodium dependency
      sign: fixes for ed25519 for loading public keys from files
      sign: check signatures for pulled commits
      tests/sign: add initial test for pulling
      lib/sign: disable mandatory signature check
      lib/sign: add support of file with valid keys for remote
      lib/sign: read ed25519 public keys from well known places
      builtin/sign: allow to sign with keys from secret file
      tests/gpg: skip test in JS if GPG is not supported
      sign: fix memory leaks and code cleanup
      builtin/sign: allow to use multiple public keys for verification
      lib/sign-ed25519: cleanup unneeded code
      lib/sign: public API optimisation
      lib/sign: allow to add keys as base64 string for ed25519
      sign: use common function for loading public keys during pulling
      lib/sign: minor optimisation for ed25519
      lib/sign: add ostree_seign_clear_keys function
      lib/sign: add revoking mechanism for ed25519 keys
      builtin/sign: add option 'keys-dir'
      tests/sign: check system-wide config and revoked keys
      man: document `ostree sign`
      bash-completion: add completion for `ostree sign`
      apidoc: add API documentation for signing interface
      man: document commit signing
      bin/pull-local: add --sign-verify
      tests/libtest: add functions for ed25519 tests
      tests/sign: use library functions for ed25519 keys
      tests/local-pull: test "--sign-verify" option
      bin/remote-add: added "--no-sign-verify" option
      tests: use option "--no-sign-verify" for adding remote
      tests/sign: disable GPG for alternatively signed pull
      lib/sign: allow to build with glib version less than 2.44
      lib/sign: use separate public and secret keys for 'dummy'
      tests/sign: add verification key for pulling with dummy
      lib/sign: fix the false failure while loading keys
      tests/sign: allow to start pull test without libsodium
      lib/sign: new function for summary file signing
      bin/summary: add signing with alternative mechanism
      lib/repo-pull: verify signature on summary pull
      tests/sign: new test for summary file verification
      man: add signature options for ostree summary
      gpg: do not fail GPG-related configuration get for remote
      lib/repo-pull: change sign supporting functions
      lib/repo-pull: set default for sign-verify-summary
      lib/repo-pull: add signature check while fetching summary
      bin/pull-local: add --sign-verify-summary
      lib/sign: make dummy engine non-public
      lib/sign: make ed25519 engine non-public
      lib/sign: better error handling of ed25519 initialization
      lib/repo-pull: return error from signing engine
      lib/repo-pull: return errors from signature engines
      tests/sign: added check with file and single key on pull
      sign-ed25519: Convert functions to new style
      sign-dummy: optimize ostree_sign_dummy_data_verify
      lib/sign: convert ostree_sign_summary to new style
      tests/sign: check pull failure with invalid remote options
      lib/sign: return false for non-implemented functions
      sign-pull: improve error handling
      ostree-repo: improve error handling
      lib/repo-pull: fix GPG check while pulling remote
      Add ci_pkgs to travis-install.sh
      Fix the lost line separator
      Add the same config options for distcheck
      tests/signed-commit: fix the test of well-known places
      sign: rename option for enabling ed25519
      signapi: expose metadata format and key
      sign/ed25519: fix the abort in case of incorrect public key
      sign/ed25519: fix return value if no correct keys in file

Felix Krull (1):
      lib: fix typo in function docs

Frédéric Danis (1):
      lib/deltas: convert ostree_repo_static_delta_generate to new style

Javier Martinez Canillas (1):
      grub2: Don't add menu entries if GRUB supports parsing BLS snippets

Jonathan Lebon (17):
      Post-release version bump
      bin/diff: Clarify documentation around REV and DIR syntax
      lib/pull: Don't leave commits pulled by depth as partial
      ci: Adapt to use new fcosKola semantics
      lib/commit: Add more error prefixing
      lib: Rename function for staging dir check
      lib/commit: Check that dirent is a directory before cleaning
      lib/pull: Add `timestamp-check-from-rev`
      lib/upgrader: Pull with `timestamp-check-from-rev`
      tests/admin-test: Ensure that commits are 1s apart
      switchroot/remount: Neuter sysroot.readonly for now
      tests/admin-test: Fix --allow-downgrade check
      libglnx: Bump to latest
      ci: Import latest ci-commitmessage-submodules from rpm-ostree
      ci: Remove libpaprci/ directory
      lib/repo: Handle EACCES for POSIX locking
      ci: Constrain parallel build jobs

Matthew Leeds (4):
      lib/fetcher-util: retry download on G_IO_ERROR_PARTIAL_INPUT
      find-remotes: Add a --mirror option
      Don't copy summary for collection-ref mirror subset pulls
      tests: Check that example symbol isn't released

NEPO (1):
      README.md: Fix link to CONTRIBUTING.md

Stefan Agner (7):
      docs: clarify archive repo type
      docs: extend object type documentation
      docs: extend repository types
      deploy: support devicetree directory
      man/checkout: fix short name option of --user-mode
      checkout: use FILE as option argument string for --skip-list
      man/checkout: document missing options

William Manley (1):
      OWNERS: Uncomment @wmanley

Git-EVTag-v0-SHA512: b65a23ebc1de1b33d886657720c84cffdf9a67e4a154e732693a986a8b2f781c36574e509acf329b835354116bcdabde55a96084f06e5abcb77f6e02e09779f4
ostree - 2020.3

Published by cgwalters over 4 years ago

A quick followup to 2020.2, which introduced support
for [read-only sysroot][1] ended up breaking some of
the Fedora CoreOS tests in [coreos-assembler][2]
which in turn holds back ostree going into FCOS:
https://github.com/coreos/fedora-coreos-tracker/issues/343

Now we've closed that gap and are running more of those
tests as part of our [new CI][3].

[1] https://github.com/ostreedev/ostree/pull/1767/commits/5af403be0cc64df50ad21cef05f3268ead256d6d
[2] https://github.com/coreos/fedora-coreos-tracker/issues/343
[3] https://github.com/coreos/fedora-coreos-tracker/issues/263

Colin Walters (3):
      Post-release version bump
      ci: Test kola --upgrades
      main: Also automatically remount rw /sysroot for `ostree pull` etc.

Jonathan Lebon (3):
      ci: migrate to new coreos-ci project
      ci: use `fcosKola` for running kola tests
      Release 2020.3


Git-EVTag-v0-SHA512: 0032a560965e0dc2e8cd27b4324b54ca5f968a0a1f2ca67f1de7d810ac135595c034f3f5d2f8f68ef38cb0172558d0911583cd57c17cf12b1cba19ebdadf8997
ostree - 2020.2

Published by cgwalters over 4 years ago

"Brown paper bag" release that actually sets the
is_release_build=yes flag and also fixes the
Since: on a few new functions.

ostree - 2020.1

Published by cgwalters over 4 years ago

There is now support for making the /sysroot mount point read-only to start, and this is used by Fedora CoreOS today. This protects against a lot of accidental damage, and also generalizes and improves the previous special case handling of having /boot read-only. One known issue is that ostree pull is broken with this enabled, and this will be fixed.

Error-handling around GPG verification has had an overhaul. Specifically, libostree now has more specific error codes to distinguish between different verification failures. This should allow apps to have more fine-grained control over how to respond to errors. Do note that the error messages themselves have changed, and we strongly suggest that anyone relying on a specific error message string to migrate to using the API directly.

The original "archive" (split up objects) format didn't make it easy for a client system to know how much data it would be downloading. Later, static deltas were added which addressed this problem, but there are situations in which object fetches still occur. Later then support for optional sizes metadata in commit objects was added but was never really stabilized/publicized. There were also some bugs in it. That is now completed - the sizes data is now stable. and new API was added to read it.

This release adds initial fs-verity support; it doesn't do too much today. Bigger picture it's important to understand that the vision of OSTree is to enable Linux systems that feel like they're "image based" (transactional, versioned updates, no dependency resolution client side), but also to enable things like doing commits on the client side. Today rpm-ostree supports replacing the kernel client side as a first class operation. This is crucially important to make it feel truly like a Linux system that you own. See also this blog. Having a story for how system integrity works in this model is more complicated, but we (the CoreOS team at RHT) will be continuing work on it.

A small tweak was made to have OSTree create repo structure directories and files (such as objects/ or .lock) with group write permissions. This is useful for managing OSTree remote servers from multiple UIDs. For systems with the default umask of 0022, this should have no effect.

We've extensively reworked CI for the upstream repo. In addition to Travis, testing is now done on top of Fedora CoreOS. Not all tests have been carried over, but expect to see more coming. This rework will also allow us to have more comprehensive tests previously not possible.

Several fixes were made to the test suite to handle the cases of systemd vs no-systemd, and systemd is now advertised in the list of features in ostree --version if present.


$ git shortlog --no-merges v2019.6..
Alex Kiernan (6):
      test-switchroot.sh: Exclude /proc from file list
      build: Expose systemd in OSTREE_FEATURES
      tests: Skip /var test if running with systemd and libmount
      test-switchroot.sh: Find ostree-prepare-root in installed tests
      fixup! test-switchroot.sh: Find ostree-prepare-root in installed tests
      build: fix systemd feature advertisement

Cole Robinson (1):
      docs: Fix 'package layering' rpm-ostree link

Colin Walters (8):
      Post-release version bump
      finalize-staged: Use the core option parsing to load sysroot
      Support mounting /sysroot (and /boot) read-only
      Initial fs-verity support
      Add .cci.jenkinsfile
      travis: Update debian/ubuntu environments
      ci: Replace PAPR with CoreOS CI
      deploy: Avoid trying to change immutable state unnecessarily

Dan Nicholson (26):
      lib/commit: Only set generate_sizes for archive repos
      tests/sizes: Improve metadata validation
      lib/commit: Fix object sizes metadata for multiple commits
      lib/commit: Make size entries for existing objects
      tests/sizes: Test sizes metadata with existing objects
      tests/sizes: Test that sizes metadata is not reused
      tests/sizes: Check duplicate file doesn't add sizes entry
      libarchive: Support commit sizes metadata
      core: Add OstreeCommitSizesEntry type
      core: Add ostree_commit_get_object_sizes API
      bin/show: Add --print-sizes option to show sizes metadata
      tests/core: Really pick C.UTF-8 locale
      ci/rpmostree: Bump to 2019.4
      lib/gpg: Prefer declare-and-initialize style
      tests/libtest: Record long GPG key IDs and fingerprints
      tests/libtest: Make temporary gpghome private
      tests/gpghome: Create revocation certificates for keys
      tests/gpg-verify-data: Split out signature data
      tests/gpg-verify-data: Empty out trustdb.gpg
      tests/test-gpg-verify-result: Allow specifying signature files
      lib/gpg: Add more specific OstreeGpgError codes
      tests/gpg: Test ostree_gpg_verify_result_require_valid_signature
      tests/gpg: Add tests for importing updated remote GPG keys
      ci/flatpak: Patch GPG error assertions from OSTree
      ostree/trivial-httpd: Fix --autoexit with --daemonize and --log-file
      ostree/trivial-httpd: Add log message for autoexit

John Hiesey (1):
      lib/commit: Include object type in sizes metadata

Jonathan Lebon (1):
      lib/repo: Create repo directories as 0775

clime (1):
      Update ostree-pull.xml with info about pulled refs location and access



Git-EVTag-v0-SHA512: b3907c7d53696eee789bf9be60df54385a3146347b78752212745b2f84e0429b5d50f8cb7408b2be483757893e1b65dc1eeb5c8fa1f6446efbe81efbd998e249
ostree - 2019.6

Published by cgwalters almost 5 years ago

Nothing major in this release, but we have some
bigger stuff outstanding and ready to merge, so I
want to get this release out so that work will
have time to stabilize.

A few build/CI fixes. A new progress API which
will be used by flatpak (and can be used by others).
Finally, we also avoid reordering kernel arguments.

Thanks to all contributors!

git shortlog --no-merges v2019.5..
Alex Kiernan (5):
      tests/core: Fallback to en_US.UTF-8 locale
      tests: Handle EPIPE failures when head terminates
      tests/core: Assume C.UTF-8 if locale isn't found
      tests: Avoid musl failure with `cp -a`
      build: create tests directory for split builds

Colin Walters (6):
      Post-release version bump
      lib/keyfile: Treat "group not found" the same as "key not found"
      Bump libglnx
      tests/repo-finder: Run realpath() on /tmp
      pull: Add support for basic auth
      Release 2019.6

Philip Chimento (2):
      Bump version in symbols file
      libostree: Add ostree_async_progress_copy_state()

Ricardo Salveti (1):
      Makefile: declare ostree_boot_SCRIPTS and append values

Robert Fairley (1):
      lib/kernel-args: Store kernel args as key/value entries

Sam Thursfield (1):
      README.md: Tweak text about BuildStream

Stefan Agner (1):
      Avoid race condition when building outside of source tree


Git-EVTag-v0-SHA512: 915ebfe9501a74ca86a3b3aceafad352f4730fb148cc1874f2e49c7076fa1a948049fe9bd96b081502995b56096892a7405f5628f4e2e749bfaed2f35136f42a
ostree - 2019.5

Published by cgwalters almost 5 years ago

Mainly in this release:

  • We discovered that CLang has a static analyzer scan-build;
    it found some small memory leaks so far, otherwise mostly
    noise, but we haven't dug through all the errors yet.
  • Gained a new zipl (s390x bootloader) backend
  • Install the .hmac files needed for FIPS mode in /boot too

This is also the first release where we switched to using
the OpenShift Prow as a merge bot, though a lot more CI work
is pending.

Alex Kiernan (5):
      Always enable trivial-httpd for tests
      Gate ostree-trivial-httpd on BUILDOPT_TRIVIAL_HTTPD
      Revert "Gate ostree-trivial-httpd on BUILDOPT_TRIVIAL_HTTPD"
      Revert "Always enable trivial-httpd for tests"
      tests/export: Guard with check for libarchive

Colin Walters (25):
      ci: Honor ARTIFACTS environment variable
      ci: Make ${ARTIFACTS} directory
      OWNERS: New file
      libostree: Add an assert to pacify clang-analyzer
      repo: [scan-build] Initialize a variable
      sysroot: [scan-build]: Remove a dead assignment
      sysroot: [scan-build] Remove a dead assignment
      repo: [scan-build]: Mark a variable used
      libotutil: Port keyfile-utils.c to new style
      ci: Skip all yum operations if SKIP_INSTALLDEPS is set
      commit: [scan-build] Remove a dead assignment
      tree-wide: [scan-build]: Add some asserts that pointers are non-NULL
      prune: [scan-build] Initialize a variable
      bootloader: Add a zipl bootloader backend
      ci: Trim PAPR config to drop required flag
      tree-wide: [scan-build] Fix some dead stores
      lib/repo: [scan-build] Quiet a dead store warning
      lib/pull: [scan-build] Silence a dead store warning
      tests: Port keyfile test to new style
      lib: Port variant-builder.c to new style
      tests: [scan-build] Initialize a variable
      lib/checksum-utils: Use g_memdup()
      build-sys: Cleanup handling for trivial-httpd-cmdline
      Revert "grub2: Exit gracefully if the configuration has BLS enabled"
      Release 2019.5

Dan Nicholson (1):
      repo: Stop using deprecated G_GNUC_FUNCTION

Javier Martinez Canillas (1):
      grub2: Exit gracefully if the configuration has BLS enabled

Jonathan Lebon (6):
      Post-release version bump
      configure.ac: Add more details on how to do a release
      src/libotutil: Fix strv memory leak
      lib/pull: Avoid calling destroy on unref'ed GSource
      lib/pull: Tweak update_timeout logic again
      lib/deploy: Also install HMAC file into /boot

Umang Jain (1):
      async-progress: Plug memory leak while destroying GSource


Git-EVTag-v0-SHA512: 395f281ee8286eb6d22c215abc5146e1f27ecba6b120abee045d178150ea2116dd87e0e82b2d9ef4c150dec719716ae0d2583e5a1f9f38cb790fa81f55867e70
-----BEGIN PGP SIGNATURE-----

iQFHBAABCgAxFiEEq5KKnPjdBikJw3u93EX9WSHBPwsFAl25+TwTHHdhbHRlcnNA
dmVyYnVtLm9yZwAKCRDcRf1ZIcE/C3eFB/42VTlOWGei+VhTY7NmpuX8I28YKS/m
/OznhgDw1CPoUVzTT35oMAbD67ufZAN5vRdlBi/Liw1w1a867hVA2t+sEPNp/BiJ
hcdzLCGlUR1KRlpKKqiMPjzrWGdB9J9f1a2w8BPJ0FTUfXsnoVgbBJLkSVJ0ws0o
/FvHrzZl4BoIGhqMRsiK/+xOU+TyCqT6/7x8Iah4spBFoPWz2c7CHC6zfXBN+6h/
o14+PHDAx8V4WFvyFSDHrvE447YXX/r09zPDa1s2qSIduszWcZsh0WcAG5X/lxbi
taFA7MzOL28M6OgnQcUuxOVThAcxfvV3XuGqo1L+hRAKF1Fllw6bYlpd
=2M+V
-----END PGP SIGNATURE-----

ostree - v2019.4

Published by jlebon about 5 years ago

This is mostly a bugfix release. Notably, the 2019.3 release caused some issues
related to the gpg-agent code spewing messages on the terminal. Additionally,
Fedora 31 users have hit upon issues with ostree-finalize-staged.service
running too late to be able to write back its logs to the journal. This then
confused rpm-ostree after reboot, because it looks at the previous boot's
journal for this message.

The biggest feature-ish change is support for a partial commit "reason" so that
after ostree fsck --delete was used, subsequent ostree fsck will continue to
report an error. This should be used by higher level tools that want to do
"fsck and repair". It's likely at some point that "fsck and repair" logic will
move down into the libostree core as well.

There are ongoing efforts to port Fedora CoreOS to s390x: one fix landed here to
add the deployment prefix to BLS entries since it's what the zipl bootloader
expected.

Special thanks to first-time contributors Benjamin Gilbert and Jason Wessel!


Benjamin Gilbert (1 PR, 1 commit)
  prepare-root: remember to remove /sysroot.tmp (#1919)

Colin Walters (4 PRs, 4 commits)
  Post-release version bump (#1902)
  sysroot: Add a clearer error if /boot/loader isn't found (#1905)
  ci: Add prow/ subdirectory with Dockerfile (#1906)
  fsck: Fix version in docs, tweak error text (#1918)

Dan Nicholson (3 PRs, 3 commits)
  lib/gpg: Only show gpg-connect-agent stderr on failures (#1908)
  lib/gpg: Don't kill gpg-agent on newer gnupg (#1915)
  lib/gpg: Use g_spawn_sync to kill gpg-agent (#1917)

Jason Wessel (1 PR, 2 commits)
  PR: #1910
    fsck: Add test for --delete corruption, fix repair, and partial commit checks
    fsck: Implement a partial commit reason bitmask

Javier Martinez Canillas (2 PRs, 3 commits)
  lib/bootconfig-parser: Always include deployment index in BLS title (#1911)
  PR: #1904
    lib/bootconfig-parser: Write BLS fragment fields in a deterministic order
    lib/bootconfig-parser: Remove support to preserve comments in BLS files

Jonathan Lebon (2 PRs, 3 commits)
  boot/finalize-staged: Run after systemd-journal-flush.service (#1926)
  Release 2019.4 (#1927)

Philip Withnall (1 PR, 1 commit)
  lib/repo-pull: Add more debugging on pull failure (#1925)
ostree - 2019.3

Published by cgwalters about 5 years ago

A lot of changes since the last release. On the feature side,
probably the biggest is we've made public the internal API
for kernel arguments, which rpm-ostree now uses.

Other things include a new --modern switch for init-fs,
better support in pull for downgrade protection, better
use of mmap, support for committing archives (tarballs)
from stdin, etc.

Finally, libostree now supports being built without GPG,
which is an important preparatory piece for introducing
an alternative signature system - look for more work
on that soon.

Thanks to all contributors!

Allen Bai (1 PR, 1 commit)
  lib/kargs: Make API public and upstream new rpm-ostree APIs (#1869)

Allen Bai (1 PR, 1 commit)
  lib/util: Fix segfault when validating filename (#1868)

Colin Walters (4 PRs, 4 commits)
  Add OSTREE_BUILT_FEATURES to ostree-version.h (#1890)
  admin/init-fs: Add a --modern switch (#1894)
  README.md: Rework "projects using" section (#1895)
  Release 2019.3 (#1902)

Dan Nicholson (5 PRs, 16 commits)
  bin/refs: Allow overwriting existing ref (#1870)
  PR: #1799
    tests: Always cleanup gpg-agent when exiting
    tests/libtest: Allow appending actions to be run on EXIT
    lib: Kill GPG agent when cleaning up tmp homedirs
    lib/gpg: Add helper to kill GPG agent
  PR: #1872
    tests/test-gpg-signed-commit: Test more key states
    tests/libtest: Allow specifying GPG homedir to cleanup
    lib/gpg: Show if GPG key has been revoked
    lib/gpg: Show information for expired keys
    lib/gpg: Factor out expiration timestamp formatting
  PR: #1884
    tests/sizes.js: Fix byte array unpacking
    tests/sizes: Fix call to commit_transaction()
  PR: #1892
    ci/rpmostree: Bump to 2019.3
    lib/kargs: Don't expose OstreeKernelArgs autoptr cleanup on old glib
    tests/gpg: Skip tests when subkeys can't be expired
    tests/gpg: Use exit hook to kill agent in temporary GPG homedir

Daniel Drake (1 PR, 1 commit)
  lib/deploy: handle FIFREEZE ENOSYS failure (#1901)

Denis Pynkin (1 PR, 9 commits)
  PR: #1889
    tests/test-repo-finder-mount: skip some tests if GPG is not supported
    tests/gpg: fix GPG-dependent shell tests if no GPG support
    tests/gpg: fix the check of GPG support
    gpg: add dummy public interface
    lib: rename common sign/verification functions and variables
    gpg: conditionally build GPG-related code for sign/verification
    build: Conditionally build the GPG-related tests
    build: Conditionally build GPGME-related sources
    build: Add conditional use of GPGME

Felix Krull (2 PRs, 6 commits)
  README: update link to ostree-rs (#1860)
  PR: #1861
    lib: add parameter annotations for sysroot_load_if_changed
    lib: add some missing (out) annotations
    lib: fix up some nullability annotations
    lib: add minimum version to various symbols based on libostree-released.sym
    lib: fix doc comment for ostree_repo_get_min_free_space_bytes

Jonathan Lebon (3 PRs, 4 commits)
  Post-release version bump (#1844)
  bin: Better handle -- (#1899)
  PR: #1891
    lib/pull: Rename variable for clarity
    lib/pull: Allow downgrade protection with overrides

Matthew Leeds (1 PR, 1 commit)
  lib/repo: Improve docs for get_min_free_space_bytes() (#1879)

Philip Withnall (1 PR, 1 commit)
  ostree-repo-finder: Clarify immutability after construction (#1863)

Rafael Fonseca (2 PRs, 2 commits)
  admin: allow multiple args for pin subcommand (#1874)
  lib/kargs: add missing function to symbol-versioning table (#1883)

Richard Hughes (1 PR, 1 commit)
  lib: mmap the summary to reduce RSS in clients (#1856)

Robert Fairley (4 PRs, 8 commits)
  ci: Split out installdeps.sh from build.sh (#1865)
  lib/util: Drop unneeded ot-tool-util.h includes (#1876)
  PR: #1857
    lib/fetcher-util: Use GIOErrorEnum instead of GIOError
    tests: Drop unused variable
  PR: #1871
    ci/flatpak: Bump FLATPAK_TAG to 1.4.1
    Makefile-libostree.am: Work around clang issues with g-ir-scanner
    ci/build-check: Remove unused-command-line-argument diagnostic
    ci: Use Fedora 29 artifacts

Tristan Cacqueray (3 PRs, 3 commits)
  docs: fix switchroot source link (#1849)
  docs: fix missing as typo (#1850)
  prepare-root: remove ignored MS_MGC_VAL flag (#1851)

Tristan Van Berkom (1 PR, 4 commits)
  PR: #1862
    tests: Test committing archives from stdin
    man: Document ability to commit archives from stdin
    bin/commit: Support committing archives from stdin
    lib/commit: Added new ostree_repo_write_archive_to_mtree_from_fd()

Git-EVTag-v0-SHA512: 0033fb6c93a0aed1518c93ac8ba153862da38e06e1e24fcae910121e36298295dff76cd7a38720e8ffa1c1899cdffd867ecd5350d9582b618eedd6172d6f5b8f
-----BEGIN PGP SIGNATURE-----

iQFHBAABCgAxFiEEq5KKnPjdBikJw3u93EX9WSHBPwsFAl1e6b8THHdhbHRlcnNA
dmVyYnVtLm9yZwAKCRDcRf1ZIcE/CzMmCACNW20+T+ttvo0gl+vQMaWBBLQXbCKg
qKyXuEXquKUXGOwq4Ke3tz+cB26QWmAT2A+aX6BzBgJrVq2xMZvjoAabHr8/sP3m
4Qql/fqBjKWhQPwxU/fwWxCD4zgdQgDBSLgXSQTnGCTG5uN40PQhAv084A9SiSVJ
1XDPg9pNvXUmvti6N3BKZtOd00qPd2IJb+G/OT+d87RYyviRdsXXI1LpOuz2KvzF
pcAZE1fTB3dLaiFuzSJVv7Du9rvVT39gaArZdJXKwL2eNkTzeAucIBLub6R5YRas
WWOs+K/vb+CrxsSkuuV7ynnK79r+2ZN37Sz3lOQ6oAE+BJjIsp8mwD0S
=/3eX
-----END PGP SIGNATURE-----
Package Rankings
Top 3.87% on Alpine-v3.14
Top 3.49% on Alpine-v3.16
Top 8.07% on Alpine-v3.8
Top 3.51% on Alpine-v3.18
Top 6.74% on Alpine-v3.15
Top 4.33% on Alpine-v3.17
Top 8.17% on Proxy.golang.org
Top 3.41% on Alpine-v3.12
Top 5.36% on Alpine-v3.11
Top 4.79% on Alpine-v3.13
Top 4.92% on Alpine-v3.10
Top 4.59% on Alpine-edge
Top 3.25% on Alpine-v3.9
Top 7.48% on Crates.io