2017.6
One of the most notable changes in this release is that we switched
to using a systemd generator for handling /var
, which means admins
can now set it up as an explicit mount point. We feel pretty confident
in the code, but do test your specific setup. One note in particular;
the new model (obviously) requires systemd, and while we tried to preserve
the non-systemd path, it wasn't explicitly tested.
Issue: #855
The work to port to a new code style continues rapidly; at this point
most of the library is converted, with just the command line remaining.
I think the new style is a lot more readable now that we rely fully
on __attribute__((cleanup))
.
Philip Withnall contributed changes to enhance the OstreeAsyncProgress
reporting API, which I think is going to be quite useful for user
interface frontends (like GNOME Software).
PR: #819
There's a smattering of smaller bugfixes; minor memory leaks, double close()
and the like. In this cycle we also beefed up our CI/testing more - we
now test both Fedora Atomic Host and flatpak more explicitly. Contributions
to extend the suite to other distributions would be appreciated; for example,
tests for ostree-as-host on Debian. Our Travis-executed tests
should be extensible.
Thanks to Dan Nicholson for also fixing some of the test suite for installed
tests, and also contributing introspection fixes for language bindings.
Another feature that involved a lot of internal changes is our handling
for /etc
on SELinux-based systems. We now label files as we go rather
than having a more fragile separate relabeling path. This is also
exposed as an API, which is used by rpm-ostree
now. I think this
particular change highlights the strength of "libostree" as an API
that can be reused by higher level systems.
PR: #797
Thanks to all contributors!
Colin Walters (62):
pull: Support deltas for explicit commits
checkout: Fix bare-user symlink checkouts
Bump release for 2017.5
lib/boot: Convert bootconfig parser to new code style
sysroot: Continue conversion of some simpler functions to new style
cmdline: Start conversion to new code style
repo: Optimize bare-user content object reads a bit
repo/checkout: Finish conversion to new code style
lib/cleanup: Port some of the cleanup code to fd-relative and new style
repo: Add a "force copy" flag to checkout
lib/core: Complete conversion to new code style
Rename "osname" → "stateroot"
lib/util: Delete some leftover pre-libglnx directory opening functions
repo: Drop unused cache variables leftover from pack files
repo/checkout: Cache lookups of dirmeta objects
checkout: Merge union/add logic for copies during checkout
tests: Factor out a libtest-core.sh
tests/installed: New installed, privileged tests using Fedora AH
checkout: Add SELinux labeling for checkout, use in deploy
repo: Port object listing func to use libglnx more + new style
repo: More porting to new style
repo: Fix incorrect use of errno() error throwing
lib/sepolicy: Convert to new code style
sepolicy: Cache the value of is_selinux_enabled() to work around bug
lib/checkout: Use TEMP_FAILURE_RETRY()
ci: Add a context for testing flatpak
ci: Fix flatpak test pkg install
checkout: Dedup calls to memcache ref
repo: Delete the last use of GFile tmp_dir
tree-wide: Convert to using autoptr(GString) vs g_string_free(...,TRUE)
Add --enable-installed-tests=exclusive, fix installed case
utils/checksum: Port to new code style
fsck: Check for refs missing corresponding commit
tests: For installed, s/test-/itest-/ to avoid in-tree name clashes
tests: Migrate test-pull-many.sh to installed on FAH
ci: Extend FAH rootfs for installed tests
ci: More flatpak ci fixes
ci: Move travis scripts from tests/ → ci/
diff: Port some to new code style
sysroot: More porting to new code style
checkout/commit: Use glnx_regfile_copy_bytes() if possible
lib/prune: Complete porting to new code style
lib/checkout: Move special case for subpath of file to toplevel
lib/checkout: Optimize checkout by avoiding OstreeRepoFile recusion
repo: Fix double close() in summary generation
lib/repo: Port more of GPG and summary functions to new code style
checkout: Plug a memleak of the state stringbuf
tree-wide: Switch tabs ⭾ in various files over to spaces ␠
lib/checkout: Fix regression in subpath for regular files
remount: Drop support for auto-tmpfs-on-var; use systemd.volatile=state
lib/remote: Box OstreeRemote if experimental-api
lib/repo: Fix double close()
switchroot/remount: Trim set of remounted filesystems
switchroot/remount: Check mount status before remounting, be verbose
Switch to using a systemd generator for /var
tree-wide: Add a few missing O_CLOEXEC
lib: Add "open dfd iter handling noent" helper, port tree-wide
lib/upgrader: Port to new code style
build: Use cd $(srcdir) instead of `git -C`
switchroot/generator: Add var.mount to local-fs.target.requires
lib/pull: Port some functions to new code style
Release 2017.6
Dan Nicholson (5):
pull: Fix crash specifying override URL in summary fetch
commit: Mark ostree_repo_transaction_set_ref* checksums nullable
pull: Allow additional HTTP headers for summary fetch
tests: Install libtest-core.sh with installed tests
tests: Look for trivial-httpd in $libexecdir
Francesco Giannelli (1):
switchroot: Document a bit more, add demo shell implementation
Jonathan Lebon (2):
tests/ci-commitmessage-submodules.sh: fix for RHCI
libglnx: bump and use new helper methods
Krzesimir Nowak (1):
apidoc: Add missing enums to sections file
Philip Withnall (22):
ostree: Use G_OPTION_ARG_FILENAME where appropriate
tests: Ignore some standard automake check output files
libostree: Rework OstreeAsyncProgress to use GVariants internally
libostree: Add multiple getter/setter support to OstreeAsyncProgress
src: Port to new OstreeAsyncProgress atomic API
libostree: Allow OstreeAsyncProgress:status to be set atomically
libostree: Get and set OstreeAsyncProgress:status atomically
libostree: Fix a typo in docs for ostree_repo_pull_with_options()
libostree: Add missing checks for invalid timestamps
libostree: Fix potential use of uninitialised memory in progress API
libostree: Ensure progress keys are all always set
libostree: Add some additional metadata to the summary file
libostree: Document endianness of GVariant metadata types
ostree: Add --view mode to `ostree summary`
ostree: Improve formatting for well-known summary metadata keys
ostree: Use #defines for well-known metadata key names
tests: Add a test for `ostree summary --view`
tests: Fix regex escaping in test-summary-view.sh
build: Add --enable-experimental-api configure option for unstable APIs
libostree: Expose $OSTREE_FEATURES in the pkg-config file
libostree: Make OstreeRemote a public and internal API
build: Add -C arguments to some git invocations
Sjoerd Simons (1):
repo/commit: Fix memory leak
Git-EVTag-v0-SHA512: 47a502039ce8abaa83e5872560846d592fc5e38557a190c3b1101f7ea245a3eeee21be8b9aa39c1ab163dc30072d7ef495b26ba18388d4216421b73e3dfd9372
-----BEGIN PGP SIGNATURE-----
iQEwBAABCgAaBQJZHMGOExx3YWx0ZXJzQHZlcmJ1bS5vcmcACgkQ3EX9WSHBPwt9
LQf/Vu7fVSmtfrlQV6j+uaWeg2sEcYjValgk517aksWBaMlacGbvlYf8N6PESYPv
RcXbv4uNAvHOLKck5yU8iT633f3QpW2gei/IvqIYrV25ePJGhODRs7qGwjkKVVy8
BjEf80AcX/0HT6HGyX0CYLsVJJ8Hg6QSM3dzSMBaqMeWx1HnAK/2pWFQAssUfqRh
6UWWjZfCzW809RqY2efy7nJXDfHDoB4sEFDM8CGs12kQ4tcPJqp6kjMHcuXfC8v9
XZh48yfHb/6o3En4ZTd8cUR7nB5nItnFp+AwXOje7VQa8o2vyiUWvZ8InVJj6/Fx
wZfYgbOcDCfqp++WzsZNhaajBg==
=+xRv
-----END PGP SIGNATURE-----