ostree 2014.4



Hello tree builders!

OSTree v2014.4 is now available:
https://git.gnome.org/browse/ostree/tag/?id=v2014.4

First, you might notice fsync() appears in a lot of the commit messages.
I went through and audited every place where OSTree writes to disk for
deployments, and ensured that we call fdatasync()/fsync() where applicable.
The download process already fdatasync()'d objects into the repo,
but we also needed to do so for bootloader configuration files for example.

This makes OSTree slower (YMMV, SSDs help a lot), but I think it's worth starting
from a point of safety, and optimizing later.

More exciting though: This release features OstreeSysrootUpgrader,
a new API designed for external programs to use.  And now
rpm-ostree does so!  At the moment "rpm-ostree" upgrade
basically just adds a package-level diff:

https://github.com/cgwalters/rpm-ostree/commit/57f8bfb63f46b54dbefb56be8b026f66dc75942c

But it helps lay the groundwork for rpm-ostree being a hybrid ostree/package system.

Also, an important note for distributors: This release now
depends on the external libgsystem:
https://git.gnome.org/browse/ostree/commit/?id=1bdabda5f3abe006af968859216bb1a36e386e37

Michael and I both worked on man pages more for this
release as well.

And in one other bugfix that will be absolutely crucial to
some users: ostree now honors the $http_proxy
environment variable, if set.  That's only an intermediate
step until NetworkManager exposes an API to set/retrieve the
proxy for root processes.

Colin Walters (35):
Move basic commit API into ostree_sysroot_simple_write_deployment()
     Add an OstreeSysrootUpgrader API
     libostree/upgrader: Throw an error if osname is empty
     libostree/upgrader: Add an API to retrieve an origin description
     libostree/upgrader: Don't pull if there is no remote
     tool: End status line in switch/upgrade too
     sysroot: Be more conservative with bootlink optimization
     doc: Add ostree.repo and ostree.repo-config manual pages
     ostree(1): Document GPG verification, link to ostree.repo(5)
     sysroot-upgrader: Check merge deployment, not ref for differences
     upgrade: Support --allow-downgrade again
     tools: Fix unintialized variables
     checkout: Always do chmod even in _MODE_USER
     fetcher: Honor http_proxy environment variable
     tool: End status line after pull
     deploy: Add an assertion that deployment directory exists
     deploy: Add a debug message for which bootloader is used
     bootloaders: Always write out bootloader config file
     bootloader: fdatasync() bootloader configuration
     deploy: Call fsync() on parent directory before/after symlink swap
     switch: Always allow chronological downgrades
     Use external libgsystem 2014.2
     libotutil: Fix mistaken return of TRUE in error path
     pull: Display download progress of individual objects as we get it
libotutil: Add API to create directory hierarchy recursively *and* fsync
     deploy: Ensure that all directories we create are fsync()d
     checkout: fsync() directory on checkouts
     deploy: Ensure that any modified config files are fsync()d
     deploy: Also fsync parent directory of modified config files
     deploy: Ensure .origin file is fsync()ed on disk
libotutil: Make use of dirfd-relative API in ot_gfile_replace_contents_fsync()
     deploy: fdatasync() bootloader configuration files
deploy: fsync() kernel/initramfs and bootloader config parent directories
     deploy: fsync() copy of /etc
     Release 2014.4

Michael Scherer (3):
     Fix typo in man page ( envrionment => environment )
     improve consistency with others admin commands
     Add missing admin commands in the man pages






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]