Release 2018.9 It's been two months since our last release, so this one is slightly larger than usual (the ~monthly cadence). It's mostly bugfixes again, although there were some API additions and new configuration options. These new features are things like: - Allow disabling pulling from LAN/USB/Internet (#1758) - lib/repo: Add an API to get min-free-space-* reserved bytes (#1715) - OstreeMutableTree: add _remove method (#1724) - repo: Add a checkout option to not hardlink zero-sized files (#1752) On the bugfix side, nothing major; we have the usual small memory leak fixes (yeah, we use GCC autocleanups, but still, this is C). Beyond that, good examples of bugfixes are: - finalize-staged: Bump timeout to 5 minutes (#1755) - deploy: Fix removing /var/.updated with separate /var mount (#1730) - src/ostree: Don't delete refs having aliases (#1749) One notable change in this release is the initrd service `ostree-prepare-root.service` now runs earlier in the boot process. This shouldn't actually affect OSes, unless there's extended logic in the initrd that integrates tightly with OSTree. The use case for this is better integration with Ignition, which will be used in Fedora CoreOS. PR: #1759 Another systemd related change is the introduction of a path unit: `ostree-finalize-staged.path`. This allows the service of the same name to be path activated instead of explicitly started at deployment staging time. This release however does not yet rely on this mechanism to give time for packagers and integrators to adapt to the new unit (e.g. by enabling it in the systemd presets). A future release will *require* this. Note that deployment staging is still not the default for libostree, although at least rpm-ostree now unconditionally uses staging, and while it generally worked well, we hit issues with people using slower hard drives, hence the increase in timeout in PR #1755 . PR: #1740 Another change to call out is: lib/commit: Don't chown objects to repo target owner (#1754) We previously had incomplete support for a process running as uid 0 writing to a repository owned by a non-zero uid, but it was never finished. This will likely be revisited at a later time. We also merged: lib/grub2: Support Debian-style grub.cfg path (#1714) from a new contibutor (thanks Felix!). Who incidentally also posted recently about new Rust bindings: https://mail.gnome.org/archives/ostree-list/2018-October/msg00000.html https://crates.io/crates/libostree Thanks a lot to all contributors! ``` Colin Walters (12 PRs, 13 commits) Post-release version bump (#1705) deploy: Fix removing /var/.updated with separate /var mount (#1730) lib/commit: Don't copy xattrs for metadata objects (#1736) lib/progress: Fix leak of GSource (#1741) Only verify OSTREE_MAX_METADATA_SIZE for HTTP fetches (#1744) rofiles-fuse: Improve error message for failure to open root (#1747) repo: Add a checkout option to not hardlink zero-sized files (#1752) checkout: Support --union-identical and --force-copy{,--zerosized} (#1753) finalize-staged: Bump timeout to 5 minutes (#1755) remount: Refactor to helper function instead of loop (#1760) README: Add bindings section (#1762) PR: #1757 sysroot: Add error prefixing to deployment parsing sysroot: Update some code to use fstatat_allow_noent API Dan Nicholson (1 PR, 1 commit) lib/commit: Don't chown objects to repo target owner (#1754) Felix Krull (1 PR, 1 commit) lib/grub2: Support Debian-style grub.cfg path (#1714) Jonathan Lebon (7 PRs, 12 commits) ci: Disable f28-rpmostree for now (#1727) ci: Bump rpm-ostree tag to 2018.8 (#1728) boot: Add ostree-finalize-staged.path (#1740) lib/mutable-tree: Port to new style (#1742) PR: #1732 lib/fetcher-curl: Prefix fatal errors with full URL lib/fetcher-curl: Drop unnecessary check lib/fetcher-util: Mark journaled msgs as LOG_ERR PR: #1750 lib/sysroot-deploy: Write to journal when finalizing boot: Add Documentation= lines to services boot: Remove [Install] from ostree-finalize-staged PR: #1759 ostree-prepare-root.service: Run earlier in initrd ostree-prepare-root.service: Use RemainAfterExit=yes Laurent Bonnans (1 PR, 1 commit) lib/fetcher: Fix some memory leaks in curl fetcher (#1716) Matthew Leeds (10 PRs, 14 commits) avahi: Be robust to missing refs in peer summaries (#1717) lib/repo: Clean up OstreeRepo docs (#1725) lib/repo: Define a metadata key, ostree.deploy-collection-id (#1726) create-usb: Always use archive mode (#1733) create-usb: Add a --commit option (#1735) bash-completion: Fix --repo autocomplete (#1745) man/create-usb: Don't recommend summary updates (#1746) PR: #1737 man/ostree.repo-config: Document locking options lib/repo: Fix minor mistake in locking docs lib/repo: Allow disabling lock timeout PR: #1758 lib/repo-pull: Disable LAN updates by default Allow disabling pulling from LAN/USB/Internet PR: #1763 Rename core.repo-finders to core.default-repo-finders lib/repo-pull: Add an explanatory comment Robert McQueen (1 PR, 1 commit) OstreeMutableTree: add _remove method (#1724) Sinny Kumari (1 PR, 1 commit) src/ostree: Don't delete refs having aliases (#1749) Umang Jain (3 PRs, 6 commits) Release 2018.9 (#1761) PR: #1715 lib/repo: Ensure min-free-space* config value doesn't overflow Add tests for ostree_repo_get_min_free_space_bytes lib/repo: Add an API to get min-free-space-* reserved bytes PR: #1722 tests: Update tests for ostree_repo_get_min_free_space_bytes() lib/repo: Separate min-free-space-* calculation from transaction codepath ``` Git-EVTag-v0-SHA512: 7d4337f3b58ddd13c825eb80c0e39ebd5f4db1368a34ba6a037264c9941b373ba594a7b9f3ac63cb85e64f475bf5589001032a7ba6da371a2c76a336b4c89c85