-
v2018.4155c936c · ·
2018.4 A quick turnaround after 2018.3 to include one main PR: https://github.com/ostreedev/ostree/pull/1508 "switchroot: Ensure /run/ostree-booted is created even without initramfs" This fixes ostree when booting without an initramfs. Thanks to @akiernan for the bug report and helping review the fix! I'm working on enhancing the test suite, which will help in adding some coverage here. ``` Colin Walters (6 PRs, 10 commits) Post-release version bump (#1506) ci/papr: Fix artifacts (#1507) switchroot: Ensure /run/ostree-booted is created even without initramfs (#1508) lib/deltas: Squash some GCC maybe-uninitialized warnings (#1510) Release 2018.4 (#1512) PR: #1509 tests/payload-link: Just test a single duplicate object tests: Small tweaks for local iteration tests/installed: Use temporary directories more consistently tests/str: Verify standard-test-roles is installed tests/str: Rework sysinstall-tests to be an entrypoint ``` Git-EVTag-v0-SHA512: ad47f2566b56f852982235224bc5256f1ac682da78579998b6ebcef719691c9dc2d9987691ee98730c7776da48c7ff50b02f55cbf5e7355a12627cb2843dcf51
-
v2018.3671b026f · ·
v2018.3 Keeping up with our ~monthly cadence. A variety of contributors here again, it's great to see! There's two notable features, and a variety of non-critical bugfixes. On the features side we have: - `sysroot: Add concept of deployment "pinning" 📌` (#1464) - `ostree: introduce PAYLOAD_LINK object type` (#1443) By default libostree prunes older deployments; the pinning feature allows you to explicitly retain them until unpinned. This is useful for major version updates. The `PAYLOAD_LINK` functionality allows libostree to do content-based deduplication. Previously, if e.g. a file changes in metadata (mode, owner, xattrs such as SELinux labels), we can't make a plain Unix hardlink, and hence by default end up with a new copy on disk. However, the Linux kernel has standardized "reflinks" and some filesystems support them, including modern versions of XFS. When reflinks are available, this functionality causes libostree to compute a content-only payload, and when importing an object, if it matches in content with an existing object, to use reflinks to deduplicate, while using different inodes. Beyond that, as mentioned above we have a variety of non-critical fixes such as memory leaks, test suite improvements, correctly printing the "would be pruned" size when using `prune --no-prune`, etc. Thanks to all contributors! ``` Colin Walters (15 PRs, 20 commits) build-sys: Post-release version bump (#1455) ci: Rework installed tests to use Fedora Standard Test interface (#1462) bash-completion: Remove `admin` completions (#1468) prune: Error if --static-deltas-only without --delete-commit (#1482) lib/repo: Do account for size with prune --no-prune (#1483) docs/prune: Document that --static-deltas-only isn't that useful (#1484) repo/refs: Clean up error prefixing (#1485) tests/str: Rework invocation (#1493) tests: Avoid generating lots of output in itest-payload-link (#1494) lib/deploy: Port various functions to declare-and-initialize (#1499) main, status: Factor out deployment printing into helper (#1504) Release 2018.3 (#1506) PR: #1464 sysroot: Add concept of deployment "pinning" 📌 sysroot: Add API to clean up transient keys in origin files sysroot: Bump mtime when writing an origin file PR: #1497 sysroot: Rework how we find booted deployment sysroot: Track whether /run/ostree-booted exists lib/deploy: Port deployment checkout func to new style PR: #1505 lib/deploy: Have internal origin writing API take sepolicy lib/deploy: Use in-function error prefixing more Giuseppe Scrivano (1 PR, 3 commits) PR: #1443 commit: add logic for .payload-link ostree: introduce PAYLOAD_LINK object type ostree-repo-private: remove declaration for _ostree_repo_find_object Jeremy Hiatt (1 PR, 1 commit) lib/repo: Fix multi-signature support when generating summary files (#1489) Joaquim Rocha (1 PR, 1 commit) pull: Ignore the cancellable when aborting a transaction (#1492) Jonathan Lebon (2 PRs, 2 commits) lib/fetcher: Allow clients to append to User-Agent (#1496) lib/core: Support <remote>: syntax when listing refs (#1500) Jonathan Lebon (1 PR, 1 commit) lib/sysroot: Fix retrieving non-booted pending deployment (#1472) Luca Bruno (1 PR, 1 commit) rust/bupsplit: minor idiomatic fixes (#1502) Matthew Leeds (6 PRs, 6 commits) lib/repo-finder-mount: Fix path to flatpak repo (#1471) lib/repo-finder-mount: Update comment about paths (#1473) lib/repo-pull: Fix free function for hash table (#1474) lib/remote: Fix memory leak (#1476) lib/repo-finder-mount: Improve debug message (#1477) lib: Fix memory leaks of OstreeRemote (#1478) Rasmus Thomsen (1 PR, 1 commit) configure: add option for libsystemd (#1490) Simon McVittie (2 PRs, 5 commits) Use Python 3 for tests (#1463) PR: #1457 tests/bootloader-entries-crosscheck: Use Python 3-friendly sorting test-concurrency: Explicitly use floor division test-concurrency: Replace range with xrange test-concurrency: Use Python 3 syntax for octal ``` Git-EVTag-v0-SHA512: 00afcacb0ad3b8c2c42c2d3e44e1c807a0dbb65beb2ba888ceab459c603d8c1e5ef380abb0a77c02eacba839b0a3b6138a92a0f05e4c2bfe04eeefe41081e6bf
-
-
v2018.281560cad · ·
2018.2 We're keeping up with the approximately-monthly release cycle. There's mostly a collection of smaller fixes here, with some enhancements. I'm biased but my personal favorite is #1438 since it makes the output of `findmnt` rather significantly nicer on this workstation where I have container tooling creating sub-mounts in `/var` that are no longer replicated in `/sysroot`. For the embedded space, #1411 for devicetree support is likely interesting, and is related to a discussion on the mailing list: https://mail.gnome.org/archives/ostree-list/2018-February/msg00001.html Jonathan's PR #1441 to add callback filtering to checkout was necessary for us to re-implement some hairy logic from librpm around "file coloring"; see https://github.com/projectatomic/rpm-ostree/pull/1227 We're getting quite far along now in having rpm-ostree be a truly hybrid system, supporting the existing RPM ecosystem. Marcus definitely wins the "lines changed" count this cycle by adding `SPDX-License-Identifier` to all of the C source files (#1439). This happened because we relicensed the documentation to dual `CC BY-SA` and `GFDL` in #1432 to enable [a Wikipedia page](https://en.wikipedia.org/wiki/OSTree) which I just noticed exists now! It's great to see all of the interest in and use of libostree across the board, and thanks to all contributors! ``` Alex Kiernan (2 PRs, 2 commits) switchroot: Fix split source/build directory (#1445) Fix static-compiler when CC includes args (#1454) Colin Walters (13 PRs, 13 commits) ci: Run a subset ⊂ of rpm-ostree's tests (#771) ci: Bump flatpak version (and build to f27) (#1400) build-sys: Post-release version bump (#1417) lib/pull: Port a few functions to new style (#1424) ci/papr: Update most contexts to f27 (#1426) bin/delta: Fix compilation with relative subdirs --filename (#1427) docs: Dual license under CC BY-SA and the GFDL (#1432) switchroot: Ensure /sysroot is set to "private" propagation (#1438) deploy: SELinux-relabel installed kernel/initramfs data (#1444) repo: Create uncompressed-object-cache dir dynamically (#1446) core: Add API (and standard concept for) content checksum (#1449) fetcher: Drop max queue size assertion in libsoup/libcurl backends (#1453) Release 2018.2 (#1455) Jonathan Lebon (2 PRs, 4 commits) lib/checkout: add filter API to skip over files (#1441) PR: #1442 bin/checkout: add --selinux-policy switch tests/installed: support TESTS filter libotutil: factor out utility to parse file by line Marcus Folkesson (1 PR, 1 commit) Add SPDX-License-Identifier to source files (#1439) Matthew Leeds (5 PRs, 5 commits) man: Add man page for find-remotes (#1410) find-remotes: Minor fixes to --finders code (#1414) man: Update ostree-summary.xml (#1416) lib/pull: Allow specific commits in P2P updates (#1425) lib/pull: Properly remove temporary remotes (#1450) Philip Withnall (1 PR, 1 commit) lib/core: Expand documentation for ostree_parse_refspec() (#1437) William Manley (2 PRs, 4 commits) PR: #1411 Add support for devicetree files alongside the kernel and initramfs syslinux: Add support for DEVICETREE from bootloader spec PR: #1418 ostree admin deploy: Add --no-prune option ostree admin deploy: Refactor bringing cleaning into `main` ``` Git-EVTag-v0-SHA512: cbb96ab975e3430d3dcb0552b8b9fec4c32c3d289343a66b304f3d937d56d60f635791b7c31da4118545ecbaec18130cef5d077429b0e0c39fbb235dc7f960b6
-
-
v2018.1d3fa9502 · ·
Release 2018.1 One of the most notable things in this release is patches from Gatis Paeglis and William Manley to fix up libostree's support for systems without an initramfs (prominent in the embedded/appliance case). Just as a side note: On the flip side some initial testing of a Fedora Atomic Host (which uses libostree) was done on an IBM S390x system - real mainframe hardware. Just like the Linux kernel and systemd, the vision for libostree is to span a wide range of use cases like this. Related to this, build patches were contributed by Anton Gerasimov and Marcus Folkesson - per the above we try to keep our feature set configurable. Next I want to note a major new feature landed in this release that we will be using in rpm-ostree; `--copyup` support for `rofiles-fuse`: https://github.com/ostreedev/ostree/pull/1382 For a long time we were trying to change the Fedora RPM package scripts to be "pure rofiles" compatible, but I finally decided to punt on that due to glibc. I suspect other people maintaining build systems may be in a similar situation. Also, I landed a series of hardening patches against path traversal; as I say in the PR set, since we've checked this in the HTTP code since the start I think we're generally safe: https://github.com/ostreedev/ostree/pull/1412 There are a variety of other changes here; see the linked PRs below for more information. Thanks a lot to all contributors! Anton Gerasimov (1 PR, 1 commit) PR: #1397 build-sys: Allow building with curl, but without libsoup (and 1 commits from other authors) Colin Walters (9 PRs, 13 commits) rofiles: Add --copyup option (#1382) rofiles: Fix --copyup when creating a new file (#1396) grub2: Exit gracefully if there's no system ostree repository (#1399) lib/fetcher: Add version to USER_AGENT string (#1406) Release 2018.1 (#1413) PR: #1387 build-sys: Post-release version bump ci: Make rust build nonblocking for now PR: #1391 Revert "ci: Make rust build nonblocking for now" build-sys: Link with -ldl for rust build PR: #1397 bin: Fix cookie builtin build with curl but no soup (and 1 commits from other authors) PR: #1412 lib: Validate metadata structure more consistently during pull lib/checkout: Validate pathnames during checkout tests: Add a test case for path traversal in a dirtree Gatis Paeglis (1 PR, 4 commits) PR: #1401 ostree-grub-generator: update outdated comment Support for booting without initramfs deploy: add --karg-none argument ostree-prepare-root: enabler for simpler kernel arg (and 1 commits from other authors) Jonathan Lebon (2 PRs, 4 commits) tests/libtest-core: support multiple literal checks (#1409) PR: #1402 bash/ostree: add missing --add-metadata option bin/commit: add --keep-metadata option bin/commit: move parent checking code higher up Marcus Folkesson (1 PR, 1 commit) lib/pull: allways include ostree-repo-pull-private.h (#1389) Matthew Leeds (1 PR, 2 commits) PR: #1407 tests: Use --finders option for find-remotes find-remotes: Add --finders option Philip Withnall (1 PR, 1 commit) build: Fix typo in -Wparentheses warning (#1388) Simon McVittie (2 PRs, 2 commits) tests: Don't assume uid == primary gid (#1390) tests: Assert that byte-order is swapped on LE but not BE CPUs (#1393) Will Thompson (1 PR, 1 commit) ostree-grub-generator: fix typo in comment (#1398) William Manley (1 PR, 1 commit) PR: #1401 Tests: test-no-initramfs: Test both legacy and new kernel locations (and 4 commits from other authors) Git-EVTag-v0-SHA512: 32b75a08ee3df95d4286cddb5cdea6c9fff2bb33134a61072505d0c5cf9a9bf5a2f66fd35ec5591a550f3c0d7f560c64783a9e1f0b98a8de9dfec485d160c3ce
-
-
v2017.1519d08dab · ·
Release 2017.15 The headlining feature in this release is support for repository locking, contributed by Dan Nicholson. Currently it is disabled by default; add `locking=true` in a repository configuration file to enable. This feature should be considered as "tech preview"; it's highly likely we'll stabilize it in its current form, but it's possible something will change. Currently the locking only protects commit + prune; there is a large pending PR to extend locking to many more APIs and commands. Several new APIs were added; for example libostree now has a convenient API to break a hardlink, which happens in e.g. rpm-ostree in several places such as handling the RPM database. Also, multithreading support in the commit APIs was cleaned up and clarified. It's now possible to call `transaction_set_ref()` from multiple threads, which rpm-ostree uses now to import RPMs to OSTree in parallel. We're tracking an issue with http2+libcurl (#1362) and while I've been too cowardly to pull out wireshark and gdb to fully track this down, it looks like there are a number of issues still floating around HTTP2+libcurl (some are server bugs), that we added support at both build and runtime to disable http2. The `fsck` command learned how to verify ref bindings, and relatedly, the `commit` command gained a `--unbound` option to skip creating ref bindings. Thanks to all contributors Colin Walters (21 PRs, 26 commits) lib/repo: Add MT support for transaction_set_ref(), clarify MT rules (#1358) build-sys: Post-release version bump (#1361) lib/repo-file: Add casts to appease GLib g_object_ref cast PR (#1363) lib/commit: Refactor file commits to separate subdir from content (#1365) pull: Add http2=false remote config option (#1368) docs/related: Add Balena (#1369) lib/commit: Fix memleak in bare-user devino hit path (#1370) lib/commit: Use more direct path for regfile commits (#1371) build-sys: Add --disable-http2 (#1373) lib/repo: Add an API to mark a commit as partial (#1376) bin/fsck: Make ref binding verification optional (#1379) bin/commit: Support creating "unbound" commits (#1380) bin/refs: Disallow aliases to remote refs (#1381) Bump libglnx, use "n items" progress for fsck (#1383) build-sys: Use -fno-strict-aliasing by default (#1384) Release 2017.15 (#1386) PR: #1343 tests: Test concurrent operations lib/repo: Add some error prefixing in commit, repo create (and 4 commits from other authors) PR: #1364 tests: Change test-corruption to use fatal() Add public API for fsck, use it before loading metadata PR: #1372 bin/show: Add --no-byteswap bin/commit: Add --add-metadata that accepts g_variant_print() format PR: #1375 lib/repo: Disable locking by default, add locking=true boolean lib/repo: Make locking timeout configurable PR: #1378 lib/core: Optimize breaking hardlinks for regfiles lib/core: Add a "break hardlink" API Dan Nicholson (1 PR, 4 commits) PR: #1343 lib/prune: Take exclusive repository lock lib/commit: Add repository locking during transactions lib/repo: Add locking auto cleanup handler lib/repo: Add repo locking mechanism (and 2 commits from other authors) Matthew Leeds (1 PR, 1 commit) lib/repo: Properly list remotes of parent repos (#1366) Philip Withnall (1 PR, 11 commits) PR: #1347 tests: Expand fsck unit tests to cover checks on bindings tests: Fix LC_ALL for systems which use .utf8 suffixes ostree/commit: Allow --orphan and --bind-ref to be specified together ostree/fsck: Add --verify-back-refs option lib/repo: Clarify documentation for ostree_repo_list_refs{,_ext}() ostree/fsck: Handle refspecs from ostree_repo_list_refs() ostree/fsck: Verify commit bindings for each ref lib/static-delta: Drop duplicated declaration from private header lib/pull: Fix capitalisation in binding verification error messages lib/pull: Split verify_bindings() out into a cmdprivate method ostree/fsck: Factor out common commit checking code Sam Thursfield (1 PR, 1 commit) README.md: Link to BuildStream (#1360) Git-EVTag-v0-SHA512: 67edb397e64223ecd05c1285e9cf3da6087a8794d8ecdf1a7c66a56cb3afb042a43184224e61aa8631308bddd5bf5e45587c9b05268a36fe2c676869b522249a
-
-
v2017.14b0f9a298 · ·
Release 2017.14 This release is almost entirely bugfixes. One notable fix is a read-after-free when libcurl is finalizing that some people have hit. There are a number of improvements around the `${repo}/tmp` directory and the per-transaction staging directory in preparation for adding locking in a future release. This release should already help avoid several failures when doing concurrent commits; the aim of the locking work will support concurrent prunes and commits. I'm using [a new script](https://gist.github.com/cgwalters/3e6ae7bc435185456c3d5700031b56f6) to generate the shortlog with PR numbers included below: Thanks to all contributors! ``` Alexander Larsson (1 PR, 1 commit) rofiles-fuse: Fix utime() support (#1351) Carlos Alberto Lopez Perez (1 PR, 1 commit) grub-generator: If OSTREE_BOOT_PARTITION is not set, default to /boot (#1326) Colin Walters (15 PRs, 18 commits) build: Add -Werror=undef by default, fix fallout (#1320) lib/pull: Avoid error if current with --require-static-deltas (#1323) build-sys: Post-release version bump (#1324) build: Work around -Wundef with older GLib (#1327) build: Also fix -Werror=undef for old libsoup (#1328) deltas: Don't try to rollsum/bsdiff .xz files (#1333) lib/traverse: Port to new style (#1338) bin: Port a few commands (diff,remote,static-delta) to new style (#1344) fetcher/curl: Stop using CURLOPT_LOW_SPEED_TIME/_LIMIT (#1349) lib/commit: Use direct repo writes if fsync is disabled (#1354) lib/repo: Add a new private API for bare content writes (#1355) tests/delta-crosscheck: Disable fsync (#1356) lib/repo: Add a DEVINO_CANONICAL commit modifier flag (#1357) Release 2017.14 (#1359) PR: #1352 lib/repo: Verify txn stagedir existence after locking lib/commit: Move txn stagedir deletion/unlock into one place ci: Really show test-suite.log on travis tests: Run python tests with stdout unbuffered lib/commit: Minor refactoring of tmpdir cleanup code lib/commit: Reuse txn dir for tmpfiles Dan Nicholson (6 PRs, 15 commits) tests: Don't symlink rofiles-fuse if it's disabled (#1325) bin/summary: Fix --raw option (#1336) PR: #1322 lib/pull: Skip ostree_repo_resolve_keyring_for_collection for bindings lib/core: Fix documentation comment in ostree_validate_collection_id build: Define OSTREE_ENABLE_EXPERIMENTAL_API for g-ir-scanner build: Ensure enumtypes.h is built before enumtypes.c PR: #1337 Revert "lib/pull: Skip ostree_repo_resolve_keyring_for_collection for bindings" lib: Include OstreeRemote and OstreeCollectionRef in GIR lib/remote: Export ostree_remote_get_type symbol PR: #1346 lib/repo: Don't delete new tmpdir if it can't be locked lib/repo: Handle race with existing tmpdir being deleted lib/repo: Restore tmpdir reusing out parameter lib/repo: Add debug messages when allocating tmpdir PR: #1352 lib/repo: Verify txn stagedir existence after locking lib/commit: Move txn stagedir deletion/unlock into one place ci: Really show test-suite.log on travis tests: Run python tests with stdout unbuffered lib/commit: Minor refactoring of tmpdir cleanup code lib/commit: Reuse txn dir for tmpfiles Dusty Mabe (1 PR, 1 commit) add back helpful --allow-downgrade err message (#1348) Joaquim Rocha (1 PR, 1 commit) lib/remote: Add a method to return the URL (#1353) Jonathan Lebon (1 PR, 2 commits) PR: #1350 ci: Make sure we save gtdr test results on failures papr: Bump primary to f27 Kalev Lember (1 PR, 1 commit) fetcher/curl: Fix invalid memory access in finalize() (#1332) Philip Withnall (3 PRs, 5 commits) build: Add a TODO comment about improving glib-mkenums usage in future (#1330) PR: #1335 lib/repo: Add gtk-doc comment to OstreeRepoCommitState lib/repo: Add OSTREE_REPO_COMMIT_STATE_NORMAL to represent most commits PR: #1341 lib/repo: Fix a memory leak of options in ostree_repo_create() lib/repo: Add (transfer) annotations to various GHashTable arguments Will Thompson (1 PR, 1 commit) build: fix "executible" typo (#1345) ``` Git-EVTag-v0-SHA512: 006947e52f45c4a2f7bb11549b666f26727359ab9bb1ec9541ed516b74ec8430356586bfde1b618ac172901ea49227539ac3f80d1efa01ef927d5d89f0b48d85
-