Jonathan Lebon [Wed, 20 Sep 2017 18:38:16 +0000 (18:38 +0000)]
rofiles-fuse: also pass mode for O_RDONLY
In the `O_RDONLY` case, we were calling `openat` without a mode
argument. However, it's perfectly legal (albeit unusual) to do
`open(O_RDONLY|O_CREAT)`. One such application that makes use of this is
`flock(1)`.
This was actually caught by `_FORTIFY_SOURCE=2`, and once we run
`rofiles-fuse` with `-f`, the message is clear:
Simon McVittie [Tue, 19 Sep 2017 17:37:58 +0000 (18:37 +0100)]
tests: Reset umask to 022 while creating test repository
In test-basic-root.sh we make assertions about the permissions
of files like baz/cow, which were created without an explicit chmod.
We can't do that unless we control the permissions.
For some reason the "debomatic" autobuilder used to do some Debian
archive rebuilds does the entire build including build-time tests
as uid 0 with umask 002, which broke those assertions. This seems
a weird thing to do, and I've opened a bug, but it also seems
reasonable to fix this test.
This also lets us remove a couple of existing workarounds for the
same issue.
Simon McVittie [Tue, 19 Sep 2017 13:41:18 +0000 (14:41 +0100)]
tests: Explicitly unset LANGUAGE after setting LC_ALL
As a GNU extension, LANGUAGE takes precedence over LC_ALL for
gettext(3) whenever the locale is not C, causing tests that grep for
specific English strings to fail when run in non-English locales.
The upstream glibc proposal for C.UTF-8 would give C.UTF-8 the same
special case as C here, but the implementation in Debian does not
currently have this, so we have to unset LANGUAGE too.
Signed-off-by: Simon McVittie <smcv@collabora.com>
Forwarded: https://github.com/ostreedev/ostree/pull/1188
Applied-upstream: 2017.12, commit:223c940b46a4bb335665df7436566b73cdf0effd
Gbp-Pq: Topic 2017.12
Gbp-Pq: Name tests-Explicitly-unset-LANGUAGE-after-setting-LC_ALL.patch
Simon McVittie [Fri, 22 Sep 2017 14:48:24 +0000 (15: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, 15 Sep 2017 15:58:15 +0000 (16:58 +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 [Tue, 29 Aug 2017 16:03:37 +0000 (17:03 +0100)]
test-basic-user-only: Skip final step if no user xattrs
We don't want to skip the entire test, because the whole point of
bare-user-only is that it works in the absence of xattrs; but we do
need to skip this last stage, which explicitly uses a bare-user
repository.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Name test-basic-user-only-Skip-final-step-if-no-user-xattrs.patch
Simon McVittie [Tue, 29 Aug 2017 17:18:49 +0000 (18:18 +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 [Fri, 28 Jul 2017 13:43:30 +0000 (14:43 +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
Colin Walters [Wed, 19 Jul 2017 13:19:16 +0000 (09:19 -0400)]
lib/commit: Fix EBADF with GENERATE_SIZES option for commit
Regression from previous tmpfile refactoring; unfortunately
the `OSTREE_REPO_COMMIT_MODIFIER_FLAGS_GENERATE_SIZES` option
only has coverage via gjs currently.
Might expose it via the cmdline in a later option, but in the big picture the
idea was that this data is better kept in static deltas.
Simon McVittie [Wed, 19 Jul 2017 21:18:20 +0000 (22:18 +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, 21 Jun 2017 12:06:54 +0000 (13:06 +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 <nodoc> build profile
* Upload to unstable
Simon McVittie [Thu, 19 Jan 2017 11:34:57 +0000 (11:34 +0000)]
Make corrupt-repo-ref.js executable
Debian's Lintian packaging consistency check complains that it isn't
executable but has a #! line. In fact it's reasonable to run this
script directly, so make it executable, and put it in a _scripts
variable so it will be installed executable.
Simon McVittie [Thu, 19 Jan 2017 11:23:30 +0000 (11:23 +0000)]
Sourced test snippets: remove shebang and make non-executable
They are installed non-executable, which makes Debian's Lintian
packaging consistency check complain that #! is only useful
in executable scripts. But in fact they are not useful to execute
directly (they rely on setup being done in the script that sources
them), so just chmod them -x.
Simon McVittie [Thu, 19 Jan 2017 13:23:32 +0000 (13:23 +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/gnome-desktop-testing: Fail if no tests were found
- 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 [Tue, 20 Dec 2016 11:28:41 +0000 (11:28 +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 [Thu, 1 Dec 2016 11:25:33 +0000 (11:25 +0000)]
Terminate individual tests after 10 minutes
While using the Automake parallel test harness, if a test hangs for
long enough for an external watchdog to kill the entire build process
(as happens in Debian sbuild after 150 minutes with no activity on
stdout/stderr), the logs will not be shown. If we make an individual
test time out sooner, logs are more likely to be shown.
We use SIGABRT so that the process(es) under test will dump core,
allowing the point at which ostree is blocking to be analyzed.
After 1 minute, if any have not died, we kill them again with SIGKILL.
Signed-off-by: Simon McVittie <smcv@debian.org>
Forwarded: https://github.com/ostreedev/ostree/pull/607
Gbp-Pq: Name Terminate-individual-tests-after-10-minutes.patch
Simon McVittie [Thu, 1 Dec 2016 12:38:54 +0000 (12:38 +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 [Fri, 9 Sep 2016 07:23:36 +0000 (08:23 +0100)]
Terminate individual tests after half an hour
While using the Automake parallel test harness, if a test hangs for
long enough for an external watchdog to kill the entire build process
(as happens in Debian sbuild after 150 minutes with no activity on
stdout/stderr), the logs will not be shown. If we make an individual
test time out sooner, logs are more likely to be shown.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Name Terminate-individual-tests-after-half-an-hour.patch
Simon McVittie [Sun, 20 Nov 2016 21:58:11 +0000 (21:58 +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
Sjoerd Simons [Sun, 30 Oct 2016 20:06:27 +0000 (21:06 +0100)]
Filter bootloader supplied kernel cmdline options
Various bootloader add kernel commandline options dynamically, filter
these out when grabbing boot options from /proc/cmdline. Specifically
grub adds BOOT_IMAGE and systemd-boot adds initrd.
Closes: #560
Approved by: cgwalters
Gbp-Pq: Name Filter-bootloader-supplied-kernel-cmdline-options.patch
Simon McVittie [Fri, 9 Sep 2016 07:23:36 +0000 (08:23 +0100)]
Terminate individual tests after half an hour
While using the Automake parallel test harness, if a test hangs for
long enough for an external watchdog to kill the entire build process
(as happens in Debian sbuild after 150 minutes with no activity on
stdout/stderr), the logs will not be shown. If we make an individual
test time out sooner, logs are more likely to be shown.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Name Terminate-individual-tests-after-half-an-hour.patch
Sjoerd Simons [Thu, 3 Nov 2016 21:48:01 +0000 (21:48 +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
Simon McVittie [Fri, 9 Sep 2016 07:23:36 +0000 (08:23 +0100)]
Terminate individual tests after half an hour
While using the Automake parallel test harness, if a test hangs for
long enough for an external watchdog to kill the entire build process
(as happens in Debian sbuild after 150 minutes with no activity on
stdout/stderr), the logs will not be shown. If we make an individual
test time out sooner, logs are more likely to be shown.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Name Terminate-individual-tests-after-half-an-hour.patch
Simon McVittie [Fri, 7 Oct 2016 22:39:06 +0000 (22:39 +0000)]
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, 9 Sep 2016 07:23:36 +0000 (08:23 +0100)]
Terminate individual tests after half an hour
While using the Automake parallel test harness, if a test hangs for
long enough for an external watchdog to kill the entire build process
(as happens in Debian sbuild after 150 minutes with no activity on
stdout/stderr), the logs will not be shown. If we make an individual
test time out sooner, logs are more likely to be shown.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Name Terminate-individual-tests-after-half-an-hour.patch