From: Simon McVittie Date: Thu, 1 Dec 2016 12:38:54 +0000 (+0000) Subject: Import ostree_2016.14-2.debian.tar.xz X-Git-Tag: archive/raspbian/2017.12-1+rpi1~1^2^2^2^2^2^2^2^2^2~17^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=6726ff9a9cbc69782b77ff288fa33354dde79b78;p=ostree.git Import ostree_2016.14-2.debian.tar.xz [dgit import tarball ostree 2016.14-2 ostree_2016.14-2.debian.tar.xz] --- 6726ff9a9cbc69782b77ff288fa33354dde79b78 diff --git a/changelog b/changelog new file mode 100644 index 00000000..5c9b3d2c --- /dev/null +++ b/changelog @@ -0,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 --git a/compat b/compat new file mode 100644 index 00000000..f599e28b --- /dev/null +++ b/compat @@ -0,0 +1 @@ +10 diff --git a/control b/control new file mode 100644 index 00000000..95e2cbf6 --- /dev/null +++ b/control @@ -0,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 --git a/copyright b/copyright new file mode 100644 index 00000000..56f926d1 --- /dev/null +++ b/copyright @@ -0,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 --git a/docs b/docs new file mode 100644 index 00000000..b43bf86b --- /dev/null +++ b/docs @@ -0,0 +1 @@ +README.md diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 00000000..2bda9c8b --- /dev/null +++ b/gbp.conf @@ -0,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 --git a/gir1.2-ostree-1.0.install b/gir1.2-ostree-1.0.install new file mode 100644 index 00000000..49d71c96 --- /dev/null +++ b/gir1.2-ostree-1.0.install @@ -0,0 +1 @@ +usr/lib/*/girepository-1.0 diff --git a/libostree-1-1.install b/libostree-1-1.install new file mode 100644 index 00000000..989a3850 --- /dev/null +++ b/libostree-1-1.install @@ -0,0 +1 @@ +usr/lib/*/libostree-1.so.* diff --git a/libostree-1-1.symbols b/libostree-1-1.symbols new file mode 100644 index 00000000..ffdda6b6 --- /dev/null +++ b/libostree-1-1.symbols @@ -0,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 --git a/libostree-dev.install b/libostree-dev.install new file mode 100644 index 00000000..3700ef29 --- /dev/null +++ b/libostree-dev.install @@ -0,0 +1,4 @@ +usr/include/* +usr/lib/*/libostree-1.so +usr/lib/*/pkgconfig +usr/share/gir-1.0/OSTree-1.0.gir diff --git a/libostree-doc.install b/libostree-doc.install new file mode 100644 index 00000000..95af827a --- /dev/null +++ b/libostree-doc.install @@ -0,0 +1 @@ +usr/share/gtk-doc diff --git a/ostree-boot.README.Debian b/ostree-boot.README.Debian new file mode 100644 index 00000000..f156b6a7 --- /dev/null +++ b/ostree-boot.README.Debian @@ -0,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 --git a/ostree-boot.control b/ostree-boot.control new file mode 100644 index 00000000..ac76885c --- /dev/null +++ b/ostree-boot.control @@ -0,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 --git a/ostree-boot.install b/ostree-boot.install new file mode 100644 index 00000000..7701a276 --- /dev/null +++ b/ostree-boot.install @@ -0,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 --git a/ostree-tests.install b/ostree-tests.install new file mode 100644 index 00000000..42a29879 --- /dev/null +++ b/ostree-tests.install @@ -0,0 +1,2 @@ +usr/lib/installed-tests/ostree +usr/share/installed-tests/ostree diff --git a/ostree-tests.lintian-overrides b/ostree-tests.lintian-overrides new file mode 100644 index 00000000..97b8f0c4 --- /dev/null +++ b/ostree-tests.lintian-overrides @@ -0,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 --git a/ostree.install b/ostree.install new file mode 100644 index 00000000..4e555f92 --- /dev/null +++ b/ostree.install @@ -0,0 +1,5 @@ +etc/ostree +usr/bin/ostree +usr/bin/rofiles-fuse +usr/share/man +usr/share/ostree/trusted.gpg.d diff --git a/patches/ASAN-bootconfig-Drop-a-pointless-strdup-in-parser.patch b/patches/ASAN-bootconfig-Drop-a-pointless-strdup-in-parser.patch new file mode 100644 index 00000000..5e063ef1 --- /dev/null +++ b/patches/ASAN-bootconfig-Drop-a-pointless-strdup-in-parser.patch @@ -0,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 --git a/patches/ASAN-cmdline-Fix-minor-leak-in-delta-cmdline-entrypoint.patch b/patches/ASAN-cmdline-Fix-minor-leak-in-delta-cmdline-entrypoint.patch new file mode 100644 index 00000000..732c283e --- /dev/null +++ b/patches/ASAN-cmdline-Fix-minor-leak-in-delta-cmdline-entrypoint.patch @@ -0,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 --git a/patches/ASAN-delta-compilation-More-leak-fixes.patch b/patches/ASAN-delta-compilation-More-leak-fixes.patch new file mode 100644 index 00000000..f65da584 --- /dev/null +++ b/patches/ASAN-delta-compilation-More-leak-fixes.patch @@ -0,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 --git a/patches/ASAN-deltas-Fix-minor-memory-leak.patch b/patches/ASAN-deltas-Fix-minor-memory-leak.patch new file mode 100644 index 00000000..4a124acf --- /dev/null +++ b/patches/ASAN-deltas-Fix-minor-memory-leak.patch @@ -0,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 --git a/patches/ASAN-metalink-Fix-leaks-of-buffer.patch b/patches/ASAN-metalink-Fix-leaks-of-buffer.patch new file mode 100644 index 00000000..46ec52f2 --- /dev/null +++ b/patches/ASAN-metalink-Fix-leaks-of-buffer.patch @@ -0,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 --git a/patches/ASAN-set-origin-Squash-a-leak.patch b/patches/ASAN-set-origin-Squash-a-leak.patch new file mode 100644 index 00000000..93c9e6a8 --- /dev/null +++ b/patches/ASAN-set-origin-Squash-a-leak.patch @@ -0,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 --git a/patches/ASAN-sysroot-Fix-leak-double-free-of-keyfile-origin.patch b/patches/ASAN-sysroot-Fix-leak-double-free-of-keyfile-origin.patch new file mode 100644 index 00000000..1083f906 --- /dev/null +++ b/patches/ASAN-sysroot-Fix-leak-double-free-of-keyfile-origin.patch @@ -0,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 --git a/patches/ASAN-tests-Fix-leaks.patch b/patches/ASAN-tests-Fix-leaks.patch new file mode 100644 index 00000000..e91ebe1c --- /dev/null +++ b/patches/ASAN-tests-Fix-leaks.patch @@ -0,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 --git a/patches/Terminate-individual-tests-after-10-minutes.patch b/patches/Terminate-individual-tests-after-10-minutes.patch new file mode 100644 index 00000000..b0137263 --- /dev/null +++ b/patches/Terminate-individual-tests-after-10-minutes.patch @@ -0,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 --git a/patches/delta-compilation-Fix-leak.patch b/patches/delta-compilation-Fix-leak.patch new file mode 100644 index 00000000..c7b06d82 --- /dev/null +++ b/patches/delta-compilation-Fix-leak.patch @@ -0,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 --git a/patches/ostree-repo-traverse-Don-t-leak-floating-GVariant.patch b/patches/ostree-repo-traverse-Don-t-leak-floating-GVariant.patch new file mode 100644 index 00000000..e248e9e1 --- /dev/null +++ b/patches/ostree-repo-traverse-Don-t-leak-floating-GVariant.patch @@ -0,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 --git a/patches/ostree-repo-traverse-Remove-an-accidental-print-statement.patch b/patches/ostree-repo-traverse-Remove-an-accidental-print-statement.patch new file mode 100644 index 00000000..9870cc00 --- /dev/null +++ b/patches/ostree-repo-traverse-Remove-an-accidental-print-statement.patch @@ -0,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 --git a/patches/pull-Don-t-leak-delta-superblock-variants.patch b/patches/pull-Don-t-leak-delta-superblock-variants.patch new file mode 100644 index 00000000..bece305a --- /dev/null +++ b/patches/pull-Don-t-leak-delta-superblock-variants.patch @@ -0,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 --git a/patches/pull-scan_commit_object-don-t-load-variant-twice.patch b/patches/pull-scan_commit_object-don-t-load-variant-twice.patch new file mode 100644 index 00000000..2b58038c --- /dev/null +++ b/patches/pull-scan_commit_object-don-t-load-variant-twice.patch @@ -0,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 --git a/patches/pull_with_options-Don-t-leak-csum_v.patch b/patches/pull_with_options-Don-t-leak-csum_v.patch new file mode 100644 index 00000000..0345c142 --- /dev/null +++ b/patches/pull_with_options-Don-t-leak-csum_v.patch @@ -0,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 --git a/patches/series b/patches/series new file mode 100644 index 00000000..390ef5c3 --- /dev/null +++ b/patches/series @@ -0,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 --git a/patches/traverse-Use-g_hash_table_add.patch b/patches/traverse-Use-g_hash_table_add.patch new file mode 100644 index 00000000..a6f723bc --- /dev/null +++ b/patches/traverse-Use-g_hash_table_add.patch @@ -0,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 --git a/rules b/rules new file mode 100755 index 00000000..a0edd3e4 --- /dev/null +++ b/rules @@ -0,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 --git a/source/format b/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/test.sh b/test.sh new file mode 100755 index 00000000..caeaf169 --- /dev/null +++ b/test.sh @@ -0,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 --git a/tests/build b/tests/build new file mode 100755 index 00000000..594e4f77 --- /dev/null +++ b/tests/build @@ -0,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 --git a/tests/control b/tests/control new file mode 100644 index 00000000..88ffde7f --- /dev/null +++ b/tests/control @@ -0,0 +1,5 @@ +Tests: gnome-desktop-testing +Depends: gnome-desktop-testing, ostree-tests + +Tests: build +Depends: build-essential, libostree-dev, pkg-config diff --git a/tests/gnome-desktop-testing b/tests/gnome-desktop-testing new file mode 100755 index 00000000..e3015ccb --- /dev/null +++ b/tests/gnome-desktop-testing @@ -0,0 +1,6 @@ +#!/bin/sh + +set -e +exec 2>&1 + +exec gnome-desktop-testing-runner ostree diff --git a/watch b/watch new file mode 100644 index 00000000..0d9ef4e8 --- /dev/null +++ b/watch @@ -0,0 +1,2 @@ +version=4 +https://github.com/ostreedev/ostree/releases .*/ostree-(\d\S*)\.tar\.xz