ostree (2017.12-2) unstable; urgency=medium
authorSimon McVittie <smcv@debian.org>
Thu, 26 Oct 2017 23:19:45 +0000 (00:19 +0100)
committerSimon McVittie <smcv@debian.org>
Thu, 26 Oct 2017 23:19:45 +0000 (00:19 +0100)
  * Disable gtk-doc if we are not going to build libostree-doc,
    in particular for architecture-specific builds. Note that it remains
    in Build-Depends (not Build-Depends-Indep) because it is also needed
    for gtkdocize during dh_autoreconf.
    - In particular this might fix FTBFS on sparc64, where highlight(1)
      fails.
  * d/p/2017.13/lib-core-Init-struct-stat-buffer.patch,
    d/p/2017.13/lib-sysroot-Fix-pointer-going-out-of-scope-in-unlock-code.patch,
    d/p/2017.13/lib-deploy-Ignore-FIFREEZE-FITHAW-errors-when-already-in-.patch,
    d/p/2017.13/lib-deploy-Use-_exit-for-FIFREEZE-watchdog.patch,
    d/p/2017.13/lib-deltas-Check-cancellable-during-processing.patch,
    d/p/2017.13/lib-utils-Check-for-invalid-UTF-8-in-filenames.patch,
    d/p/2017.13/Cope-with-xattr-syscalls-raising-EOPNOTSUPP.patch,
    d/p/2017.13/lib-sysroot-Fix-error-handling-when-mounting-overlayfs-fa.patch,
    d/p/2017.13/lib-repo-Properly-handle-NULL-homedir-when-signing-commit.patch,
    d/p/2017.13/fdio-allow-NULL-for-fstatat_allow_noent-stbuf.patch,
    d/p/2017.13/lib-repo-Fix-loading-commitstate-with-parent-repos.patch:
    Add various bugfix patches from upstream
    - In particular, dealing with the possibility that EOPNOTSUPP != ENOTSUP
      should fix test failures on hppa.
  * d/p/2017.13/tests-Add-test-pull-bareuseronly.patch:
    Add more test coverage from upstream
    - d/rules: Make the new test executable
  * d/test.sh: Clean up ostree-trivial-httpd processes
  * d/test.sh: Don't repeat build-time tests if they fail once. They seem
    to be somewhat reliable now.

[dgit import unpatched ostree 2017.12-2]

