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