summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Release 2016.15v2016.15Colin Walters2016-12-122-1/+3
| | | | | Closes: #632 Approved by: jlebon
* ci: Rebase to f25Colin Walters2016-12-121-2/+1
| | | | | | | | | | | | This is now the devel target, plus I think this may fix some of the ASAN issues I'm seeing; I mostly have been using f25 for local testing. Also remove the MAINTAINER line since the maintainers are defined by `git log`. Closes: #631 Approved by: jlebon
* lib: Squash last use of GFile deltas_dirColin Walters2016-12-123-66/+67
| | | | | | | | | | | | | | I was having this thought today about making more of the OS readonly, and ultimately if we got to the point where all ostree operations are through the repo and sysroot dfds, we could have rpm-ostree be the only process holding those fds open, and have a read-only bind mount on top. Anyways, we're not there, likely won't be soon, but this gets us closer to being fully fd relative. Closes: #628 Approved by: jlebon
* ci: Combine UBSAN and ASAN by defaultColin Walters2016-12-093-6/+10
| | | | | | | | | | I only recently realized this was possible. While we're still seeing leaks in the CI environment for some reason, adding ASAN gives us use-after-free detection etc., which is obviously still very useful even if we're not doing leak checking. Closes: #622 Approved by: jlebon
* ci: Drop sudo installed testsColin Walters2016-12-091-2/+1
| | | | | | | | | | | | | | | | This conflicts with the ASAN work...and in general, I think I'd like to make a new format for tests that require root, and have them be defined to be in mutable containers or VMs. Our coverage loss from this isn't much because some of these tests already required `CAP_SYS_ADMIN` which we didn't have in Docker anyways. While we have the patient open, parallelize the regular installed tests. Closes: #622 Approved by: jlebon
* tests: Tweak installed tests to deal with ASANColin Walters2016-12-092-2/+14
| | | | | | | We need to disable readdir-rand there too. Closes: #622 Approved by: jlebon
* Skip gjs-based tests if ASAN is enabledColin Walters2016-12-092-6/+18
| | | | | | | | | | | | | | | | | Unfortunately, introspection uses dlopen(), which doesn't quite work when the DSO is compiled with ASAN but the outer executable isn't. Trying to inject LD_PRELOAD=libasan means the outer executable has to be leak free...which, yeah, I'm not going to get into running ASAN today on gjs or pygobject. So, let's skip those tests - ideally, we still run them in some other context without the sanitizers. The coverage we have from them is middling anyways. Closes: #622 Approved by: jlebon
* repo: Add unconfigured-state to remote config optionsColin Walters2016-12-094-2/+36
| | | | | | | | | | | | | | | | This is a migration from the origin version. It's nicer to have it in the remote, since that's what one needs to change. Then tools don't need to mess with the origin file.o In fact in this scenario one can keep the "media source" like `file:///install/repo` or whatever, since conceptually that's where it came from. We're just providing a better error. Closes: https://github.com/ostreedev/ostree/issues/626 Closes: #627 Approved by: jlebon
* build: Error if glib isn't foundColin Walters2016-12-091-1/+1
| | | | | | | This is a bit extracted from my work on ASAN. Closes: #625 Approved by: jlebon
* repo: Fix annotations for remote_fetch_summary functionsDan Nicholson2016-12-092-6/+8
| | | | | | | | | These are out parameters, so add the (out) annotation and switch (nullable) to (optional) since the latter is used for the purpose of optional out parameters. Closes: #629 Approved by: cgwalters
* tree-wide: Switch to autoptr for GOptionContextColin Walters2016-12-0848-160/+53
| | | | | | | | | | We were leaking in a few places that I noticed in an ASAN run. Also, this was one of the last non-autoptr cleanup sections we have in `out:` cleanup sections, making us a lot closer to a potential full-tree rewrite to `return FALSE`. Closes: #624 Approved by: jlebon
* build: Always do enum scanning nowColin Walters2016-12-081-6/+0
| | | | | | | | | | | Since we stopped including the libsoup headers in `ostree-fetcher.h`, we can now unconditionally do enum scanning, and drop a build time conditional. Prep for libcurl porting. Closes: #620 Approved by: jlebon
* [ASAN] sysroot: Squash a leak in lockfile acquisitionColin Walters2016-12-081-2/+2
| | | | | | | | | I installed `parallel` in my dev container, which got me the sysroot locking tests, which caught this leak when built with ASAN. Closes: #623 Approved by: jlebon
* build: Make libsoup optional againColin Walters2016-12-084-9/+21
| | | | | | | | | | The "remote cookies" code broke this. While I'm not sure anyone is actually using ostree-without-http, it isn't too hard to keep the build time conditional going. Further, this work is preparatory for libcurl porting. Closes: #621 Approved by: jlebon
* fetcher: Define an abstraction over SoupURIColin Walters2016-12-075-103/+186
| | | | | | | This is preparatory work for a potential libcurl backend. Closes: #616 Approved by: jlebon
* lib: Ensure we use _GNU_SOURCE in enum templatesColin Walters2016-12-071-0/+6
| | | | | | | | | | | | | Due to the way glib-mkenums runs the preprocessor itself, it doesn't pick up the `AC_USE_SYSTEM_EXTENSIONS()` that we have in `configure.ac`. This blew up in an obscure way when I later wanted to `#include "libglnx.h"` in one of the headers, since it needs the `basename()` from `string.h` which is only available with `_GNU_SOURCE`. Closes: #616 Approved by: jlebon
* build: Add more default errorsColin Walters2016-12-071-0/+3
| | | | | | | | Newer gcc has `-Wincompatible-pointer-types`, hooray! Add a few others that we pass today. Closes: #618 Approved by: jlebon
* ci: Make all ci tests gating for HomuColin Walters2016-12-071-0/+3
| | | | | | | See the rhci docs. Closes: #617 Approved by: jlebon
* tree-wide: Use g_hash_table_add() where applicableColin Walters2016-12-064-10/+10
| | | | | | | | Just noticed a few while reading some code, decided to do a quick cleanup. It's shorter and clearer. Closes: #614 Approved by: jlebon
* lib: Remove unused ostree_metalink_get_uri()Colin Walters2016-12-062-8/+0
| | | | | | | While doing something else I noticed it was unused. Closes: #615 Approved by: jlebon
* pull: Write .commitpartial for local pulls first tooColin Walters2016-12-061-4/+4
| | | | | | | | | | This is what we do for non-local (i.e. HTTP) pulls; we wnat to correctly handle being interrupted during partial pulls. Closes: https://github.com/ostreedev/ostree/issues/579 Closes: #613 Approved by: jlebon
* lib: Always checksum content in deltasColin Walters2016-12-064-67/+27
| | | | | | | | | | | | | | | | | | | This is a follow up to conversation on list - in practice, if we're backing away from summary signing, then it makes sense to remove the special casing for checksums in deltas around summary signatures. This is also related to the recent change to enable GPG checking for commits in deltas - now we have a more coherent story between the previous pull path and deltas. I didn't do any performance checking, and while it's slightly annoying that we're now doing sha256 on the delta content twice (once for the part and once per object)...sha256 is pretty fast, I think most users are I/O bound anyways, and it'd drop even farther if we started using openssl. Closes: #612 Approved by: jlebon
* tests/keyfile-utils: Drop tests covering preconditionsColin Walters2016-12-061-31/+0
| | | | | | | | | | | | The spam in stderr was bothering me, and further at some eventual point in the future we want to annotate the functions with `__attribute__((nonnull))` which would then cause tests like these to become undefined behavior. The coverage of this isn't worth the log spam basically. Closes: #611 Approved by: jlebon
* tests: Use G_DEBUG=fatal-warnings here tooColin Walters2016-12-061-0/+1
| | | | | | | | | | | | I am trying to track down a warning I see in `test-keyfile-utils` which turned out to be the installed case only, but let's inject this here too. (The GLib default is broken, but it's hard to fix upstream without breaking the world) Closes: #610 Approved by: jlebon
* [ASAN] tests: Cleanup all current remaining leaksColin Walters2016-12-057-17/+32
| | | | | | | We now run fully through ASAN here. Closes: #609 Approved by: jlebon
* Define and use cleanup helpers for libarchiveColin Walters2016-12-057-22/+61
| | | | | | | | This should fix some of the ASAN leaks around libarchive usage, and is generally better. Closes: #609 Approved by: jlebon
* Terminate individual tests after (10 * $TEST_TIMEOUT_FACTOR) minutesSimon McVittie2016-12-011-1/+5
| | | | | | | | | | | | | | | | | | | | 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. To support slow platforms and slow debugging tools, if TEST_TIMEOUT_FACTOR is set, multiply the 10 minute timeout by that. Signed-off-by: Simon McVittie <smcv@debian.org> Closes: #607 Approved by: cgwalters
* tests: prepend to an existing LD_LIBRARY_PATH, GI_TYPELIB_PATHSimon McVittie2016-12-011-2/+2
| | | | | | | | | | If we're using LD_LIBRARY_PATH for some locally-built library, we want to search those after OSTree's own libraries. Signed-off-by: Simon McVittie <smcv@debian.org> Closes: #606 Approved by: cgwalters
* [ASAN] tests: Fix leaksColin Walters2016-11-305-8/+20
| | | | | | | Just for cleaner sanitizer output. Closes: #598 Approved by: jlebon
* [ASAN] set-origin: Squash a leakColin Walters2016-11-301-1/+3
| | | | | | | Just a minor leak in the commandline. Closes: #598 Approved by: jlebon
* [ASAN] bootconfig: Drop a pointless strdup in parserColin Walters2016-11-301-3/+2
| | | | | | | | Not entirely sure how this was leaking, but anyways it showed up in ASAN, and it's pointless to strdup here. Closes: #598 Approved by: jlebon
* [ASAN] metalink: Fix leaks of bufferColin Walters2016-11-301-5/+8
| | | | | | | | | | We should be religious about the "only set output variables on success", otherwise it makes leaks more likely. But the real leak was us simply not using autoptr in one place. Closes: #598 Approved by: jlebon
* [ASAN] sysroot: Fix leak/double free of keyfile originColin Walters2016-11-302-6/+2
| | | | | | | | Use autoptr rather than manual cleanup. The double free isn't a security problem, since we trust origin files. Closes: #598 Approved by: jlebon
* traverse: Use g_hash_table_addColin Walters2016-11-301-6/+3
| | | | | | | | | And "move semantics" via `g_steal_pointer()`. Just a minor code cleanup I noticed when I was hunting for a leak, which ended up being elsewhere. Closes: #598 Approved by: jlebon
* [ASAN] cmdline: Fix minor leak in delta cmdline entrypointColin Walters2016-11-301-5/+7
| | | | | | | Small, but it's important to stay clean. Closes: #598 Approved by: jlebon
* [ASAN] deltas: Fix minor memory leakColin Walters2016-11-301-0/+2
| | | | | | | | We were leaking the checksum, ensure we free it in both normal and error paths. Closes: #598 Approved by: jlebon
* [ASAN] delta compilation: More leak fixesColin Walters2016-11-301-13/+14
| | | | | | | | Now that I remembered to do `env G_SLICE=always-malloc`, lots more leaks become apparent. Nothing major. Closes: #598 Approved by: jlebon
* man: Mention bare-user in manpages, along with the other modesMario Sanchez Prada2016-11-303-5/+8
| | | | | | | Closes: #602 Closes: #603 Approved by: cgwalters
* travis-ci: document parameter variablesSimon McVittie2016-11-292-0/+39
| | | | | | | Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Closes: #600 Approved by: cgwalters
* travis-ci: Enable stretch (the future Debian 9), replacing unstableSimon McVittie2016-11-291-0/+1
| | | | | | | | | | | | | | | | | My goal in building ostree for Debian unstable was that we would have good coverage of "new code" paths. However, it was removed for #571 as too much of a moving target. Debian testing is less of a moving target, and in particular is always internally consistent (packages are co-installable), which Debian unstable is not guaranteed to be. Debian 'stretch' is the future Debian 9, which should be released next year. Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Closes: #600 Approved by: cgwalters
* travis-ci: Use "slim" Debian image for testingSimon McVittie2016-11-291-1/+1
| | | | | | | | | | Documentation and similar files are stripped from this image, making it quicker to install. Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Closes: #600 Approved by: cgwalters
* travis-ci: Run `make distcheck` tooSimon McVittie2016-11-291-2/+2
| | | | | | | | | ostree is now actively using that mode. Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Closes: #600 Approved by: cgwalters
* travis-ci: cat the test log after successful test runsSimon McVittie2016-11-291-0/+3
| | | | | | | | | This lets us see which tests were skipped. Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Closes: #600 Approved by: cgwalters
* travis-ci: Move helper function to before we start building anythingSimon McVittie2016-11-291-7/+6
| | | | | | | Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Closes: #600 Approved by: cgwalters
* travis-ci: Use a non-ostree-specific name for the Docker imageSimon McVittie2016-11-292-2/+2
| | | | | | | | | | This reduces the diff when comparing these scripts with similar glue in dbus or elsewhere. Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Closes: #600 Approved by: cgwalters
* travis-ci: put an explicit copyright/license on the scriptsSimon McVittie2016-11-292-0/+44
| | | | | | | | | | This is deliberately permissive: a lot of it is generic, and I'm using similar scripts in dbus. Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Closes: #600 Approved by: cgwalters
* ci-install: add ci_distroSimon McVittie2016-11-291-0/+1
| | | | | | | | | | Otherwise, we'll fail (due to set -u) if this parameter variable isn't passed. Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Closes: #600 Approved by: cgwalters
* ci-build: consistently use yes/no for booleans, not yes/emptySimon McVittie2016-11-292-3/+3
| | | | | | | Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Closes: #600 Approved by: cgwalters
* build: clean up ostree-remount if building without systemdSimon McVittie2016-11-293-2/+7
| | | | | | | | | This is necessary for "make distcheck" on Travis-CI. Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Closes: #600 Approved by: cgwalters
* delta compilation: Fix leakAlexander Larsson2016-11-281-11/+11
| | | | | | | We need to ref-sik the new varian for g_autoptr to work Closes: #597 Approved by: cgwalters