Skip to content
Release 2017.11

This release has a few new features, some UX improvements for the command
line, and a variety of bugfixes.

First off though is this commit: `docs/build: s/libOSTree/libostree/`.
The project is now more canonically called "libostree", though "OSTree"
and "ostree" are also fine.

The most important bugfix for anyone using `rofiles-fuse` (typically
build systems, rpm-ostree also uses it) is:

Alexander Larsson (1):
      rofiles-fuse: Fix lchown() and hardlink verification for symlinks

On the features side, we've added a few new APIs to the libarchive
importing and checkout path that will be used by rpm-ostree.  This
should be of interest to anyone using libostree for build systems
or underlying a hybrid image/package system like rpm-ostree.  For
example rpm-ostree automatically converts RPMs that have content
in /boot:
using the new libarchive filtering that landed here in libostree.
This is because ostree doesn't support updating anything in /boot
*besides* the bootloader configuration.

Another good example of a package system integration change is the
the RPM semantic of merging identical files.  Thanks to
Ruixin Bao!

Also on the host system side, there is a new (canonical) place
for build systems to put the kernel/initramfs: /usr/lib/modules/$kver.
This change matches the current Fedora kernel RPM, and was originally
inspired by changes coming from the systemd camp.  More information:

Guy Shapiro contributed a change to have all of the deployments
show up in the uboot configuration, to help enable automatic fallback
if a new OS fails to boot.

Colin Walters did a lot of style cleanups, some "error prefixing"
work to ensure we produce understandable errors in more situations,
and one other notable cleanup:
    boot: Add a tmpfiles.d snippet to clean up /var/tmp/ostree-ovl.XXX
This should be nice for anyone who uses `ostree admin unlock` frequently.

Dan Nicholson has been doing a lot of work on improving libostree's
management of configuration for remotes:

Jonathan Lebon did a lot of cleanup in the command line parsing
and fixes for --help, and also helped with the new --selinux-label
option for `ostree commit`.  (And also did tons and tons of code review!)

Robert McQueen has been continuing work on fixing up libostree's handling of
GPG keys that have subkeys - there's now:
lib/gpg: Add _FINGERPRINT_PRIMARY to OstreeGpgVerifyResult
which effectively reverts an earlier change to make the primary key
show up as the main fingerprint.

Philip Withnall and Simon McVittie contributed build system and test

$ git shortlog v2017.10..6c0738a000800856d09774d50d16d84c1b537a7b
Alexander Larsson (1):
      rofiles-fuse: Fix lchown() and hardlink verification for symlinks

Colin Walters (46):
      build-sys: Post-release version bump
      boot: Add a tmpfiles.d snippet to clean up /var/tmp/ostree-ovl.XXX
      bin: Squash some -Wuninit warnings with porting to new style
      lib/sysroot: Support /usr/lib/modules/$kver for kernel/initramfs
      docs/build: s/libOSTree/libostree/
      lib/deploy: Add .img to end of initramfs in /usr/lib/modules
      lib/pull: Add support for timestamp-check option, use in upgrader
      lib/commit: Remove duplicated function for filter processing
      lib/commit: Honor commit filter for libarchive --tar-autocreate-parents
      build/ Comment out setting of LC_ALL
      bin/main: Remove duplicated usage output on unknown commands
      lib/repo: Add some assertions for ABI sizes
      bin/commit: Add --selinux-policy option
      libarchive: Add support for translating paths during commit
      tree-wide: Replace archive-z2 with archive
      bin/prune: Port to new style
      bin/admin: Port switch,upgrade to new style
      bin/admin: Check for booted deployment to see if we should reboot
      bin/admin: Change init-fs to stop loading a sysroot to init one
      bin/admin: Do sysroot loading during argument parsing
      bin/admin: Check for booted sysroot for root-required commands
      ci: Hackaround Fedora rpm/libdb/glibc issue
      lib/repo: Add apidoc for repo properties
      lib/repo: Add error prefixing during hardlink object import
      bin/local-pull: Clarify docs, add more tests for corrupted local pulls
      lib/sysroot: A bit more new style porting
      lib/gpg: Use nicer helper for gpg error messages
      lib/gpg: Port a few misc gpg functions to new style
      tests/rofiles-fuse: Add tests for chmod/chown
      tree-wide: Use helpers for unlinkat()
      lib/commit: Update docs/code style for ostree_repo_scan_hardlinks()
      lib/pull: Only look for cookie files for non-local remotes
      lib/pull: A bit of new style porting
      lib/commit: Add some error prefixing for txn commit/tmpdir
      lib/sysroot: Use fd-relative acccess for bootversion cleanup
      tree-wide: Add error prefixing for most remaining syscalls
      lib/grub2: Port some to new code style
      lib: Add a private helper to abort txns, use in sysroot cleanup
      lib/syslinux: Port to new code style
      ci: Fixate CentOS container image until rpm-md repos sync
      lib/sysroot: Use direct g_mkdtemp() for overlay tmpdir
      build-sys: Add -Werror=switch
      lib/repo: Port tmpdir locking func to new style
      lib/checkout: Rename disjoint union, change to merge identical files
      tests: Port some bits of C to new style
      Release 2017.11

Dan Nicholson (4):
      repo: Fix non-system remotes-config-dir usage
      sysroot: Reload config after setting sysroot kind
      repo: Add add-remotes-config-dir option
      repo: Ensure new config doesn't set remotes in separate file

Guy Shapiro (3):
      lib/sysroot: fix placement for not-default deployment
      uboot: move system uEnv merge to new function, clean up
      uboot: add non-default deployments to uEnv.txt

Jonathan Lebon (12):
      tests: fix admin upgrade timestamp file check
      pull: better description for --mirror
      ostree-sysroot: convert function to new style
      ostree-sysroot: make simple_write_deployment smarter
      commit: filter out selinux label before commit
      bin/main: Print usage when no command given
      bin/config: Tweak parameter string
      tests/ Rework and strengthen checks
      bin/admin: Don't require root for instutil
      bin/static-delta: Convert to new style and tweak output
      bin/admin: Don't load sysroot for root commands
      bin/remote: don't load repo on root command

Matthew Leeds (5):
      lib/repo-refs: Include remote refs when using collections
      lib/repo-refs: Fix typos in last commit
      tests: Make the deployment mutable in test-sysroot.js
      tests: Check "refs -c PREFIX" behavior
      lib/repo: Update outdated comment

Philip Withnall (2):
      build: Add distcheck configure flags to fix systemd and bash-completion
      build: Ensure ostree-tmpfiles.conf is distributed

Robert McQueen (3):
      lib/gpg: Add _FINGERPRINT_PRIMARY to OstreeGpgVerifyResult
      lib/gpg: Correct missing line prefix with bad signatures
      lib/gpg: Provide the public key to the duplicate check

Ruixin (1):
      checkout: add an extra checkout_overwrite mode

Simon McVittie (6):
      test-libarchive-import: Skip if extended attributes are unsupported This test uses bare-user, hence needs xattrs
      libtest: Allow skipping single checks without user xattrs
      basic-test: Skip explicit uses of bare-user if no user xattrs
      test-basic-user-only: Skip final step if no user xattrs
      Remove shebang from bash completions

Git-EVTag-v0-SHA512: 2b541ac9e19ad265e6b95bf04d2d3bb0efedf95e301709e0261ca74401b4fb3f8431d39c312527537cd3bb94c6870adb5c71b477a8684ac2b04807b50770bb9d