--- /dev/null
--- /dev/null
++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
--- /dev/null
--- /dev/null
++10
--- /dev/null
--- /dev/null
++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,
++ bison,
++ ca-certificates,
++ cpio,
++ debhelper (>= 10~),
++ docbook-xml,
++ docbook-xsl,
++ e2fslibs-dev,
++ elfutils,
++ fuse,
++ gjs,
++ gobject-introspection,
++ gtk-doc-tools,
++ 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,
++ procps,
++ xsltproc,
++ zlib1g-dev,
++Standards-Version: 3.9.8
++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)
++ OSTree is a tool 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},
++Multi-arch: same
++Description: content-addressed filesystem for operating system binaries (library)
++ OSTree is a tool and 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,
++ pkg-config,
++ ${misc:Depends},
++Suggests:
++ libostree-doc,
++Description: Development files for the ostree library
++ OSTree is a tool and 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 ostree.
++
++Package: libostree-doc
++Architecture: all
++Multi-Arch: foreign
++Section: doc
++Depends:
++ ${misc:Depends},
++Suggests:
++ devhelp,
++Description: Development documentation for the ostree library
++ OSTree is a tool for managing bootable, immutable, versioned filesystem
++ trees. See the ostree package's description for more details.
++ .
++ This package contains development documentation for ostree.
++
++Package: ostree
++Architecture: linux-any
++Depends:
++ ${misc:Depends},
++ ${shlibs:Depends},
++Description: content-addressed filesystem for operating system binaries
++ OSTree is a tool and 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.
++ .
++ 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,
++ ostree,
++ python,
++ ${misc:Depends},
++ ${shlibs:Depends},
++Description: content-addressed filesystem for operating system binaries - tests
++ OSTree is a tool for managing bootable, immutable, versioned filesystem
++ trees. See the ostree package's description for more details.
++ .
++ This package contains automated tests.
--- /dev/null
--- /dev/null
++Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: OSTree
++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.
++ © 2010-2016 Red Hat, Inc
++ © 2011-2016 Colin Walters <walters@verbum.org>
++ © 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 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.
++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.
++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.
--- /dev/null
--- /dev/null
++README.md
--- /dev/null
--- /dev/null
++[DEFAULT]
++pristine-tar = True
++compression = xz
++debian-branch = debian/master
++upstream-branch = upstream/latest
++patch-numbers = False
++upstream-vcs-tag = v%(version)s
--- /dev/null
--- /dev/null
++usr/lib/*/girepository-1.0
--- /dev/null
--- /dev/null
++usr/lib/*/libostree-1.so.*
--- /dev/null
--- /dev/null
++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
++ ostree_async_progress_finish@LIBOSTREE_2016.3 2016.4
++ 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_new@LIBOSTREE_2016.3 2016.4
++ ostree_async_progress_new_and_connect@LIBOSTREE_2016.3 2016.4
++ 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_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_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_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_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_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_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_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_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_prepare_transaction@LIBOSTREE_2016.3 2016.4
++ ostree_repo_prune@LIBOSTREE_2016.3 2016.4
++ 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_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_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_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_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_origin_file@LIBOSTREE_2016.3 2016.4
++ ostree_validate_checksum_string@LIBOSTREE_2016.3 2016.4
++ 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
--- /dev/null
--- /dev/null
++usr/include/*
++usr/lib/*/libostree-1.so
++usr/lib/*/pkgconfig
++usr/share/gir-1.0/OSTree-1.0.gir
--- /dev/null
--- /dev/null
++usr/share/gtk-doc
--- /dev/null
--- /dev/null
++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/
--- /dev/null
--- /dev/null
++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: ostree boot loader and initramfs integration
++ OSTree is a tool 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 using OSTree. 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 ostree, currently
++ GNU GRUB 2, syslinux/extlinux or Das U-Boot
--- /dev/null
--- /dev/null
++etc/dracut.conf.d/ostree.conf
++etc/grub.d/15_ostree
++lib/systemd/system/ostree-prepare-root.service
++lib/systemd/system/ostree-remount.service
++usr/lib/dracut/modules.d/98ostree
++usr/lib/ostree/grub2-15_ostree
++usr/lib/ostree/ostree-prepare-root
++usr/lib/ostree/ostree-remount
--- /dev/null
--- /dev/null
++usr/lib/installed-tests/ostree
++usr/share/installed-tests/ostree
--- /dev/null
--- /dev/null
++# 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/ostree/gpg-verify-data/lgpl2
++ostree-tests: extra-license-file usr/lib/installed-tests/ostree/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/ostree/tests .
--- /dev/null
--- /dev/null
++etc/ostree
++usr/bin/ostree
++usr/bin/rofiles-fuse
++usr/share/man
++usr/share/ostree/trusted.gpg.d
--- /dev/null
--- /dev/null
++From: Colin Walters <walters@verbum.org>
++Date: Mon, 28 Nov 2016 22:02:42 -0500
++Subject: [ASAN] bootconfig: Drop a pointless strdup in parser
++
++Not entirely sure how this was leaking, but anyways it showed
++up in ASAN, and it's pointless to strdup here.
++
++Closes: #598
++Approved by: jlebon
++---
++ src/libostree/ostree-bootconfig-parser.c | 5 ++---
++ 1 file changed, 2 insertions(+), 3 deletions(-)
++
++diff --git a/src/libostree/ostree-bootconfig-parser.c b/src/libostree/ostree-bootconfig-parser.c
++index f7728e4..a2ac107 100644
++--- a/src/libostree/ostree-bootconfig-parser.c
+++++ b/src/libostree/ostree-bootconfig-parser.c
++@@ -28,7 +28,7 @@ struct _OstreeBootconfigParser
++ GObject parent_instance;
++
++ gboolean parsed;
++- char *separators;
+++ const char *separators;
++
++ GHashTable *options;
++ GPtrArray *lines;
++@@ -235,7 +235,6 @@ ostree_bootconfig_parser_finalize (GObject *object)
++
++ g_hash_table_unref (self->options);
++ g_ptr_array_unref (self->lines);
++- g_free (self->separators);
++
++ G_OBJECT_CLASS (ostree_bootconfig_parser_parent_class)->finalize (object);
++ }
++@@ -261,6 +260,6 @@ ostree_bootconfig_parser_new (void)
++ OstreeBootconfigParser *self = NULL;
++
++ self = g_object_new (OSTREE_TYPE_BOOTCONFIG_PARSER, NULL);
++- self->separators = g_strdup (" \t");
+++ self->separators = " \t";
++ return self;
++ }
--- /dev/null
--- /dev/null
++From: Colin Walters <walters@verbum.org>
++Date: Mon, 28 Nov 2016 21:12:53 -0500
++Subject: [ASAN] cmdline: Fix minor leak in delta cmdline entrypoint
++
++Small, but it's important to stay clean.
++
++Closes: #598
++Approved by: jlebon
++---
++ src/ostree/ot-builtin-static-delta.c | 12 +++++++-----
++ 1 file changed, 7 insertions(+), 5 deletions(-)
++
++diff --git a/src/ostree/ot-builtin-static-delta.c b/src/ostree/ot-builtin-static-delta.c
++index ca29911..e1c3bb4 100644
++--- a/src/ostree/ot-builtin-static-delta.c
+++++ b/src/ostree/ot-builtin-static-delta.c
++@@ -336,11 +336,13 @@ ot_static_delta_builtin_generate (int argc, char **argv, GCancellable *cancellab
++ g_print ("Generating static delta:\n");
++ g_print (" From: %s\n", from_resolved ? from_resolved : "empty");
++ g_print (" To: %s\n", to_resolved);
++- if (!ostree_repo_static_delta_generate (repo, OSTREE_STATIC_DELTA_GENERATE_OPT_MAJOR,
++- from_resolved, to_resolved, NULL,
++- g_variant_builder_end (parambuilder),
++- cancellable, error))
++- goto out;
+++ { g_autoptr(GVariant) params = g_variant_ref_sink (g_variant_builder_end (parambuilder));
+++ if (!ostree_repo_static_delta_generate (repo, OSTREE_STATIC_DELTA_GENERATE_OPT_MAJOR,
+++ from_resolved, to_resolved, NULL,
+++ params,
+++ cancellable, error))
+++ goto out;
+++ }
++
++ }
++
--- /dev/null
--- /dev/null
++From: Colin Walters <walters@verbum.org>
++Date: Mon, 28 Nov 2016 21:11:37 -0500
++Subject: [ASAN] delta compilation: More leak fixes
++
++Now that I remembered to do `env G_SLICE=always-malloc`, lots more
++leaks become apparent. Nothing major.
++
++Closes: #598
++Approved by: jlebon
++---
++ .../ostree-repo-static-delta-compilation.c | 27 +++++++++++-----------
++ 1 file changed, 14 insertions(+), 13 deletions(-)
++
++diff --git a/src/libostree/ostree-repo-static-delta-compilation.c b/src/libostree/ostree-repo-static-delta-compilation.c
++index 22c45e6..1611d19 100644
++--- a/src/libostree/ostree-repo-static-delta-compilation.c
+++++ b/src/libostree/ostree-repo-static-delta-compilation.c
++@@ -132,7 +132,7 @@ xattr_chunk_hash (const void *vp)
++ {
++ const guint8* name;
++ const guint8* value_data;
++- GVariant *value = NULL;
+++ g_autoptr(GVariant) value = NULL;
++ gsize value_len;
++
++ g_variant_get_child (v, i, "(^&ay@ay)",
++@@ -911,9 +911,8 @@ generate_delta_lowlatency (OstreeRepo *repo,
++
++ ostree_object_name_deserialize (serialized_key, &checksum, &objtype);
++
++- g_variant_ref (serialized_key);
++ if (OSTREE_OBJECT_TYPE_IS_META (objtype))
++- g_hash_table_add (new_reachable_metadata, serialized_key);
+++ g_hash_table_add (new_reachable_metadata, g_variant_ref (serialized_key));
++ else
++ {
++ g_autoptr(GFileInfo) finfo = NULL;
++@@ -955,8 +954,9 @@ generate_delta_lowlatency (OstreeRepo *repo,
++ }
++
++ /* We already ship the to commit in the superblock, don't ship it twice */
++- g_hash_table_remove (new_reachable_metadata,
++- ostree_object_name_serialize (to, OSTREE_OBJECT_TYPE_COMMIT));
+++ { g_autoptr(GVariant) commit = ostree_object_name_serialize (to, OSTREE_OBJECT_TYPE_COMMIT);
+++ g_hash_table_remove (new_reachable_metadata, commit);
+++ }
++
++ rollsum_optimized_content_objects = g_hash_table_new_full (g_str_hash, g_str_equal,
++ g_free,
++@@ -1359,8 +1359,8 @@ ostree_repo_static_delta_generate (OstreeRepo *self,
++ for (i = 0; i < builder.parts->len; i++)
++ {
++ OstreeStaticDeltaPartBuilder *part_builder = builder.parts->pdata[i];
++- GBytes *payload_b;
++- GBytes *operations_b;
+++ g_autoptr(GBytes) payload_b;
+++ g_autoptr(GBytes) operations_b;
++ g_autofree guchar *part_checksum = NULL;
++ g_autoptr(GBytes) objtype_checksum_array = NULL;
++ g_autoptr(GBytes) checksum_bytes = NULL;
++@@ -1415,10 +1415,11 @@ ostree_repo_static_delta_generate (OstreeRepo *self,
++ }
++
++ /* FIXME - avoid duplicating memory here */
++- delta_part = g_variant_new ("(y@ay)",
++- compression_type_char,
++- ot_gvariant_new_ay_bytes (g_memory_output_stream_steal_as_bytes (part_payload_out)));
++- g_variant_ref_sink (delta_part);
+++ { g_autoptr(GBytes) payload = g_memory_output_stream_steal_as_bytes (part_payload_out);
+++ delta_part = g_variant_ref_sink (g_variant_new ("(y@ay)",
+++ compression_type_char,
+++ ot_gvariant_new_ay_bytes (payload)));
+++ }
++
++ if (inline_parts)
++ {
++@@ -1532,7 +1533,7 @@ ostree_repo_static_delta_generate (OstreeRepo *self,
++ /* floating */ GVariant *to_csum_v =
++ ostree_checksum_to_bytes_v (to);
++
++- delta_descriptor = g_variant_ref_sink (g_variant_new ("(@a{sv}t@ay@ay@" OSTREE_COMMIT_GVARIANT_STRING "ay"
+++ delta_descriptor = g_variant_ref_sink (g_variant_new ("(@a{sv}t@ay@ay@" OSTREE_COMMIT_GVARIANT_STRING "@ay"
++ "a" OSTREE_STATIC_DELTA_META_ENTRY_FORMAT
++ "@a" OSTREE_STATIC_DELTA_FALLBACK_FORMAT ")",
++ g_variant_builder_end (&metadata_builder),
++@@ -1540,7 +1541,7 @@ ostree_repo_static_delta_generate (OstreeRepo *self,
++ from_csum_v,
++ to_csum_v,
++ to_commit,
++- g_variant_builder_new (G_VARIANT_TYPE ("ay")),
+++ ot_gvariant_new_bytearray ((guchar*)"", 0),
++ part_headers,
++ fallback_headers));
++ g_date_time_unref (now);
--- /dev/null
--- /dev/null
++From: Colin Walters <walters@verbum.org>
++Date: Mon, 28 Nov 2016 21:12:23 -0500
++Subject: [ASAN] deltas: Fix minor memory leak
++
++We were leaking the checksum, ensure we free it in both normal and
++error paths.
++
++Closes: #598
++Approved by: jlebon
++---
++ src/libostree/ostree-repo-static-delta-processing.c | 2 ++
++ 1 file changed, 2 insertions(+)
++
++diff --git a/src/libostree/ostree-repo-static-delta-processing.c b/src/libostree/ostree-repo-static-delta-processing.c
++index eabe392..ff5a8a1 100644
++--- a/src/libostree/ostree-repo-static-delta-processing.c
+++++ b/src/libostree/ostree-repo-static-delta-processing.c
++@@ -286,6 +286,7 @@ _ostree_static_delta_part_execute (OstreeRepo *repo,
++
++ ret = TRUE;
++ out:
+++ g_clear_pointer (&state->content_checksum, g_checksum_free);
++ return ret;
++ }
++
++@@ -941,6 +942,7 @@ dispatch_close (OstreeRepo *repo,
++ goto out;
++
++ g_clear_pointer (&state->xattrs, g_variant_unref);
+++ g_clear_pointer (&state->content_checksum, g_checksum_free);
++ g_clear_object (&state->content_out);
++
++ state->checksum_index++;
--- /dev/null
--- /dev/null
++From: Colin Walters <walters@verbum.org>
++Date: Mon, 28 Nov 2016 22:01:33 -0500
++Subject: [ASAN] metalink: Fix leaks of buffer
++
++We should be religious about the "only set output variables on
++success", otherwise it makes leaks more likely.
++
++But the real leak was us simply not using autoptr in one place.
++
++Closes: #598
++Approved by: jlebon
++---
++ src/libostree/ostree-metalink.c | 13 ++++++++-----
++ 1 file changed, 8 insertions(+), 5 deletions(-)
++
++diff --git a/src/libostree/ostree-metalink.c b/src/libostree/ostree-metalink.c
++index ad3d5bf..b3c8b15 100644
++--- a/src/libostree/ostree-metalink.c
+++++ b/src/libostree/ostree-metalink.c
++@@ -479,7 +479,7 @@ try_one_url (OstreeMetalinkRequest *self,
++
++ ret = TRUE;
++ if (out_data)
++- *out_data = g_bytes_ref (bytes);
+++ *out_data = g_steal_pointer (&bytes);
++ out:
++ return ret;
++ }
++@@ -492,6 +492,7 @@ try_metalink_targets (OstreeMetalinkRequest *self,
++ {
++ gboolean ret = FALSE;
++ SoupURI *target_uri = NULL;
+++ g_autoptr(GBytes) ret_data = NULL;
++
++ if (!self->found_a_file_element)
++ {
++@@ -546,7 +547,7 @@ try_metalink_targets (OstreeMetalinkRequest *self,
++
++ target_uri = self->urls->pdata[self->current_url_index];
++
++- if (try_one_url (self, target_uri, out_data, &temp_error))
+++ if (try_one_url (self, target_uri, &ret_data, &temp_error))
++ break;
++ else
++ {
++@@ -568,6 +569,8 @@ try_metalink_targets (OstreeMetalinkRequest *self,
++ ret = TRUE;
++ if (out_target_uri)
++ *out_target_uri = soup_uri_copy (target_uri);
+++ if (out_data)
+++ *out_data = g_steal_pointer (&ret_data);
++ out:
++ return ret;
++ }
++@@ -599,7 +602,7 @@ _ostree_metalink_request_sync (OstreeMetalink *self,
++ gboolean ret = FALSE;
++ OstreeMetalinkRequest request = { 0, };
++ g_autoptr(GMainContext) mainctx = NULL;
++- GBytes *out_contents = NULL;
+++ g_autoptr(GBytes) contents = NULL;
++ gsize len;
++ const guint8 *data;
++
++@@ -614,13 +617,13 @@ _ostree_metalink_request_sync (OstreeMetalink *self,
++ self->uri,
++ FALSE,
++ FALSE,
++- &out_contents,
+++ &contents,
++ self->max_size,
++ cancellable,
++ error))
++ goto out;
++
++- data = g_bytes_get_data (out_contents, &len);
+++ data = g_bytes_get_data (contents, &len);
++ if (!g_markup_parse_context_parse (request.parser, (const char*)data, len, error))
++ goto out;
++
--- /dev/null
--- /dev/null
++From: Colin Walters <walters@verbum.org>
++Date: Mon, 28 Nov 2016 22:03:24 -0500
++Subject: [ASAN] set-origin: Squash a leak
++
++Just a minor leak in the commandline.
++
++Closes: #598
++Approved by: jlebon
++---
++ src/ostree/ot-admin-builtin-set-origin.c | 4 +++-
++ 1 file changed, 3 insertions(+), 1 deletion(-)
++
++diff --git a/src/ostree/ot-admin-builtin-set-origin.c b/src/ostree/ot-admin-builtin-set-origin.c
++index 0e79ab5..2b6866c 100644
++--- a/src/ostree/ot-admin-builtin-set-origin.c
+++++ b/src/ostree/ot-admin-builtin-set-origin.c
++@@ -50,7 +50,7 @@ ot_admin_builtin_set_origin (int argc, char **argv, GCancellable *cancellable, G
++ const char *branch = NULL;
++ glnx_unref_object OstreeRepo *repo = NULL;
++ glnx_unref_object OstreeSysroot *sysroot = NULL;
++- OstreeDeployment *target_deployment = NULL;
+++ glnx_unref_object OstreeDeployment *target_deployment = NULL;
++
++ context = g_option_context_new ("REMOTENAME URL [BRANCH]");
++
++@@ -85,6 +85,8 @@ ot_admin_builtin_set_origin (int argc, char **argv, GCancellable *cancellable, G
++ "Not currently booted into an OSTree system");
++ goto out;
++ }
+++ /* To match the below */
+++ target_deployment = g_object_ref (target_deployment);
++ }
++ else
++ {
--- /dev/null
--- /dev/null
++From: Colin Walters <walters@verbum.org>
++Date: Mon, 28 Nov 2016 22:00:01 -0500
++Subject: [ASAN] sysroot: Fix leak/double free of keyfile origin
++
++Use autoptr rather than manual cleanup. The double free isn't a
++security problem, since we trust origin files.
++
++Closes: #598
++Approved by: jlebon
++---
++ src/libostree/ostree-deployment.c | 2 +-
++ src/libostree/ostree-sysroot.c | 6 +-----
++ 2 files changed, 2 insertions(+), 6 deletions(-)
++
++diff --git a/src/libostree/ostree-deployment.c b/src/libostree/ostree-deployment.c
++index 7b93e6c..67e896b 100644
++--- a/src/libostree/ostree-deployment.c
+++++ b/src/libostree/ostree-deployment.c
++@@ -133,7 +133,6 @@ OstreeDeployment *
++ ostree_deployment_clone (OstreeDeployment *self)
++ {
++ glnx_unref_object OstreeBootconfigParser *new_bootconfig = NULL;
++- GKeyFile *new_origin = NULL;
++ OstreeDeployment *ret = ostree_deployment_new (self->index, self->osname, self->csum,
++ self->deployserial,
++ self->bootcsum, self->bootserial);
++@@ -143,6 +142,7 @@ ostree_deployment_clone (OstreeDeployment *self)
++
++ if (self->origin)
++ {
+++ g_autoptr(GKeyFile) new_origin = NULL;
++ g_autofree char *data = NULL;
++ gsize len;
++ gboolean success;
++diff --git a/src/libostree/ostree-sysroot.c b/src/libostree/ostree-sysroot.c
++index 608d4cf..70ce156 100644
++--- a/src/libostree/ostree-sysroot.c
+++++ b/src/libostree/ostree-sysroot.c
++@@ -613,8 +613,6 @@ parse_origin (OstreeSysroot *self,
++ out:
++ if (error)
++ g_prefix_error (error, "Parsing %s: ", origin_path);
++- if (ret_origin)
++- g_key_file_unref (ret_origin);
++ return ret;
++ }
++
++@@ -689,7 +687,7 @@ parse_deployment (OstreeSysroot *self,
++ glnx_fd_close int deployment_dfd = -1;
++ const char *deploy_basename;
++ g_autofree char *treebootserial_target = NULL;
++- GKeyFile *origin = NULL;
+++ g_autoptr(GKeyFile) origin = NULL;
++ g_autofree char *unlocked_development_path = NULL;
++ struct stat stbuf;
++
++@@ -751,8 +749,6 @@ parse_deployment (OstreeSysroot *self,
++ if (out_deployment)
++ *out_deployment = g_steal_pointer (&ret_deployment);
++ out:
++- if (origin)
++- g_key_file_unref (origin);
++ return ret;
++ }
++
--- /dev/null
--- /dev/null
++From: Colin Walters <walters@verbum.org>
++Date: Mon, 28 Nov 2016 22:03:53 -0500
++Subject: [ASAN] tests: Fix leaks
++
++Just for cleaner sanitizer output.
++
++Closes: #598
++Approved by: jlebon
++---
++ tests/test-basic-c.c | 1 -
++ tests/test-keyfile-utils.c | 17 ++++++++++++++---
++ tests/test-libarchive-import.c | 5 +++--
++ tests/test-pull-c.c | 1 +
++ tests/test-rollsum.c | 4 ++--
++ 5 files changed, 20 insertions(+), 8 deletions(-)
++
++diff --git a/tests/test-basic-c.c b/tests/test-basic-c.c
++index 447c46e..8e7882b 100644
++--- a/tests/test-basic-c.c
+++++ b/tests/test-basic-c.c
++@@ -73,7 +73,6 @@ test_raw_file_to_archive_z2_stream (gconstpointer data)
++ &commit_checksum,
++ &error);
++ g_assert_no_error (error);
++- reachable = ostree_repo_traverse_new_reachable ();
++ ostree_repo_traverse_commit (repo,
++ commit_checksum,
++ -1,
++diff --git a/tests/test-keyfile-utils.c b/tests/test-keyfile-utils.c
++index 4bf3757..8fd5916 100644
++--- a/tests/test-keyfile-utils.c
+++++ b/tests/test-keyfile-utils.c
++@@ -31,7 +31,7 @@ static GKeyFile *g_keyfile;
++ static void
++ test_get_boolean_with_default (void)
++ {
++- GError *error = NULL;
+++ g_autoptr(GError) error = NULL;
++ gboolean out = FALSE;
++
++ GLogLevelFlags always_fatal_mask;
++@@ -46,18 +46,21 @@ test_get_boolean_with_default (void)
++ FALSE,
++ &out,
++ &error));
+++ g_clear_error (&error);
++ g_assert_false (ot_keyfile_get_boolean_with_default (g_keyfile,
++ NULL,
++ "a_boolean_true",
++ FALSE,
++ &out,
++ &error));
+++ g_clear_error (&error);
++ g_assert_false (ot_keyfile_get_boolean_with_default (g_keyfile,
++ "section",
++ NULL,
++ FALSE,
++ &out,
++ &error));
+++ g_clear_error (&error);
++
++ /* Restore the old mask. */
++ g_log_set_always_fatal (always_fatal_mask);
++@@ -86,6 +89,7 @@ test_get_boolean_with_default (void)
++ &error));
++ g_assert_true (out);
++
+++ g_clear_error (&error);
++ g_assert_false (ot_keyfile_get_boolean_with_default (g_keyfile,
++ "a_fake_section",
++ "a_boolean_true",
++@@ -97,8 +101,8 @@ test_get_boolean_with_default (void)
++ static void
++ test_get_value_with_default (void)
++ {
++- GError *error = NULL;
++- char *out = NULL;
+++ g_autoptr(GError) error = NULL;
+++ g_autofree char *out = NULL;
++ GLogLevelFlags always_fatal_mask;
++ const char *section = "section";
++
++@@ -112,18 +116,21 @@ test_get_value_with_default (void)
++ "none",
++ &out,
++ &error));
+++ g_clear_pointer (&out, g_free);
++ g_assert_false (ot_keyfile_get_value_with_default (g_keyfile,
++ section,
++ NULL,
++ "none",
++ &out,
++ &error));
+++ g_clear_pointer (&out, g_free);
++ g_assert_false (ot_keyfile_get_value_with_default (g_keyfile,
++ section,
++ NULL,
++ "something",
++ &out,
++ &error));
+++ g_clear_pointer (&out, g_free);
++
++ /* Restore the old mask. */
++ g_log_set_always_fatal (always_fatal_mask);
++@@ -135,6 +142,7 @@ test_get_value_with_default (void)
++ &out,
++ &error));
++ g_assert_cmpstr (out, ==, "foo");
+++ g_clear_pointer (&out, g_free);
++
++ g_assert (ot_keyfile_get_value_with_default (g_keyfile,
++ section,
++@@ -143,6 +151,7 @@ test_get_value_with_default (void)
++ &out,
++ &error));
++ g_assert_cmpstr (out, ==, "correct");
+++ g_clear_pointer (&out, g_free);
++
++ g_assert_false (ot_keyfile_get_value_with_default (g_keyfile,
++ "a_fake_section",
++@@ -150,6 +159,8 @@ test_get_value_with_default (void)
++ "no value",
++ &out,
++ &error));
+++ g_clear_error (&error);
+++ g_clear_pointer (&out, g_free);
++ }
++
++ static void
++diff --git a/tests/test-libarchive-import.c b/tests/test-libarchive-import.c
++index 05c5568..254d414 100644
++--- a/tests/test-libarchive-import.c
+++++ b/tests/test-libarchive-import.c
++@@ -180,7 +180,7 @@ static void
++ test_libarchive_autocreate_empty (gconstpointer data)
++ {
++ TestData *td = (void*)data;
++- GError *error = NULL;
+++ g_autoptr(GError) error = NULL;
++ struct archive *a = archive_read_new ();
++ OstreeRepoImportArchiveOptions opts = { 0, };
++ glnx_unref_object OstreeMutableTree *mtree = ostree_mutable_tree_new ();
++@@ -198,7 +198,7 @@ static void
++ test_libarchive_error_device_file (gconstpointer data)
++ {
++ TestData *td = (void*)data;
++- GError *error = NULL;
+++ g_autoptr(GError) error = NULL;
++ struct archive *a = archive_read_new ();
++ OstreeRepoImportArchiveOptions opts = { 0, };
++ glnx_unref_object OstreeMutableTree *mtree = ostree_mutable_tree_new ();
++@@ -563,6 +563,7 @@ int main (int argc, char **argv)
++
++ r = g_test_run();
++
+++ g_clear_object (&td.repo);
++ if (td.tmpd && g_getenv ("TEST_SKIP_CLEANUP") == NULL)
++ (void) glnx_shutil_rm_rf_at (AT_FDCWD, td.tmpd, NULL, NULL);
++ g_free (td.tmpd);
++diff --git a/tests/test-pull-c.c b/tests/test-pull-c.c
++index d784312..43d5d61 100644
++--- a/tests/test-pull-c.c
+++++ b/tests/test-pull-c.c
++@@ -127,6 +127,7 @@ int main (int argc, char **argv)
++ g_test_add_data_func ("/test-pull-c/multi-ok-error-repeat", &td, test_pull_multi_error_then_ok);
++
++ r = g_test_run();
+++ g_clear_object (&td.repo);
++
++ return r;
++ }
++diff --git a/tests/test-rollsum.c b/tests/test-rollsum.c
++index 97aeb0a..1ed9964 100644
++--- a/tests/test-rollsum.c
+++++ b/tests/test-rollsum.c
++@@ -74,8 +74,8 @@ test_rollsum (void)
++ #define MAX_BUFFER_SIZE 1000000
++ gsize i;
++ int len;
++- unsigned char *a = malloc (MAX_BUFFER_SIZE);
++- unsigned char *b = malloc (MAX_BUFFER_SIZE);
+++ g_autofree unsigned char *a = malloc (MAX_BUFFER_SIZE);
+++ g_autofree unsigned char *b = malloc (MAX_BUFFER_SIZE);
++ g_autoptr(GRand) rand = g_rand_new ();
++
++ /* These two buffers produce the same crc32. */
--- /dev/null
--- /dev/null
++From: Simon McVittie <smcv@debian.org>
++Date: Thu, 1 Dec 2016 11:25:33 +0000
++Subject: Terminate individual tests after 10 minutes
++
++While using the Automake parallel test harness, if a test hangs for
++long enough for an external watchdog to kill the entire build process
++(as happens in Debian sbuild after 150 minutes with no activity on
++stdout/stderr), the logs will not be shown. If we make an individual
++test time out sooner, logs are more likely to be shown.
++
++We use SIGABRT so that the process(es) under test will dump core,
++allowing the point at which ostree is blocking to be analyzed.
++After 1 minute, if any have not died, we kill them again with SIGKILL.
++
++Signed-off-by: Simon McVittie <smcv@debian.org>
++Forwarded: https://github.com/ostreedev/ostree/pull/607
++---
++ buildutil/tap-test | 2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++diff --git a/buildutil/tap-test b/buildutil/tap-test
++index c8da31e..4adee45 100755
++--- a/buildutil/tap-test
+++++ b/buildutil/tap-test
++@@ -19,7 +19,7 @@ function skip_cleanup() {
++ echo "Skipping cleanup of ${tempdir}"
++ }
++ cd ${tempdir}
++-${srcd}/${bn} -k --tap
+++timeout --kill-after=60 --signal=ABRT 600 ${srcd}/${bn} -k --tap
++ rc=$?
++ case "${TEST_SKIP_CLEANUP:-}" in
++ no|"") cleanup ;;
--- /dev/null
--- /dev/null
++From: Alexander Larsson <alexl@redhat.com>
++Date: Mon, 28 Nov 2016 17:21:59 +0100
++Subject: delta compilation: Fix leak
++
++We need to ref-sik the new varian for g_autoptr to work
++
++Closes: #597
++Approved by: cgwalters
++Origin: upstream, 2016.15, commit:d57036f
++---
++ .../ostree-repo-static-delta-compilation.c | 22 +++++++++++-----------
++ 1 file changed, 11 insertions(+), 11 deletions(-)
++
++diff --git a/src/libostree/ostree-repo-static-delta-compilation.c b/src/libostree/ostree-repo-static-delta-compilation.c
++index 4b0bc50..22c45e6 100644
++--- a/src/libostree/ostree-repo-static-delta-compilation.c
+++++ b/src/libostree/ostree-repo-static-delta-compilation.c
++@@ -1532,17 +1532,17 @@ ostree_repo_static_delta_generate (OstreeRepo *self,
++ /* floating */ GVariant *to_csum_v =
++ ostree_checksum_to_bytes_v (to);
++
++- delta_descriptor = g_variant_new ("(@a{sv}t@ay@ay@" OSTREE_COMMIT_GVARIANT_STRING "ay"
++- "a" OSTREE_STATIC_DELTA_META_ENTRY_FORMAT
++- "@a" OSTREE_STATIC_DELTA_FALLBACK_FORMAT ")",
++- g_variant_builder_end (&metadata_builder),
++- GUINT64_TO_BE (g_date_time_to_unix (now)),
++- from_csum_v,
++- to_csum_v,
++- to_commit,
++- g_variant_builder_new (G_VARIANT_TYPE ("ay")),
++- part_headers,
++- fallback_headers);
+++ delta_descriptor = g_variant_ref_sink (g_variant_new ("(@a{sv}t@ay@ay@" OSTREE_COMMIT_GVARIANT_STRING "ay"
+++ "a" OSTREE_STATIC_DELTA_META_ENTRY_FORMAT
+++ "@a" OSTREE_STATIC_DELTA_FALLBACK_FORMAT ")",
+++ g_variant_builder_end (&metadata_builder),
+++ GUINT64_TO_BE (g_date_time_to_unix (now)),
+++ from_csum_v,
+++ to_csum_v,
+++ to_commit,
+++ g_variant_builder_new (G_VARIANT_TYPE ("ay")),
+++ part_headers,
+++ fallback_headers));
++ g_date_time_unref (now);
++ }
++
--- /dev/null
--- /dev/null
++From: Alexander Larsson <alexl@redhat.com>
++Date: Mon, 28 Nov 2016 15:31:04 +0100
++Subject: ostree-repo-traverse: Don't leak floating GVariant
++
++ostree_object_name_serialize returns a floating ref, so we need
++to sink it before putting in the hashtable.
++
++Closes: #595
++Approved by: cgwalters
++Origin: upstream, 2016.15, commit:fc107e5
++---
++ src/libostree/ostree-repo-traverse.c | 8 ++++----
++ 1 file changed, 4 insertions(+), 4 deletions(-)
++
++diff --git a/src/libostree/ostree-repo-traverse.c b/src/libostree/ostree-repo-traverse.c
++index e620a8a..46f8324 100644
++--- a/src/libostree/ostree-repo-traverse.c
+++++ b/src/libostree/ostree-repo-traverse.c
++@@ -348,7 +348,7 @@ traverse_iter (OstreeRepo *repo,
++ ostree_repo_commit_traverse_iter_get_file (iter, &name, &checksum);
++
++ g_debug ("Found file object %s", checksum);
++- key = ostree_object_name_serialize (checksum, OSTREE_OBJECT_TYPE_FILE);
+++ key = g_variant_ref_sink (ostree_object_name_serialize (checksum, OSTREE_OBJECT_TYPE_FILE));
++ g_hash_table_replace (inout_reachable, key, key);
++ key = NULL;
++ }
++@@ -363,11 +363,11 @@ traverse_iter (OstreeRepo *repo,
++
++ g_debug ("Found dirtree object %s", content_checksum);
++ g_debug ("Found dirmeta object %s", meta_checksum);
++- key = ostree_object_name_serialize (meta_checksum, OSTREE_OBJECT_TYPE_DIR_META);
+++ key = g_variant_ref_sink (ostree_object_name_serialize (meta_checksum, OSTREE_OBJECT_TYPE_DIR_META));
++ g_hash_table_replace (inout_reachable, key, key);
++ key = NULL;
++
++- key = ostree_object_name_serialize (content_checksum, OSTREE_OBJECT_TYPE_DIR_TREE);
+++ key = g_variant_ref_sink (ostree_object_name_serialize (content_checksum, OSTREE_OBJECT_TYPE_DIR_TREE));
++ if (!g_hash_table_lookup (inout_reachable, key))
++ {
++ g_hash_table_replace (inout_reachable, key, key);
++@@ -463,7 +463,7 @@ ostree_repo_traverse_commit_union (OstreeRepo *repo,
++ OstreeRepoCommitState commitstate;
++ gboolean ignore_missing_dirs = FALSE;
++
++- key = ostree_object_name_serialize (commit_checksum, OSTREE_OBJECT_TYPE_COMMIT);
+++ key = g_variant_ref_sink (ostree_object_name_serialize (commit_checksum, OSTREE_OBJECT_TYPE_COMMIT));
++
++ if (g_hash_table_contains (inout_reachable, key))
++ break;
--- /dev/null
--- /dev/null
++From: "Jasper St. Pierre" <jstpierre@mecheye.net>
++Date: Wed, 23 Nov 2016 13:52:39 -0800
++Subject: ostree-repo-traverse: Remove an accidental print statement
++
++Closes: #594
++Approved by: jlebon
++Origin: upstream, 2016.15, commit:70d140d
++---
++ src/libostree/ostree-repo-traverse.c | 2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++diff --git a/src/libostree/ostree-repo-traverse.c b/src/libostree/ostree-repo-traverse.c
++index 5d99476..e620a8a 100644
++--- a/src/libostree/ostree-repo-traverse.c
+++++ b/src/libostree/ostree-repo-traverse.c
++@@ -407,7 +407,7 @@ traverse_dirtree (OstreeRepo *repo,
++ if (ignore_missing_dirs &&
++ g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
++ {
++- g_print ("Ignoring not-found dirmeta %s", checksum);
+++ g_debug ("Ignoring not-found dirmeta %s", checksum);
++ ret = TRUE;
++ }
++ else
--- /dev/null
--- /dev/null
++From: Alexander Larsson <alexl@redhat.com>
++Date: Mon, 28 Nov 2016 15:57:11 +0100
++Subject: pull: Don't leak delta superblock variants
++
++Closes: #596
++Approved by: cgwalters
++Origin: upstream, 2016.15, commit:36f7824
++---
++ src/libostree/ostree-repo-pull.c | 6 +++---
++ 1 file changed, 3 insertions(+), 3 deletions(-)
++
++diff --git a/src/libostree/ostree-repo-pull.c b/src/libostree/ostree-repo-pull.c
++index 303daec..ffa387a 100644
++--- a/src/libostree/ostree-repo-pull.c
+++++ b/src/libostree/ostree-repo-pull.c
++@@ -1478,8 +1478,8 @@ request_static_delta_superblock_sync (OtPullData *pull_data,
++ }
++ }
++
++- ret_delta_superblock = g_variant_new_from_bytes ((GVariantType*)OSTREE_STATIC_DELTA_SUPERBLOCK_FORMAT,
++- delta_superblock_data, FALSE);
+++ ret_delta_superblock = g_variant_ref_sink (g_variant_new_from_bytes ((GVariantType*)OSTREE_STATIC_DELTA_SUPERBLOCK_FORMAT,
+++ delta_superblock_data, FALSE));
++ }
++
++ ret = TRUE;
++@@ -2951,7 +2951,7 @@ ostree_repo_pull_with_options (OstreeRepo *self,
++ g_autofree char *from_revision = NULL;
++ const char *ref = key;
++ const char *to_revision = value;
++- GVariant *delta_superblock = NULL;
+++ g_autoptr(GVariant) delta_superblock = NULL;
++
++ if (!ostree_repo_resolve_rev (pull_data->repo, ref, TRUE,
++ &from_revision, error))
--- /dev/null
--- /dev/null
++From: Alexander Larsson <alexl@redhat.com>
++Date: Mon, 28 Nov 2016 13:58:19 +0100
++Subject: pull: scan_commit_object() - don't load variant twice
++
++ostree_repo_load_commit already loaded the object, no need
++to load it twice.
++
++Closes: #595
++Approved by: cgwalters
++Origin: upstream, 2016.15, commit:c9b158e
++---
++ src/libostree/ostree-repo-pull.c | 4 ----
++ 1 file changed, 4 deletions(-)
++
++diff --git a/src/libostree/ostree-repo-pull.c b/src/libostree/ostree-repo-pull.c
++index 9e96079..6f32c77 100644
++--- a/src/libostree/ostree-repo-pull.c
+++++ b/src/libostree/ostree-repo-pull.c
++@@ -1137,10 +1137,6 @@ scan_commit_object (OtPullData *pull_data,
++ is_partial = pull_data->legacy_transaction_resuming
++ || (commitstate & OSTREE_REPO_COMMIT_STATE_PARTIAL) > 0;
++
++- if (!ostree_repo_load_variant (pull_data->repo, OSTREE_OBJECT_TYPE_COMMIT, checksum,
++- &commit, error))
++- goto out;
++-
++ /* PARSE OSTREE_SERIALIZED_COMMIT_VARIANT */
++ g_variant_get_child (commit, 1, "@ay", &parent_csum);
++ if (g_variant_n_children (parent_csum) > 0)
--- /dev/null
--- /dev/null
++From: Alexander Larsson <alexl@redhat.com>
++Date: Mon, 28 Nov 2016 15:56:50 +0100
++Subject: pull_with_options: Don't leak csum_v
++
++Closes: #596
++Approved by: cgwalters
++Origin: upstream, 2016.15, commit:239cb14
++---
++ src/libostree/ostree-repo-pull.c | 2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++diff --git a/src/libostree/ostree-repo-pull.c b/src/libostree/ostree-repo-pull.c
++index 6f32c77..303daec 100644
++--- a/src/libostree/ostree-repo-pull.c
+++++ b/src/libostree/ostree-repo-pull.c
++@@ -2800,7 +2800,7 @@ ostree_repo_pull_with_options (OstreeRepo *self,
++ for (i = 0; i < n; i++)
++ {
++ const char *delta;
++- GVariant *csum_v = NULL;
+++ g_autoptr(GVariant) csum_v = NULL;
++ guchar *csum_data = g_malloc (OSTREE_SHA256_DIGEST_LEN);
++ g_autoptr(GVariant) ref = g_variant_get_child_value (deltas, i);
++
--- /dev/null
--- /dev/null
++ostree-repo-traverse-Remove-an-accidental-print-statement.patch
++pull-scan_commit_object-don-t-load-variant-twice.patch
++ostree-repo-traverse-Don-t-leak-floating-GVariant.patch
++pull_with_options-Don-t-leak-csum_v.patch
++pull-Don-t-leak-delta-superblock-variants.patch
++delta-compilation-Fix-leak.patch
++ASAN-delta-compilation-More-leak-fixes.patch
++ASAN-deltas-Fix-minor-memory-leak.patch
++ASAN-cmdline-Fix-minor-leak-in-delta-cmdline-entrypoint.patch
++traverse-Use-g_hash_table_add.patch
++ASAN-sysroot-Fix-leak-double-free-of-keyfile-origin.patch
++ASAN-metalink-Fix-leaks-of-buffer.patch
++ASAN-bootconfig-Drop-a-pointless-strdup-in-parser.patch
++ASAN-set-origin-Squash-a-leak.patch
++ASAN-tests-Fix-leaks.patch
++Terminate-individual-tests-after-10-minutes.patch
--- /dev/null
--- /dev/null
++From: Colin Walters <walters@verbum.org>
++Date: Mon, 28 Nov 2016 21:14:47 -0500
++Subject: traverse: Use g_hash_table_add
++
++And "move semantics" via `g_steal_pointer()`. Just a minor code
++cleanup I noticed when I was hunting for a leak, which ended up being
++elsewhere.
++
++Closes: #598
++Approved by: jlebon
++---
++ src/libostree/ostree-repo-traverse.c | 9 +++------
++ 1 file changed, 3 insertions(+), 6 deletions(-)
++
++diff --git a/src/libostree/ostree-repo-traverse.c b/src/libostree/ostree-repo-traverse.c
++index 46f8324..d125f01 100644
++--- a/src/libostree/ostree-repo-traverse.c
+++++ b/src/libostree/ostree-repo-traverse.c
++@@ -349,8 +349,7 @@ traverse_iter (OstreeRepo *repo,
++
++ g_debug ("Found file object %s", checksum);
++ key = g_variant_ref_sink (ostree_object_name_serialize (checksum, OSTREE_OBJECT_TYPE_FILE));
++- g_hash_table_replace (inout_reachable, key, key);
++- key = NULL;
+++ g_hash_table_add (inout_reachable, g_steal_pointer (&key));
++ }
++ else if (iterres == OSTREE_REPO_COMMIT_ITER_RESULT_DIR)
++ {
++@@ -364,14 +363,12 @@ traverse_iter (OstreeRepo *repo,
++ g_debug ("Found dirtree object %s", content_checksum);
++ g_debug ("Found dirmeta object %s", meta_checksum);
++ key = g_variant_ref_sink (ostree_object_name_serialize (meta_checksum, OSTREE_OBJECT_TYPE_DIR_META));
++- g_hash_table_replace (inout_reachable, key, key);
++- key = NULL;
+++ g_hash_table_add (inout_reachable, g_steal_pointer (&key));
++
++ key = g_variant_ref_sink (ostree_object_name_serialize (content_checksum, OSTREE_OBJECT_TYPE_DIR_TREE));
++ if (!g_hash_table_lookup (inout_reachable, key))
++ {
++- g_hash_table_replace (inout_reachable, key, key);
++- key = NULL;
+++ g_hash_table_add (inout_reachable, g_steal_pointer (&key));
++
++ if (!traverse_dirtree (repo, content_checksum, inout_reachable,
++ ignore_missing_dirs, cancellable, error))
--- /dev/null
--- /dev/null
++#!/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
++
++%:
++ dh $@ --with=gir
++
++override_dh_auto_clean:
++ if [ -e Makefile ]; then dh_auto_clean; fi
++
++override_dh_autoreconf:
++ env NOCONFIGURE=1 dh_autoreconf ./autogen.sh
++
++override_dh_auto_configure:
++ dh_auto_configure -- \
++ --disable-silent-rules \
++ --enable-gtk-doc \
++ --enable-installed-tests \
++ --libexecdir='$${prefix}/lib' \
++ --with-dracut \
++ --with-grub2 \
++ --with-grub2-mkconfig-path=/usr/sbin/grub-mkconfig \
++ --with-systemdsystemunitdir=/lib/systemd/system \
++ $(NULL)
++ chmod +x tests/*.js
++ chmod +x tests/*.sh
++
++override_dh_auto_test:
++ debian/test.sh
++
++override_dh_auto_install:
++ dh_auto_install
++ # 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)
++
++override_dh_install:
++ rm -f debian/tmp/usr/lib/*/*.la
++ rm -f debian/tmp/usr/lib/installed-tests/ostree/*.la
++ :
++ # FIXME: 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/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/ostree/grub2-15_ostree
++ rm -f debian/tmp/usr/lib/ostree/ostree-prepare-root
++ rm -f debian/tmp/usr/lib/ostree/ostree-remount
++ :
++ dh_install --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 -X'*.js'
++ chmod -v 0755 debian/ostree-tests/usr/lib/installed-tests/ostree/*.js
++ chmod -v 0755 debian/ostree-tests/usr/lib/installed-tests/ostree/*.py
++ chmod -v 0755 debian/ostree-tests/usr/lib/installed-tests/ostree/*.sh
++ # this one is a library, not a script
++ chmod -v 0644 debian/ostree-tests/usr/lib/installed-tests/ostree/libtest.sh
++
++override_dh_systemd_start:
++ dh_systemd_start --no-start
--- /dev/null
--- /dev/null
++3.0 (quilt)
--- /dev/null
--- /dev/null
++#!/bin/sh
++
++set -e
++
++ignore=
++
++case "$DEB_HOST_ARCH" in
++ (mipsel)
++ ignore=yes
++ ;;
++esac
++
++export VERBOSE=1
++
++try_tests=5
++
++failed=0
++make check || failed=1
++
++if [ "$failed" -gt 0 ] || [ -n "$ignore" ]; then
++ [ "$failed" -eq 0 ] || echo "Test failed! Checking how reproducible it is..."
++ for i in $(seq 1 "$(( $try_tests - 1 ))"); do
++ if ! make check; then
++ failed=$(( $failed + 1 ))
++ fi
++ done
++fi
++
++pkill --full "gpg-agent --homedir /var/tmp/tap-test\\.[^/]+/.*" || :
++
++if pgrep lt-ostree || 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 lt-ostree | xargs --no-run-if-empty ps ww
++fi
++
++# There are several race conditions that cause intermittent failures.
++# They are not actually a regression - we've just been luckier in the
++# past - so let newer versions build reliably.
++if [ "$failed" -gt 2 ]; then
++ echo "Failed $failed out of $try_tests test runs"
++ if [ -z "$ignore" ]; then
++ exit 1
++ else
++ echo "Ignoring test failure for this architecture"
++ fi
++elif [ "$failed" -gt 0 ]; then
++ echo "Failed $failed out of $try_tests test runs; continuing anyway"
++fi
++
++exit 0
++
++# vim:set et sw=4 sts=4:
--- /dev/null
--- /dev/null
++#!/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"
--- /dev/null
--- /dev/null
++Tests: gnome-desktop-testing
++Depends: gnome-desktop-testing, ostree-tests
++
++Tests: build
++Depends: build-essential, libostree-dev, pkg-config
--- /dev/null
--- /dev/null
++#!/bin/sh
++
++set -e
++exec 2>&1
++
++exec gnome-desktop-testing-runner ostree
--- /dev/null
--- /dev/null
++version=4
++https://github.com/ostreedev/ostree/releases .*/ostree-(\d\S*)\.tar\.xz