Skip to content

Releases: ostreedev/ostree

2016.8

09 Aug 19:57
v2016.8
Compare
Choose a tag to compare

First, there's some ongoing work in this release to support
systems without an initramfs, which is common in the classical embedded
space. Thanks to William Manley and Gatis Paeglis! I expect in the
future to do more work on improving ostree for the embedded case, such
as making more dependencies optional, and notably supporting libcurl.

In working on OCI/OSTree integration, we realized that some
APIs like checkout and archive import weren't introspectable. There's
a new checkout API that use booleans rather than bitfields, and the
previous one is deprected.

Thanks to Simon McVittie for improving the test suite, and extending
it to Debian on Travis.

This release is also notable for the completion of the port to "libglnx",
so OSTree no longer depends on libgsystem.

Besides that, this release is mostly bugfixes.

Thanks to all contributors!

Colin Walters (49):
tests: Fix karg tests on ostree-booted system
Revert "tests/libtest.sh: Print non-matching file on failure"
repo: Ensure we set mode for bare-user files before xattrs
builtins/commit: Switch to using ostree_repo_write_dfd_to_mtree()
build: Make symlink depend on source
docs/formats: Elaborate a bit on delta from NULL usage
repo: Fix leak with ostree_repo_commit_traverse_iter_init_commit()
pull: Don't execute static deltas when mirroring
trivial-httpd: Fix leak of option context
glib.supp: Suppress some dynamic type registrations too
pull-local: Explicitly unref variant rather than relying on floating
glib.supp: Suppress worker context -> thread bits
fetcher: Explicitly join thread if it's not self
glib.supp: Suppress g_task -> thread leaks
sysroot: Fix a leak in deployment dirpath API
deploy: Fix leaks in parsing /etc/os-release
lib: Fix leak in bootconfig parser
lib: Fix compiler warning from previous patch
tests/delta-crosscheck: Add missing --from
deltas: Handle untrusted checksums faster and more robustly
libglnx porting: Migrate to new tempfile code
repo: Make ostree_repo_create() nonfatal on existing repos
deploy: Replace a use of gs_file_enumerator with compat wrapper
repo: Port sign_data() to libglnx tmpfile APIs
repo: Port to g_autoptr() rather than old style cleanup macros
lib: Port away from gs_file_rename()
grub2: Port away from gs_file_sync_data()
deltas: Port compilation to libglnx/fd-relative
repo: Flip the fsync default to off for new checkout API
lib: Add padding booleans to OstreeRepoCheckoutAtOptions
Update libglnx for O_TMPFILE build time option
lib: Use libglnx file replace API more consistently
lib: Fix a compiler warning introduced from earlier patch
repo: Port metadata writing code to fd-relative
lib: Drop GFiles for self->{objects_dir,state_dir}
repo: Drop internal GFile config_file
.travis.yml: Delete, we aren't using it right now
repo: Drop more internally unused GFile members
build: Import attributes.m4, detect CFLAGS at build time
build: Make -Werror=int-conversion fatal
repo: Fix an uninitialized variable
deploy: Port file copying code to GLnxDirFdIterator
deploy: Use internal recursive copy rather than libgsystem
build: Update .gitignore
prune: Retain the tip of each ref even with date pruning
Final excision of libgsystem dependency
travis: Disable email notifications
tests: Port sysroot.js away from libgsystem
Release 2016.8

Dan Nicholson (5):
repo: Fix annotation for ostree_repo_add_gpg_signature_summary
lib: Fix version script node ordering
core: Add allocating b64 checksum functions
deltas: Allow processing of empty delta parts
tests: Add test for delta with empty parts

Giuseppe Scrivano (5):
Makefile-tests.am: make check uses the built binaries
libostree: new function ostree_repo_checkout_at
libostree: mark ostree_repo_checkout_tree_at as deprecated
libostree: skip introspection for two functions
libostree, ostree: fix usage of ostree_repo_checkout_tree_at

Jonathan Lebon (3):
libglnx: bump to latest
static-delta: fix command contexts
static-delta: remove unused struct

Matthew Leeds (1):
README: Fix broken link Closes: #397 Approved by: cgwalters

