Tags: pwithnall/ostree
Tags
Release 2017.1 This release has mostly bugfixes, the main new feature is that the `prune` command gained more sophistication around selectively pruning branches. We're planning to use this in Project Atomic work where we want to co-locate both "development" and "stable" branches in the same repository. The next release is likely to be more exciting, as we have an additional new libcurl backend in the works - this release contains some preparatory cleanup for that. Thanks to all contributors! ``` Colin Walters (19): docs: Fix ostree.version -> version fetcher: Hoist core "mirrored request" API to public fetcher: Move high level functions into "fetcher-util" fetcher: Split lowlevel API into file/membuf variants build-sys: Minor makefile tweaks Split trivial-httpd into separate binary pull: Rework delta superblock fetches to be async trivial-httpd: Daemonize better .dir-locals.el: Standard Emacs indentation config unlock: Fix description for --hotfix tests: Alias assert_not_reached() -> fatal() pull: Fix theoretical checksum collision for metadata fetches fetcher: Rework API to use strings for tls keys/db tests: Don't inject newline in URL tests: Loosen error regexp libtest: Enable web server logs Add support for more selective pruning tests: Add a big (many objects) pull Release 2017.1 Dan Nicholson (3): repo: Fix indentation repo: Fix object list keys ownership repo: Fix list_objects annotations Mario Sanchez Prada (1): static-delta: Pretend that world unreadable objects are new objects Paul van Tilburg (1): admin: Use execlp() to look for systemctl as the shell would Simon McVittie (3): Fix TAP syntax in test-basic-user.sh, and run it Sourced test snippets: remove shebang and make non-executable Make corrupt-repo-ref.js executable ``` Git-EVTag-v0-SHA512: f6a195f995f2269a3312aa57dea7e575cfd38030dc6237590b1c00ebf117666604a149b864a60ab5685d4384b07661dce1960a4d0d230697046ac48e73b7ccfc
Release 2016.15 This release is mostly bugfixes - for example, it cleans up the vast majority of memory leaks caught by ASAN. We also build without libsoup again, which is preparatory for a potential addition of a libcurl HTTP backend. Another notable change is that we now always checksum individual objects even when applying static deltas, regardless of whether or not the summary file is signed. This is part of an ongoing thread about supporting OCI as a transport layer. ``` Alexander Larsson (5): pull: scan_commit_object() - don't load variant twice ostree-repo-traverse: Don't leak floating GVariant pull_with_options: Don't leak csum_v pull: Don't leak delta superblock variants delta compilation: Fix leak Colin Walters (34): [ASAN] delta compilation: More leak fixes [ASAN] deltas: Fix minor memory leak [ASAN] cmdline: Fix minor leak in delta cmdline entrypoint traverse: Use g_hash_table_add [ASAN] sysroot: Fix leak/double free of keyfile origin [ASAN] metalink: Fix leaks of buffer [ASAN] bootconfig: Drop a pointless strdup in parser [ASAN] set-origin: Squash a leak [ASAN] tests: Fix leaks Define and use cleanup helpers for libarchive [ASAN] tests: Cleanup all current remaining leaks tests: Use G_DEBUG=fatal-warnings here too tests/keyfile-utils: Drop tests covering preconditions lib: Always checksum content in deltas pull: Write .commitpartial for local pulls first too lib: Remove unused ostree_metalink_get_uri() tree-wide: Use g_hash_table_add() where applicable ci: Make all ci tests gating for Homu build: Add more default errors lib: Ensure we use _GNU_SOURCE in enum templates fetcher: Define an abstraction over SoupURI build: Make libsoup optional again [ASAN] sysroot: Squash a leak in lockfile acquisition build: Always do enum scanning now tree-wide: Switch to autoptr for GOptionContext build: Error if glib isn't found repo: Add unconfigured-state to remote config options Skip gjs-based tests if ASAN is enabled tests: Tweak installed tests to deal with ASAN ci: Drop sudo installed tests ci: Combine UBSAN and ASAN by default lib: Squash last use of GFile deltas_dir ci: Rebase to f25 Release 2016.15 Dan Nicholson (1): repo: Fix annotations for remote_fetch_summary functions Jasper St. Pierre (1): ostree-repo-traverse: Remove an accidental print statement Mario Sanchez Prada (1): man: Mention bare-user in manpages, along with the other modes Simon McVittie (13): build: clean up ostree-remount if building without systemd ci-build: consistently use yes/no for booleans, not yes/empty ci-install: add ci_distro travis-ci: put an explicit copyright/license on the scripts travis-ci: Use a non-ostree-specific name for the Docker image travis-ci: Move helper function to before we start building anything travis-ci: cat the test log after successful test runs travis-ci: Run `make distcheck` too travis-ci: Use "slim" Debian image for testing travis-ci: Enable stretch (the future Debian 9), replacing unstable travis-ci: document parameter variables tests: prepend to an existing LD_LIBRARY_PATH, GI_TYPELIB_PATH Terminate individual tests after (10 * $TEST_TIMEOUT_FACTOR) minutes ``` Git-EVTag-v0-SHA512: 18060109c2493e6a1524e293c8a664b4a8da1f23c6b25761083fc50f806aa06911d8d58171fa2985909ea1e33a011c7d3e0dc824cda54b4699fe8b04e0a1a00d
Release 2016.14 First, this release adds GPG verification for the commit objects inside deltas. This was a vulnerability if you are fetching content over plain HTTP, and is still important if using TLS. More information is available in [the commit](ostreedev@d061630) and there is [continuing upstream discussion](https://mail.gnome.org/archives/ostree-list/2016-October/msg00002.html) of transport integrity models. Also regarding GPG, we now make it easier to [use a GPG ASCII key](ostreedev@9fb2d5a) in a remote configuration. Another major thing in this release is that we started making more use of the [GCC/Clang sanitizers](https://github.com/google/sanitizers/wiki) like `-fsanitize=address`, `-fsanitize=undefined` etc. and numerous small memory leaks were fixed in particular. Thanks to all contributors! ``` Abhay Kadam (1): Fix broken link in docs/CONTRIBUTING.md Alexander Larsson (1): commit: Fix reading xattrs from OstreeRepoFile:s Colin Walters (17): travis: Drop debian unstable since we can't fetch packages reliably pull: Add support for `http-headers` option pull: Redo logic for "scanning" lib: Define and use cleanup functions for gpgme lib: Split out helper function to create GPG context Add "gpgkeypath" option to remotes lib: Add an API to GPG verify a commit given a remote [UBSAN] deltas: Don't call memset(NULL, NULL, 0) with no xattrs [TSAN] main: Stop calling g_set_prgname() [TSAN] Rework assertions to always access refcount atomically pull: Dedup code for checking for > 0 valid results pull: Use new per-remote API for GPG verification pull: Do GPG verify commit objects when using deltas tests: Support TEST_SKIP_CLEANUP=err [ASAN] tests: Fix some memleaks in libarchive importer [ASAN] lib: Squash various leaks in library and commandline Release 2016.14 Jasper St. Pierre (3): ostree-repo: Fix parameter name ostree-repo-static-delta-processing: Don't close(-1) ostree-repo: Make the lock with a long-lasting FD Jonathan Lebon (1): .redhat-ci.yml: no longer install libubsan & clang William Manley (1): ostree commit: Fix combining trees with multiple --tree=ref arguments ``` Git-EVTag-v0-SHA512: 6756eef81978c4a9559327972b53019f9ea214ab92af266054d303770e7a60684e73fba0870fda81b5262a0ab3aae3f89d962cd346930932a3c668f081d5726a
Release 2016.13 There is one notable feature in this release - we now support per-remote cookies, which can be used for systems like Amazon CloudFront that can be configured to require them for access. Another interesting change is the static delta generation process was tweaked to look for "similar" filenames, which for example should ensure we get dracut's "reproducible" initramfs in the delta. That aside, it's mostly smaller bugfixes here, such as memory leaks. Another good example of a bugfix is `pull: Don't do deltas with --commit-metadata-only`. Thanks to all contributors! ``` Alexander Larsson (1): Fix pruning of partial commits Colin Walters (14): docs: Link to releng-scripts tests: Skip libarchive/selinux tests if in container without SELinux tree-wide: Remove unused variables detected by CLang otutil: Note that ot_log_structured takes a printf format parse-datetime: Use labs() for long input value deploy: Suppress unused variable warning for fscreatecon cleanup Define an initializer for GVariant{Builder,Dict} libglnx: Bump to master (for -fsanitize fixes) remote-refs: Add NULL terminator to options array ci: Use -fsanitize=undefined by default repo: Don't put remote refs in the summary file pull: Don't do deltas with --commit-metadata-only deltas: Only keep one file open at a time during compilation Release 2016.13 Giuseppe Scrivano (1): static-delta: find a similar filename using what is before '.' or '-' Jonathan Lebon (3): .redhat-ci.yml: add clang delta: return valid enum member .redhat-ci.yml: use new build key Simon McVittie (14): Force C.UTF-8 or C locale for tests Distribute test scripts even if we wouldn't run them Distribute valgrind suppressions in tarballs _ostree_kernel_args_replace_take: don't leak when replacing ot_admin_builtin_set_origin: don't leak options GVariant ostree_builtin_pull: consistently set free-function on refs_to_fetch ostree_admin_option_context_parse: explicitly clean up when exiting early ostree_sysroot_upgrader_finalize: free new_revision _ostree_sysroot_write_deployments_internal: stop leaking hash table keyfile_set_from_vardict: free the string array ostree_repo_pull_with_options: clear dirs array ot_remote_builtin_show_url: autofree context Fix some leaks of floating GVariants load_metadata_internal: don't leak GBytes Sjoerd Simons (8): Filter bootloader supplied kernel cmdline options pull: Add per-remote cookie jar remote: Add command to list cookies remote: Add commands to add and remove cookies for a remote OsreeFetcher: Treat 403 as not found trivial-httpd: Add support for checking cookies tests: Add test for the cookie jar handling Update documentation for cookie handling commands ``` Git-EVTag-v0-SHA512: 905067d8a6ba66af636a7de20baa779b661a4e4df9b13fe95b1883c1db34b700b180e854af22866cd93e51d59a24b062cfbb1ce444342076eabcdf7d05900f67
Release 2016.12 This is a smaller point release that mostly brings in some pull API enhancements for flatpak. Two other notable changes: - We now support proxies that require basic auth - We create hardlinks to symlinks (do watch out for any regressions from this) Alexander Larsson (5): pull: Support inherit-transaction pull: Support multiple specifications of --subpath Fix regression for symlinks in bare-user repos ostree_repo_read_commit_detached_metadata: Handle parent repo detached metadata: Put these in transaction Colin Walters (2): core: Do create hardlinks to symlinks for checkouts Release 2016.12 Jonathan Lebon (5): docs: amend vmlinuz & initramfs naming convention ostree-sysroot-deploy.c: delete redundant check OstreeFetcher: provide proxy credentials if needed add .redhat-ci.yml and .redhat-ci.Dockerfile .redhat-ci.yml: use projectatomic/ostree-tester Git-EVTag-v0-SHA512: 5eaafb1caf50a53e64d316ac624958b2878b849c65bbbc7aae4a2a90cf4053a3dcc134a8c4474185c12f6c9dce036acc00e2087c3027d230a5a7a6099a216e63
Release 2016.11 Just a collection of smaller fixes. One thing I want to note is that 2016.10 regressed things to flip fsync back on by default for users of `ostree_repo_checkout_at` (notably rpm-ostree). This is now fixed. We also continue dropping unecessary calls to `fsync()` in favor of our global `syncfs()`. This release also fixes integration with `systemd-journal-flush.service`, ensuring that systems configured for persistent journal have it saved correctly. Colin Walters (10): pull: Do allow executing deltas when mirroring into bare{,-user} sysroot: Port some small cleanup code to fd-relative sysroot: Port origin writing code to fd-relative sysroot: Drop an fsync for origin file when writing deployments sysroot: Drop an unnecessary fsync boot: Ensure we remount /var writable before systemd does journal flush checkout: Fix fsync defaults for new API to be off for real trivial-httpd: Port mostly to fd-relative libglnx: Update to latest Release 2016.11 Dan Nicholson (1): admin: Allow running status unlocked Jonathan Lebon (3): static-delta: add some error handling ostree_sysroot_init_osname: also create /var/log docs: add mention of rpm-ostree package layering Owen W. Taylor (2): ostree-repo.c: Fix file descriptor cleanup ostree_sysroot.c: Don't close sysroot_fd twice. Simon McVittie (1): Fix spelling of "repository" Git-EVTag-v0-SHA512: fe19f9c9c5ac8971b02a5c3eb4ed199b4334c4505c02a876b094cf712fac002f1a9c3710514e9e9e575af6c91c11123ca7675c42dbce4bba3f3497af2881db3c
Release 2016.10 First, this release reverts a previous change to use a mtime of `1` back to `0`. This will affect flatpak and users who have set up build systems to set that mtime, but it restores compatibility with systems which were using the previous zero value. For more information, see ostreedev#495 Another notable bit is we fixed a race condition in pull when the upstream ref hadn't changed. OSTree also learned about split metadata/content fetches and `mirrorlist` URIs. Generally, the idea with this is that you set up a centralized set of metadata servers that are secured via pinned TLS etc., and content fetches can occur via more local mirrors. Besides that, there is continued work on initramfs-less systems, and some fixes for resource use during delta generation. Colin Walters (8): repo: Revert default timestamp from 1 back to 0 delta: Add missing `goto out` for failure to mmap() repo: Only use mmap() for metadata > 16k delta: Unreference files we've processed fetcher: Fix another finalization deadlock sysroot: Avoid double cleanup, and ensure no cleanup if specified core: Make OSTREE_TIMESTAMP public API Release 2016.10 Dan Nicholson (3): build: Set --enable-man during distcheck build: Distribute man page XML source build: Actually distribute man page XML source Giuseppe Scrivano (1): gpg: do not segfault when the algorithm name is not known Jonathan Lebon (7): pull code: support contenturl setting trivial-httpd: prepend timestamp in log file pull: drop fetching_sync_uri pull: add mirrorlist support libtest: add has_gpgme() helper function tests: add tests for contenturl and mirrorlist pull code: clean up mirrorlist hack William Manley (4): switchroot: Fix build on Ubuntu switchroot: Fix test-switchroot now autotools can build static ostree-prepare-root: Error if realpath fails ostree-prepare-root: Fix running with musl Git-EVTag-v0-SHA512: affd25071654468e3fcc1d321afb6ade531550dc4f31fe3cd425adeeee9ecd4f56108a12aadd4c5404256409cf00c7821ff10d33afaa50dc38604c2323dc7901
Release 2016.9 This release is mostly smaller fixes. A few things to highlight: I'm looking forward to William Manley's continued work on better support for systems without an initramfs; in general I hope to make OSTree even more appealing for the smaller embedded space. Another thing I want to note is the fix to `rofiles-fuse` has been another key enabler for rpm-ostree package layering, and should in general be more useful for anyone doing build systems using OSTree. Adam Miller (1): fix typo in docs/manual/atomic-upgrades.md Colin Walters (12): libostree.sym: Add 2016.9 section prune: Elaborate on what formats are accepted by dates fixup! fix typo in docs/manual/atomic-upgrades.md test-rofiles-fuse: Actually check out via hardlinks rofiles-fuse: Rework to be based on nlink pull: Make .commitpartial files world readable repo: Add prefixes to errors for querying size/deleting lib: Add an API to list only "our" objects, fix prune to use it sysroot: Drop unnecessary `dup()` invocation sysroot: Add a flag to suppress post-deploy cleanup commit: Don't delete tmp/cache dir Release 2016.9 Dan Nicholson (7): deltas: Handle cleanup of fd array properly deltas: Use F_DUPFD_CLOEXEC properly pull-local: Support requiring static deltas tests: Ensure deltas for pulling when needed pull: Disable static deltas by default for local pulls tests: Test that local pulls do not use deltas repo: Really ignore progress changed user data Gatis Paeglis (2): Move ostree-* executables to /usr/lib/ostree u-boot: Merge ostree's and systems uEnv.txt Georges Basile Stavracas Neto (1): repo-pull: properly store the cancellable Giuseppe Scrivano (1): pull: use same name for parameter and documentation comment Jonathan Lebon (6): ostree_bootdir: prepend $(prefix) to path ostree_bootdir: properly preprend $(prefix) manual/repo.md: reword bits about the summary file pull_with_options: fix remote parameter name & desc pull_with_options: allow GPG verification override pull_with_options: fix stray return FALSE William Manley (4): switchroot: Fix building with musl libc ostree-prepare-root: Allow building statically with musl switchroot: Replace custom error printing with err/warn functions from libc switchroot: Move `path_is_on_readonly_fs` to header file Git-EVTag-v0-SHA512: 70fe4d4e0f099928a33333afc52f2a7f862ad42d98241c6d30d094330eb3c416fcbcfd113a501e71733a2aedbdd6bc353f8b3cf95120f489670dd9585fed31c7
Release 2016.8 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: ostreedev#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 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
PreviousNext