-
-
v2017.48742287b · ·
Release 2017.4 A notable new feature in this release is a *fourth* repository mode: "bare-user-only". This is very similar to `bare-user`, but canonicalizes permissions and ignores xattrs. The intended use of this is for "non-OS" container tools such as flatpak, where one intentionally discards the traditional file ownership. (I'm calling this container case "non-OS" to distinguish from other container tools where one might want to "log in" via PAM and supporting distinct UIDs inside a single container is valuable) More information: https://github.com/ostreedev/ostree/pull/750 We have a few new APIs, such as `ostree_check_version()` which is important when making use of some of the "API extensions" we have using `GVariant` on e.g. `ostree_repo_pull_with_options()`. The diff is a bit larger due to us switching to a new code style. Another quite important change is that `ostree trivial-httpd` is disabled by default. With a libcurl build, this is the last part that links to libsoup. It's only needed for unit tests, so can be subpackaged or discarded. (We're doing the latter for Fedora) Speaking of curl, we now support `--with-openssl` which enables using OpenSSL's `libcrypto` for SHA256. This can be notably faster. You likely want this if e.g. `libcurl` is already linked to OpenSSL for you. I'm increasingly confident in the curl code, and should be ready to recommend using it by default in the next release or two. Thanks to all contributors! Alexander Larsson (4): Add _ostree_repo_mode_is_bare helper Add bare-user-only repo mode commit: Add --canonical-permissions argument Add basic tests for bare-user-only repo modes André Klitzing (2): Avoid unnecessary includes Fix includes if built against musl Anton Gerasimov (1): Define TARGET_PREFIX to use with grub2 deployment Colin Walters (46): Disable "ostree trivial-httpd" by default now core: Add runtime ostree_check_version() builtin/show: Convert to direct return/decl-after-stmt style pull: Squash a `-Wmaybe-uninitialized` warning lib: Exclude soup header from introspection lib: Squash most of the gtk-doc warnings for missing parameters lib: Add a private copy of checksum-instream core: Support building with OpenSSL for checksums sysroot/deploy: Some cleanup to decl-after-stmt/return FALSE style sysroot: Prep refactoring of cleanup logic build: Quiet automake warning for bupsplit build: Various fixes for openssl build Bump libglnx, port a few callers to new error API sepolicy: Add ostree_sepolicy_new_at() sepolicy: Add better private API for setfscreatecon cfg.mk: Add a syntax check for a redundant : in glnx_throw repo/refs: Convert to new code style sysroot: Add ostree_sysroot_write_deployments_with_options() core: Convert some functions to new code style build: Dist ostree-sepolicy-private.h commit: Prefix error with target object name on failure to write repo+tests: Add [core]disable-xattrs=true, use it on overlayfs pull: Also skip partial commits for deltas if no summary file ci: Enable -Werror=unused-result with -Wp,-D_FORTIFY_SOURCE=2 sysroot: Don't cache sepolicy repo/commit: Change most of this file to new code style build: Expose autocleanups unconditionally, start using them lib: Fix OSTREE_CHECK_VERSION() lib: Delete old GFile path helpers, and migrate single last user lib: Delete old unused GFile helpers libutil: Delete unused threadpool wrapper libutil: Delete unused GVariant I/O functions libutil: Delete some unused checksum helper API libutil: Delete some unused error handling APIs Add Coccinelle usage: one for blacklisting, one for patch collection sepolicy: Fix regressions from introduction of sepolicy_new_at() Add flag to make SELinux label failure fatal, add hack for /proc ci: Add a check that submodule changes include "Update submodule: " core: Fix default value of disable_xattrs repo/core: Convert some functions to new code style soup: Hold a ref to the pending URI during completion processing sysroot/deploy: More code style conversion curl: Enable pipelining for HTTP/2 Fix a few gtk-doc warnings checkout: Provide useful error with checkout -H and incompat mode Release 2017.4 Daniel J Walsh (1): sysroot/unlock: Ensure overlay label on /usr is `usr_t` Erik Larsson (1): diff: Add ostree_diff_dirs_with_options(), expose via cmdline Georges Basile Stavracas Neto (1): libostree: add versioning macros Git-EVTag-v0-SHA512: 71f0649308f04f15eb6a22b4b34c2804d680d5870dd3b6391079fa2be6c0f4df74e7ed4f8abbb461104ad23707ecf38587b187a8bd240a9979e4800c13efce78
-
-
v2017.3e02e9002 · ·
Release 2017.3 A variety of small fixes here. One of the most notable things is the static delta progress computation is now more accurate; this should make it easier to write a user interface consuming libostree that displays how much will be downloaded before initiating it. Related to this, `ostree admin upgrade` gained `--pull-only` and `--deploy-only` which makes it easier to write e.g. a systemd timer unit that does background pulls, but only do a deployment (i.e. upgrade) on administrator/device owner action. A bit more information in <https://github.com/ostreedev/ostree/pull/642> and <https://github.com/ostreedev/ostree/issues/640> There are two API additions - it's now possible to [configure the progress UI frequency](https://github.com/ostreedev/ostree/pull/725) and [the zlib compression level](https://github.com/ostreedev/ostree/pull/721). Besides that, there are a variety of smaller fixes. My favorite is probably a small fix for [grub2 on ppc64](https://github.com/ostreedev/ostree/pull/716), so we now have `fedora/26/ppc64le/atomic-host`. Thanks to all contributors! ``` Christian Hergert (1): repo/checkout: fix 32-bit builds Colin Walters (28): deltas: Don't put unreadable *from* objects in fallback delta-show: Don't dump whole superblock, do show fallback checksums repo: Fix static delta progress display pull: Explicitly error out if metadata objects are fallbacks pull: Fold together deltapart+fallback count for display ci: Install PyYAML lib: Ensure an error is set in ensure_unlinked() if errno != ENOENT libtest: Re-enable quiet mode for building fs tree README.md: Add more/clean up links to consuming projects libglnx: Re-bump to master due to accidental reversion ci: Hard error on all -fsanitize=undefined warnings build: Add --with-smack, use it to reset contexts for writing objects main: Make ostree --version output YAML (and add gitrev) deploy: Correctly use libmount unref() calls rather than free() man/repo-config: Document mirrorlist tree-wide: Squash noncritical compiler warnings deploy/libmount: Fix build with old util-linux 2.23 (CentOS7) fetcher: Log failures into journal upgrade: Add support for --pull-only and --deploy-only grub2: Use g_spawn_sync() rather than GSubprocess to avoid SIGCHLD grub2: Use "linux16" only on x86/x86_64 pull: Use all available commits for delta sources fetcher/curl: Fix leaks caught by ASAN Allow and start using C99 declaration-after-statement repo/checkout: Verify early if src/destination are on same device checkout: Support a "pure addition" mode repo/checkout: Convert a few functions to new "stmt-decl/FALSE" style Release 2017.3 Gatis Paeglis (1): deltas: Expose the filename parameter Georges Basile Stavracas Neto (2): repo-pull: add option to set the async update frequency ostree: allow setting update frequency from command line Giuseppe Scrivano (1): contrib/golang: rm directory Jonathan Lebon (2): pull: don't use static deltas if archive repo libglnx: bump for -Wmaybe-uninitialized fix Philip Withnall (2): build: Fix disabling --enable-man if xsltproc is not available libostree: Allow compression level to be set for archive-z2 stream ``` Git-EVTag-v0-SHA512: 55adebf589a0f2115f0ab3cb3f69b42ba3a08c19b3bf54580c437ac08e336651d54849666ab5718e466bdc99bbbaedca79f91619d6e5db3a0f15849029d33cfe
-
v2017.2da21d735 · ·
Release 2017.2 First, this release renames the project to `libostree`. This best matches the current usage of the code, where different projects act as client tools. More information [in the pull request](https://github.com/ostreedev/ostree/pull/659). However - if you're a user of `ostree admin upgrade`; don't worry, it will continue to be maintained and there are improvements in the pipeline. It's possible that there will be an effort to have a "canonical" ostree client-side daemon in the future. Moving on, there are some smaller bugfixes and enhancements in this release, and two big new build-time options. `--with-curl`: We now support libcurl as a HTTP backend. This passes all of the existing tests, and is suitable for evaluation by downstream consumers. Please give it a try, and it's likely we'll classify it as equally stable as the libsoup backend within a release or two. Among other features, the libcurl backend can speak `HTTP/2`, which can result in *substantial* speedups in the non-static-delta case. Another motivation for this is that for `rpm-ostree` we already depend on libcurl, which also links to OpenSSL in Fedora. Whereas `libsoup->glib-networking->gnutls`, so with this change we'll drop gnutls too. PR: https://github.com/ostreedev/ostree/pull/641 `--enable-rust`: This is an experiment in following a similar plan to what Firefox is doing with Rust. When this build time option is enabled, a very small bit of libostree (the rsync-style rollsum code) is in Rust, and linked statically into the rest of the library. There are no plans right now to make this a hard requirement in the near future. Please let us know if a dependency on Rust would be a blocker for your usage of libostree. Or conversely, if using Rust is exciting for you and would make you more likely to contribute, please also let us know that! There's more information [in the pull request](https://github.com/ostreedev/ostree/pull/656). Thanks to all contributors! Alexander Larsson (1): rofiles-fuse: Support write/read_buf() Anton Gerasimov (1): admin-switch: Don't segfault if there's no remote Chen Fan (1): doc: fix typo in CONTRIBUTING Colin Walters (19): lib: Adjust comments in symbols section for last release lib: Prefix GPG errors with the checksum travis: Disable tests (but keep builds) on flaky distros lib: Move the bupsplit selftest into our test framework tests: Add setup for more realistic repo, change pull-many to use Rename to libOSTree oxidation: Add implementation of bupsplit in Rust packaging/: Delete lib: Add ostree_repo_reload_config() rust: Support `make dist` -> cargo vendor repo: Add archive/zlib-level option, drop default compression to 6 pull: Add queuing into the higher level logic fetcher: Drop the libsoup queue pull: Show Estimating if we're scanning too libcurl backend libglnx: Bump commit: Support -F/--body-file, like git build: Remove .PHONY for Rust shared library Release 2017.2 Jonathan Lebon (4): trivial-httpd: trivial option help string fixes docs: update pulp_ostree link trusted.gpg.d: keep in the same location fetcher queue: also throttle on outstanding writes Krisztian Litkey (1): libostree: added empty ot_cleanup_{read,write}_archive macros. Philip Withnall (1): ostree-repo: Clarify error behaviour of remote option getters Simon McVittie (1): libostree: Don't distribute generated enumtypes in tarballs Git-EVTag-v0-SHA512: 1191007c2417ecaae5eded9453e830f1e91532360d44a9d4e9a845ab62491863e0ad1a20437d476172d6867a4b0548ca89ad5715b802c2a9e0f6d53f62f812a8
-
-
v2017.16517a8a2 · ·
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
-
-
v2016.15c9d565a5 · ·
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