Simon McVittie (3):
Update libglnx: Add missing files to libglnx distribution
Skip tests that use whiteouts under Docker/aufs
travis: run the test suite on various distributions

William Manley (10):
tests: Add basic tests for ostree-prepare-root
ostree-prepare-root: Refactor code to resolve deploy_path
ostree-prepare-root as init: exec init from deployment if run as PID1
ostree-prepare-root: Cope with /proc not being mounted
ostree-prepare-root: Refactor: Create /sysroot.tmp much later
Refactor ostree-prepare-root: Perform chdir to deploy directory earlier
ostree-prepare-root: Use pivot_root if real sysroot is already mounted at /
ostree-prepare-root: Make error message capitalisation consistent
ostree-prepare-root: Fix typo in error message
ostree-prepare-root: Add test that overlayfs over /usr works.

Git-EVTag-v0-SHA512: f819c064f27c2fc62ca80ad7448c6ab59ef5425542dd5e43d4e89152cf1bf92075d00ee2ce7dc4c7b853bad48a893b20c4cb6cd9b6936c100ca864ab8b51aba7

Release 2016.7

08 Jul 20:13
v2016.7
Compare
Choose a tag to compare

This release is almost entirely bugfixes. Most notable is a fix for a
relatively rare race condition in the pull code on cleanup (after
completion), and also a memory leak.

Besides that, there are improvements for the test suite, some more
porting away from libgsystem, a bugfix for static deltas important to
flatpak, build tweaks for older glib, etc.

Thanks to all contributors!

Alexander Larsson (2):
      pull: Correctly handle repo->parent_repo when applying static deltas
      tests: Test partial commits for local remotes

Bastien Nocera (1):
      libostree: Fix build failure with glib 2.42

Colin Walters (17):
      libostree.sym: Fix test-symbols
      libglnx porting: Use of GSDirFdIterator
      lib: Use sd_journal directly (optionally)
      lib: Use g_file_enumerator_iterate() if available, with fallback
      libglnx porting: Drop uses of gs_file_openat_noatime
      pull: Write commitpartial files for local imports too
      build-sys: Make libostree-1.so depend on the symbol file
      rofiles-fuse: Do allow fchmod/fchown on directories
      checkout: Add an option to require hardlinks
      delta: Add --if-not-exists option
      docs: Add a section on Docker
      tests/libtest.sh: Print non-matching file on failure
      tests: Add some test coverage of repeated pulls w/HTTP 500s
      fetcher: Hold a ref to main context for lifetime of thread
      fetcher: Clear all data for session in session thread
      fetcher: Remove unused GTask structure member
      Release 2016.7

Dan Nicholson (6):
      tests: Remove gpg verification files from EXTRA_DIST
      tests: Ensure mutable deployments from libostreetest
      build: Distribute libglnx and bsdiff Makefile templates
      tests: Remove extra $CMD_PREFIX from test-auto-summary.sh
      tests: Improve check for /proc/cmdline kargs
      build: Override systemd unit directory for distcheck

Jonathan Lebon (2):
      ostree admin switch: fix short summary
      static-delta-core.c: squash unused var warning

Krzesimir Nowak (1):
      core: Fix wrong return value docs

Mathnerd314 (5):
      core: Use OSTREE_SHA256_STRING_LEN instead of 64
      configure: Turn on -Wempty-body
      core: Add OSTREE_OBJECT_TYPE_COMMIT_META
      refs: Fix a logic error
      pull: Free fetch_data by default

Simon McVittie (3):
      entry_pathname_test_helper: these tests need extended attributes
      tests: use our own generated libtool, not the one in $PATH
      tests: fail the build if symlinking tests/ostree fails

Yu Qi Zhang (2):
      refs: allow overwrite of empty folders
      refs: resolve conflict between local/remote repos

Git-EVTag-v0-SHA512: 782bd89c873f94081a7ec1bd8d1d802738960e48580a1ca6dbe00d86e7700fb7d36e86148100d30d7523c19a836b3abe7a8495327e238942817ec5700c165a64
-----BEGIN PGP SIGNATURE-----