42 files changed:
1  2 
debian/.gitignore
debian/changelog
debian/compat
debian/control
debian/copyright
debian/docs
debian/gbp.conf
debian/gir1.2-ostree-1.0.install
debian/libostree-1-1.install
debian/libostree-1-1.symbols
debian/libostree-dev.install
debian/libostree-doc.install
debian/ostree-boot.README.Debian
debian/ostree-boot.control
debian/ostree-boot.install
debian/ostree-tests.install
debian/ostree-tests.lintian-overrides
debian/ostree.install
debian/ostree.maintscript
debian/patches/2017.13/Cope-with-xattr-syscalls-raising-EOPNOTSUPP.patch
debian/patches/2017.13/fdio-allow-NULL-for-fstatat_allow_noent-stbuf.patch
debian/patches/2017.13/lib-core-Init-struct-stat-buffer.patch
debian/patches/2017.13/lib-deltas-Check-cancellable-during-processing.patch
debian/patches/2017.13/lib-deploy-Ignore-FIFREEZE-FITHAW-errors-when-already-in-.patch
debian/patches/2017.13/lib-deploy-Use-_exit-for-FIFREEZE-watchdog.patch
debian/patches/2017.13/lib-pull-Fix-regression-with-pull-local-for-nonexistent-r.patch
debian/patches/2017.13/lib-repo-Fix-loading-commitstate-with-parent-repos.patch
debian/patches/2017.13/lib-repo-Properly-handle-NULL-homedir-when-signing-commit.patch
debian/patches/2017.13/lib-repo-commit-Import-detached-metadata-even-if-hardlink.patch
debian/patches/2017.13/lib-sysroot-Fix-error-handling-when-mounting-overlayfs-fa.patch
debian/patches/2017.13/lib-sysroot-Fix-pointer-going-out-of-scope-in-unlock-code.patch
debian/patches/2017.13/lib-utils-Check-for-invalid-UTF-8-in-filenames.patch
debian/patches/2017.13/tests-Add-test-pull-bareuseronly.patch
debian/patches/dist/Add-missing-test-libglnx-shutil.patch
debian/patches/series
debian/rules
debian/source/format
debian/test.sh
debian/tests/build
debian/tests/control
debian/tests/gnome-desktop-testing
debian/watch

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..910c5bde11fcaf7ecfecb469d550eabbc73be54f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++/*.debhelper
++/*.substvars
++/gir1.2-ostree-1.0/
++/libostree-1-1/
++/libostree-dev/
++/libostree-doc/
++/ostree-grub2/
++/ostree/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6f182013bb6838179afaa35dd710389f918940d0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,562 @@@
++ostree (2017.12-2) unstable; urgency=medium
++
++  * Disable gtk-doc if we are not going to build libostree-doc,
++    in particular for architecture-specific builds. Note that it remains
++    in Build-Depends (not Build-Depends-Indep) because it is also needed
++    for gtkdocize during dh_autoreconf.
++    - In particular this might fix FTBFS on sparc64, where highlight(1)
++      fails.
++  * d/p/2017.13/lib-core-Init-struct-stat-buffer.patch,
++    d/p/2017.13/lib-sysroot-Fix-pointer-going-out-of-scope-in-unlock-code.patch,
++    d/p/2017.13/lib-deploy-Ignore-FIFREEZE-FITHAW-errors-when-already-in-.patch,
++    d/p/2017.13/lib-deploy-Use-_exit-for-FIFREEZE-watchdog.patch,
++    d/p/2017.13/lib-deltas-Check-cancellable-during-processing.patch,
++    d/p/2017.13/lib-utils-Check-for-invalid-UTF-8-in-filenames.patch,
++    d/p/2017.13/Cope-with-xattr-syscalls-raising-EOPNOTSUPP.patch,
++    d/p/2017.13/lib-sysroot-Fix-error-handling-when-mounting-overlayfs-fa.patch,
++    d/p/2017.13/lib-repo-Properly-handle-NULL-homedir-when-signing-commit.patch,
++    d/p/2017.13/fdio-allow-NULL-for-fstatat_allow_noent-stbuf.patch,
++    d/p/2017.13/lib-repo-Fix-loading-commitstate-with-parent-repos.patch:
++    Add various bugfix patches from upstream
++    - In particular, dealing with the possibility that EOPNOTSUPP != ENOTSUP
++      should fix test failures on hppa.
++  * d/p/2017.13/tests-Add-test-pull-bareuseronly.patch:
++    Add more test coverage from upstream
++    - d/rules: Make the new test executable
++  * d/test.sh: Clean up ostree-trivial-httpd processes
++  * d/test.sh: Don't repeat build-time tests if they fail once. They seem
++    to be somewhat reliable now.
++
++ -- Simon McVittie <smcv@debian.org>  Fri, 27 Oct 2017 00:19:45 +0100
++
++ostree (2017.12-1) unstable; urgency=medium
++
++  * New upstream release
++    - Drop all current patches, applied upstream
++    - Update symbols file
++  * Add some post-release bug fix patches
++  * Simplify autopkgtest now that test-local-pull seems to be stable
++  * Unexport HTTP proxy variables in autopkgtest to work around lack of
++    support for no_proxy, which breaks the tests on Ubuntu autopkgtest.
++    We don't actually need Internet access, so this is OK.
++  * debian/test.sh: Unexport HTTP proxy variables for build-time tests
++    too
++  * Make build-time test failures fatal if they fail at least twice
++    out of 5 tries (previously they had to fail at least 3 times)
++  * Add patch to reinstate test-libglnx-shutil.c, which was missed out
++    of the upstream tarball
++
++ -- Simon McVittie <smcv@debian.org>  Tue, 03 Oct 2017 22:47:48 +0100
++
++ostree (2017.11-2) unstable; urgency=medium
++
++  * Replace patch with the version applied upstream in 2017.12
++  * Standards-Version: 4.1.0 (no changes)
++  * Add a patch to fix FTBFS in non-English locales
++  * Add a patch to fix FTBFS if building as root with umask != 022,
++    which for some reason debomatic does (Closes: #876138)
++  * Add a patch from upstream to fix undefined behaviour with
++    O_RDONLY|O_CREAT in rofiles-fuse
++
++ -- Simon McVittie <smcv@debian.org>  Fri, 22 Sep 2017 15:48:24 +0100
++
++ostree (2017.11-1) unstable; urgency=medium
++
++  * New upstream release
++    - Drop all current patches, applied upstream
++    - Update symbols file
++  * Adjust Description and Upstream-Name to emphasize libostree
++  * Classify new ostree-tmpfiles.conf as part of ostree-boot, and so
++    don't install it yet
++  * Stop copying an old ostree-trivial-httpd.xml from debian/dist/
++    into source tree. Upstream distributes it again, and has since
++    2017.8.
++  * Add a patch to fix JavaScript tests with gjs 1.50.0, which is
++    more strict about 'let'
++  * Stop providing "ostree trivial-httpd" CLI, following upstream
++    default behaviour. flatpak used to use it in its tests, but
++    the version in stable no longer does.
++
++ -- Simon McVittie <smcv@debian.org>  Fri, 15 Sep 2017 16:58:15 +0100
++
++ostree (2017.10-1) unstable; urgency=medium
++
++  * New upstream release
++    - Update symbols file
++    - Install new bash completions
++  * Use dh_missing --fail-missing instead of dh_install --fail-missing
++  * Only run tests when building architecture-dependent packages.
++    The tests aren't so interesting that we want to run them again
++    when splitting -arch/-indep builds.
++  * Add patches to make the tests pass again when /var/tmp is on tmpfs,
++    which does not support user xattrs
++  * Add patch to remove useless #! from bash completions
++  * Make build-time test failures fatal again, but only if they are
++    reproducible (at least 3 times out of 5) for now
++
++ -- Simon McVittie <smcv@debian.org>  Tue, 29 Aug 2017 18:18:49 +0100
++
++ostree (2017.9-1) unstable; urgency=medium
++
++  * New upstream release
++    - Drop backported patch
++    - Update symbols file
++  * debian/rules: Adjust a comment to avoid Lintian thinking this is a
++    dh_make template
++
++ -- Simon McVittie <smcv@debian.org>  Fri, 28 Jul 2017 14:43:30 +0100
++
++ostree (2017.8-1) unstable; urgency=medium
++
++  * New upstream release
++    - Update symbols file
++    - Remove patches that are no longer needed
++    - Add patch from upstream PR #1016 to fix a regression
++  * Add a Breaks on flatpak (<< 0.8.7-2~), which rely on libostree to
++    download the summary and its signature when mirroring.
++    libostree >= 2017.7 no longer does this. On affected flatpak versions,
++    this breaks installation of new apps and runtimes system-wide.
++  * Add Build-Depends-Indep: libglib2.0-doc so gtk-doc can set up
++    cross-references
++
++ -- Simon McVittie <smcv@debian.org>  Wed, 19 Jul 2017 22:18:20 +0100
++
++ostree (2017.7-1) unstable; urgency=medium
++
++  * New upstream release
++    - Update symbols file
++    - Add post-release patches so test-symbols.sh passes again
++    - debian/dist/: Add ostree-trivial-httpd.xml, which was incorrectly
++      excluded from the upstream release
++  * Standards-Version: 4.0.0
++    - Use https URL for copyright-format
++  * Implement <nodoc> build profile
++  * Upload to unstable
++
++ -- Simon McVittie <smcv@debian.org>  Wed, 21 Jun 2017 13:06:54 +0100
++
++ostree (2017.6-1) experimental; urgency=medium
++
++  * New upstream release
++    - Update debian/copyright
++    - Update disabled ostree-boot packaging for new systemd generator
++    - Add new ABI to symbols file
++  * Skip build-time tests when nocheck is in DEB_BUILD_OPTIONS
++    (Closes: #862803). Thanks to Krzesimir Nowak
++
++ -- Simon McVittie <smcv@debian.org>  Thu, 25 May 2017 10:01:12 +0100
++
++ostree (2017.5-1) experimental; urgency=high
++
++  * New upstream release
++    - This release fixes a regression in 2017.4 that caused symlinks
++      in Flatpak apps and runtimes to be checked out as regular files.
++      Any apps or runtimes that were installed or updated with 2017.4
++      will need to be removed and reinstalled.
++
++ -- Simon McVittie <smcv@debian.org>  Wed, 19 Apr 2017 14:18:16 +0100
++
++ostree (2017.4-1) experimental; urgency=medium
++
++  * New upstream release
++    - d/rules: Explicitly enable trivial-httpd: the tests still need it
++    - Update symbols file for new ABI
++
++ -- Simon McVittie <smcv@debian.org>  Mon, 17 Apr 2017 17:19:58 +0100
++
++ostree (2017.3-2) experimental; urgency=medium
++
++  * d/ostree.maintscript: Clean up obsolete conffiles from before we
++    started removing what will eventually become ostree-boot
++    (see #824650)
++  * libostree-dev: Add missing dependency on libostree-1-1
++    (Closes: #860047)
++
++ -- Simon McVittie <smcv@debian.org>  Mon, 10 Apr 2017 18:52:26 +0100
++
++ostree (2017.3-1) experimental; urgency=medium
++
++  * d/watch, d/copyright: upstream project is now named libostree
++  * New upstream release
++    - d/copyright: update
++    - symbols file: update
++    - tests, ostree-tests.install: update for new location of tests
++    - d/control: ostree-tests now needs python-yaml
++    - build-depend on python, python-yaml for tests
++
++ -- Simon McVittie <smcv@debian.org>  Thu, 16 Mar 2017 06:58:46 +0000
++
++ostree (2017.1-1) experimental; urgency=medium
++
++  * Branch to experimental to avoid interfering with the Debian 9 freeze
++  * Remove an unintended line in the previous changelog
++  * New upstream release
++    - trivial-httpd is now a separate binary. Move it to ostree-tests,
++      so that it doesn't continue to pull in libsoup if the ostree
++      downloader is ported to libcurl.
++    - d/copyright: update
++    - d/patches: drop all patches, applied upstream
++  * Explicitly depend on autoconf, automake, libtool. This avoids
++    builds for experimental non-deterministically pulling in an older
++    version of automake, in my case automake1.11 which is far too old.
++
++ -- Simon McVittie <smcv@debian.org>  Fri, 27 Jan 2017 10:23:47 +0000
++
++ostree (2016.15-3) unstable; urgency=medium
++
++  * debian/control: Don't run gjs tests on sparc64. gjs doesn't seem
++    to work there at all (#827815)
++    - d/ostree-tests.lintian-overrides: silence
++      missing-dep-for-interpreter error on sparc64, where we install
++      the script but do not attempt to run it
++  * debian/tests/gnome-desktop-testing: Skip test-local-pull.sh.test
++    which suffers from a known bug (#842606)
++    - debian/tests/test-local-pull: Run the unreliable test separately,
++      repeated 3 times to assess how often it fails
++  * d/p/Sourced-test-snippets-remove-shebang-and-make-non-executa.patch,
++    d/p/Make-corrupt-repo-ref.js-executable.patch:
++    Fix permissions and #! lines for some tests in the upstream build
++    system
++  * d/rules: remove workarounds for script permissions.
++    The upstream build system now uses the intended permissions throughout.
++    - Retain explicit chmod for *.js, which dh_fixperms assumes should
++      not be executable.
++  * d/p/Fix-TAP-syntax-in-test-basic-user.sh-and-run-it.patch:
++    Run an additional test, which was previously installed but not run
++
++ -- Simon McVittie <smcv@debian.org>  Thu, 19 Jan 2017 13:23:32 +0000
++
++ostree (2016.15-2) unstable; urgency=medium
++
++  * Make all test failures non-fatal at build time, so that intermittent
++    test failures do not interfere with possible security updates during
++    Debian stretch-as-stable.
++
++ -- Simon McVittie <smcv@debian.org>  Tue, 20 Dec 2016 11:28:41 +0000
++
++ostree (2016.15-1) unstable; urgency=medium
++
++  * New upstream release
++    - d/patches: drop all patches, applied upstream
++
++ -- Simon McVittie <smcv@debian.org>  Tue, 13 Dec 2016 13:13:44 +0000
++
++ostree (2016.14-2) unstable; urgency=medium
++
++  * Make build-time test failures non-fatal, as long as at least
++    3 out of 5 attempts succeed.
++
++    There are several upstream bugs that cause intermittent test
++    failures, and can intermittently be reproduced in real use.
++    However, these are not regressions, so we should not FTBFS just
++    because we happen to have been unlucky during build.
++
++  * d/p/Terminate-individual-tests-after-10-minutes.patch:
++    replace d/p/debian/Terminate-individual-tests-after-half-an-hour.patch
++    with the version that I sent upstream, which uses SIGABRT and
++    terminates the tests sooner
++  * d/p/*.patch: import more memory leak fixes from upstream
++
++ -- Simon McVittie <smcv@debian.org>  Thu, 01 Dec 2016 12:38:54 +0000
++
++ostree (2016.14-1) unstable; urgency=medium
++
++  * Switch the build-dependency on libgpgme11-dev (which no longer exists
++    as a real package) to libgpgme-dev
++  * Drop the version from versioned build-dependencies where the required
++    version was already present in oldstable
++  * New upstream release
++    - update symbols file for new ABI
++  * Import various post-release fixes from upstream
++
++ -- Simon McVittie <smcv@debian.org>  Tue, 29 Nov 2016 11:05:44 +0000
++
++ostree (2016.13-1) unstable; urgency=medium
++
++  * New upstream release
++    - d/p/dist/Retrieve-some-missing-test-files-from-upstream-git.patch:
++      remove, 2016.13 was released with a fixed "make dist"
++    - d/p/Filter-bootloader-supplied-kernel-cmdline-options.patch:
++      remove, merged upstream
++  * d/copyright: drop copyright and license stanzas for files that are
++    in upstream git but not in tarballs
++
++ -- Simon McVittie <smcv@debian.org>  Sun, 20 Nov 2016 21:58:11 +0000
++
++ostree (2016.12-2) unstable; urgency=medium
++
++  * d/p/Filter-bootloader-supplied-kernel-cmdline-options.patch:
++    - Filter out kernel command line parameters set by the bootloading when
++      deriving the configuration from /proc/cmdline.
++  * Add myself to uploaders
++
++ -- Sjoerd Simons <sjoerd@debian.org>  Thu, 03 Nov 2016 15:48:01 -0600
++
++ostree (2016.12-1) unstable; urgency=medium
++
++  * Force LC_ALL=C.UTF-8 during build, so that builds in non-English
++    locales can pass their build-time tests
++  * New upstream release
++  * Build-depend on ca-certificates. glib-networking now generates
++    warnings if those are missing, causing the build-time tests to fail.
++
++ -- Simon McVittie <smcv@debian.org>  Wed, 26 Oct 2016 19:11:14 +0100
++
++ostree (2016.11-1) unstable; urgency=medium
++
++  * New upstream release
++  * Relicense debian/ from GPL-2+ to LGPL-2+, with permission from
++    David King
++  * Install GObject-Introspection typelibs to multiarch path,
++    and mark gir1.2-ostree-1.0 as Multi-Arch: same
++  * libostree-dev: stop depending on ostree. It isn't necessary to
++    use the library, and would break multiarch installability
++  * Move to debhelper compat level 10
++    - stop using dh --parallel, it's the default now
++    - don't use autoreconf and systemd addons explicitly, they are
++      the default now
++  * d/p/dist/Retrieve-some-missing-test-files-from-upstream-git.patch:
++    fetch missing test files from upstream git
++    - debian/rules: make the missing scripts executable
++
++ -- Simon McVittie <smcv@debian.org>  Fri, 07 Oct 2016 23:39:06 +0100
++
++ostree (2016.10-1) unstable; urgency=medium
++
++  * New upstream release
++  * Make libostree-dev Multi-Arch: same
++  * Make libostree-doc Multi-Arch: foreign
++
++ -- Simon McVittie <smcv@debian.org>  Thu, 15 Sep 2016 08:26:51 +0100
++
++ostree (2016.9-2) unstable; urgency=medium
++
++  * debian/patches/Terminate-individual-tests-after-half-an-hour.patch:
++    terminate individual tests after 30 minutes, in an attempt to debug
++    what happened on the ppc64el buildd
++
++ -- Simon McVittie <smcv@debian.org>  Fri, 09 Sep 2016 08:23:44 +0100
++
++ostree (2016.9-1) unstable; urgency=medium
++
++  * New upstream version
++    - update symbols file for new ABI
++    - update copyright file
++    - update ostree-boot packaging: the utilities in /usr/sbin moved to
++      /usr/lib/ostree
++    - drop libgsystem build-dependency
++    - d/p/Makefile-tests.am-make-check-uses-the-built-binaries.patch:
++      drop, applied upstream
++  * Explicitly build-depend on xsltproc, which is directly used
++
++ -- Simon McVittie <smcv@debian.org>  Tue, 06 Sep 2016 09:59:00 +0100
++
++ostree (2016.7-1) unstable; urgency=medium
++
++  * New upstream version
++    - drop all patches, applied upstream
++    - build-depend on libsystemd (unconditionally, because this package is
++      Linux-specific already)
++    - update symbols file for new ABI
++  * d/p/Makefile-tests.am-make-check-uses-the-built-binaries.patch:
++    add patch from upstream to make sure we use the built binaries for
++    build-time testing
++  * d/control: mention Flatpak, not its former name xdg-app
++
++ -- Simon McVittie <smcv@debian.org>  Thu, 28 Jul 2016 07:40:27 +0100
++
++ostree (2016.6-4) unstable; urgency=medium
++
++  * Switch sense of check in debian/test.sh so we really ignore test
++    failures on mipsel, and not on !mipsel.
++
++ -- Simon McVittie <smcv@debian.org>  Wed, 06 Jul 2016 15:23:31 +0100
++
++ostree (2016.6-3) unstable; urgency=medium
++
++  * Ignore build-time test failures on mipsel. "ostree pull"
++    intermittently fails with a bus error on at least some mipsel CPUs,
++    and applying gdb to the resulting core dump does not produce any
++    useful information. Debugging help would be appreciated.
++    (Mitigates: #827473)
++
++ -- Simon McVittie <smcv@debian.org>  Wed, 06 Jul 2016 10:17:43 +0100
++
++ostree (2016.6-2) unstable; urgency=medium
++
++  * d/p/tests-Improve-check-for-proc-cmdline-kargs.patch: add patch from
++    upstream fixing FTBFS on host machines without root= in /proc/cmdline,
++    such as the reproducible builds armhf workers
++  * d/control, d/copyright: use the GitHub repository as the Homepage
++    and Source: the GNOME wiki page is less frequently updated
++
++ -- Simon McVittie <smcv@debian.org>  Tue, 28 Jun 2016 09:29:53 +0100
++
++ostree (2016.6-1) unstable; urgency=medium
++
++  [ Jeremy Bicha ]
++  * Fix debian/watch (Closes: #827440)
++
++  [ Simon McVittie ]
++  * New upstream release
++    - drop all patches, included upstream
++    - update symbols file
++    - this version is more careful about thread-safety, which appears
++      to fix the test failures that caused FTBFS on mipsel
++      (Closes: #827473)
++  * d/watch: fetch releases from GitHub instead of GNOME
++  * d/gbp.conf: configure to use upstream/latest for upstream imports
++  * d/gbp.conf: configure to merge upstream tags into upstream/latest
++    (add https://github.com/ostreedev/ostree as a remote)
++  * d/p/libostree.sym-Fix-test-symbols.patch: apply patch from upstream
++    to fix a build-time test
++  * d/p/pull-Correctly-handle-repo-parent_repo-when-applying-stat.patch:
++    apply patch from upstream to fix a bug that flatpak currently works
++    around
++  * d/p/tests-fail-the-build-if-symlinking-tests-ostree-fails.patch,
++    d/p/tests-use-our-own-generated-libtool-not-the-one-in-PATH.patch:
++    add patches to ensure that the build-time tests act on the copy
++    of ostree that we just built
++  * d/p/entry_pathname_test_helper-these-tests-need-extended-attr.patch:
++    skip more tests if /var/tmp doesn't support extended attributes
++  * d/control: ostree no longer needs its Suggests on dracut. A stronger
++    dependency on dracut will be needed in the ostree-boot package when
++    the boot integration is reinstated (see #824650).
++
++ -- Simon McVittie <smcv@debian.org>  Sun, 26 Jun 2016 19:51:31 +0100
++
++ostree (2016.5-4) unstable; urgency=medium
++
++  * d/p/test-sysroot.js-set-strict-mode-when-sourcing-libtest.sh.patch,
++    d/p/tests-Use-strict-mode-by-default-for-C-tests.patch: add patches
++    to make sure the tests fail as soon as something goes wrong
++  * Build-depend on procps, used to check for leaked processes
++  * debian/test.sh: factor out our dh_auto_test wrapper, and clean
++    up any stray processes even if the test fails
++  * If build-time tests fail, try 4 more times to get an idea of
++    whether the failure is reproducible (hoping to diagnose #826858)
++  * Add a patch to link libreaddir-rand to libdl, which should fix
++    test failures on Ubuntu (Closes: #826857)
++
++ -- Simon McVittie <smcv@debian.org>  Tue, 14 Jun 2016 15:35:18 -0400
++
++ostree (2016.5-3) unstable; urgency=medium
++
++  * Remove ostree-grub2 and the boot-related parts of ostree, leaving
++    the library and the command-line tool, which are also used by
++    Flatpak.
++    When we have documentation for how to use and test OSTree
++    deployments with a Debian derivative (see #824649), they should be
++    reinstated in an ostree-boot package (see #824650).
++  * Upload to unstable.
++
++ -- Simon McVittie <smcv@debian.org>  Wed, 08 Jun 2016 11:58:01 +0100
++
++ostree (2016.5-2) experimental; urgency=medium
++
++  * Add a patch to skip the test-parent test if /var/tmp doesn't support
++    user xattrs, hopefully fixing FTBFS on x86-csail-02 buildd
++
++ -- Simon McVittie <smcv@debian.org>  Mon, 25 Apr 2016 12:51:33 +0100
++
++ostree (2016.5-1) experimental; urgency=medium
++
++  * New upstream release
++    - Remove all patches, applied upstream
++    - debian/libostree-1-1.symbols: update for new versioned symbols
++    - Build-depend on libmount-dev
++    - debian/copyright: update
++    - debian/rules, debian/ostree-tests.install: adjust for new installation
++      directory for installed-tests
++    - debian/rules: use Debian's grub2-mkconfig path
++  * debian/gbp.conf: use DEP-14 branch names; disable numbered patches
++  * Fix ITP bug number in changelog (was #813308, should have been #697477)
++  * debian/control: build-depend on attr, for the tests (only required if
++    /var/tmp supports extended attributes)
++  * debian/rules: clean up stale gpg-agent processes after testing
++  * debian/rules: warn if there are leftover daemon processes after testing
++  * debian/ostree-tests.lintian-overrides: override a couple of false
++    positives
++  * Run dh_auto_test with VERBOSE=1, to get logs with older debhelper
++  * Build-depend on elfutils, for test-abi.sh
++  * Work around #821235 to avoid undefined macro 'AQ' in some man pages
++  * Add a patch to put more information in the log if tests fail,
++    in an attempt to debug a failure in test/pull-resume.sh which
++    I can no longer reproduce
++  * Standards-version: 3.9.8 (no changes needed)
++
++ -- Simon McVittie <smcv@debian.org>  Mon, 25 Apr 2016 07:46:16 +0100
++
++ostree (2016.3-1) experimental; urgency=medium
++
++  * Prepare package for Debian (Closes: #697477)
++  * New upstream release
++  * Remove -dbg package, rely on automatic dbgsym packages instead
++  * Extend package descriptions a bit
++  * debian/.gitignore: add
++  * debian/copyright: fill in all copyright holders and licenses
++  * debian/control: set Maintainer to the pkg-utopia team, with packaging
++    in collab-maint git, and myself and Matthias Klumpp as uploaders
++  * Normalize packaging via `wrap-and-sort -abst`
++  * debian/control: move shared library to Section: libs
++  * debian/control: remove redundant Section
++  * debian/control: change Section to admin
++  * Remove unnecessary uses of dh-exec
++  * debian/patches: remove all patches, no longer needed or applied
++  * Use dh_install --fail-missing to catch mistakes
++  * Add a symbols file
++  * Add missing dependency on libglib2.0-dev
++  * Add an ostree-tests package, and use it for autopkgtest
++  * Enable systemd helpers, but do not start the early-boot systemd services
++    on installation
++  * Don't override dh_auto_clean to nothing
++  * ostree-grub2: recommend concrete GRUB packages instead of hard-depending
++    on a transitional package. This is only a Recommends because you
++    could be using some other architecture's grub packages.
++  * Redirect libexecdir to /usr/lib (not /usr/lib/${multiarch}) since we don't
++    need multiarch for anything that's installed there, fixing a broken
++    symlink in ostree-grub2
++  * Document the limited situations in which ostree-grub2 will work in
++    practice
++  * Only build on Linux architectures; this package is specifically
++    not portable
++  * Add patch to fix underlinking of test-archive
++  * Add patch to skip one build-time test if /var/tmp cannot support xattrs,
++    for example if it is on tmpfs
++  * Stop dh_makeshlibs thinking that the LD_PRELOAD module libreaddir-rand.so
++    (part of the tests) is meant to be a shared library
++  * Add a missing #!/bin/sh to one test
++
++ -- Simon McVittie <smcv@debian.org>  Sat, 19 Mar 2016 17:56:21 +0000
++
++ostree (2016.1-alexlarsson1~wily1) wily; urgency=medium
++
++  * New upstream release
++
++ -- Alexander Larsson <alexander.larsson@gmail.com>  Thu, 01 Oct 2015 11:28:39 +0200
++
++ostree (2015.11-alexlarsson1~vivid1) vivid; urgency=medium
++
++  * New upstream release
++
++ -- Alexander Larsson <alexander.larsson@gmail.com>  Thu, 01 Oct 2015 11:28:39 +0200
++
++ostree (2015.9-alexlarsson1) vivid; urgency=medium
++
++  * New upstream release
++
++ -- Alexander Larsson <alexander.larsson@gmail.com>  Thu, 01 Oct 2015 11:28:39 +0200
++
++ostree (2015.4-0amigadave2) trusty; urgency=low
++
++  [ David King ]
++  * Add build dependency on libattr1-dev. 
++
++ -- David King <amigadave@amigadave.com>  Wed, 08 Apr 2015 13:10:39 +0100
++
++ostree (2015.4-0amigadave1) trusty; urgency=low
++
++  [ David King ]
++  * Initial packaging.
++
++ -- David King <amigadave@amigadave.com>  Thu, 02 Apr 2015 15:40:52 +0000
diff --cc debian/compat
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f599e28b8ab0d8c9c57a486c89c4a5132dcbd3b2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++10
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b75d4fabe6df1ed4bd2dad5a66e09696afab7e9c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,167 @@@
++Source: ostree
++Section: admin
++Priority: optional
++Maintainer: Utopia Maintenance Team <pkg-utopia-maintainers@lists.alioth.debian.org>
++Uploaders:
++ Matthias Klumpp <mak@debian.org>,
++ Simon McVittie <smcv@debian.org>,
++ Sjoerd Simons <sjoerd@debian.org>
++Build-Depends:
++ attr,
++ autoconf,
++ automake,
++ bison,
++ ca-certificates,
++ cpio,
++ debhelper (>= 10~),
++ dh-exec,
++ docbook-xml <!nodoc>,
++ docbook-xsl <!nodoc>,
++ e2fslibs-dev,
++ elfutils,
++ fuse,
++ gjs [!sparc64],
++ gobject-introspection,
++ gtk-doc-tools <!nodoc>,
++ libarchive-dev,
++ libattr1-dev,
++ libcap-dev,
++ libfuse-dev,
++ libgirepository1.0-dev,
++ libglib2.0-dev (>= 2.40.0),
++ libgpgme-dev,
++ liblzma-dev,
++ libmount-dev (>= 2.23),
++ libselinux1-dev,
++ libsoup2.4-dev (>= 2.39.1),
++ libsystemd-dev,
++ libtool,
++ procps,
++ python <!nocheck>,
++ python-yaml <!nocheck>,
++ xsltproc <!nodoc>,
++ zlib1g-dev,
++Build-Depends-Indep:
++ libglib2.0-doc,
++Standards-Version: 4.1.0
++Homepage: https://github.com/ostreedev/ostree/
++Vcs-Git: https://anonscm.debian.org/git/collab-maint/ostree.git
++Vcs-Browser: https://anonscm.debian.org/cgit/collab-maint/ostree.git
++
++Package: gir1.2-ostree-1.0
++Architecture: linux-any
++Multi-Arch: same
++Section: introspection
++Depends:
++ ${gir:Depends},
++ ${misc:Depends},
++Description: content-addressed filesystem for operating system binaries (introspection)
++ libostree provides a library and tools for managing bootable, immutable,
++ versioned filesystem trees. See the ostree package's description for
++ more details.
++ .
++ This package contains GObject-Introspection metadata, which can be used
++ to generate dynamic bindings into languages such as Python and JavaScript.
++
++Package: libostree-1-1
++Architecture: linux-any
++Section: libs
++Depends:
++ ${misc:Depends},
++ ${shlibs:Depends},
++Pre-Depends:
++ ${misc:Pre-Depends},
++Breaks:
++ flatpak (<< 0.8.7-2~),
++Multi-arch: same
++Description: content-addressed filesystem for operating system binaries (library)
++ libostree is a library for managing bootable, immutable, versioned
++ filesystem trees. It is like git in that it checksums individual files
++ and has a content-addressed object store; unlike git, it "checks out"
++ the files using hardlinks into an immutable directory tree. This
++ can be used to provide atomic upgrades with rollback, history and
++ parallel-installation, particularly useful on "fixed purpose" systems
++ such as embedded devices. It is also used by the Flatpak application
++ runtime system.
++ .
++ This package contains the shared library.
++
++Package: libostree-dev
++Architecture: linux-any
++Multi-Arch: same
++Section: libdevel
++Depends:
++ gir1.2-ostree-1.0 (= ${binary:Version}),
++ libglib2.0-dev,
++ libostree-1-1 (= ${binary:Version}),
++ pkg-config,
++ ${misc:Depends},
++Suggests:
++ libostree-doc,
++Description: Development files for the libostree library
++ libostree is a library for managing bootable, immutable, versioned
++ filesystem trees. It is like git in that it checksums individual files
++ and has a content-addressed object store; unlike git, it "checks out"
++ the files using hardlinks into an immutable directory tree. This
++ can be used to provide atomic upgrades with rollback, history and
++ parallel-installation, particularly useful on "fixed purpose" systems
++ such as embedded devices. It is also used by the Flatpak application
++ runtime system.
++ .
++ This package contains development headers and the pkg-config file for
++ libostree.
++
++Package: libostree-doc
++Build-Profiles: <!nodoc>
++Architecture: all
++Multi-Arch: foreign
++Section: doc
++Depends:
++ ${misc:Depends},
++Suggests:
++ devhelp,
++Description: Development documentation for the libostree library
++ libostree provides a library and tools for managing bootable, immutable,
++ versioned filesystem trees. See the ostree package's description for
++ more details.
++ .
++ This package contains development documentation for libostree.
++
++Package: ostree
++Architecture: linux-any
++Depends:
++ ${misc:Depends},
++ ${shlibs:Depends},
++Description: content-addressed filesystem for operating system binaries
++ libostree provides a library and tools for managing bootable, immutable,
++ versioned filesystem trees. It is like git in that it checksums
++ individual files and has a content-addressed object store; unlike git,
++ it "checks out" the files using hardlinks into an immutable directory
++ tree. This can be used to provide atomic upgrades with rollback, history
++ and parallel-installation, particularly useful on "fixed purpose"
++ systems such as embedded devices.
++ .
++ This package contains the executables used to manage and create
++ filesystem trees. It does not affect the boot process for the system
++ on which it is installed.
++
++Package: ostree-tests
++Architecture: linux-any
++Depends:
++ attr,
++ ca-certificates,
++ cpio,
++ fuse,
++ gir1.2-ostree-1.0,
++ gjs [!sparc64],
++ ostree,
++ python,
++ python-yaml,
++ ${misc:Depends},
++ ${shlibs:Depends},
++Description: content-addressed filesystem for operating system binaries - tests
++ libostree provides a library and tools for managing bootable, immutable,
++ versioned filesystem trees. See the ostree package's description for
++ more details.
++ .
++ This package contains automated tests.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e740033658ad52de258e87938db390804cc8ce83
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,185 @@@
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: libostree
++Source: https://github.com/ostreedev/ostree/
++
++Files:
++ *
++Copyright:
++ © 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
++ © 1999-2000, 2002-2005 Free Software Foundation, Inc.
++ © 1999-2003 Ximian, Inc.
++ © 2008-2017 Red Hat, Inc
++ © 2011-2017 Colin Walters <walters@verbum.org>
++ © 2017 Georges Basile Stavracas Neto
++ © 2011 Avery Pennarun
++ © 2013 Collabora Ltd.
++ © 2013 Stef Walter <stef@redhat.com>
++ © 2013 Javier Martinez <javier.martinez@collabora.co.uk>
++ © 2013 Jeremy Whiting <jeremy.whiting@collabora.com>
++ © 2013-2016 Sjoerd Simons <sjoerd.simons@collabora.co.uk>
++ © 2014-2016 Alexander Larsson <alexl@redhat.com>
++ © 2014 Owen Taylor <otaylor@redhat.com>
++ © 2015 Dan Nicholson <nicholson@endlessm.com>
++ © 2015 Canonical Ltd.
++ © 2017 Endless Mobile, Inc.
++License: LGPL-2+
++
++Files:
++ libglnx/glnx-lockfile.*
++ libglnx/glnx-fdio.*
++ libglnx/glnx-missing-syscall.h
++ libglnx/glnx-missing.h
++Copyright:
++ © 2010-2011 Lennart Poettering
++ © 2014-2015 Colin Walters <walters@verbum.org>
++ © 2016 Zbigniew Jędrzejewski-Szmek
++License: LGPL-2.1+
++
++Files:
++ src/libostree/ostree-varint.c
++Copyright:
++ © 2008 Google Inc.
++ © 2013 Colin Walters <walters@verbum.org>
++License: LGPL-2+ and BSD-3-clause
++
++Files:
++ buildutil/attributes.m4
++Copyright:
++ 2006-2008 Diego Pettenò
++ 2006-2008 xine project
++ 2012 Lucas De Marchi
++License: GPL-2+ with Autoconf exception
++
++Files:
++ bsdiff/*
++Copyright:
++ © 2003-2005 Colin Percival
++ © 2012 Matthew Endsley
++License: BSD-2-clause
++
++Files: debian/*
++Copyright:
++ © 2015 David King <amigadave@amigadave.com>
++ © 2016 Collabora Ltd.
++ © 2017 Simon McVittie
++License: LGPL-2+
++
++License: GPL-2+ with Autoconf exception
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2, or (at your option)
++ any later version.
++ .
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ GNU General Public License for more details.
++ .
++ You should have received a copy of the GNU General Public License
++ along with this program; if not, write to the Free Software
++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
++ 02110-1301, USA.
++ .
++ As a special exception, the copyright owners of the
++ macro gives unlimited permission to copy, distribute and modify the
++ configure scripts that are the output of Autoconf when processing the
++ Macro. You need not follow the terms of the GNU General Public
++ License when using or distributing such scripts, even though portions
++ of the text of the Macro appear in them. The GNU General Public
++ License (GPL) does govern all other use of the material that
++ constitutes the Autoconf Macro.
++ .
++ This special exception to the GPL applies to versions of the
++ Autoconf Macro released by this project. When you make and
++ distribute a modified version of the Autoconf Macro, you may extend
++ this special exception to the GPL to apply to your modified version as
++ well.
++Comment:
++ On Debian systems, the full text of the GNU General Public
++ License version 2 can be found in the file
++ '/usr/share/common-licenses/GPL-2'.
++
++License: LGPL-2+
++ This program is free software: you can redistribute it and/or modify
++ it under the terms of the GNU Library General Public License as published by
++ the Free Software Foundation, either version 2 of the License, or
++ (at your option) any later version.
++ .
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU Library General Public License for more details.
++ .
++ You should have received a copy of the GNU Library General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>.
++Comment:
++ On Debian systems, the full text of the GNU Library General Public
++ License version 2 can be found in the file
++ '/usr/share/common-licenses/LGPL-2'.
++
++License: LGPL-2.1+
++ This program is free software: you can redistribute it and/or modify
++ it under the terms of the GNU Lesser General Public License as published by
++ the Free Software Foundation, either version 2 of the License, or
++ (at your option) any later version.
++ .
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU Lesser General Public License for more details.
++ .
++ You should have received a copy of the GNU Lesser General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>.
++Comment:
++ On Debian systems, the full text of the GNU Lesser General Public
++ License version 2.1 can be found in the file
++ '/usr/share/common-licenses/LGPL-2.1'.
++
++License: BSD-2-clause
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted providing that the following conditions
++ are met:
++ 1. Redistributions of source code must retain the above copyright
++    notice, this list of conditions and the following disclaimer.
++ 2. Redistributions in binary form must reproduce the above copyright
++    notice, this list of conditions and the following disclaimer in the
++    documentation and/or other materials provided with the distribution.
++ .
++ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
++ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
++ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
++ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
++ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
++ POSSIBILITY OF SUCH DAMAGE.
++
++License: BSD-3-clause
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions are
++ met:
++ .
++     * Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++     * Redistributions in binary form must reproduce the above
++ copyright notice, this list of conditions and the following disclaimer
++ in the documentation and/or other materials provided with the
++ distribution.
++     * Neither the name of Google Inc. nor the names of its
++ contributors may be used to endorse or promote products derived from
++ this software without specific prior written permission.
++ .
++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --cc debian/docs
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b43bf86b50fd8d3529a0dc062c30006ed38f309e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++README.md
diff --cc debian/gbp.conf
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2bda9c8b6ce83248eccd88c38c71fffb4f3df66b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,7 @@@
++[DEFAULT]
++pristine-tar = True
++compression = xz
++debian-branch = debian/master
++upstream-branch = upstream/latest
++patch-numbers = False
++upstream-vcs-tag = v%(version)s
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..49d71c963493eea65c345e33a36738ae6d511a2d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/girepository-1.0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..989a3850af5c056d8f7a5f5b11870898336f3d2a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/libostree-1.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6b5938cbe5bff6acaa2314c2883265a2a74facaf
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,345 @@@
++libostree-1.so.1 libostree-1-1 #MINVER#
++* Build-Depends-Package: libostree-dev
++ LIBOSTREE_2016.3@LIBOSTREE_2016.3 2016.4
++ LIBOSTREE_2016.4@LIBOSTREE_2016.4 2016.4
++ LIBOSTREE_2016.5@LIBOSTREE_2016.5 2016.5
++ LIBOSTREE_2016.6@LIBOSTREE_2016.6 2016.6
++ LIBOSTREE_2016.7@LIBOSTREE_2016.7 2016.7
++ LIBOSTREE_2016.8@LIBOSTREE_2016.8 2016.8
++ LIBOSTREE_2016.14@LIBOSTREE_2016.14 2016.14
++ LIBOSTREE_2017.1@LIBOSTREE_2017.1 2017.1
++ LIBOSTREE_2017.2@LIBOSTREE_2017.2 2017.2
++ LIBOSTREE_2017.3@LIBOSTREE_2017.3 2017.3
++ LIBOSTREE_2017.4@LIBOSTREE_2017.4 2017.4
++ LIBOSTREE_2017.6@LIBOSTREE_2017.6 2017.6
++ LIBOSTREE_2017.7@LIBOSTREE_2017.7 2017.7
++ LIBOSTREE_2017.8@LIBOSTREE_2017.8 2017.8
++ LIBOSTREE_2017.9@LIBOSTREE_2017.9 2017.9
++ LIBOSTREE_2017.10@LIBOSTREE_2017.10 2017.10
++ LIBOSTREE_2017.11@LIBOSTREE_2017.11 2017.11
++ LIBOSTREE_2017.12@LIBOSTREE_2017.12 2017.12
++ ostree_async_progress_finish@LIBOSTREE_2016.3 2016.4
++ ostree_async_progress_get@LIBOSTREE_2017.6 2017.6
++ ostree_async_progress_get_status@LIBOSTREE_2016.3 2016.4
++ ostree_async_progress_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_async_progress_get_uint64@LIBOSTREE_2016.3 2016.4
++ ostree_async_progress_get_uint@LIBOSTREE_2016.3 2016.4
++ ostree_async_progress_get_variant@LIBOSTREE_2017.6 2017.6
++ ostree_async_progress_new@LIBOSTREE_2016.3 2016.4
++ ostree_async_progress_new_and_connect@LIBOSTREE_2016.3 2016.4
++ ostree_async_progress_set@LIBOSTREE_2017.6 2017.6
++ ostree_async_progress_set_status@LIBOSTREE_2016.3 2016.4
++ ostree_async_progress_set_uint64@LIBOSTREE_2016.3 2016.4
++ ostree_async_progress_set_uint@LIBOSTREE_2016.3 2016.4
++ ostree_async_progress_set_variant@LIBOSTREE_2017.6 2017.6
++ ostree_bootconfig_parser_clone@LIBOSTREE_2016.3 2016.4
++ ostree_bootconfig_parser_get@LIBOSTREE_2016.3 2016.4
++ ostree_bootconfig_parser_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_bootconfig_parser_new@LIBOSTREE_2016.3 2016.4
++ ostree_bootconfig_parser_parse@LIBOSTREE_2016.3 2016.4
++ ostree_bootconfig_parser_parse_at@LIBOSTREE_2016.3 2016.4
++ ostree_bootconfig_parser_set@LIBOSTREE_2016.3 2016.4
++ ostree_bootconfig_parser_write@LIBOSTREE_2016.3 2016.4
++ ostree_bootconfig_parser_write_at@LIBOSTREE_2016.3 2016.4
++ ostree_chain_input_stream_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_chain_input_stream_new@LIBOSTREE_2016.3 2016.4
++ ostree_check_version@LIBOSTREE_2017.4 2017.4
++ ostree_checksum_b64_from_bytes@LIBOSTREE_2016.8 2016.8
++ ostree_checksum_b64_inplace_from_bytes@LIBOSTREE_2016.3 2016.4
++ ostree_checksum_b64_inplace_to_bytes@LIBOSTREE_2016.3 2016.4
++ ostree_checksum_b64_to_bytes@LIBOSTREE_2016.8 2016.8
++ ostree_checksum_bytes_peek@LIBOSTREE_2016.3 2016.4
++ ostree_checksum_bytes_peek_validate@LIBOSTREE_2016.3 2016.4
++ ostree_checksum_file@LIBOSTREE_2016.3 2016.4
++ ostree_checksum_file_async@LIBOSTREE_2016.3 2016.4
++ ostree_checksum_file_async_finish@LIBOSTREE_2016.3 2016.4
++ ostree_checksum_file_from_input@LIBOSTREE_2016.3 2016.4
++ ostree_checksum_from_bytes@LIBOSTREE_2016.3 2016.4
++ ostree_checksum_from_bytes_v@LIBOSTREE_2016.3 2016.4
++ ostree_checksum_inplace_from_bytes@LIBOSTREE_2016.3 2016.4
++ ostree_checksum_inplace_to_bytes@LIBOSTREE_2016.3 2016.4
++ ostree_checksum_input_stream_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_checksum_input_stream_new@LIBOSTREE_2016.3 2016.4
++ ostree_checksum_to_bytes@LIBOSTREE_2016.3 2016.4
++ ostree_checksum_to_bytes_v@LIBOSTREE_2016.3 2016.4
++ ostree_cmd__private__@LIBOSTREE_2016.3 2016.4
++ ostree_cmp_checksum_bytes@LIBOSTREE_2016.3 2016.4
++ ostree_commit_get_parent@LIBOSTREE_2016.3 2016.4
++ ostree_commit_get_timestamp@LIBOSTREE_2016.3 2016.4
++ ostree_content_file_parse@LIBOSTREE_2016.3 2016.4
++ ostree_content_file_parse_at@LIBOSTREE_2016.3 2016.4
++ ostree_content_stream_parse@LIBOSTREE_2016.3 2016.4
++ ostree_create_directory_metadata@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_clone@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_equal@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_get_bootconfig@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_get_bootcsum@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_get_bootserial@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_get_csum@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_get_deployserial@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_get_index@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_get_origin@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_get_origin_relpath@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_get_osname@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_get_unlocked@LIBOSTREE_2016.4 2016.4
++ ostree_deployment_hash@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_new@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_set_bootconfig@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_set_bootserial@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_set_index@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_set_origin@LIBOSTREE_2016.3 2016.4
++ ostree_deployment_unlocked_state_to_string@LIBOSTREE_2016.4 2016.4
++ ostree_diff_dirs@LIBOSTREE_2016.3 2016.4
++ ostree_diff_dirs_with_options@LIBOSTREE_2017.4 2017.4
++ ostree_diff_item_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_diff_item_ref@LIBOSTREE_2016.3 2016.4
++ ostree_diff_item_unref@LIBOSTREE_2016.3 2016.4
++ ostree_diff_print@LIBOSTREE_2016.3 2016.4
++ ostree_fetcher_config_flags_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_gpg_error_quark@LIBOSTREE_2017.10 2017.10
++ ostree_gpg_verify_result_count_all@LIBOSTREE_2016.3 2016.4
++ ostree_gpg_verify_result_count_valid@LIBOSTREE_2016.3 2016.4
++ ostree_gpg_verify_result_describe@LIBOSTREE_2016.3 2016.4
++ ostree_gpg_verify_result_describe_variant@LIBOSTREE_2016.3 2016.4
++ ostree_gpg_verify_result_get@LIBOSTREE_2016.3 2016.4
++ ostree_gpg_verify_result_get_all@LIBOSTREE_2016.3 2016.4
++ ostree_gpg_verify_result_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_gpg_verify_result_lookup@LIBOSTREE_2016.3 2016.4
++ ostree_gpg_verify_result_require_valid_signature@LIBOSTREE_2016.6 2016.6
++ ostree_hash_object_name@LIBOSTREE_2016.3 2016.4
++ ostree_metadata_variant_type@LIBOSTREE_2016.3 2016.4
++ ostree_mutable_tree_ensure_dir@LIBOSTREE_2016.3 2016.4
++ ostree_mutable_tree_ensure_parent_dirs@LIBOSTREE_2016.3 2016.4
++ ostree_mutable_tree_get_contents_checksum@LIBOSTREE_2016.3 2016.4
++ ostree_mutable_tree_get_files@LIBOSTREE_2016.3 2016.4
++ ostree_mutable_tree_get_metadata_checksum@LIBOSTREE_2016.3 2016.4
++ ostree_mutable_tree_get_subdirs@LIBOSTREE_2016.3 2016.4
++ ostree_mutable_tree_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_mutable_tree_lookup@LIBOSTREE_2016.3 2016.4
++ ostree_mutable_tree_new@LIBOSTREE_2016.3 2016.4
++ ostree_mutable_tree_replace_file@LIBOSTREE_2016.3 2016.4
++ ostree_mutable_tree_set_contents_checksum@LIBOSTREE_2016.3 2016.4
++ ostree_mutable_tree_set_metadata_checksum@LIBOSTREE_2016.3 2016.4
++ ostree_mutable_tree_walk@LIBOSTREE_2016.3 2016.4
++ ostree_object_from_string@LIBOSTREE_2016.3 2016.4
++ ostree_object_name_deserialize@LIBOSTREE_2016.3 2016.4
++ ostree_object_name_serialize@LIBOSTREE_2016.3 2016.4
++ ostree_object_to_string@LIBOSTREE_2016.3 2016.4
++ ostree_object_type_from_string@LIBOSTREE_2016.3 2016.4
++ ostree_object_type_to_string@LIBOSTREE_2016.3 2016.4
++ ostree_parse_refspec@LIBOSTREE_2016.3 2016.4
++ ostree_raw_file_to_archive_z2_stream@LIBOSTREE_2016.6 2016.6
++ ostree_raw_file_to_archive_z2_stream_with_options@LIBOSTREE_2017.3 2017.3
++ ostree_raw_file_to_content_stream@LIBOSTREE_2016.3 2016.4
++ ostree_repo_abort_transaction@LIBOSTREE_2016.3 2016.4
++ ostree_repo_add_gpg_signature_summary@LIBOSTREE_2016.3 2016.4
++ ostree_repo_append_gpg_signature@LIBOSTREE_2016.3 2016.4
++ ostree_repo_checkout_at@LIBOSTREE_2016.8 2016.8
++ ostree_repo_checkout_gc@LIBOSTREE_2016.3 2016.4
++ ostree_repo_checkout_tree@LIBOSTREE_2016.3 2016.4
++ ostree_repo_checkout_tree_at@LIBOSTREE_2016.3 2016.4
++ ostree_repo_commit_modifier_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_repo_commit_modifier_new@LIBOSTREE_2016.3 2016.4
++ ostree_repo_commit_modifier_ref@LIBOSTREE_2016.3 2016.4
++ ostree_repo_commit_modifier_set_devino_cache@LIBOSTREE_2016.3 2016.4
++ ostree_repo_commit_modifier_set_sepolicy@LIBOSTREE_2016.3 2016.4
++ ostree_repo_commit_modifier_set_xattr_callback@LIBOSTREE_2016.3 2016.4
++ ostree_repo_commit_modifier_unref@LIBOSTREE_2016.3 2016.4
++ ostree_repo_commit_transaction@LIBOSTREE_2016.3 2016.4
++ ostree_repo_commit_traverse_iter_cleanup@LIBOSTREE_2016.3 2016.4
++ ostree_repo_commit_traverse_iter_clear@LIBOSTREE_2016.3 2016.4
++ ostree_repo_commit_traverse_iter_get_dir@LIBOSTREE_2016.3 2016.4
++ ostree_repo_commit_traverse_iter_get_file@LIBOSTREE_2016.3 2016.4
++ ostree_repo_commit_traverse_iter_init_commit@LIBOSTREE_2016.3 2016.4
++ ostree_repo_commit_traverse_iter_init_dirtree@LIBOSTREE_2016.3 2016.4
++ ostree_repo_commit_traverse_iter_next@LIBOSTREE_2016.3 2016.4
++ ostree_repo_copy_config@LIBOSTREE_2016.3 2016.4
++ ostree_repo_create@LIBOSTREE_2016.3 2016.4
++ ostree_repo_create_at@LIBOSTREE_2017.10 2017.10
++ ostree_repo_delete_object@LIBOSTREE_2016.3 2016.4
++ ostree_repo_devino_cache_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_repo_devino_cache_new@LIBOSTREE_2016.3 2016.4
++ ostree_repo_devino_cache_ref@LIBOSTREE_2016.3 2016.4
++ ostree_repo_devino_cache_unref@LIBOSTREE_2016.3 2016.4
++ ostree_repo_equal@LIBOSTREE_2017.12 2017.12
++ ostree_repo_export_tree_to_archive@LIBOSTREE_2016.3 2016.3
++ ostree_repo_file_ensure_resolved@LIBOSTREE_2016.3 2016.4
++ ostree_repo_file_get_checksum@LIBOSTREE_2016.3 2016.4
++ ostree_repo_file_get_repo@LIBOSTREE_2016.3 2016.4
++ ostree_repo_file_get_root@LIBOSTREE_2016.3 2016.4
++ ostree_repo_file_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_repo_file_get_xattrs@LIBOSTREE_2016.3 2016.4
++ ostree_repo_file_tree_find_child@LIBOSTREE_2016.3 2016.4
++ ostree_repo_file_tree_get_contents@LIBOSTREE_2016.3 2016.4
++ ostree_repo_file_tree_get_contents_checksum@LIBOSTREE_2016.3 2016.4
++ ostree_repo_file_tree_get_metadata@LIBOSTREE_2016.3 2016.4
++ ostree_repo_file_tree_get_metadata_checksum@LIBOSTREE_2016.3 2016.4
++ ostree_repo_file_tree_query_child@LIBOSTREE_2016.3 2016.4
++ ostree_repo_file_tree_set_metadata@LIBOSTREE_2016.3 2016.4
++ ostree_repo_get_config@LIBOSTREE_2016.3 2016.4
++ ostree_repo_get_dfd@LIBOSTREE_2016.4 2016.4
++ ostree_repo_get_disable_fsync@LIBOSTREE_2016.3 2016.3
++ ostree_repo_get_mode@LIBOSTREE_2016.3 2016.4
++ ostree_repo_get_parent@LIBOSTREE_2016.3 2016.4
++ ostree_repo_get_path@LIBOSTREE_2016.3 2016.4
++ ostree_repo_get_remote_boolean_option@LIBOSTREE_2016.5 2016.5
++ ostree_repo_get_remote_list_option@LIBOSTREE_2016.5 2016.5
++ ostree_repo_get_remote_option@LIBOSTREE_2016.5 2016.5
++ ostree_repo_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_repo_gpg_verify_data@LIBOSTREE_2016.6 2016.6
++ ostree_repo_has_object@LIBOSTREE_2016.3 2016.4
++ ostree_repo_hash@LIBOSTREE_2017.12 2017.12
++ ostree_repo_import_archive_to_mtree@LIBOSTREE_2016.3 2016.3
++ ostree_repo_import_object_from@LIBOSTREE_2016.3 2016.4
++ ostree_repo_import_object_from_with_trust@LIBOSTREE_2016.5 2016.5
++ ostree_repo_is_system@LIBOSTREE_2016.3 2016.4
++ ostree_repo_is_writable@LIBOSTREE_2016.3 2016.4
++ ostree_repo_list_commit_objects_starting_with@LIBOSTREE_2016.3 2016.4
++ ostree_repo_list_objects@LIBOSTREE_2016.3 2016.4
++ ostree_repo_list_refs@LIBOSTREE_2016.3 2016.4
++ ostree_repo_list_refs_ext@LIBOSTREE_2016.4 2016.4
++ ostree_repo_list_static_delta_names@LIBOSTREE_2016.3 2016.4
++ ostree_repo_load_commit@LIBOSTREE_2016.3 2016.4
++ ostree_repo_load_file@LIBOSTREE_2016.3 2016.4
++ ostree_repo_load_object_stream@LIBOSTREE_2016.3 2016.4
++ ostree_repo_load_variant@LIBOSTREE_2016.3 2016.4
++ ostree_repo_load_variant_if_exists@LIBOSTREE_2016.3 2016.4
++ ostree_repo_mode_from_string@LIBOSTREE_2016.3 2016.4
++ ostree_repo_new@LIBOSTREE_2016.3 2016.4
++ ostree_repo_new_default@LIBOSTREE_2016.3 2016.4
++ ostree_repo_new_for_sysroot_path@LIBOSTREE_2016.3 2016.4
++ ostree_repo_open@LIBOSTREE_2016.3 2016.4
++ ostree_repo_open_at@LIBOSTREE_2017.10 2017.10
++ ostree_repo_prepare_transaction@LIBOSTREE_2016.3 2016.4
++ ostree_repo_prune@LIBOSTREE_2016.3 2016.4
++ ostree_repo_prune_from_reachable@LIBOSTREE_2017.1 2017.1
++ ostree_repo_prune_static_deltas@LIBOSTREE_2016.3 2016.4
++ ostree_repo_pull@LIBOSTREE_2016.3 2016.4
++ ostree_repo_pull_default_console_progress_changed@LIBOSTREE_2016.3 2016.4
++ ostree_repo_pull_one_dir@LIBOSTREE_2016.3 2016.4
++ ostree_repo_pull_with_options@LIBOSTREE_2016.3 2016.4
++ ostree_repo_query_object_storage_size@LIBOSTREE_2016.3 2016.4
++ ostree_repo_read_commit@LIBOSTREE_2016.3 2016.4
++ ostree_repo_read_commit_detached_metadata@LIBOSTREE_2016.3 2016.4
++ ostree_repo_regenerate_summary@LIBOSTREE_2016.3 2016.4
++ ostree_repo_reload_config@LIBOSTREE_2017.2 2017.2
++ ostree_repo_remote_add@LIBOSTREE_2016.3 2016.4
++ ostree_repo_remote_change@LIBOSTREE_2016.3 2016.4
++ ostree_repo_remote_delete@LIBOSTREE_2016.3 2016.4
++ ostree_repo_remote_fetch_summary@LIBOSTREE_2016.3 2016.4
++ ostree_repo_remote_fetch_summary_with_options@LIBOSTREE_2016.6 2016.6
++ ostree_repo_remote_get_gpg_verify@LIBOSTREE_2016.3 2016.4
++ ostree_repo_remote_get_gpg_verify_summary@LIBOSTREE_2016.3 2016.4
++ ostree_repo_remote_get_url@LIBOSTREE_2016.3 2016.4
++ ostree_repo_remote_gpg_import@LIBOSTREE_2016.3 2016.4
++ ostree_repo_remote_list@LIBOSTREE_2016.3 2016.4
++ ostree_repo_remote_list_refs@LIBOSTREE_2016.3 2016.4
++ ostree_repo_resolve_rev@LIBOSTREE_2016.3 2016.4
++ ostree_repo_resolve_rev_ext@LIBOSTREE_2016.7 2016.7
++ ostree_repo_scan_hardlinks@LIBOSTREE_2016.3 2016.4
++ ostree_repo_set_alias_ref_immediate@LIBOSTREE_2017.10 2017.10
++ ostree_repo_set_cache_dir@LIBOSTREE_2016.5 2016.5
++ ostree_repo_set_disable_fsync@LIBOSTREE_2016.3 2016.4
++ ostree_repo_set_ref_immediate@LIBOSTREE_2016.3 2016.4
++ ostree_repo_sign_commit@LIBOSTREE_2016.3 2016.4
++ ostree_repo_sign_delta@LIBOSTREE_2016.3 2016.4
++ ostree_repo_static_delta_execute_offline@LIBOSTREE_2016.3 2016.4
++ ostree_repo_static_delta_generate@LIBOSTREE_2016.3 2016.4
++ ostree_repo_transaction_set_ref@LIBOSTREE_2016.3 2016.4
++ ostree_repo_transaction_set_refspec@LIBOSTREE_2016.3 2016.4
++ ostree_repo_transaction_stats_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_repo_traverse_commit@LIBOSTREE_2016.3 2016.4
++ ostree_repo_traverse_commit_union@LIBOSTREE_2016.3 2016.4
++ ostree_repo_traverse_new_reachable@LIBOSTREE_2016.3 2016.4
++ ostree_repo_verify_commit@LIBOSTREE_2016.3 2016.4
++ ostree_repo_verify_commit_ext@LIBOSTREE_2016.3 2016.4
++ ostree_repo_verify_commit_for_remote@LIBOSTREE_2016.14 2016.14
++ ostree_repo_verify_summary@LIBOSTREE_2016.3 2016.4
++ ostree_repo_write_archive_to_mtree@LIBOSTREE_2016.3 2016.4
++ ostree_repo_write_commit@LIBOSTREE_2016.3 2016.4
++ ostree_repo_write_commit_detached_metadata@LIBOSTREE_2016.3 2016.4
++ ostree_repo_write_commit_with_time@LIBOSTREE_2016.3 2016.4
++ ostree_repo_write_config@LIBOSTREE_2016.3 2016.4
++ ostree_repo_write_content@LIBOSTREE_2016.3 2016.4
++ ostree_repo_write_content_async@LIBOSTREE_2016.3 2016.4
++ ostree_repo_write_content_finish@LIBOSTREE_2016.3 2016.4
++ ostree_repo_write_content_trusted@LIBOSTREE_2016.3 2016.4
++ ostree_repo_write_dfd_to_mtree@LIBOSTREE_2016.3 2016.4
++ ostree_repo_write_directory_to_mtree@LIBOSTREE_2016.3 2016.4
++ ostree_repo_write_metadata@LIBOSTREE_2016.3 2016.4
++ ostree_repo_write_metadata_async@LIBOSTREE_2016.3 2016.4
++ ostree_repo_write_metadata_finish@LIBOSTREE_2016.3 2016.4
++ ostree_repo_write_metadata_stream_trusted@LIBOSTREE_2016.3 2016.4
++ ostree_repo_write_metadata_trusted@LIBOSTREE_2016.3 2016.4
++ ostree_repo_write_mtree@LIBOSTREE_2016.3 2016.4
++ ostree_sepolicy_fscreatecon_cleanup@LIBOSTREE_2016.3 2016.4
++ ostree_sepolicy_get_csum@LIBOSTREE_2016.5 2016.5
++ ostree_sepolicy_get_label@LIBOSTREE_2016.3 2016.4
++ ostree_sepolicy_get_name@LIBOSTREE_2016.3 2016.4
++ ostree_sepolicy_get_path@LIBOSTREE_2016.3 2016.4
++ ostree_sepolicy_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_sepolicy_new@LIBOSTREE_2016.3 2016.4
++ ostree_sepolicy_new_at@LIBOSTREE_2017.4 2017.4
++ ostree_sepolicy_restorecon@LIBOSTREE_2016.3 2016.4
++ ostree_sepolicy_setfscreatecon@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_cleanup@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_deploy_tree@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_deployment_set_kargs@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_deployment_set_mutable@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_deployment_unlock@LIBOSTREE_2016.4 2016.4
++ ostree_sysroot_ensure_initialized@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_get_booted_deployment@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_get_bootversion@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_get_deployment_directory@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_get_deployment_dirpath@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_get_deployment_origin_path@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_get_deployments@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_get_fd@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_get_merge_deployment@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_get_path@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_get_repo@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_get_subbootversion@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_init_osname@LIBOSTREE_2016.4 2016.4
++ ostree_sysroot_load@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_load_if_changed@LIBOSTREE_2016.4 2016.4
++ ostree_sysroot_lock@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_lock_async@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_lock_finish@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_new@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_new_default@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_origin_new_from_refspec@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_prepare_cleanup@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_query_deployments_for@LIBOSTREE_2017.7 2017.7
++ ostree_sysroot_repo@LIBOSTREE_2017.7 2017.7
++ ostree_sysroot_simple_write_deployment@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_try_lock@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_unload@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_unlock@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_upgrader_check_timestamps@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_upgrader_deploy@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_upgrader_dup_origin@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_upgrader_flags_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_upgrader_get_origin@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_upgrader_get_origin_description@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_upgrader_get_type@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_upgrader_new@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_upgrader_new_for_os@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_upgrader_new_for_os_with_flags@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_upgrader_pull@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_upgrader_pull_one_dir@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_upgrader_set_origin@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_write_deployments@LIBOSTREE_2016.3 2016.4
++ ostree_sysroot_write_deployments_with_options@LIBOSTREE_2017.4 2017.4
++ ostree_sysroot_write_origin_file@LIBOSTREE_2016.3 2016.4
++ ostree_validate_checksum_string@LIBOSTREE_2016.3 2016.4
++ ostree_validate_remote_name@LIBOSTREE_2017.8 2017.8
++ ostree_validate_rev@LIBOSTREE_2016.3 2016.4
++ ostree_validate_structureof_checksum_string@LIBOSTREE_2016.3 2016.4
++ ostree_validate_structureof_commit@LIBOSTREE_2016.3 2016.4
++ ostree_validate_structureof_csum_v@LIBOSTREE_2016.3 2016.4
++ ostree_validate_structureof_dirmeta@LIBOSTREE_2016.3 2016.4
++ ostree_validate_structureof_dirtree@LIBOSTREE_2016.3 2016.4
++ ostree_validate_structureof_file_mode@LIBOSTREE_2016.3 2016.4
++ ostree_validate_structureof_objtype@LIBOSTREE_2016.3 2016.4
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3700ef29486cd1b9bccfdb7fc2dabba62a30d51e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++usr/include/*
++usr/lib/*/libostree-1.so
++usr/lib/*/pkgconfig
++usr/share/gir-1.0/OSTree-1.0.gir
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..95af827a504490e8b0c1ffc0657bb0cb0196d339
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/share/gtk-doc
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f156b6a7fc91123ce4a45de6824d8c0f7346a89f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,10 @@@
++This package contains configuration snippets for using ostree with GRUB 2.
++This integration currently has some limitations:
++
++  - the initramfs must have been made using dracut
++  - the root filesystem must be one that dracut can mount without a root=
++    command-line argument (an EFI partition with the GUID defined in
++    the Discoverable Partitions specification[1])
++  - /boot must be a separate partition
++
++[1] https://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8d51a6941a1e1adfec8d7c8441abd8783a93bc97
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,33 @@@
++Package: ostree-boot
++Architecture: linux-any
++Depends:
++ dracut,
++ ostree (= ${binary:Version}),
++ ${misc:Depends},
++ ${shlibs:Depends},
++Recommends:
++ grub-efi-amd64 | grub-pc | extlinux | syslinux | u-boot,
++Breaks:
++ ostree (<< ${binary:Version}),
++ ostree-grub2 (<< ${binary:Version}),
++Replaces:
++ ostree (<< ${binary:Version}),
++ ostree-grub2 (<< ${binary:Version}),
++Provides:
++ ostree-grub2 (= ${binary:Version}),
++Description: libostree boot loader and initramfs integration
++ libostree provides a library and tools for managing bootable, immutable,
++ versioned filesystem trees. See the ostree package's description for
++ more details.
++ .
++ This package contains configuration snippets and executables needed to
++ boot a Debian derivative from a libostree filesystem deployment. This
++ integration currently has some limitations:
++ .
++  - the initramfs must have been made using dracut
++  - the root filesystem must be one that dracut can mount without a root=
++    command-line argument (an EFI partition with the GUID defined in
++    the Discoverable Partitions specification)
++  - /boot must be a separate partition
++  - the boot loader must be one that is supported by libostree, currently
++    GNU GRUB 2, syslinux/extlinux or Das U-Boot
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..097a2627cc8a089fe31a6c2c6b86457243b8886c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,10 @@@
++etc/dracut.conf.d/ostree.conf
++etc/grub.d/15_ostree
++lib/systemd/system-generators/ostree-system-generator
++lib/systemd/system/ostree-prepare-root.service
++lib/systemd/system/ostree-remount.service
++usr/lib/dracut/modules.d/98ostree
++usr/lib/libostree/grub2-15_ostree
++usr/lib/ostree/ostree-prepare-root
++usr/lib/ostree/ostree-remount
++usr/lib/tmpfiles.d/ostree-tmpfiles.conf
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..47ef14840db967d9c55847c7ffb1597d56b3bd3c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/lib/installed-tests/libostree
++usr/lib/libostree/ostree-trivial-httpd
++usr/share/installed-tests/libostree
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2766ed7b4d088fa31c647dbb86e685d00115ca25
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,10 @@@
++# This is deliberate: it's just some random signed file to be verified, and
++# upstream happens to have used the text of the LGPL as the signed file
++ostree-tests: extra-license-file usr/lib/installed-tests/libostree/gpg-verify-data/lgpl2
++ostree-tests: extra-license-file usr/lib/installed-tests/libostree/gpg-verify-data/lgpl2.sig
++
++# This is deliberate, working around the assumption of recursive make
++ostree-tests: symlink-is-self-recursive usr/lib/installed-tests/libostree/tests .
++
++# We won't run this on sparc64 currently
++[sparc64]: missing-dep-for-interpreter gjs => gjs (usr/lib/installed-tests/libostree/corrupt-repo-ref.js)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c686947f36db0324f9c38d70abec908d2f1c6741
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++#!/usr/bin/dh-exec
++
++etc/ostree
++usr/bin/ostree
++usr/bin/rofiles-fuse
++usr/share/bash-completion/completions/ostree
++usr/share/man <!nodoc>
++usr/share/ostree/trusted.gpg.d
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5b1850ba5dd7f7b37d44706acd6245a175f3a91e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++rm_conffile /etc/dracut.conf.d/ostree.conf 2017.3-2~ ostree
++rm_conffile /etc/grub.d/15_ostree 2017.3-2~ ostree
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..76583ed61424537b368d69696344388cf65e4c4a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,66 @@@
++From: Simon McVittie <smcv@collabora.com>
++Date: Mon, 16 Oct 2017 12:51:04 +0100
++Subject: Cope with xattr syscalls raising EOPNOTSUPP
++
++ENOTSUP and EOPNOTSUPP are numerically equal on most Linux ports,
++but inexplicably differ on PA-RISC (hppa) and possibly other
++rare architectures.
++
++Signed-off-by: Simon McVittie <smcv@collabora.com>
++
++Closes: #1275
++Approved by: cgwalters
++Applied-upstream: 2017.13, commit:a4723dafed722008ed1ee3c952b7ff8e3d9b9a45
++---
++ src/ostree/ot-builtin-create-usb.c |  2 +-
++ tests/libostreetest.c              | 10 ++++++----
++ 2 files changed, 7 insertions(+), 5 deletions(-)
++
++diff --git a/src/ostree/ot-builtin-create-usb.c b/src/ostree/ot-builtin-create-usb.c
++index c77dbcb..742a6c2 100644
++--- a/src/ostree/ot-builtin-create-usb.c
+++++ b/src/ostree/ot-builtin-create-usb.c
++@@ -113,7 +113,7 @@ ostree_builtin_create_usb (int            argc,
++   OstreeRepoMode mode = OSTREE_REPO_MODE_BARE_USER;
++ 
++   if (TEMP_FAILURE_RETRY (fgetxattr (mount_root_dfd, "user.test", NULL, 0)) < 0 &&
++-      errno == ENOTSUP)
+++      (errno == ENOTSUP || errno == EOPNOTSUPP))
++     mode = OSTREE_REPO_MODE_ARCHIVE;
++ 
++   g_debug ("%s: Creating repository in mode %u", G_STRFUNC, mode);
++diff --git a/tests/libostreetest.c b/tests/libostreetest.c
++index 496ff74..11949c9 100644
++--- a/tests/libostreetest.c
+++++ b/tests/libostreetest.c
++@@ -85,8 +85,10 @@ ot_check_relabeling (gboolean *can_relabel,
++   g_autoptr(GBytes) bytes = glnx_fgetxattr_bytes (tmpf.fd, "security.selinux", &local_error);
++   if (!bytes)
++     {
++-      /* libglnx preserves errno */
++-      if (G_IN_SET (errno, ENOTSUP, ENODATA))
+++      /* libglnx preserves errno. The EOPNOTSUPP case can't be part of a
+++       * 'case' statement because on most but not all architectures,
+++       * it's numerically equal to ENOTSUP. */
+++      if (G_IN_SET (errno, ENOTSUP, ENODATA) || errno == EOPNOTSUPP)
++         {
++           *can_relabel = FALSE;
++           return TRUE;
++@@ -99,7 +101,7 @@ ot_check_relabeling (gboolean *can_relabel,
++   const guint8 *data = g_bytes_get_data (bytes, &data_len);
++   if (fsetxattr (tmpf.fd, "security.selinux", data, data_len, 0) < 0)
++     {
++-      if (errno == ENOTSUP)
+++      if (errno == ENOTSUP || errno == EOPNOTSUPP)
++         {
++           *can_relabel = FALSE;
++           return TRUE;
++@@ -122,7 +124,7 @@ ot_check_user_xattrs (gboolean *has_user_xattrs,
++ 
++   if (fsetxattr (tmpf.fd, "user.test", "novalue", strlen ("novalue"), 0) < 0)
++     {
++-      if (errno == ENOTSUP)
+++      if (errno == ENOTSUP || errno == EOPNOTSUPP)
++         {
++           *has_user_xattrs = FALSE;
++           return TRUE;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2de015c805f230288f4408aefa02fbe3d1dddd7b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,60 @@@
++From: Jonathan Lebon <jlebon@redhat.com>
++Date: Fri, 6 Oct 2017 21:26:41 +0000
++Subject: fdio: allow NULL for fstatat_allow_noent stbuf
++
++Often, the caller doesn't actually care about the details of the stat
++struct itself, but just whether the entry exists or not. It does work
++to just pass `NULL` directly to glibc in a quick test, but given that
++the argument is tagged as `__nonnull` and that the documentation does
++not explicitly specify this is supported, let's do this safely.
++
++Origin: upstream (submodule libglnx), 2017.13, commit:5362f6bc3ff3e30f379e767b203d15c9e56d6f08
++---
++ libglnx/glnx-fdio.h               |  5 +++--
++ libglnx/tests/test-libglnx-fdio.c | 10 ++++++++++
++ 2 files changed, 13 insertions(+), 2 deletions(-)
++
++diff --git a/libglnx/glnx-fdio.h b/libglnx/glnx-fdio.h
++index 518135c..1aa0c43 100644
++--- a/libglnx/glnx-fdio.h
+++++ b/libglnx/glnx-fdio.h
++@@ -299,7 +299,7 @@ glnx_fstatat (int           dfd,
++  * glnx_fstatat_allow_noent:
++  * @dfd: Directory FD to stat beneath
++  * @path: Path to stat beneath @dfd
++- * @buf: (out caller-allocates): Return location for stat details
+++ * @buf: (out caller-allocates) (allow-none): Return location for stat details
++  * @flags: Flags to pass to fstatat()
++  * @error: Return location for a #GError, or %NULL
++  *
++@@ -318,7 +318,8 @@ glnx_fstatat_allow_noent (int               dfd,
++                           int               flags,
++                           GError          **error)
++ {
++-  if (TEMP_FAILURE_RETRY (fstatat (dfd, path, out_buf, flags)) != 0)
+++  struct stat stbuf;
+++  if (TEMP_FAILURE_RETRY (fstatat (dfd, path, out_buf ?: &stbuf, flags)) != 0)
++     {
++       if (errno != ENOENT)
++         {
++diff --git a/libglnx/tests/test-libglnx-fdio.c b/libglnx/tests/test-libglnx-fdio.c
++index bf973b9..350294c 100644
++--- a/libglnx/tests/test-libglnx-fdio.c
+++++ b/libglnx/tests/test-libglnx-fdio.c
++@@ -161,6 +161,16 @@ test_fstatat (void)
++     return;
++   g_assert_cmpint (errno, ==, ENOENT);
++   g_assert_no_error (local_error);
+++
+++  /* test NULL parameter for stat */
+++  if (!glnx_fstatat_allow_noent (AT_FDCWD, ".", NULL, 0, error))
+++    return;
+++  g_assert_cmpint (errno, ==, 0);
+++  g_assert_no_error (local_error);
+++  if (!glnx_fstatat_allow_noent (AT_FDCWD, "nosuchfile", NULL, 0, error))
+++    return;
+++  g_assert_cmpint (errno, ==, ENOENT);
+++  g_assert_no_error (local_error);
++ }
++ 
++ static void
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..57413bcbf2e7ed43a131ab081c00b02dbc127672
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,34 @@@
++From: Colin Walters <walters@verbum.org>
++Date: Wed, 4 Oct 2017 10:22:05 -0400
++Subject: lib/core: Init struct stat buffer
++
++Regression from d57410a7e62dcb89321807dcb2d91c85f9d26df7
++
++Fixes Coverity CID #1457316
++
++Closes: #1249
++Approved by: jlebon
++Origin: upstream, 2017.13, commit:e80efe0b0668a351361bb0a218a809434dd33d63
++---
++ src/libostree/ostree-core.c | 5 ++++-
++ 1 file changed, 4 insertions(+), 1 deletion(-)
++
++diff --git a/src/libostree/ostree-core.c b/src/libostree/ostree-core.c
++index 08c2892..7fa051f 100644
++--- a/src/libostree/ostree-core.c
+++++ b/src/libostree/ostree-core.c
++@@ -1614,10 +1614,13 @@ _ostree_gfileinfo_equal (GFileInfo *a, GFileInfo *b)
++   return TRUE;
++ }
++ 
+++/* Many parts of libostree only care about mode,uid,gid - this creates
+++ * a new GFileInfo with those fields see.
+++ */
++ GFileInfo *
++ _ostree_mode_uidgid_to_gfileinfo (mode_t mode, uid_t uid, gid_t gid)
++ {
++-  struct stat stbuf;
+++  struct stat stbuf = { 0, };
++   stbuf.st_mode = mode;
++   stbuf.st_uid = uid;
++   stbuf.st_gid = gid;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..128f6cd25e5fd904977eb32026dfc39ff3393411
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,28 @@@
++From: Colin Walters <walters@verbum.org>
++Date: Thu, 12 Oct 2017 10:46:25 -0400
++Subject: lib/deltas: Check cancellable during processing
++
++Let's react to `Ctrl-C` faster here. Noticed while I was doing an update on my
++desktop and playing with cancellation.
++
++Closes: #1266
++Approved by: jlebon
++Origin: upstream, 2017.13, commit:a1986b1a8083ef4f840973f1c73d932a52e43644
++---
++ src/libostree/ostree-repo-static-delta-processing.c | 3 +++
++ 1 file changed, 3 insertions(+)
++
++diff --git a/src/libostree/ostree-repo-static-delta-processing.c b/src/libostree/ostree-repo-static-delta-processing.c
++index 844de2c..78bf7e1 100644
++--- a/src/libostree/ostree-repo-static-delta-processing.c
+++++ b/src/libostree/ostree-repo-static-delta-processing.c
++@@ -229,6 +229,9 @@ _ostree_static_delta_part_execute (OstreeRepo      *repo,
++       state->oplen--;
++       state->opdata++;
++ 
+++      if (g_cancellable_set_error_if_cancelled (cancellable, error))
+++        goto out;
+++
++       switch (opcode)
++         {
++         case OSTREE_STATIC_DELTA_OP_OPEN_SPLICE_AND_CLOSE:
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d8b634cb0bc3f1a172947ead299f1388048a4850
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,60 @@@
++From: Dan Nicholson <nicholson@endlessm.com>
++Date: Wed, 11 Oct 2017 14:03:10 +0000
++Subject: lib/deploy: Ignore FIFREEZE/FITHAW errors when already in state
++
++If the filesystem is already frozen, FIFREEZE returns EBUSY, and if the
++filesystem is already thawed, FITHAW returns EINVAL. It's very unlikely
++these issues would arise on a real ostree system since the sysroot would
++be locked during the freeze/thaw cycle.
++
++However, when multiple fake sysroots are used during the test suite (run
++as root), the tests could race to run the freeze/thaw cycle without
++locking. Furthermore, there's no reason why an independent process might
++be trying to freeze the filesystem while ostree was deploying. Ignore
++but warn for these errors since there's not much ostree can do about it,
++anyways.
++
++Closes: #1260
++Approved by: cgwalters
++Origin: upstream, 2017.13, commit:a5b7660c940a200adac1a7d217e4a1cd72719021
++---
++ src/libostree/ostree-sysroot-deploy.c | 16 +++++++++++++---
++ 1 file changed, 13 insertions(+), 3 deletions(-)
++
++diff --git a/src/libostree/ostree-sysroot-deploy.c b/src/libostree/ostree-sysroot-deploy.c
++index a89711f..e37db39 100644
++--- a/src/libostree/ostree-sysroot-deploy.c
+++++ b/src/libostree/ostree-sysroot-deploy.c
++@@ -1321,11 +1321,15 @@ fsfreeze_thaw_cycle (OstreeSysroot *self,
++       /* Do a freeze/thaw cycle; TODO add a FIFREEZETHAW ioctl */
++       if (ioctl (rootfs_dfd, FIFREEZE, 0) != 0)
++         {
++-          /* Not supported, or we're running in the unit tests (as non-root)?
+++          /* Not supported, we're running in the unit tests (as non-root), or
+++           * the filesystem is already frozen (EBUSY).
++            * OK, let's just do a syncfs.
++            */
++-          if (G_IN_SET (errno, EOPNOTSUPP, EPERM))
+++          if (G_IN_SET (errno, EOPNOTSUPP, EPERM, EBUSY))
++             {
+++              /* Warn if the filesystem was already frozen */
+++              if (errno == EBUSY)
+++                g_debug ("Filesystem already frozen, falling back to syncfs");
++               if (TEMP_FAILURE_RETRY (syncfs (rootfs_dfd)) != 0)
++                 return glnx_throw_errno_prefix (error, "syncfs");
++               /* Write the completion, and return */
++@@ -1338,7 +1342,13 @@ fsfreeze_thaw_cycle (OstreeSysroot *self,
++         }
++       /* And finally thaw, then signal our completion to the watchdog */
++       if (TEMP_FAILURE_RETRY (ioctl (rootfs_dfd, FITHAW, 0)) != 0)
++-        return glnx_throw_errno_prefix (error, "ioctl(FITHAW)");
+++        {
+++          /* Warn but don't error if the filesystem was already thawed */
+++          if (errno == EINVAL)
+++            g_debug ("Filesystem already thawed");
+++          else
+++            return glnx_throw_errno_prefix (error, "ioctl(FITHAW)");
+++        }
++       if (write (sock_parent, &c, sizeof (c)) != sizeof (c))
++         return glnx_throw_errno_prefix (error, "write(watchdog FITHAW complete)");
++     }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e2a6319c9c5a3d7139077898678b41b40e4da76b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,35 @@@
++From: Colin Walters <walters@verbum.org>
++Date: Wed, 11 Oct 2017 17:02:02 -0400
++Subject: lib/deploy: Use _exit() for FIFREEZE watchdog
++
++This works around an (IMO) SpiderMonkey bug - it tries to
++clean up in a shared library destructor, but doesn't install a
++`pthread_atfork()` handler to unset its state.
++
++Closes: https://github.com/ostreedev/ostree/issues/1262
++
++Closes: #1264
++Approved by: dbnicholson
++Origin: upstream, 2017.13, commit:8f6ec62bfb149ec8dfb6076228dd64e5df27a76b
++---
++ src/libostree/ostree-sysroot-deploy.c | 7 ++++++-
++ 1 file changed, 6 insertions(+), 1 deletion(-)
++
++diff --git a/src/libostree/ostree-sysroot-deploy.c b/src/libostree/ostree-sysroot-deploy.c
++index e37db39..d46d5c3 100644
++--- a/src/libostree/ostree-sysroot-deploy.c
+++++ b/src/libostree/ostree-sysroot-deploy.c
++@@ -1291,7 +1291,12 @@ fsfreeze_thaw_cycle (OstreeSysroot *self,
++         }
++       if (debug_fifreeze)
++         g_printerr ("fifreeze watchdog was run\n");
++-      exit (EXIT_SUCCESS);
+++      /* We use _exit() rather than exit() to avoid tripping over any shared
+++       * libraries in process that aren't fork() safe; for example gjs/spidermonkey:
+++       * https://github.com/ostreedev/ostree/issues/1262
+++       * This doesn't help for the err()/errx() calls above, but eh...
+++       */
+++      _exit (EXIT_SUCCESS);
++     }
++   else /* Parent process. */
++     {
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5e66dd938b1111f572518f117fb49e59b6fec1f1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,90 @@@
++From: Colin Walters <walters@verbum.org>
++Date: Mon, 2 Oct 2017 11:24:05 -0400
++Subject: lib/pull: Fix regression with pull-local for nonexistent refs
++
++I was reading the pull code for the last release, and spotted
++a bug in commit f923c2e1eaebe0c781f07d34ae1a03f94357bccd - in
++the case where the ref doesn't exist, we don't set an error,
++tripping an assertion in the main code.
++
++The previous code wanted the ref to always exist, so just flip back the boolean
++for "ignore noent". I moved the `g_strchomp()` just into the HTTP path - if a
++local repo is corrupted in this way it's something to fix in that repo.
++
++Closes: #1238
++Approved by: pwithnall
++Origin: upstream, 2017.13, commit:b8c15ae859de7a353b99c98c6266ee626cd94e7e
++---
++ src/libostree/ostree-repo-pull.c | 13 ++++++-------
++ tests/pull-test.sh               | 10 +++++++++-
++ 2 files changed, 15 insertions(+), 8 deletions(-)
++
++diff --git a/src/libostree/ostree-repo-pull.c b/src/libostree/ostree-repo-pull.c
++index 8a699ca..d5062e0 100644
++--- a/src/libostree/ostree-repo-pull.c
+++++ b/src/libostree/ostree-repo-pull.c
++@@ -844,7 +844,7 @@ fetch_ref_contents (OtPullData                 *pull_data,
++     {
++ #ifdef OSTREE_ENABLE_EXPERIMENTAL_API
++       if (!ostree_repo_resolve_collection_ref (pull_data->remote_repo_local,
++-                                               ref, TRUE  /* ignore enoent */,
+++                                               ref, FALSE,
++                                                OSTREE_REPO_RESOLVE_REV_EXT_NONE,
++                                                &ret_contents, cancellable, error))
++         return FALSE;
++@@ -855,7 +855,7 @@ fetch_ref_contents (OtPullData                 *pull_data,
++   else if (pull_data->remote_repo_local != NULL)
++     {
++       if (!ostree_repo_resolve_rev_ext (pull_data->remote_repo_local,
++-                                        ref->ref_name, TRUE  /* ignore enoent */,
+++                                        ref->ref_name, FALSE,
++                                         OSTREE_REPO_RESOLVE_REV_EXT_NONE,
++                                         &ret_contents, error))
++         return FALSE;
++@@ -874,14 +874,13 @@ fetch_ref_contents (OtPullData                 *pull_data,
++                                                   filename, &ret_contents,
++                                                   cancellable, error))
++         return FALSE;
+++
+++      g_strchomp (ret_contents);
++     }
++ 
++-  /* Validate and return. */
++-  if (ret_contents != NULL)
++-    g_strchomp (ret_contents);
+++  g_assert (ret_contents);
++ 
++-  if (ret_contents == NULL ||
++-      !ostree_validate_checksum_string (ret_contents, error))
+++  if (!ostree_validate_checksum_string (ret_contents, error))
++     return glnx_prefix_error (error, "Fetching checksum for ref (%s, %s)",
++                               ref->collection_id ? ref->collection_id : "(empty)",
++                               ref->ref_name);
++diff --git a/tests/pull-test.sh b/tests/pull-test.sh
++index 7d4b57f..2afc0ac 100644
++--- a/tests/pull-test.sh
+++++ b/tests/pull-test.sh
++@@ -35,7 +35,7 @@ function verify_initial_contents() {
++     assert_file_has_content baz/cow '^moo$'
++ }
++ 
++-echo "1..31"
+++echo "1..32"
++ 
++ # Try both syntaxes
++ repo_init --no-gpg-verify
++@@ -238,6 +238,14 @@ ${CMD_PREFIX} ostree --repo=mirrorrepo-local rev-parse localbranch
++ ${CMD_PREFIX} ostree --repo=mirrorrepo-local fsck
++ echo "ok pull-local mirror errors with mixed refs"
++ 
+++rm -f otherrepo/summary
+++if ${CMD_PREFIX} ostree --repo=mirrorrepo-local pull-local otherrepo nosuchbranch 2>err.txt; then
+++    fatal "pulled nonexistent branch"
+++fi
+++# So true
+++assert_file_has_content_literal err.txt "error: Refspec 'nosuchbranch' not found"
+++echo "ok pull-local nonexistent branch"
+++
++ cd ${test_tmpdir}
++ ${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo commit -b main -s "Metadata string" --add-detached-metadata-string=SIGNATURE=HANCOCK --tree=ref=main
++ ${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo summary -u
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b881248057fbf82340f0b64ee4dc59cad043ea64
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,125 @@@
++From: Colin Walters <walters@verbum.org>
++Date: Wed, 25 Oct 2017 13:13:17 -0400
++Subject: lib/repo: Fix loading commitstate with parent repos
++
++This makes the code nicer too. Properly unit testing this though really wants
++like a whole set of stuff around parent repos...but we do have coverage of the
++non-parent path in the current pull tests.
++
++Closes: https://github.com/ostreedev/ostree/issues/1306
++
++Closes: #1308
++Approved by: alexlarsson
++Origin: upstream, 2017.13, commit:90ebd48f6aaf45c47b48c44354359f973dcf22a8
++---
++ src/libostree/ostree-repo.c | 52 +++++++++++++++++++--------------------------
++ 1 file changed, 22 insertions(+), 30 deletions(-)
++
++diff --git a/src/libostree/ostree-repo.c b/src/libostree/ostree-repo.c
++index 0632ee2..eac5610 100644
++--- a/src/libostree/ostree-repo.c
+++++ b/src/libostree/ostree-repo.c
++@@ -2807,6 +2807,7 @@ load_metadata_internal (OstreeRepo       *self,
++                         GVariant        **out_variant,
++                         GInputStream    **out_stream,
++                         guint64          *out_size,
+++                        OstreeRepoCommitState *out_state,
++                         GCancellable     *cancellable,
++                         GError          **error)
++ {
++@@ -2817,6 +2818,7 @@ load_metadata_internal (OstreeRepo       *self,
++   g_autoptr(GVariant) ret_variant = NULL;
++ 
++   g_return_val_if_fail (OSTREE_OBJECT_TYPE_IS_META (objtype), FALSE);
+++  g_return_val_if_fail (objtype == OSTREE_OBJECT_TYPE_COMMIT || out_state == NULL, FALSE);
++ 
++   /* Special caching for dirmeta objects, since they're commonly referenced many
++    * times.
++@@ -2904,11 +2906,24 @@ load_metadata_internal (OstreeRepo       *self,
++ 
++       if (out_size)
++         *out_size = stbuf.st_size;
+++
+++      if (out_state)
+++        {
+++          g_autofree char *commitpartial_path = _ostree_get_commitpartial_path (sha256);
+++          *out_state = 0;
+++
+++          if (!glnx_fstatat_allow_noent (self->repo_dir_fd, commitpartial_path, NULL, 0, error))
+++            return FALSE;
+++          if (errno == 0)
+++            *out_state |= OSTREE_REPO_COMMIT_STATE_PARTIAL;
+++        }
++     }
++   else if (self->parent_repo)
++     {
++-      if (!ostree_repo_load_variant (self->parent_repo, objtype, sha256, &ret_variant, error))
++-        return FALSE;
+++      /* Directly recurse to simplify out parameters */
+++      return load_metadata_internal (self->parent_repo, objtype, sha256, error_if_not_found,
+++                                     out_variant, out_stream, out_size, out_state,
+++                                     cancellable, error);
++     }
++   else if (error_if_not_found)
++     {
++@@ -3220,7 +3235,7 @@ ostree_repo_load_object_stream (OstreeRepo         *self,
++   if (OSTREE_OBJECT_TYPE_IS_META (objtype))
++     {
++       if (!load_metadata_internal (self, objtype, checksum, TRUE, NULL,
++-                                   &ret_input, &size,
+++                                   &ret_input, &size, NULL,
++                                    cancellable, error))
++         return FALSE;
++     }
++@@ -3516,7 +3531,7 @@ ostree_repo_load_variant_if_exists (OstreeRepo       *self,
++                                     GError          **error)
++ {
++   return load_metadata_internal (self, objtype, sha256, FALSE,
++-                                 out_variant, NULL, NULL, NULL, error);
+++                                 out_variant, NULL, NULL, NULL, NULL, error);
++ }
++ 
++ /**
++@@ -3538,7 +3553,7 @@ ostree_repo_load_variant (OstreeRepo       *self,
++                           GError          **error)
++ {
++   return load_metadata_internal (self, objtype, sha256, TRUE,
++-                                 out_variant, NULL, NULL, NULL, error);
+++                                 out_variant, NULL, NULL, NULL, NULL, error);
++ }
++ 
++ /**
++@@ -3561,31 +3576,8 @@ ostree_repo_load_commit (OstreeRepo            *self,
++                          OstreeRepoCommitState *out_state,
++                          GError               **error)
++ {
++-  if (out_variant)
++-    {
++-      if (!load_metadata_internal (self, OSTREE_OBJECT_TYPE_COMMIT, checksum, TRUE,
++-                                   out_variant, NULL, NULL, NULL, error))
++-        return FALSE;
++-    }
++-
++-  if (out_state)
++-    {
++-      g_autofree char *commitpartial_path = _ostree_get_commitpartial_path (checksum);
++-      struct stat stbuf;
++-
++-      *out_state = 0;
++-
++-      if (fstatat (self->repo_dir_fd, commitpartial_path, &stbuf, 0) == 0)
++-        {
++-          *out_state |= OSTREE_REPO_COMMIT_STATE_PARTIAL;
++-        }
++-      else if (errno != ENOENT)
++-        {
++-          return glnx_throw_errno_prefix (error, "fstatat(%s)", commitpartial_path);
++-        }
++-    }
++-
++-  return TRUE;
+++  return load_metadata_internal (self, OSTREE_OBJECT_TYPE_COMMIT, checksum, TRUE,
+++                                 out_variant, NULL, NULL, out_state, NULL, error);
++ }
++ 
++ /**
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7358d8260ed86fff928efefbbd7e44bf917b4a08
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,31 @@@
++From: Dan Nicholson <nicholson@endlessm.com>
++Date: Tue, 24 Oct 2017 19:27:17 +0000
++Subject: lib/repo: Properly handle NULL homedir when signing commit
++
++Without this, ostree_repo_sign_commit throws a critical message when no
++homedir is provided:
++
++(ostree gpg-sign:5034): GLib-GIO-CRITICAL **: g_file_new_for_path: assertion 'path != NULL' failed
++
++Closes: #1305
++Approved by: cgwalters
++Origin: upstream, 2017.13, commit:63ce86d5977ebfbedd2cdfba1e4f6bd400a3a1b8
++---
++ src/libostree/ostree-repo.c | 4 +++-
++ 1 file changed, 3 insertions(+), 1 deletion(-)
++
++diff --git a/src/libostree/ostree-repo.c b/src/libostree/ostree-repo.c
++index 1e336e9..0632ee2 100644
++--- a/src/libostree/ostree-repo.c
+++++ b/src/libostree/ostree-repo.c
++@@ -4119,7 +4119,9 @@ ostree_repo_sign_commit (OstreeRepo     *self,
++    * pass the homedir so that the signing key can be imported, allowing
++    * subkey signatures to be recognised. */
++   g_autoptr(GError) local_error = NULL;
++-  g_autoptr(GFile) verify_keydir = g_file_new_for_path (homedir);
+++  g_autoptr(GFile) verify_keydir = NULL;
+++  if (homedir != NULL)
+++    verify_keydir = g_file_new_for_path (homedir);
++   g_autoptr(OstreeGpgVerifyResult) result
++     =_ostree_repo_gpg_verify_with_metadata (self, commit_data, old_metadata,
++                                             NULL, verify_keydir, NULL,
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1cded20247b1427a9dae39faeea40d3cb66352cd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,30 @@@
++From: Philip Withnall <withnall@endlessm.com>
++Date: Tue, 3 Oct 2017 15:45:34 +0100
++Subject: lib/repo-commit: Import detached metadata even if hardlink exists
++
++Spotted while reading through the code, it looks like the
++copy_detached_metadata() call is accidentally omitted if a hardlink
++already exists for the .commit object.
++
++Signed-off-by: Philip Withnall <withnall@endlessm.com>
++
++Closes: #1242
++Approved by: cgwalters
++Origin: upstream, 2017.13, commit:86e072bdbe48a4f16efb05c00eb79114e5fdbf61
++---
++ src/libostree/ostree-repo-commit.c | 2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++diff --git a/src/libostree/ostree-repo-commit.c b/src/libostree/ostree-repo-commit.c
++index c4484f4..76bc187 100644
++--- a/src/libostree/ostree-repo-commit.c
+++++ b/src/libostree/ostree-repo-commit.c
++@@ -3255,7 +3255,7 @@ import_one_object_direct (OstreeRepo    *dest_repo,
++       if (linkat (src_repo->objects_dir_fd, loose_path_buf, dest_dfd, loose_path_buf, 0) != 0)
++         {
++           if (errno == EEXIST)
++-            return TRUE;
+++            did_hardlink = TRUE;
++           else if (errno == EMLINK || errno == EXDEV || errno == EPERM)
++             {
++               /* EMLINK, EXDEV and EPERM shouldn't be fatal; we just can't do
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..92b07ca30b0278cf10ef16af6ffd623dbaa7cbe3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,57 @@@
++From: Colin Walters <walters@verbum.org>
++Date: Mon, 16 Oct 2017 15:29:38 -0400
++Subject: lib/sysroot: Fix error handling when mounting overlayfs fails
++
++This isn't perfect, but at least we fix an error-overwrite error, and in
++practice `ostree admin unlock` isn't wrapped by `rpm-ostree` yet, so spew to
++stderr is OK.
++
++Closes: https://github.com/ostreedev/ostree/issues/1273
++
++Closes: #1279
++Approved by: guyshapiro
++Origin: upstream, 2017.13, commit:464965e6b4897f9c6d4487ca10eb5bc60ad9a670
++---
++ src/libostree/ostree-sysroot.c | 13 +++++++++----
++ 1 file changed, 9 insertions(+), 4 deletions(-)
++
++diff --git a/src/libostree/ostree-sysroot.c b/src/libostree/ostree-sysroot.c
++index 2ee5eb5..16f76f7 100644
++--- a/src/libostree/ostree-sysroot.c
+++++ b/src/libostree/ostree-sysroot.c
++@@ -22,6 +22,7 @@
++ #include "otutil.h"
++ #include <sys/file.h>
++ #include <sys/mount.h>
+++#include <err.h>
++ #include <sys/wait.h>
++ 
++ #include "ostree.h"
++@@ -1763,11 +1764,15 @@ ostree_sysroot_deployment_unlock (OstreeSysroot     *self,
++       return glnx_throw_errno_prefix (error, "fork");
++     else if (mount_child == 0)
++       {
++-        /* Child process.  Do NOT use any GLib API here. */
+++        /* Child process. Do NOT use any GLib API here; it's not generally fork() safe.
+++         *
+++         * TODO: report errors across a pipe (or use the journal?) rather than
+++         * spewing to stderr.
+++         */
++         if (fchdir (deployment_dfd) < 0)
++-          exit (EXIT_FAILURE);
+++          err (1, "fchdir");
++         if (mount ("overlay", "/usr", "overlay", 0, ovl_options) < 0)
++-          exit (EXIT_FAILURE);
+++          err (1, "mount");
++         exit (EXIT_SUCCESS);
++       }
++     else
++@@ -1778,7 +1783,7 @@ ostree_sysroot_deployment_unlock (OstreeSysroot     *self,
++         if (TEMP_FAILURE_RETRY (waitpid (mount_child, &estatus, 0)) < 0)
++           return glnx_throw_errno_prefix (error, "waitpid() on mount helper");
++         if (!g_spawn_check_exit_status (estatus, error))
++-          return glnx_throw_errno_prefix (error, "overlayfs mount helper");
+++          return glnx_prefix_error (error, "Failed overlayfs mount");
++       }
++   }
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8c83b46d144994d7c6d1a4e0e4b50a71b4fbb760
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,33 @@@
++From: Colin Walters <walters@verbum.org>
++Date: Wed, 4 Oct 2017 10:24:21 -0400
++Subject: lib/sysroot: Fix pointer going out of scope in unlock code
++
++Fixes Coverity CID #1457317
++
++Closes: #1249
++Approved by: jlebon
++Origin: upstream, 2017.13, commit:351ffdb9778436b193ba9d2fbeebe2358e55004f
++---
++ src/libostree/ostree-sysroot.c | 2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++diff --git a/src/libostree/ostree-sysroot.c b/src/libostree/ostree-sysroot.c
++index fe61a12..2ee5eb5 100644
++--- a/src/libostree/ostree-sysroot.c
+++++ b/src/libostree/ostree-sysroot.c
++@@ -1698,6 +1698,7 @@ ostree_sysroot_deployment_unlock (OstreeSysroot     *self,
++     return FALSE;
++ 
++   const char *ovl_options = NULL;
+++  static const char hotfix_ovl_options[] = "lowerdir=usr,upperdir=.usr-ovl-upper,workdir=.usr-ovl-work";
++   switch (unlocked_state)
++     {
++     case OSTREE_DEPLOYMENT_UNLOCKED_NONE:
++@@ -1705,7 +1706,6 @@ ostree_sysroot_deployment_unlock (OstreeSysroot     *self,
++       break;
++     case OSTREE_DEPLOYMENT_UNLOCKED_HOTFIX:
++       {
++-        const char hotfix_ovl_options[] = "lowerdir=usr,upperdir=.usr-ovl-upper,workdir=.usr-ovl-work";
++         /* Create the overlayfs directories in the deployment root
++          * directly for hotfixes.  The ostree-prepare-root.c helper
++          * is also set up to detect and mount these.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a638aa1dc6ecbfc7d708e0282e2274d279d43997
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,58 @@@
++From: Simon McVittie <smcv@debian.org>
++Date: Thu, 26 Oct 2017 12:08:15 +0100
++Subject: lib/utils: Check for invalid UTF-8 in filenames
++
++In case a filename contains invalid UTF-8 characters, libostree will
++pass it to g_variant_builder_add() in create_tree_variant_from_hashes()
++anyway, which leads to a critical warning from glib and an invalid
++commit. This commit makes ostree print a useful error and exit instead.
++
++Closes: #1271
++Approved by: cgwalters
++Origin: upstream, 2017.13, commit:2a9c5efe1d10b79681b0ee638994ead375be6597
++---
++ src/libotutil/ot-unix-utils.c |  2 ++
++ tests/basic-test.sh           | 10 +++++++++-
++ 2 files changed, 11 insertions(+), 1 deletion(-)
++
++diff --git a/src/libotutil/ot-unix-utils.c b/src/libotutil/ot-unix-utils.c
++index d6c5ee6..1446cde 100644
++--- a/src/libotutil/ot-unix-utils.c
+++++ b/src/libotutil/ot-unix-utils.c
++@@ -50,6 +50,8 @@ ot_util_filename_validate (const char *name,
++     {
++       return glnx_throw (error, "Invalid / in filename %s", name);
++     }
+++  if (!g_utf8_validate (name, -1, NULL))
+++    return glnx_throw (error, "Invalid UTF-8 in filename %s", name);
++   return TRUE;
++ }
++ 
++diff --git a/tests/basic-test.sh b/tests/basic-test.sh
++index a01f437..52bbe52 100644
++--- a/tests/basic-test.sh
+++++ b/tests/basic-test.sh
++@@ -19,7 +19,7 @@
++ 
++ set -euo pipefail
++ 
++-echo "1..$((73 + ${extra_basic_tests:-0}))"
+++echo "1..$((74 + ${extra_basic_tests:-0}))"
++ 
++ CHECKOUT_U_ARG=""
++ CHECKOUT_H_ARGS="-H"
++@@ -334,6 +334,14 @@ echo "ok commit from ref with modifier"
++ $OSTREE commit ${COMMIT_ARGS} -b trees/test2 -s 'ref with / in it' --tree=ref=test2
++ echo "ok commit ref with /"
++ 
+++mkdir badutf8
+++echo "invalid utf8 filename" > badutf8/$(printf '\x80')
+++if $OSTREE commit ${COMMIT_ARGS} -b badutf8 --tree=dir=badutf8 2>err.txt; then
+++    assert_not_reached "commit filename with invalid UTF-8"
+++fi
+++assert_file_has_content err.txt "Invalid UTF-8 in filename"
+++echo "ok commit bad UTF-8"
+++
++ old_rev=$($OSTREE rev-parse test2)
++ $OSTREE ls -R -C test2
++ $OSTREE commit ${COMMIT_ARGS} --skip-if-unchanged -b trees/test2 -s 'should not be committed' --tree=ref=test2
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..01413a184f1b5140706d4cfe0efeef59cc2a7001
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,281 @@@
++From: Colin Walters <walters@verbum.org>
++Date: Fri, 13 Oct 2017 18:14:17 -0400
++Subject: tests: Add test-pull-bareuseronly
++
++I was going to fix a bug in the static deltas code and I noticed
++we were missing `pull-test.sh` coverage for bareuseronly.
++
++Obviously fixing this requires duplicating some of the bits we have in
++`basic-test.sh`; need to hoist that into `libtest.sh`. For now though let's get
++the coverage.
++
++Closes: #1270
++Approved by: jlebon
++Origin: upstream, 2017.13, commit:95afe2848d65a8062f4a76adb1ab80b6bcc4d79e
++---
++ Makefile-tests.am               |  1 +
++ tests/pull-test.sh              | 69 +++++++++++++++++++++++++++--------------
++ tests/test-pull-bareuseronly.sh | 28 +++++++++++++++++
++ 3 files changed, 75 insertions(+), 23 deletions(-)
++ create mode 100755 tests/test-pull-bareuseronly.sh
++
++diff --git a/Makefile-tests.am b/Makefile-tests.am
++index 7cf2b19..42e73fa 100644
++--- a/Makefile-tests.am
+++++ b/Makefile-tests.am
++@@ -69,6 +69,7 @@ _installed_or_uninstalled_test_scripts = \
++      tests/test-parent.sh \
++      tests/test-pull-bare.sh \
++      tests/test-pull-bareuser.sh \
+++     tests/test-pull-bareuseronly.sh \
++      tests/test-pull-commit-only.sh \
++      tests/test-pull-depth.sh \
++      tests/test-pull-mirror-summary.sh \
++diff --git a/tests/pull-test.sh b/tests/pull-test.sh
++index 2afc0ac..b2613fc 100644
++--- a/tests/pull-test.sh
+++++ b/tests/pull-test.sh
++@@ -27,9 +27,26 @@ function repo_init() {
++     ${CMD_PREFIX} ostree --repo=repo remote add origin $(cat httpd-address)/ostree/gnomerepo "$@"
++ }
++ 
+++repo_init --no-gpg-verify
+++
+++# See also the copy of this in basic-test.sh
+++COMMIT_ARGS=""
+++CHECKOUT_U_ARG=""
+++CHECKOUT_H_ARGS="-H"
+++if is_bare_user_only_repo repo; then
+++    COMMIT_ARGS="--canonical-permissions"
+++    # Also, since we can't check out uid=0 files we need to check out in user mode
+++    CHECKOUT_U_ARG="-U"
+++    CHECKOUT_H_ARGS="-U -H"
+++else
+++    if grep -E -q '^mode=bare-user' repo/config; then
+++        CHECKOUT_H_ARGS="-U -H"
+++    fi
+++fi
+++
++ function verify_initial_contents() {
++     rm checkout-origin-main -rf
++-    $OSTREE checkout origin/main checkout-origin-main
+++    $OSTREE checkout ${CHECKOUT_H_ARGS} origin/main checkout-origin-main
++     cd checkout-origin-main
++     assert_file_has_content firstfile '^first$'
++     assert_file_has_content baz/cow '^moo$'
++@@ -61,7 +78,7 @@ echo "ok pull mirror"
++ 
++ mkdir otherbranch
++ echo someothercontent > otherbranch/someothercontent
++-${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo commit -b otherbranch --tree=dir=otherbranch
+++${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo commit ${COMMIT_ARGS} -b otherbranch --tree=dir=otherbranch
++ ${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo summary -u
++ rm mirrorrepo -rf
++ # All refs
++@@ -88,9 +105,9 @@ echo "ok pull mirror (ref subset with summary)"
++ 
++ cd ${test_tmpdir}
++ rm checkout-origin-main -rf
++-$OSTREE --repo=ostree-srv/gnomerepo checkout main checkout-origin-main
+++$OSTREE --repo=ostree-srv/gnomerepo checkout ${CHECKOUT_U_ARG} main checkout-origin-main
++ echo moomoo > checkout-origin-main/baz/cow
++-${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo commit -b main -s "" --tree=dir=checkout-origin-main
+++${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo commit ${COMMIT_ARGS} -b main -s "" --tree=dir=checkout-origin-main
++ ${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo static-delta generate main
++ ${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo summary -u
++ ${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo fsck
++@@ -115,11 +132,12 @@ ${CMD_PREFIX} ostree --repo=mirrorrepo pull --bareuseronly-files origin main
++ echo "ok pull (bareuseronly, safe)"
++ 
++ rm checkout-origin-main -rf
++-$OSTREE --repo=ostree-srv/gnomerepo checkout main checkout-origin-main
+++$OSTREE --repo=ostree-srv/gnomerepo checkout ${CHECKOUT_U_ARG} main checkout-origin-main
++ cat > statoverride.txt <<EOF
++ 2048 /some-setuid
++ EOF
++ echo asetuid > checkout-origin-main/some-setuid
+++# Don't use ${COMMIT_ARGS} as we don't want --canonical-permissions with bare-user-only
++ ${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo commit -b content-with-suid --statoverride=statoverride.txt --tree=dir=checkout-origin-main
++ ${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo summary -u
++ # Verify we reject it both when unpacking and when mirroring
++@@ -140,7 +158,8 @@ echo "ok pull (bareuseronly mirror)"
++ # Corruption tests <https://github.com/ostreedev/ostree/issues/1211>
++ cd ${test_tmpdir}
++ repo_init --no-gpg-verify
++-if ! is_bare_user_only_repo repo && ! skip_one_without_user_xattrs; then
+++if ! is_bare_user_only_repo repo; then
+++if ! skip_one_without_user_xattrs; then
++     if is_bare_user_only_repo repo; then
++         cacherepomode=bare-user-only
++     else
++@@ -193,15 +212,19 @@ if ! is_bare_user_only_repo repo && ! skip_one_without_user_xattrs; then
++     repo_init --no-gpg-verify
++     echo "ok corruption"
++ fi
+++else
+++# bareuseronly case, we don't mark it as SKIP at the moment
+++echo "ok corruption (skipped)"
+++fi
++ 
++ cd ${test_tmpdir}
++ rm mirrorrepo/refs/remotes/* -rf
++ ${CMD_PREFIX} ostree --repo=mirrorrepo prune --refs-only
++ ${CMD_PREFIX} ostree --repo=mirrorrepo pull origin main
++ rm checkout-origin-main -rf
++-$OSTREE --repo=ostree-srv/gnomerepo checkout main checkout-origin-main
+++$OSTREE --repo=ostree-srv/gnomerepo checkout ${CHECKOUT_U_ARG} main checkout-origin-main
++ echo yetmorecontent > checkout-origin-main/baz/cowtest
++-${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo commit -b main -s "" --tree=dir=checkout-origin-main
+++${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo commit ${COMMIT_ARGS} -b main -s "" --tree=dir=checkout-origin-main
++ rev=$(${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo rev-parse main)
++ ${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo static-delta generate main
++ ${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo summary -u
++@@ -223,8 +246,8 @@ cd ${test_tmpdir}
++ rm otherrepo -rf
++ ostree_repo_init otherrepo --mode=archive
++ rm checkout-origin-main -rf
++-${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo checkout main checkout-origin-main
++-${CMD_PREFIX} ostree --repo=otherrepo commit -b localbranch --tree=dir=checkout-origin-main
+++${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo checkout ${CHECKOUT_U_ARG} main checkout-origin-main
+++${CMD_PREFIX} ostree --repo=otherrepo commit ${COMMIT_ARGS} -b localbranch --tree=dir=checkout-origin-main
++ ${CMD_PREFIX} ostree --repo=otherrepo remote add --set=gpg-verify=false origin file://$(pwd)/ostree-srv/gnomerepo
++ ${CMD_PREFIX} ostree --repo=otherrepo pull origin main
++ rm mirrorrepo-local -rf
++@@ -247,7 +270,7 @@ assert_file_has_content_literal err.txt "error: Refspec 'nosuchbranch' not found
++ echo "ok pull-local nonexistent branch"
++ 
++ cd ${test_tmpdir}
++-${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo commit -b main -s "Metadata string" --add-detached-metadata-string=SIGNATURE=HANCOCK --tree=ref=main
+++${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo commit ${COMMIT_ARGS} -b main -s "Metadata string" --add-detached-metadata-string=SIGNATURE=HANCOCK --tree=ref=main
++ ${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo summary -u
++ ${CMD_PREFIX} ostree --repo=repo pull origin main
++ ${CMD_PREFIX} ostree --repo=repo fsck
++@@ -278,13 +301,13 @@ origrev=$(${CMD_PREFIX} ostree --repo=repo rev-parse main)
++ # Check we can pull the same commit with timestamp checking enabled
++ ${CMD_PREFIX} ostree --repo=repo pull -T origin main
++ assert_streq ${origrev} "$(${CMD_PREFIX} ostree --repo=repo rev-parse main)"
++-newrev=$(${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo commit -b main --tree=ref=main)
+++newrev=$(${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo commit ${COMMIT_ARGS} -b main --tree=ref=main)
++ ${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo summary -u
++ # New commit with timestamp checking
++ ${CMD_PREFIX} ostree --repo=repo pull -T origin main
++ assert_not_streq "${origrev}" "${newrev}"
++ assert_streq ${newrev} "$(${CMD_PREFIX} ostree --repo=repo rev-parse main)"
++-newrev2=$(${CMD_PREFIX} ostree --timestamp="October 25 1985" --repo=ostree-srv/gnomerepo commit -b main --tree=ref=main)
+++newrev2=$(${CMD_PREFIX} ostree --timestamp="October 25 1985" --repo=ostree-srv/gnomerepo commit ${COMMIT_ARGS} -b main --tree=ref=main)
++ ${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo summary -u
++ if ${CMD_PREFIX} ostree --repo=repo pull -T origin main 2>err.txt; then
++     fatal "pulled older commit with timestamp checking enabled?"
++@@ -304,12 +327,12 @@ ${CMD_PREFIX} ostree --repo=repo fsck
++ ${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo static-delta generate main
++ 
++ rm main-files -rf
++-${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo checkout main main-files
+++${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo checkout ${CHECKOUT_U_ARG} main main-files
++ cd main-files
++ echo "an added file for static deltas" > added-file
++ echo "modified file for static deltas" > baz/cow
++ rm baz/saucer
++-${CMD_PREFIX} ostree --repo=${test_tmpdir}/ostree-srv/gnomerepo commit -b main -s 'static delta test'
+++${CMD_PREFIX} ostree --repo=${test_tmpdir}/ostree-srv/gnomerepo commit ${COMMIT_ARGS} -b main -s 'static delta test'
++ cd ..
++ rm main-files -rf
++ # Generate delta that we'll use
++@@ -353,7 +376,7 @@ ${CMD_PREFIX} ostree --repo=repo pull --disable-static-deltas origin main
++ ${CMD_PREFIX} ostree --repo=repo fsck
++ 
++ rm checkout-origin-main -rf
++-$OSTREE checkout origin:main checkout-origin-main
+++$OSTREE checkout ${CHECKOUT_H_ARGS} origin:main checkout-origin-main
++ cd checkout-origin-main
++ assert_file_has_content firstfile '^first$'
++ assert_file_has_content baz/cow "modified file for static deltas"
++@@ -405,10 +428,10 @@ echo "ok delta required for revision"
++ 
++ cd ${test_tmpdir}
++ rm main-files -rf
++-${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo checkout main main-files
+++${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo checkout ${CHECKOUT_U_ARG} main main-files
++ cd main-files
++ echo "more added files for static deltas" > added-file2
++-${CMD_PREFIX} ostree --repo=${test_tmpdir}/ostree-srv/gnomerepo commit -b main -s 'inline static delta test'
+++${CMD_PREFIX} ostree --repo=${test_tmpdir}/ostree-srv/gnomerepo commit ${COMMIT_ARGS} -b main -s 'inline static delta test'
++ cd ..
++ rm main-files -rf
++ # Generate new delta that we'll use
++@@ -420,7 +443,7 @@ ${CMD_PREFIX} ostree --repo=repo pull origin main
++ ${CMD_PREFIX} ostree --repo=repo fsck
++ 
++ rm checkout-origin-main -rf
++-$OSTREE checkout origin:main checkout-origin-main
+++$OSTREE checkout ${CHECKOUT_H_ARGS} origin:main checkout-origin-main
++ cd checkout-origin-main
++ assert_file_has_content added-file2 "more added files for static deltas"
++ 
++@@ -428,12 +451,12 @@ echo "ok inline static delta"
++ 
++ cd ${test_tmpdir}
++ rm main-files -rf
++-${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo checkout main main-files
+++${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo checkout ${CHECKOUT_U_ARG} main main-files
++ cd main-files
++ # Make a file larger than 16M for testing
++ dd if=/dev/zero of=test-bigfile count=1 seek=42678
++ echo "further modified file for static deltas" > baz/cow
++-${CMD_PREFIX} ostree --repo=${test_tmpdir}/ostree-srv/gnomerepo commit -b main -s '2nd static delta test'
+++${CMD_PREFIX} ostree --repo=${test_tmpdir}/ostree-srv/gnomerepo commit ${COMMIT_ARGS} -b main -s '2nd static delta test'
++ cd ..
++ rm main-files -rf
++ ${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo static-delta generate main
++@@ -444,7 +467,7 @@ ${CMD_PREFIX} ostree --repo=repo pull origin main
++ ${CMD_PREFIX} ostree --repo=repo fsck
++ 
++ rm checkout-origin-main -rf
++-$OSTREE checkout origin:main checkout-origin-main
+++$OSTREE checkout ${CHECKOUT_H_ARGS} origin:main checkout-origin-main
++ cd checkout-origin-main
++ assert_has_file test-bigfile
++ stat --format=%s test-bigfile > bigfile-size
++@@ -496,7 +519,7 @@ echo "ok pull repo 404 on dirtree object"
++ 
++ cd ${test_tmpdir}
++ repo_init --set=gpg-verify=true
++-${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo commit \
+++${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo commit ${COMMIT_ARGS} \
++   --gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1} -b main \
++   -s "A signed commit" --tree=ref=main
++ ${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo summary -u
++diff --git a/tests/test-pull-bareuseronly.sh b/tests/test-pull-bareuseronly.sh
++new file mode 100755
++index 0000000..f5c06c4
++--- /dev/null
+++++ b/tests/test-pull-bareuseronly.sh
++@@ -0,0 +1,28 @@
+++#!/bin/bash
+++#
+++# Copyright (C) 2017 Colin Walters <walters@verbum.org>
+++#
+++# This library is free software; you can redistribute it and/or
+++# modify it under the terms of the GNU Lesser General Public
+++# License as published by the Free Software Foundation; either
+++# version 2 of the License, or (at your option) any later version.
+++#
+++# This library is distributed in the hope that it will be useful,
+++# but WITHOUT ANY WARRANTY; without even the implied warranty of
+++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+++# Lesser General Public License for more details.
+++#
+++# You should have received a copy of the GNU Lesser General Public
+++# License along with this library; if not, write to the
+++# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+++# Boston, MA 02111-1307, USA.
+++
+++set -euo pipefail
+++
+++. $(dirname $0)/libtest.sh
+++
+++skip_without_user_xattrs
+++setup_fake_remote_repo1 "archive" "--canonical-permissions"
+++
+++repo_mode=bare-user-only
+++. ${test_srcdir}/pull-test.sh
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9b07e3d5290487df3817506a963d86c96d438741
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,108 @@@
++From: Simon McVittie <smcv@debian.org>
++Date: Tue, 3 Oct 2017 21:30:36 +0100
++Subject: Add missing test-libglnx-shutil
++
++Because we re-run autogen.sh, we'll regenerate Makefile-libglnx.am.inc
++(which results in the version after this patch, including
++test-libglnx-shutil, being present) and then try to build
++test-libglnx-shutil; but its source code wasn't included in the upstream
++tarball, because Makefile-libglnx.am.inc wasn't up to date at
++"make dist" time.
++
++Signed-off-by: Simon McVittie <smcv@debian.org>
++---
++ libglnx/Makefile-libglnx.am.inc     |  6 +++-
++ libglnx/tests/test-libglnx-shutil.c | 63 +++++++++++++++++++++++++++++++++++++
++ 2 files changed, 68 insertions(+), 1 deletion(-)
++ create mode 100644 libglnx/tests/test-libglnx-shutil.c
++
++diff --git a/libglnx/Makefile-libglnx.am.inc b/libglnx/Makefile-libglnx.am.inc
++index 8766e63..ff2700c 100644
++--- a/libglnx/Makefile-libglnx.am.inc
+++++ b/libglnx/Makefile-libglnx.am.inc
++@@ -53,7 +53,7 @@ libglnx_la_CFLAGS = $(AM_CFLAGS) $(libglnx_cflags)
++ libglnx_la_LDFLAGS = -avoid-version -Bsymbolic-functions -export-symbols-regex "^glnx_" -no-undefined -export-dynamic 
++ libglnx_la_LIBADD = $(libglnx_libs)
++ 
++-libglnx_tests = test-libglnx-xattrs test-libglnx-fdio test-libglnx-errors test-libglnx-macros
+++libglnx_tests = test-libglnx-xattrs test-libglnx-fdio test-libglnx-errors test-libglnx-macros test-libglnx-shutil
++ TESTS += $(libglnx_tests)
++ 
++ check_PROGRAMS += $(libglnx_tests)
++@@ -72,3 +72,7 @@ test_libglnx_errors_LDADD = $(libglnx_libs) libglnx.la
++ test_libglnx_macros_SOURCES = libglnx/tests/test-libglnx-macros.c
++ test_libglnx_macros_CFLAGS = $(AM_CFLAGS) $(libglnx_cflags)
++ test_libglnx_macros_LDADD = $(libglnx_libs) libglnx.la
+++
+++test_libglnx_shutil_SOURCES = libglnx/tests/test-libglnx-shutil.c
+++test_libglnx_shutil_CFLAGS = $(AM_CFLAGS) $(libglnx_cflags)
+++test_libglnx_shutil_LDADD = $(libglnx_libs) libglnx.la
++diff --git a/libglnx/tests/test-libglnx-shutil.c b/libglnx/tests/test-libglnx-shutil.c
++new file mode 100644
++index 0000000..39f261b
++--- /dev/null
+++++ b/libglnx/tests/test-libglnx-shutil.c
++@@ -0,0 +1,63 @@
+++/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*-
+++ *
+++ * Copyright © 2017 Endless Mobile, Inc.
+++ *
+++ * This library is free software; you can redistribute it and/or
+++ * modify it under the terms of the GNU Lesser General Public
+++ * License as published by the Free Software Foundation; either
+++ * version 2 of the License, or (at your option) any later version.
+++ *
+++ * This library is distributed in the hope that it will be useful,
+++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+++ * Lesser General Public License for more details.
+++ *
+++ * You should have received a copy of the GNU Lesser General Public
+++ * License along with this library; if not, write to the
+++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+++ * Boston, MA 02111-1307, USA.
+++ */
+++
+++#include "config.h"
+++#include "libglnx.h"
+++#include <glib.h>
+++#include <stdlib.h>
+++#include <gio/gio.h>
+++#include <err.h>
+++#include <string.h>
+++
+++#include "libglnx-testlib.h"
+++
+++static void
+++test_mkdir_p_enoent (void)
+++{
+++  _GLNX_TEST_DECLARE_ERROR(local_error, error);
+++  glnx_fd_close int dfd = -1;
+++
+++  if (!glnx_ensure_dir (AT_FDCWD, "test", 0755, error))
+++    return;
+++  if (!glnx_opendirat (AT_FDCWD, "test", FALSE, &dfd, error))
+++    return;
+++  if (rmdir ("test") < 0)
+++    return (void) glnx_throw_errno_prefix (error, "rmdir(%s)", "test");
+++
+++  /* This should fail with ENOENT. */
+++  glnx_shutil_mkdir_p_at (dfd, "blah/baz", 0755, NULL, error);
+++  g_assert_error (local_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND);
+++  g_clear_error (&local_error);
+++}
+++
+++int
+++main (int    argc,
+++      char **argv)
+++{
+++  int ret;
+++
+++  g_test_init (&argc, &argv, NULL);
+++
+++  g_test_add_func ("/mkdir-p/enoent", test_mkdir_p_enoent);
+++
+++  ret = g_test_run();
+++
+++  return ret;
+++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..babcedc980c53062e473a5c92337592815d2ca85
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++dist/Add-missing-test-libglnx-shutil.patch
++2017.13/lib-pull-Fix-regression-with-pull-local-for-nonexistent-r.patch
++2017.13/lib-repo-commit-Import-detached-metadata-even-if-hardlink.patch
++2017.13/lib-core-Init-struct-stat-buffer.patch
++2017.13/lib-sysroot-Fix-pointer-going-out-of-scope-in-unlock-code.patch
++2017.13/lib-deploy-Ignore-FIFREEZE-FITHAW-errors-when-already-in-.patch
++2017.13/lib-deploy-Use-_exit-for-FIFREEZE-watchdog.patch
++2017.13/lib-deltas-Check-cancellable-during-processing.patch
++2017.13/lib-utils-Check-for-invalid-UTF-8-in-filenames.patch
++2017.13/Cope-with-xattr-syscalls-raising-EOPNOTSUPP.patch
++2017.13/lib-sysroot-Fix-error-handling-when-mounting-overlayfs-fa.patch
++2017.13/tests-Add-test-pull-bareuseronly.patch
++2017.13/lib-repo-Properly-handle-NULL-homedir-when-signing-commit.patch
++2017.13/fdio-allow-NULL-for-fstatat_allow_noent-stbuf.patch
++2017.13/lib-repo-Fix-loading-commitstate-with-parent-repos.patch
diff --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..60855cbc7e81cbb1fe2d9bd58fc335fca8ceee34
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,95 @@@
++#!/usr/bin/make -f
++
++export DEB_BUILD_MAINT_OPTIONS = hardening=+all
++export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
++# Some tests assert that we will see English strings
++export LC_ALL=C.UTF-8
++
++binaries := $(shell dh_listpackages)
++
++%:
++      dh $@ --with=gir
++
++override_dh_autoreconf:
++      env NOCONFIGURE=1 dh_autoreconf ./autogen.sh
++
++configure_options = \
++      --enable-installed-tests \
++      --libexecdir='$${prefix}/lib' \
++      --with-dracut \
++      --with-grub2 \
++      --with-grub2-mkconfig-path=/usr/sbin/grub-mkconfig \
++      --with-systemdsystemgeneratordir=/lib/systemd/system-generators \
++      --with-systemdsystemunitdir=/lib/systemd/system \
++      $(NULL)
++
++ifneq ($(filter libostree-doc,$(binaries)),)
++configure_options += --enable-gtk-doc
++else
++configure_options += --disable-gtk-doc
++endif
++
++ifeq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
++configure_options += --enable-man
++else
++configure_options += --disable-man
++endif
++
++override_dh_auto_configure:
++      dh_auto_configure -- $(configure_options)
++
++override_dh_auto_test-arch:
++ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
++      chmod +x tests/test-pull-bareuseronly.sh
++      debian/test.sh
++endif
++
++override_dh_auto_test-indep:
++      :
++
++override_dh_auto_install:
++      dh_auto_install
++ifeq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
++      # docbook-xsl capitalizes the whole heading, including the macro
++      # used to represent a single quote... https://bugs.debian.org/821235
++      sed -i -e 's,\*(AQ,*(Aq,g' \
++              debian/tmp/usr/share/man/man1/ostree-remote.1 \
++              debian/tmp/usr/share/man/man1/ostree-static-delta.1 \
++              $(NULL)
++endif
++
++override_dh_install:
++      rm -f debian/tmp/usr/lib/*/*.la
++      rm -f debian/tmp/usr/lib/installed-tests/libostree/*.la
++      :
++      # TODO: when someone documents how to test these (#824649) they
++      # should be installed in a new ostree-boot package: see
++      # debian/ostree-boot.* and https://bugs.debian.org/824650
++      rm -f debian/tmp/etc/dracut.conf.d/ostree.conf
++      rm -f debian/tmp/etc/grub.d/15_ostree
++      rm -f debian/tmp/lib/systemd/system-generators/ostree-system-generator
++      rm -f debian/tmp/lib/systemd/system/ostree-prepare-root.service
++      rm -f debian/tmp/lib/systemd/system/ostree-remount.service
++      rm -fr debian/tmp/usr/lib/dracut/modules.d/98ostree/
++      rm -f debian/tmp/usr/lib/libostree/grub2-15_ostree
++      rm -f debian/tmp/usr/lib/ostree/ostree-prepare-root
++      rm -f debian/tmp/usr/lib/ostree/ostree-remount
++      rm -f debian/tmp/usr/lib/tmpfiles.d/ostree-tmpfiles.conf
++      :
++      dh_install
++
++override_dh_missing:
++      dh_missing --fail-missing
++
++override_dh_makeshlibs:
++      # this is an LD_PRELOAD, not a real shared library
++      dh_makeshlibs -Xinstalled-tests/ostree/libreaddir-rand.so
++
++override_dh_fixperms-arch:
++      # dh_fixperms assumes *.js are for browsers and makes them 0644.
++      dh_fixperms -X'*.js'
++      find debian/tmp -type f -name '*.js' -print0 | \
++              xargs -0r chmod -v go=rX,u+rw,a-s
++
++override_dh_systemd_start:
++      dh_systemd_start --no-start
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
diff --cc debian/test.sh
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d0dba67d5b965455a6cd0672dd8996665d0f2204
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,31 @@@
++#!/bin/sh
++
++set -e
++
++export VERBOSE=1
++
++# Ubuntu autopkgtest infra provides internet access via a proxy, and
++# buildds could conceivably do the same, but libostree doesn't need
++# that. However, libostree also doesn't support no_proxy, so it will try
++# to use Ubuntu's proxy for localhost, and fail to reach itself.
++unset ftp_proxy
++unset http_proxy
++unset https_proxy
++unset no_proxy
++
++failed=0
++make check || failed=1
++
++pkill --full "gpg-agent --homedir /var/tmp/tap-test\\.[^/]+/.*" || :
++pkill --full '\.libs/ostree-trivial-httpd' || :
++
++if pgrep lt-ostree || pgrep --full '\.libs/ostree-trivial-httpd' || pgrep --full "gpg-agent --homedir /var/tmp/tap-test."; then \
++    echo "WARNING: daemon processes were leaked"
++    pgrep gpg-agent | xargs --no-run-if-empty ps ww
++    pgrep --full '\.libs/ostree-trivial-httpd' | xargs --no-run-if-empty ps ww
++    pgrep lt-ostree | xargs --no-run-if-empty ps ww
++fi
++
++exit $failed
++
++# vim:set et sw=4 sts=4:
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..594e4f7700bae49bc5d78fb7eee9dc30de0877d1
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,22 @@@
++#!/bin/sh
++
++set -e
++exec 2>&1
++set -x
++
++cd "$ADTTMP"
++
++cat > trivial.c <<EOF
++#include <ostree.h>
++
++int main (void)
++{
++    g_object_unref (ostree_repo_new_default ());
++    return 0;
++}
++EOF
++
++gcc -o trivial trivial.c $(pkg-config --cflags --libs ostree-1 gobject-2.0)
++test -x trivial
++./trivial
++echo "ok 3 run it"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..88ffde7f521cb59890ff1513a9c9e55dabe0cc93
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++Tests: gnome-desktop-testing
++Depends: gnome-desktop-testing, ostree-tests
++
++Tests: build
++Depends: build-essential, libostree-dev, pkg-config
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c85f13cf6a299449424501da8fbf6aea41e8a977
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++#!/bin/sh
++
++set -e
++exec 2>&1
++
++# Ubuntu provides internet access via a proxy, but libostree doesn't need
++# that. However, libostree also doesn't support no_proxy, so it will try
++# to use Ubuntu's proxy for localhost, and fail to reach itself.
++unset ftp_proxy
++unset http_proxy
++unset https_proxy
++unset no_proxy
++
++exec gnome-desktop-testing-runner libostree
diff --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..048ca2ae1343082a3ae4ceb51acdc714931cae1b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++version=4
++https://github.com/ostreedev/ostree/releases .*/libostree-(\d\S*)\.tar\.xz