From: Simon McVittie Date: Thu, 1 Dec 2016 12:38:54 +0000 (+0000) Subject: ostree (2016.14-2) unstable; urgency=medium X-Git-Tag: archive/raspbian/2017.12-1+rpi1~1^2^2^2^2^2^2^2^2^2~17 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=1ac30f707c881f44cd8fe5d0169b32acae379635;p=ostree.git 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 [dgit import unpatched ostree 2016.14-2] --- 1ac30f707c881f44cd8fe5d0169b32acae379635 diff --cc debian/changelog index 00000000,00000000..5c9b3d2c new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,319 @@@ ++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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Sat, 19 Mar 2016 17:56:21 +0000 ++ ++ostree (2016.1-alexlarsson1~wily1) wily; urgency=medium ++ ++ * New upstream release ++ ++ -- Alexander Larsson Thu, 01 Oct 2015 11:28:39 +0200 ++ ++ostree (2015.11-alexlarsson1~vivid1) vivid; urgency=medium ++ ++ * New upstream release ++ ++ -- Alexander Larsson Thu, 01 Oct 2015 11:28:39 +0200 ++ ++ostree (2015.9-alexlarsson1) vivid; urgency=medium ++ ++ * New upstream release ++ ++ -- Alexander Larsson 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 Wed, 08 Apr 2015 13:10:39 +0100 ++ ++ostree (2015.4-0amigadave1) trusty; urgency=low ++ ++ [ David King ] ++ * Initial packaging. ++ ++ -- David King Thu, 02 Apr 2015 15:40:52 +0000 diff --cc debian/compat index 00000000,00000000..f599e28b new file mode 100644 --- /dev/null +++ b/debian/compat @@@ -1,0 -1,0 +1,1 @@@ ++10 diff --cc debian/control index 00000000,00000000..95e2cbf6 new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,150 @@@ ++Source: ostree ++Section: admin ++Priority: optional ++Maintainer: Utopia Maintenance Team ++Uploaders: ++ Matthias Klumpp , ++ Simon McVittie , ++ Sjoerd Simons ++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. diff --cc debian/copyright index 00000000,00000000..56f926d1 new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,180 @@@ ++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 ++ © 2011 Avery Pennarun ++ © 2013 Collabora Ltd. ++ © 2013 Stef Walter ++ © 2013 Javier Martinez ++ © 2013 Jeremy Whiting ++ © 2013 Sjoerd Simons ++ © 2014-2016 Alexander Larsson ++ © 2014 Owen Taylor ++ © 2015 Dan Nicholson ++ © 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 ++ © 2016 Zbigniew Jędrzejewski-Szmek ++License: LGPL-2.1+ ++ ++Files: ++ src/libostree/ostree-varint.c ++Copyright: ++ © 2008 Google Inc. ++ © 2013 Colin Walters ++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 ++ © 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 . ++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 . ++Comment: ++ On Debian systems, the full text of the GNU Lesser General Public ++ License version 2.1 can be found in the file ++ '/usr/share/common-licenses/LGPL-2.1'. ++ ++License: BSD-2-clause ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted providing that the following conditions ++ are met: ++ 1. Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ 2. Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ . ++ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ++ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED ++ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY ++ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ++ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING ++ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++ POSSIBILITY OF SUCH DAMAGE. ++ ++License: BSD-3-clause ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ . ++ * Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ * Redistributions in binary form must reproduce the above ++ copyright notice, this list of conditions and the following disclaimer ++ in the documentation and/or other materials provided with the ++ distribution. ++ * Neither the name of Google Inc. nor the names of its ++ contributors may be used to endorse or promote products derived from ++ this software without specific prior written permission. ++ . ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --cc debian/docs index 00000000,00000000..b43bf86b new file mode 100644 --- /dev/null +++ b/debian/docs @@@ -1,0 -1,0 +1,1 @@@ ++README.md diff --cc debian/gbp.conf index 00000000,00000000..2bda9c8b new file mode 100644 --- /dev/null +++ b/debian/gbp.conf @@@ -1,0 -1,0 +1,7 @@@ ++[DEFAULT] ++pristine-tar = True ++compression = xz ++debian-branch = debian/master ++upstream-branch = upstream/latest ++patch-numbers = False ++upstream-vcs-tag = v%(version)s diff --cc debian/gir1.2-ostree-1.0.install index 00000000,00000000..49d71c96 new file mode 100644 --- /dev/null +++ b/debian/gir1.2-ostree-1.0.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/girepository-1.0 diff --cc debian/libostree-1-1.install index 00000000,00000000..989a3850 new file mode 100644 --- /dev/null +++ b/debian/libostree-1-1.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/libostree-1.so.* diff --cc debian/libostree-1-1.symbols index 00000000,00000000..ffdda6b6 new file mode 100644 --- /dev/null +++ b/debian/libostree-1-1.symbols @@@ -1,0 -1,0 +1,314 @@@ ++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 diff --cc debian/libostree-dev.install index 00000000,00000000..3700ef29 new file mode 100644 --- /dev/null +++ b/debian/libostree-dev.install @@@ -1,0 -1,0 +1,4 @@@ ++usr/include/* ++usr/lib/*/libostree-1.so ++usr/lib/*/pkgconfig ++usr/share/gir-1.0/OSTree-1.0.gir diff --cc debian/libostree-doc.install index 00000000,00000000..95af827a new file mode 100644 --- /dev/null +++ b/debian/libostree-doc.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/share/gtk-doc diff --cc debian/ostree-boot.README.Debian index 00000000,00000000..f156b6a7 new file mode 100644 --- /dev/null +++ b/debian/ostree-boot.README.Debian @@@ -1,0 -1,0 +1,10 @@@ ++This package contains configuration snippets for using ostree with GRUB 2. ++This integration currently has some limitations: ++ ++ - the initramfs must have been made using dracut ++ - the root filesystem must be one that dracut can mount without a root= ++ command-line argument (an EFI partition with the GUID defined in ++ the Discoverable Partitions specification[1]) ++ - /boot must be a separate partition ++ ++[1] https://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec/ diff --cc debian/ostree-boot.control index 00000000,00000000..ac76885c new file mode 100644 --- /dev/null +++ b/debian/ostree-boot.control @@@ -1,0 -1,0 +1,32 @@@ ++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 diff --cc debian/ostree-boot.install index 00000000,00000000..7701a276 new file mode 100644 --- /dev/null +++ b/debian/ostree-boot.install @@@ -1,0 -1,0 +1,8 @@@ ++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 diff --cc debian/ostree-tests.install index 00000000,00000000..42a29879 new file mode 100644 --- /dev/null +++ b/debian/ostree-tests.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/lib/installed-tests/ostree ++usr/share/installed-tests/ostree diff --cc debian/ostree-tests.lintian-overrides index 00000000,00000000..97b8f0c4 new file mode 100644 --- /dev/null +++ b/debian/ostree-tests.lintian-overrides @@@ -1,0 -1,0 +1,7 @@@ ++# 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 . diff --cc debian/ostree.install index 00000000,00000000..4e555f92 new file mode 100644 --- /dev/null +++ b/debian/ostree.install @@@ -1,0 -1,0 +1,5 @@@ ++etc/ostree ++usr/bin/ostree ++usr/bin/rofiles-fuse ++usr/share/man ++usr/share/ostree/trusted.gpg.d diff --cc debian/patches/ASAN-bootconfig-Drop-a-pointless-strdup-in-parser.patch index 00000000,00000000..5e063ef1 new file mode 100644 --- /dev/null +++ b/debian/patches/ASAN-bootconfig-Drop-a-pointless-strdup-in-parser.patch @@@ -1,0 -1,0 +1,42 @@@ ++From: Colin Walters ++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; ++ } diff --cc debian/patches/ASAN-cmdline-Fix-minor-leak-in-delta-cmdline-entrypoint.patch index 00000000,00000000..732c283e new file mode 100644 --- /dev/null +++ b/debian/patches/ASAN-cmdline-Fix-minor-leak-in-delta-cmdline-entrypoint.patch @@@ -1,0 -1,0 +1,35 @@@ ++From: Colin Walters ++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; +++ } ++ ++ } ++ diff --cc debian/patches/ASAN-delta-compilation-More-leak-fixes.patch index 00000000,00000000..f65da584 new file mode 100644 --- /dev/null +++ b/debian/patches/ASAN-delta-compilation-More-leak-fixes.patch @@@ -1,0 -1,0 +1,94 @@@ ++From: Colin Walters ++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); diff --cc debian/patches/ASAN-deltas-Fix-minor-memory-leak.patch index 00000000,00000000..4a124acf new file mode 100644 --- /dev/null +++ b/debian/patches/ASAN-deltas-Fix-minor-memory-leak.patch @@@ -1,0 -1,0 +1,33 @@@ ++From: Colin Walters ++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++; diff --cc debian/patches/ASAN-metalink-Fix-leaks-of-buffer.patch index 00000000,00000000..46ec52f2 new file mode 100644 --- /dev/null +++ b/debian/patches/ASAN-metalink-Fix-leaks-of-buffer.patch @@@ -1,0 -1,0 +1,79 @@@ ++From: Colin Walters ++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; ++ diff --cc debian/patches/ASAN-set-origin-Squash-a-leak.patch index 00000000,00000000..93c9e6a8 new file mode 100644 --- /dev/null +++ b/debian/patches/ASAN-set-origin-Squash-a-leak.patch @@@ -1,0 -1,0 +1,34 @@@ ++From: Colin Walters ++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 ++ { diff --cc debian/patches/ASAN-sysroot-Fix-leak-double-free-of-keyfile-origin.patch index 00000000,00000000..1083f906 new file mode 100644 --- /dev/null +++ b/debian/patches/ASAN-sysroot-Fix-leak-double-free-of-keyfile-origin.patch @@@ -1,0 -1,0 +1,65 @@@ ++From: Colin Walters ++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; ++ } ++ diff --cc debian/patches/ASAN-tests-Fix-leaks.patch index 00000000,00000000..e91ebe1c new file mode 100644 --- /dev/null +++ b/debian/patches/ASAN-tests-Fix-leaks.patch @@@ -1,0 -1,0 +1,186 @@@ ++From: Colin Walters ++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. */ diff --cc debian/patches/Terminate-individual-tests-after-10-minutes.patch index 00000000,00000000..b0137263 new file mode 100644 --- /dev/null +++ b/debian/patches/Terminate-individual-tests-after-10-minutes.patch @@@ -1,0 -1,0 +1,33 @@@ ++From: Simon McVittie ++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 ++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 ;; diff --cc debian/patches/delta-compilation-Fix-leak.patch index 00000000,00000000..c7b06d82 new file mode 100644 --- /dev/null +++ b/debian/patches/delta-compilation-Fix-leak.patch @@@ -1,0 -1,0 +1,46 @@@ ++From: Alexander Larsson ++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); ++ } ++ diff --cc debian/patches/ostree-repo-traverse-Don-t-leak-floating-GVariant.patch index 00000000,00000000..e248e9e1 new file mode 100644 --- /dev/null +++ b/debian/patches/ostree-repo-traverse-Don-t-leak-floating-GVariant.patch @@@ -1,0 -1,0 +1,50 @@@ ++From: Alexander Larsson ++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; diff --cc debian/patches/ostree-repo-traverse-Remove-an-accidental-print-statement.patch index 00000000,00000000..9870cc00 new file mode 100644 --- /dev/null +++ b/debian/patches/ostree-repo-traverse-Remove-an-accidental-print-statement.patch @@@ -1,0 -1,0 +1,24 @@@ ++From: "Jasper St. Pierre" ++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 diff --cc debian/patches/pull-Don-t-leak-delta-superblock-variants.patch index 00000000,00000000..bece305a new file mode 100644 --- /dev/null +++ b/debian/patches/pull-Don-t-leak-delta-superblock-variants.patch @@@ -1,0 -1,0 +1,35 @@@ ++From: Alexander Larsson ++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)) diff --cc debian/patches/pull-scan_commit_object-don-t-load-variant-twice.patch index 00000000,00000000..2b58038c new file mode 100644 --- /dev/null +++ b/debian/patches/pull-scan_commit_object-don-t-load-variant-twice.patch @@@ -1,0 -1,0 +1,29 @@@ ++From: Alexander Larsson ++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) diff --cc debian/patches/pull_with_options-Don-t-leak-csum_v.patch index 00000000,00000000..0345c142 new file mode 100644 --- /dev/null +++ b/debian/patches/pull_with_options-Don-t-leak-csum_v.patch @@@ -1,0 -1,0 +1,24 @@@ ++From: Alexander Larsson ++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); ++ diff --cc debian/patches/series index 00000000,00000000..390ef5c3 new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,16 @@@ ++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 diff --cc debian/patches/traverse-Use-g_hash_table_add.patch index 00000000,00000000..a6f723bc new file mode 100644 --- /dev/null +++ b/debian/patches/traverse-Use-g_hash_table_add.patch @@@ -1,0 -1,0 +1,45 @@@ ++From: Colin Walters ++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)) diff --cc debian/rules index 00000000,00000000..a0edd3e4 new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,74 @@@ ++#!/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 diff --cc debian/source/format index 00000000,00000000..163aaf8d new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/test.sh index 00000000,00000000..caeaf169 new file mode 100755 --- /dev/null +++ b/debian/test.sh @@@ -1,0 -1,0 +1,53 @@@ ++#!/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: diff --cc debian/tests/build index 00000000,00000000..594e4f77 new file mode 100755 --- /dev/null +++ b/debian/tests/build @@@ -1,0 -1,0 +1,22 @@@ ++#!/bin/sh ++ ++set -e ++exec 2>&1 ++set -x ++ ++cd "$ADTTMP" ++ ++cat > trivial.c < ++ ++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" diff --cc debian/tests/control index 00000000,00000000..88ffde7f new file mode 100644 --- /dev/null +++ b/debian/tests/control @@@ -1,0 -1,0 +1,5 @@@ ++Tests: gnome-desktop-testing ++Depends: gnome-desktop-testing, ostree-tests ++ ++Tests: build ++Depends: build-essential, libostree-dev, pkg-config diff --cc debian/tests/gnome-desktop-testing index 00000000,00000000..e3015ccb new file mode 100755 --- /dev/null +++ b/debian/tests/gnome-desktop-testing @@@ -1,0 -1,0 +1,6 @@@ ++#!/bin/sh ++ ++set -e ++exec 2>&1 ++ ++exec gnome-desktop-testing-runner ostree diff --cc debian/watch index 00000000,00000000..0d9ef4e8 new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,2 @@@ ++version=4 ++https://github.com/ostreedev/ostree/releases .*/ostree-(\d\S*)\.tar\.xz