iQEcBAABCgAGBQJXgAYTAAoJENxF/VkhwT8L2J4H/AtKy2cJ8fzVmhwAhpL8+M4A
g6ayVp1xMj46tj1e3ifzfYmtonjdqoDUsTyVfcwT0ZTfSc83URL2IRUhyfYu6778
9/jvULJrIG7KDSuG0IJg4BZGg+LhsNMpzgy17rzMM4+fWhppXJTGETHBsvNnaNtp
z1agBRgT4mBMAD1HYQJNjlngCYsXyBFP3WGiC72wOyMff+HlDmaELbuKMZBvj0Fu
G9UQ5H2V0JeRBkCsf6npfBI0zHVefx02x0DvOVXXXXWQXqAdAD9x4NyelWiq7fYE
uldvo/P4QjNdKllbWfjV/UwclDajcjIkrSl2HIwfTLER3LLKIXwb6YqP0LKO4I4=
=+m3G
-----END PGP SIGNATURE-----

Release 2016.6

20 Jun 17:24
v2016.6
Compare
Choose a tag to compare

Release 2016.6

There's quite a lot of changes in this release since 2016.5, but one
thing I want to call out explicitly is that we fixed a race condition
in the HTTP pull code that could cause hangs or crashes that mostly
occurred only when doing "large" pulls (thousands of object requests).
If this occurs, client systems can work around it by cancelling and
retrying the pull.

Other high level changes:

Jonathan Lebon:
ostree-repo-libarchive.c: major refactor

This laid more groundwork for rpm-ostree to import RPM (CPIO) archives
sanely. If you are integrating with an existing package management
format, this should help a lot.

Mathnerd314 (11):
repo: use OSTREE_TIMESTAMP (=1) for checked-out files

Is a quite interesting change - we previously used a timestamp of
zero, but Nix has apparently done better with 1 for various reasons.
This is a pretty subtle change, so be on the lookout for regressions.

Thanks to all contributors!

Alexander Larsson (13):
ostree export: Add --subpath support
ostree export: Add --prefix option
repo: Allow loading files staged in the transaction
repo: Fix temporary directory allocation
repo: Handle parent repos with different remote configuration
tests: Fix build with old glib
Build on older versions of glib
libotutil: Fix leak of VariantMapData
pull: Fix leak of debug temporary strings
pull: Fix leak of FetchObjectData in some cases
pull: Fix leaked uri in request_static_delta_superblock_sync
pull: Fix leak of refs_to_fetch
tests: Exit valgrind tests if a leak is detected

Colin Walters (50):
core: Remove ostree_checksum_update_meta that was not implemented
lib: Remove ostree_repo_file_make_empty_tree
Rename test-abi to test-symbols, start verifying symbols are documented
libtest: Skip FUSE if CAP_SYS_ADMIN not in bounding set
repo: Simplify internal has_object() lookup code
deploy: Start hardlinking kernel/initramfs on single-part again
build: Introduce --with-dracut=yesbutnoconf
libglnx porting: Migrate from GSConsole
repo: Fix reading repos on read-only media
repo: Add OSTREE_REPO_TEST_ERROR=pre-commit env var
repo: Add OSTREE_BOOTID override envvar for debugging
repo: Clean up staging directory for previous boot IDs
repo: Make repo/tmp expiry configurable via tmp-expiry-seconds
lib: Add more filename validations (no ., .. or /) in commit logic
libglnx porting: Migrate to glnx_stream_fstat()
build: Use --std=gnu99
trivial-httpd: Add attribute((format))
Make enum generation private by default, export stub symbol
build: Don't run glib-mkenums if there's nothing to do
README: x/xdg-app/flatpak/
libglnx porting: Port "load utf8 file" contents API callers
repo: Port uncompressed cache GC to libglnx
libglnx porting: Port callers of gs_file_unlink to just unlink()
libglnx porting: Port away from gs_file_ensure_directory()
sysroot: Correct error handling path in previous libglnx port
core: Port to new libglnx tempname API
lib: Change ot_util_variant_map helpers to consistently sink refs
lib: Drop GFile variant mapping API for fd-relative
libglnx porting: Port away from gs_file_map_noatime()
glnx porting: Port away from gs_file_get_basename_cached()
tests: Use strict mode by default for C tests
tests/test-pull-c: New test that runs through the pull API via C
glnx porting: Drop last uses of gs_file_get_basename_cached()
libglnx porting: Drop last use of gs_transfer_out_value()
glnx porting: Drop use of gs_file_openat_noatime
lib: Add _ALLOW_NOENT flag to internal variant mapping API
lib: Add a helper for mmap->bytes with openat(), use it in repo
repo: (minor) Drop a GFile usage in signature creation
lib: Fix a leak in remote parsing
lib: Add OSTREE_SUPPRESS_SYNCFS environment variable
tests: Modernize valgrind infrastructure
lib: Port some manual close() cleanups to be glnx_fd_close
manual: Link to mender.io
Add "archive" as an alias for "archive-z2"
repo: Avoid a possible divide by zero in progress
manual: Discuss mirroring
build: Fix libreaddir-rand to honor global CFLAGS
tests: Support OT_SKIP_READDIR_RAND
pull: Ensure we always process queue only from main thread
Release 2016.6

