--- /dev/null
--- /dev/null
++/*.debhelper
++/*.substvars
++/gir1.2-ostree-1.0/
++/libostree-1-1/
++/libostree-dev/
++/libostree-doc/
++/ostree-grub2/
++/ostree/
--- /dev/null
--- /dev/null
++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>,
++Build-Depends:
++ attr,
++ bison,
++ cpio,
++ debhelper (>= 10~),
++ docbook-xml,
++ docbook-xsl,
++ e2fslibs-dev,
++ elfutils,
++ fuse,
++ gjs,
++ gobject-introspection,
++ gtk-doc-tools (>= 1.15),
++ libarchive-dev (>= 2.8.0),
++ libattr1-dev,
++ libcap-dev,
++ libfuse-dev,
++ libgirepository1.0-dev (>= 1.34.0),
++ libglib2.0-dev (>= 2.40.0),
++ libgpgme11-dev (>= 1.1.8),
++ liblzma-dev (>= 5.0.5),
++ 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:
++ git.mk
++Copyright:
++ © 2009 Red Hat, Inc.
++ © 2010-2013 Behdad Esfahbod
++License: GNU-permissive
++
++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:
++ GNUmakefile
++ build-aux/useless-if-before-free
++ build-aux/vc-list-files
++Copyright:
++ 2001-2014 Free Software Foundation, Inc.
++License: GPL-3+
++
++Files:
++ bsdiff/*
++Copyright:
++ © 2003-2005 Colin Percival
++ © 2012 Matthew Endsley
++License: BSD-2-clause
++
++Files:
++ contrib/golang/*
++Copyright:
++ © 2013 Conformal Systems LLC
++License: ISC
++
++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: GPL-3+
++ 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 3 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 General Public License for more details.
++ .
++ You should have received a copy of the GNU 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 General Public
++ License version 3 can be found in the file
++ '/usr/share/common-licenses/GPL-3'.
++
++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.
++
++License: ISC
++ Permission to use, copy, modify, and distribute this software for any
++ purpose with or without fee is hereby granted, provided that the above
++ copyright notice and this permission notice appear in all copies.
++ .
++ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
++ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
++ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
++ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
++ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
++ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
++ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++
++License: GNU-permissive
++ Copying and distribution of this file, with or without modification,
++ is permitted in any medium without royalty provided the copyright
++ notice and this notice are preserved.
--- /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
++ 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_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: Simon McVittie <smcv@debian.org>
++Date: Fri, 9 Sep 2016 08:23:36 +0100
++Subject: Terminate individual tests after half an hour
++
++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.
++
++Signed-off-by: Simon McVittie <smcv@debian.org>
++---
++ buildutil/tap-test | 2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++diff --git a/buildutil/tap-test b/buildutil/tap-test
++index 6b2eb5c..4971f0b 100755
++--- a/buildutil/tap-test
+++++ b/buildutil/tap-test
++@@ -20,4 +20,4 @@ function cleanup () {
++ }
++ trap cleanup EXIT
++ cd ${tempdir}
++-${srcd}/${bn} -k --tap
+++timeout --kill-after=60 1800 ${srcd}/${bn} -k --tap
--- /dev/null
--- /dev/null
++From: Simon McVittie <smcv@debian.org>
++Date: Fri, 7 Oct 2016 23:14:40 +0100
++Subject: Retrieve some missing test files from upstream git
++
++These were missing from "make dist".
++---
++ tests/glib.supp | 562 +++++++++++++++++++++++++++++++++++++++++++++++
++ tests/ostree.supp | 1 +
++ tests/test-core.js | 55 +++++
++ tests/test-corruption.sh | 43 ++++
++ tests/test-sizes.js | 82 +++++++
++ tests/test-sysroot.js | 147 +++++++++++++
++ 6 files changed, 890 insertions(+)
++ create mode 100644 tests/glib.supp
++ create mode 100644 tests/ostree.supp
++ create mode 100644 tests/test-core.js
++ create mode 100755 tests/test-corruption.sh
++ create mode 100644 tests/test-sizes.js
++ create mode 100644 tests/test-sysroot.js
++
++diff --git a/tests/glib.supp b/tests/glib.supp
++new file mode 100644
++index 0000000..7ac6ed8
++--- /dev/null
+++++ b/tests/glib.supp
++@@ -0,0 +1,562 @@
+++# This GLib suppressions file is known to be used at least by:
+++#
+++# - rpm-software-management/libhif
+++#
+++# Please use the upstream verison in libhif for changes.
+++{
+++ gobject_init_1
+++ Memcheck:Leak
+++ ...
+++ fun:gobject_init
+++}
+++{
+++ g_type_register_static_1
+++ Memcheck:Leak
+++ ...
+++ fun:g_type_register_static
+++}
+++{
+++ g_type_register_dynamic
+++ Memcheck:Leak
+++ ...
+++ fun:g_type_register_dynamic
+++}
+++{
+++ g_type_register_fundamental
+++ Memcheck:Leak
+++ ...
+++ fun:g_type_register_fundamental
+++}
+++{
+++ g_type_init_with_debug_flags
+++ Memcheck:Leak
+++ ...
+++ fun:g_type_init_with_debug_flags
+++}
+++{
+++ g_type_class_ref_1
+++ Memcheck:Leak
+++ ...
+++ fun:type_iface_vtable_base_init_Wm
+++ ...
+++ fun:g_type_class_ref
+++}
+++{
+++ g_type_class_ref_2
+++ Memcheck:Leak
+++ ...
+++ fun:type_class_init_Wm
+++ ...
+++ fun:g_type_class_ref
+++}
+++{
+++ g_type_add_interface_static
+++ Memcheck:Leak
+++ ...
+++ fun:g_type_add_interface_static
+++}
+++{
+++ g_type_add_interface_dynamic
+++ Memcheck:Leak
+++ ...
+++ fun:g_type_add_interface_dynamic
+++}
+++{
+++ g_param_spec_internal
+++ Memcheck:Leak
+++ ...
+++ fun:g_type_class_ref
+++ fun:g_type_create_instance
+++ fun:g_param_spec_internal
+++}
+++{
+++ g_param_spec_enum
+++ Memcheck:Leak
+++ ...
+++ fun:g_type_class_ref
+++ fun:g_param_spec_enum
+++}
+++{
+++ g_param_spec_flags
+++ Memcheck:Leak
+++ ...
+++ fun:g_type_class_ref
+++ fun:g_param_spec_flags
+++}
+++{
+++ g_quark_from_static_string
+++ Memcheck:Leak
+++ ...
+++ fun:g_quark_from_static_string
+++}
+++{
+++ g_quark_from_string
+++ Memcheck:Leak
+++ ...
+++ fun:g_quark_from_string
+++}
+++{
+++ g_value_register_transform_func
+++ Memcheck:Leak
+++ ...
+++ fun:g_value_register_transform_func
+++}
+++{
+++ test_run_seed
+++ Memcheck:Leak
+++ ...
+++ fun:g_rand_new_with_seed_array
+++ fun:test_run_seed
+++ ...
+++ fun:g_test_run_suite
+++}
+++{
+++ g_test_init
+++ Memcheck:Leak
+++ ...
+++ fun:g_rand_new_with_seed_array
+++ ...
+++ fun:g_test_init
+++}
+++{
+++ g_intern_static_string
+++ Memcheck:Leak
+++ ...
+++ fun:g_intern_static_string
+++}
+++{
+++ g_main_context_push_thread_default
+++ Memcheck:Leak
+++ ...
+++ fun:g_queue_new
+++ fun:g_main_context_push_thread_default
+++}
+++{
+++ g_main_context_push_thread_default_inlined
+++ Memcheck:Leak
+++ ...
+++ fun:g_slice_alloc0
+++ fun:g_main_context_push_thread_default
+++}
+++{
+++ g_dbus_error_register_error
+++ Memcheck:Leak
+++ ...
+++ fun:g_dbus_error_register_error
+++}
+++{
+++ g_param_spec_pool_insert
+++ Memcheck:Leak
+++ ...
+++ fun:g_param_spec_pool_insert
+++}
+++{
+++ g_main_context_default
+++ Memcheck:Leak
+++ ...
+++ fun:g_main_context_default
+++}
+++{
+++ g_main_context_check
+++ Memcheck:Leak
+++ ...
+++ fun:g_ptr_array_add
+++ fun:g_main_context_check
+++}
+++{
+++ g_test_run_suite
+++ Memcheck:Leak
+++ ...
+++ fun:g_slist_copy
+++ fun:g_test_run_suite_internal
+++ fun:g_test_run_suite
+++}
+++{
+++ g_dbus_interface_info_cache_build
+++ Memcheck:Leak
+++ ...
+++ fun:g_dbus_interface_info_cache_build
+++}
+++{
+++ g_cancellable_push_current
+++ Memcheck:Leak
+++ ...
+++ fun:thread_memory_from_self
+++ ...
+++ fun:g_cancellable_push_current
+++}
+++{
+++ _g_io_module_get_default
+++ Memcheck:Leak
+++ ...
+++ fun:g_io_module_new
+++ fun:g_io_modules_scan_all_in_directory_with_scope
+++ fun:_g_io_modules_ensure_loaded
+++ fun:_g_io_module_get_default
+++}
+++{
+++ g_io_scheduler_push_job
+++ Memcheck:Leak
+++ ...
+++ fun:init_scheduler
+++ fun:g_once_impl
+++ fun:g_io_scheduler_push_job
+++}
+++{
+++ g_io_scheduler_push_job_2
+++ Memcheck:Leak
+++ ...
+++ fun:g_system_thread_new
+++ ...
+++ fun:g_io_scheduler_push_job
+++}
+++{
+++ g_bus_get_sync__available_connections
+++ Memcheck:Leak
+++ ...
+++ fun:g_hash_table_new
+++ fun:initable_init
+++ fun:g_initable_init
+++ fun:g_bus_get_sync
+++}
+++{
+++ g_socket_connection_factory_register_type
+++ Memcheck:Leak
+++ ...
+++ fun:g_socket_connection_factory_register_type
+++}
+++{
+++ g_test_add_vtable
+++ Memcheck:Leak
+++ ...
+++ fun:g_test_add_vtable
+++}
+++{
+++ g_mutex_lock
+++ Memcheck:Leak
+++ ...
+++ fun:g_mutex_impl_new
+++ fun:g_mutex_get_impl
+++ fun:g_mutex_lock
+++}
+++{
+++ g_thread_self
+++ Memcheck:Leak
+++ ...
+++ fun:g_thread_self
+++}
+++{
+++ g_rec_mutex_lock
+++ Memcheck:Leak
+++ ...
+++ fun:g_rec_mutex_impl_new
+++ fun:g_rec_mutex_get_impl
+++ fun:g_rec_mutex_lock
+++}
+++{
+++ test_case_run
+++ Memcheck:Leak
+++ ...
+++ fun:g_malloc0
+++ fun:test_case_run
+++ ...
+++ fun:g_test_run_suite
+++}
+++{
+++ g_get_charset
+++ Memcheck:Leak
+++ ...
+++ fun:g_get_charset
+++}
+++{
+++ g_test_run_suite__timer_new
+++ Memcheck:Leak
+++ ...
+++ fun:g_timer_new
+++ fun:test_case_run
+++ ...
+++ fun:g_test_run_suite
+++}
+++{
+++ g_test_run_suite__timer_new2
+++ Memcheck:Leak
+++ ...
+++ fun:g_timer_new
+++ fun:test_case_run_suite_internal
+++ ...
+++ fun:g_test_run_suite
+++}
+++{
+++ g_test_run_suite__strconcat
+++ Memcheck:Leak
+++ ...
+++ fun:g_strconcat
+++ fun:test_case_run
+++ ...
+++ fun:g_test_run_suite
+++ fun:g_test_run
+++}
+++{
+++ g_type_interface_add_prerequisite
+++ Memcheck:Leak
+++ ...
+++ fun:g_type_interface_add_prerequisite
+++}
+++{
+++ <insert_a_suppression_name_here>
+++ Memcheck:Leak
+++ ...
+++ fun:g_slist_copy
+++ fun:g_test_run_suite_internal
+++ ...
+++ fun:g_test_run_suite
+++}
+++{
+++ g_set_prgname
+++ Memcheck:Leak
+++ ...
+++ fun:g_set_prgname
+++}
+++{
+++ g_test_run_suite__strconcat_2
+++ Memcheck:Leak
+++ ...
+++ fun:g_strconcat
+++ fun:g_test_run_suite_internal
+++}
+++{
+++ g_test_run_suite__strdup
+++ Memcheck:Leak
+++ ...
+++ fun:g_strdup
+++ fun:g_test_run_suite_internal
+++}
+++{
+++ g_private_get
+++ Memcheck:Leak
+++ ...
+++ fun:g_private_get
+++}
+++{
+++ g_private_set
+++ Memcheck:Leak
+++ ...
+++ fun:g_private_set
+++}
+++{
+++ g_static_mutex_get_mutex_impl
+++ Memcheck:Leak
+++ ...
+++ fun:g_static_mutex_get_mutex_impl
+++}
+++{
+++ g_variant_type_info_unref
+++ Memcheck:Leak
+++ ...
+++ fun:g_hash_table_remove
+++ fun:g_variant_type_info_unref
+++}
+++{
+++ g_rw_lock_reader_lock
+++ Memcheck:Leak
+++ ...
+++ fun:g_rw_lock_impl_new
+++ fun:g_rw_lock_get_impl
+++ fun:g_rw_lock_reader_lock
+++}
+++{
+++ g_child_watch_finalize__rt_sigaction
+++ Memcheck:Param
+++ rt_sigaction(act->sa_flags)
+++ fun:__libc_sigaction
+++ ...
+++ fun:g_child_watch_finalize
+++}
+++{
+++ g_dbus_worker_new
+++ Memcheck:Leak
+++ fun:calloc
+++ ...
+++ fun:_g_dbus_worker_new
+++}
+++{
+++ gdbus_shared_thread_func
+++ Memcheck:Leak
+++ match-leak-kinds: definite
+++ ...
+++ fun:g_malloc
+++ ...
+++ fun:gdbus_shared_thread_func
+++}
+++{
+++ g_task_start_task_thread
+++ Memcheck:Leak
+++ match-leak-kinds: definite
+++ fun:malloc
+++ fun:g_malloc
+++ fun:g_slice_alloc
+++ fun:g_slice_alloc0
+++ ...
+++ fun:g_thread_pool_push
+++ fun:g_task_start_task_thread
+++}
+++{
+++ g_task_to_pool
+++ Memcheck:Leak
+++ ...
+++ fun:g_thread_pool_start_thread
+++ ...
+++ fun:g_task_run_in_thread
+++}
+++{
+++ g_get_language_names
+++ Memcheck:Leak
+++ match-leak-kinds: definite
+++ fun:calloc
+++ fun:g_malloc0
+++ fun:g_get_language_names
+++}
+++{
+++ g_get_filename_charsets
+++ Memcheck:Leak
+++ match-leak-kinds: definite
+++ ...
+++ fun:g_get_filename_charsets
+++ fun:g_filename_display_name
+++}
+++{
+++ g_main_current_source
+++ Memcheck:Leak
+++ match-leak-kinds: definite
+++ fun:malloc
+++ fun:g_malloc
+++ ...
+++ fun:g_main_current_source
+++ fun:g_task_return
+++ fun:g_task_thread_pool_thread
+++}
+++{
+++ g_once_init_enter
+++ Memcheck:Leak
+++ match-leak-kinds: definite
+++ ...
+++ fun:g_once_init_enter
+++}
+++{
+++ g_child_watch_source_new
+++ Memcheck:Leak
+++ match-leak-kinds: definite
+++ ...
+++ fun:g_thread_new
+++ ...
+++ fun:g_child_watch_source_new
+++}
+++{
+++ continue_writing_in_idle_cb
+++ Memcheck:Leak
+++ match-leak-kinds: definite
+++ ...
+++ fun:g_task_new
+++ ...
+++ fun:continue_writing_in_idle_cb
+++ fun:g_main_context_dispatch
+++}
+++{
+++ g_main_current_source
+++ Memcheck:Leak
+++ match-leak-kinds: definite
+++ fun:malloc
+++ ...
+++ fun:g_main_current_source
+++}
+++{
+++ g_thread_pool_push
+++ Memcheck:Leak
+++ match-leak-kinds: definite
+++ fun:malloc
+++ ...
+++ fun:g_thread_pool_push
+++}
+++{
+++ leak_test_dbus_dispose
+++ Memcheck:Leak
+++ match-leak-kinds: definite
+++ fun:malloc
+++ ...
+++ fun:g_main_loop_run
+++ fun:g_test_dbus_down
+++}
+++{
+++ leak_test_dbus_down
+++ Memcheck:Leak
+++ match-leak-kinds: definite
+++ fun:calloc
+++ fun:g_malloc0
+++ fun:g_main_loop_new
+++ fun:g_test_dbus_down
+++}
+++{
+++ leak_socket_client_connect
+++ Memcheck:Leak
+++ match-leak-kinds: definite
+++ fun:malloc
+++ fun:g_malloc
+++ fun:g_slice_alloc
+++ fun:g_slice_alloc0
+++ fun:g_socket_client_connect_async
+++ fun:g_socket_client_connect_to_uri_async
+++}
+++{
+++ leak_signal_handlers_disconnect_matched
+++ Memcheck:Leak
+++ match-leak-kinds: definite
+++ fun:calloc
+++ fun:g_malloc0
+++ ...
+++ fun:g_slice_alloc
+++ ...
+++ fun:g_signal_handlers_disconnect_matched
+++}
+++{
+++ g_tls_connection_gnutls_init_priorities
+++ Memcheck:Leak
+++ match-leak-kinds: definite
+++ fun:malloc
+++ fun:g_malloc
+++ fun:g_strdup
+++ fun:g_tls_connection_gnutls_init_priorities
+++}
+++{
+++ g_tls_connection_gnutls_heisenbug_likely_same_as_above
+++ Memcheck:Leak
+++ match-leak-kinds: definite
+++ fun:malloc
+++ fun:g_malloc
+++ fun:g_strdup
+++ ...
+++ fun:g_tls_client_connection_new
+++}
+++{
+++ g_unix_signal_add_full
+++ Memcheck:Leak
+++ match-leak-kinds: definite
+++ fun:malloc
+++ fun:g_malloc
+++ ...
+++ fun:g_thread_new
+++ ...
+++ fun:g_unix_signal_add_full
+++}
+++{
+++ glib_worker_1
+++ Memcheck:Leak
+++ ...
+++ fun:glib_worker_main
+++}
+++{
+++ glib_worker_2
+++ Memcheck:Leak
+++ ...
+++ fun:g_thread_new
+++ fun:g_get_worker_context
+++}
++diff --git a/tests/ostree.supp b/tests/ostree.supp
++new file mode 100644
++index 0000000..b81ea51
++--- /dev/null
+++++ b/tests/ostree.supp
++@@ -0,0 +1 @@
+++# Use this to suppress "possibly lost" for global statics
++diff --git a/tests/test-core.js b/tests/test-core.js
++new file mode 100644
++index 0000000..e9ace6e
++--- /dev/null
+++++ b/tests/test-core.js
++@@ -0,0 +1,55 @@
+++#!/usr/bin/env gjs
+++//
+++// Copyright (C) 2013 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.
+++
+++const Gio = imports.gi.Gio;
+++const OSTree = imports.gi.OSTree;
+++
+++function assertEquals(a, b) {
+++ if (a != b)
+++ throw new Error("assertion failed " + JSON.stringify(a) + " == " + JSON.stringify(b));
+++}
+++
+++let testDataDir = Gio.File.new_for_path('test-data');
+++testDataDir.make_directory(null);
+++testDataDir.get_child('some-file').replace_contents("hello world!", null, false, 0, null);
+++
+++let repoPath = Gio.File.new_for_path('repo');
+++let repo = OSTree.Repo.new(repoPath);
+++repo.create(OSTree.RepoMode.ARCHIVE_Z2, null);
+++
+++repo.open(null);
+++
+++assertEquals(repo.get_mode(), OSTree.RepoMode.ARCHIVE_Z2);
+++
+++repo.prepare_transaction(null);
+++
+++let mtree = OSTree.MutableTree.new();
+++repo.write_directory_to_mtree(testDataDir, mtree, null, null);
+++let [,dirTree] = repo.write_mtree(mtree, null);
+++let [,commit] = repo.write_commit(null, 'Some subject', 'Some body', null, dirTree, null);
+++print("commit => " + commit);
+++
+++repo.commit_transaction(null, null);
+++
+++let [,root,checksum] = repo.read_commit(commit, null);
+++let child = root.get_child('some-file');
+++let info = child.query_info("standard::name,standard::type,standard::size", 0, null);
+++assertEquals(info.get_size(), 12);
+++
+++print("test-core complete");
++diff --git a/tests/test-corruption.sh b/tests/test-corruption.sh
++new file mode 100755
++index 0000000..ef0e94e
++--- /dev/null
+++++ b/tests/test-corruption.sh
++@@ -0,0 +1,43 @@
+++#!/bin/bash
+++#
+++# Copyright (C) 2011 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
+++
+++echo "1..2"
+++
+++. $(dirname $0)/libtest.sh
+++
+++setup_test_repository "bare"
+++$OSTREE checkout test2 checkout-test2
+++cd checkout-test2
+++chmod o+x firstfile
+++$OSTREE fsck -q && (echo 1>&2 "fsck unexpectedly succeeded"; exit 1)
+++chmod o-x firstfile
+++$OSTREE fsck -q
+++
+++echo "ok chmod"
+++
+++cd ${test_tmpdir}
+++rm checkout-test2 -rf
+++$OSTREE checkout test2 checkout-test2
+++cd checkout-test2
+++chmod o+x firstfile
+++$OSTREE fsck -q --delete && (echo 1>&2 "fsck unexpectedly succeeded"; exit 1)
+++
+++echo "ok chmod"
++diff --git a/tests/test-sizes.js b/tests/test-sizes.js
++new file mode 100644
++index 0000000..5cf765f
++--- /dev/null
+++++ b/tests/test-sizes.js
++@@ -0,0 +1,82 @@
+++#!/usr/bin/env gjs
+++//
+++// Copyright (C) 2013 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.
+++
+++const GLib = imports.gi.GLib;
+++const Gio = imports.gi.Gio;
+++const OSTree = imports.gi.OSTree;
+++
+++function assertEquals(a, b) {
+++ if (a != b)
+++ throw new Error("assertion failed " + JSON.stringify(a) + " == " + JSON.stringify(b));
+++}
+++
+++let testDataDir = Gio.File.new_for_path('test-data');
+++testDataDir.make_directory(null);
+++testDataDir.get_child('some-file').replace_contents("hello world!", null, false, 0, null);
+++testDataDir.get_child('another-file').replace_contents("hello world again!", null, false, 0, null);
+++
+++let repoPath = Gio.File.new_for_path('repo');
+++let repo = OSTree.Repo.new(repoPath);
+++repo.create(OSTree.RepoMode.ARCHIVE_Z2, null);
+++
+++repo.open(null);
+++
+++let commitModifier = OSTree.RepoCommitModifier.new(OSTree.RepoCommitModifierFlags.GENERATE_SIZES, null);
+++
+++assertEquals(repo.get_mode(), OSTree.RepoMode.ARCHIVE_Z2);
+++
+++repo.prepare_transaction(null);
+++
+++let mtree = OSTree.MutableTree.new();
+++repo.write_directory_to_mtree(testDataDir, mtree, commitModifier, null);
+++let [,dirTree] = repo.write_mtree(mtree, null);
+++let [,commit] = repo.write_commit(null, 'Some subject', 'Some body', null, dirTree, null);
+++print("commit => " + commit);
+++
+++repo.commit_transaction(null, null);
+++
+++// Test the sizes metadata
+++let [,commitVariant] = repo.load_variant(OSTree.ObjectType.COMMIT, commit);
+++let metadata = commitVariant.get_child_value(0);
+++let sizes = metadata.lookup_value('ostree.sizes', GLib.VariantType.new('aay'));
+++let nSizes = sizes.n_children();
+++assertEquals(nSizes, 2);
+++let expectedUncompressedSizes = [12, 18];
+++let foundExpectedUncompressedSizes = 0;
+++for (let i = 0; i < nSizes; i++) {
+++ let sizeEntry = sizes.get_child_value(i).deep_unpack();
+++ assertEquals(sizeEntry.length, 34);
+++ let compressedSize = sizeEntry[32];
+++ let uncompressedSize = sizeEntry[33];
+++ print("compressed = " + compressedSize);
+++ print("uncompressed = " + uncompressedSize);
+++ for (let j = 0; j < expectedUncompressedSizes.length; j++) {
+++ let expected = expectedUncompressedSizes[j];
+++ if (expected == uncompressedSize) {
+++ print("Matched expected uncompressed size " + expected);
+++ expectedUncompressedSizes.splice(j, 1);
+++ break;
+++ }
+++ }
+++}
+++if (expectedUncompressedSizes.length > 0) {
+++ throw new Error("Failed to match expectedUncompressedSizes: " + JSON.stringify(expectedUncompressedSizes));
+++}
+++
+++print("test-sizes complete");
++diff --git a/tests/test-sysroot.js b/tests/test-sysroot.js
++new file mode 100644
++index 0000000..7e8fcf7
++--- /dev/null
+++++ b/tests/test-sysroot.js
++@@ -0,0 +1,147 @@
+++#!/usr/bin/env gjs
+++//
+++// Copyright (C) 2013 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.
+++
+++const GLib = imports.gi.GLib;
+++const Gio = imports.gi.Gio;
+++const OSTree = imports.gi.OSTree;
+++
+++function assertEquals(a, b) {
+++ if (a != b)
+++ throw new Error("assertion failed " + JSON.stringify(a) + " == " + JSON.stringify(b));
+++}
+++
+++function assertNotEquals(a, b) {
+++ if (a == b)
+++ throw new Error("assertion failed " + JSON.stringify(a) + " != " + JSON.stringify(b));
+++}
+++
+++function libtestExec(shellCode) {
+++ let testdatadir = GLib.getenv("G_TEST_SRCDIR");
+++ let libtestPath = GLib.build_filenamev([testdatadir, 'libtest.sh'])
+++ let proc = Gio.Subprocess.new(['bash', '-c', 'set -xeuo pipefail; . ' + GLib.shell_quote(libtestPath) + '; ' + shellCode], 0);
+++ proc.wait_check(null);
+++}
+++
+++libtestExec('setup_os_repository archive-z2 syslinux');
+++
+++let upstreamRepo = OSTree.Repo.new(Gio.File.new_for_path('testos-repo'));
+++upstreamRepo.open(null);
+++
+++let runtimeRef = 'testos/buildmaster/x86_64-runtime';
+++let [,rev] = upstreamRepo.resolve_rev(runtimeRef, false);
+++
+++print("testos => " + rev);
+++
+++//// TEST: We should have no deployments
+++
+++let sysroot = OSTree.Sysroot.new(Gio.File.new_for_path('sysroot'));
+++sysroot.load(null);
+++let deployments = sysroot.get_deployments();
+++assertEquals(deployments.length, 0);
+++
+++//// Add the remote, and do a pull
+++
+++let [,sysrootRepo] = sysroot.get_repo(null);
+++sysrootRepo.remote_add('testos', 'file://' + upstreamRepo.get_path().get_path(),
+++ GLib.Variant.new('a{sv}', {'gpg-verify': GLib.Variant.new('b', false),
+++ 'branches': GLib.Variant.new('as', [runtimeRef])}), null);
+++sysrootRepo.pull('testos', null, 0, null, null);
+++
+++//// TEST: We can deploy one tree
+++
+++let mergeDeployment = sysroot.get_merge_deployment('testos');
+++
+++let origin = sysroot.origin_new_from_refspec(runtimeRef);
+++let [,deployment] = sysroot.deploy_tree('testos', rev, origin,
+++ mergeDeployment, null,
+++ null);
+++let newDeployments = deployments;
+++deployments = null;
+++newDeployments.unshift(deployment);
+++sysroot.write_deployments(newDeployments, null);
+++deployments = sysroot.get_deployments();
+++assertEquals(deployments.length, newDeployments.length);
+++assertEquals(deployments[0].get_csum(), deployment.get_csum());
+++
+++let deploymentPath = sysroot.get_deployment_directory(deployment);
+++assertEquals(deploymentPath.query_exists(null), true);
+++
+++print("OK one deployment");
+++
+++/// TEST: We can delete the deployment, going back to empty
+++sysroot.write_deployments([], null);
+++
+++print("OK empty deployments");
+++
+++assertEquals(deploymentPath.query_exists(null), false);
+++
+++//// Ok, redeploy, then add a new revision upstream and pull it
+++
+++let [,deployment] = sysroot.deploy_tree('testos', rev, origin,
+++ mergeDeployment, null,
+++ null);
+++newDeployments = deployments;
+++deployments = null;
+++newDeployments.unshift(deployment);
+++print(JSON.stringify(newDeployments));
+++sysroot.write_deployments(newDeployments, null);
+++
+++libtestExec('os_repository_new_commit');
+++
+++sysrootRepo.pull('testos', null, 0, null, null);
+++
+++let [,newRev] = upstreamRepo.resolve_rev(runtimeRef, false);
+++
+++print("testos => " + newRev);
+++assertNotEquals(rev, newRev);
+++
+++mergeDeployment = sysroot.get_merge_deployment('testos');
+++assertEquals(mergeDeployment.get_csum(), deployment.get_csum());
+++let [,newDeployment] = sysroot.deploy_tree('testos', newRev, origin,
+++ mergeDeployment, null,
+++ null);
+++newDeployments = [newDeployment, mergeDeployment];
+++assertNotEquals(mergeDeployment.get_bootcsum(), newDeployment.get_bootcsum());
+++assertNotEquals(mergeDeployment.get_csum(), newDeployment.get_csum());
+++sysroot.write_deployments(newDeployments, null);
+++deployments = sysroot.get_deployments();
+++assertEquals(deployments.length, 2);
+++assertEquals(deploymentPath.query_exists(null), true);
+++let newDeploymentPath = sysroot.get_deployment_directory(newDeployment);
+++assertEquals(newDeploymentPath.query_exists(null), true);
+++
+++print("OK two deployments");
+++
+++libtestExec('os_repository_new_commit 0 1');
+++
+++sysrootRepo.pull('testos', null, 0, null, null);
+++
+++let [,thirdRev] = sysrootRepo.resolve_rev(runtimeRef, false);
+++assertNotEquals(newRev, thirdRev);
+++
+++mergeDeployment = sysroot.get_merge_deployment('testos');
+++let [,thirdDeployment] = sysroot.deploy_tree('testos', thirdRev, origin,
+++ mergeDeployment, null,
+++ null);
+++assertEquals(mergeDeployment.get_bootcsum(), thirdDeployment.get_bootcsum());
+++assertNotEquals(mergeDeployment.get_csum(), thirdDeployment.get_csum());
+++newDeployments = [deployment, newDeployment, thirdDeployment];
+++sysroot.write_deployments(newDeployments, null);
+++deployments = sysroot.get_deployments();
+++assertEquals(deployments.length, 3);
--- /dev/null
--- /dev/null
++Terminate-individual-tests-after-half-an-hour.patch
++dist/Retrieve-some-missing-test-files-from-upstream-git.patch
--- /dev/null
--- /dev/null
++#!/usr/bin/make -f
++
++export DEB_BUILD_MAINT_OPTIONS = hardening=+all
++export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
++
++%:
++ 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
++
++if [ "$failed" -gt 0 ]; 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
++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