Gatis Paeglis (3):
Remove unused variables from install_deployment_kernel
Fix --enable_rofiles_fuse=no build
Fix build when have_libsoup_client_certs=no

Giuseppe Scrivano (1):
man: add missing options for commit

Jonathan Lebon (7):
ostree-repo-libarchive.c: major refactor
ot-builtin-commit.c: add --skip-list option
tests/test-libarchive.sh: add more test
tests/test-libarchive-import.c: add tests
OstreeRepo: add extensions directory
ostree_repo_write_commit: add missing docstring arg
configure.ac: properly check for bison

Krzesimir Nowak (26):
lib: Fix a typo
trivial-httpd: Remove useless code
lib: Fix an introspection annotation
tests, lib: Remove unused variables
lib: Add URL override pull option
pull: Add a --url option
trivial-httpd: Add a --log-file option
tests: Add a test for ostree pull --url
sysroot: Plug some leaks
core: Improve variant format docs
repo: Plug a leak
repo: Allow using options for fetching summary
libostree: Variant-related leak plugs and fixes
libostree: Fix bracket-missing warnings
libostree: Add g_autoptr() support for the public types
build: Remind about bumping related versions
build: Allow ostree to use g_autoptr on its types internally
build: Install new autocleanups header
libotutil: Plug a leak
core: Add a function creating an archive-z2 content stream
repo: Factor out the check of gpg result to a separate function
repo: Add a missing Returns paragraph
repo: Factor out setting up a GPG verifier
repo: Add functions for verifying any data in repository
summary: Fix a typo
repo: Fix build on 32-bit systems

Mathnerd314 (11):
commit: accept NULL subject argument
commit: Add --editor / -e command line argument
commit: Display subject/body in commit editor
commit: Don't require a subject
log: Display "(no subject)" for commits without a subject
commit: Update manpage to reflect --editor
repo: use OSTREE_TIMESTAMP (=1) for checked-out files
pull: Move libsoup-related code from ostree-repo.c to ostree-repo-pull.c
pull: Move pull and pull_onedir back into ostree-repo.c
docs: Get API docs working again
related-projects: Update with more information and projects

Micah Abbott (1):
docs: fix swapped link syntax

Sam Spilsbury (2):
Makefile: Move to AM_DISTCHECK_CONFIGURE_FLAGS
repo: Display estimated time remaining when pulling

Simon McVittie (12):
libtest: show files' contents when assertions about them fail
test-parent: this test requires user xattrs
test-sysroot.js: set "strict mode" when sourcing libtest.sh
Link libreaddir-rand to libdl
autogen.sh: rely on VPATH for submodules' Makefile-*.am.inc
build: distribute libostree.sym in tarballs
build: distribute test scripts in tarballs
build: distribute TAP helper scripts in tarballs
build: distribute more test files
libtest: make gpghome in tmpdir writeable
libostreetest: include libtest.sh from srcdir, not builddir
build: re-create tests/ostree-symlink-stamp if Makefile changes

Yu Qi Zhang (2):
refs: add "ostree refs --create" and unit tests
libglnx porting: delete temp files on failure of file creation

Git-EVTag-v0-SHA512: 216ec7ea61eeabb0404207b01387b7de85276b2fbf09e39928f4800eddac06904d690dbf66260282a1cc4127f15a68feb0a8da31921d7d943856569cb81b1d6f