Commit Graph

2747 Commits

Author SHA1 Message Date
Simon McVittie 134b42ee46 Add patch from upstream to make sure we use the built binaries for build-time testing 2016-07-16 21:16:11 +01:00
Simon McVittie 14a4beba63 New upstream version
- drop all patches, applied upstream
2016-07-16 21:08:02 +01:00
Simon McVittie 902c4c7b0f Merge tag 'upstream/2016.7' into debian/master
Upstream version 2016.7
2016-07-16 21:06:36 +01:00
Simon McVittie 8d0c193392 Imported Upstream version 2016.7 2016-07-16 21:06:34 +01:00
Colin Walters c31cf75552 Release 2016.7
Closes: #386
Approved by: jlebon
2016-07-08 19:40:55 +00:00
Colin Walters 972ed3e54e fetcher: Remove unused GTask structure member
Spotted by mbarnes.

Closes: #383
Approved by: mbarnes
2016-07-08 18:38:11 +00:00
Colin Walters 5d21650ea5 fetcher: Clear all data for session in session thread
Conceptually the session thread owns the session, so let's clear out
everything predictably there, rather than sometimes having it happen
on the main thread.

Also, this moves up clearing the pending/outstanding queues *before*
we unreference the session, since conceptually they need to reference
it as well.

Based on a patch from: Matthew Barnes <mbarnes@redhat.com>

Closes: #383
Approved by: mbarnes
2016-07-08 18:38:11 +00:00
Colin Walters b4c15209e8 fetcher: Hold a ref to main context for lifetime of thread
I don't think this fixes the bug I was seeing, but it makes me more
comfortable to know we have a strong ref to the main context across
the thread lifetime, and we only unset the default right before
we go away.

If something in `thread_closure_unref()` used
`g_main_context_get_thread_default()` for example it'd be wrong
before.

Closes: #383
Approved by: mbarnes
2016-07-08 18:38:11 +00:00
Colin Walters d7629d33a4 tests: Add some test coverage of repeated pulls w/HTTP 500s
Systems like pulp may want to keep retrying in a loop if the server
throws a (hopefully transient) 500, and we need test coverage of
handling these errors versus our existing 404 and 206 coverage.

Closes: #383
Approved by: mbarnes
2016-07-08 18:38:11 +00:00
Colin Walters 71301d1824 tests/libtest.sh: Print non-matching file on failure
We clean up the temporary directory on failure, which means it's hard
to know *why* a regex didn't match.  Print it when we hit an error.

Closes: #383
Approved by: mbarnes
2016-07-08 18:38:11 +00:00
Mathnerd314 b0bfb92831 pull: Free fetch_data by default
This should fix the memory leaks in #352

This is a subset of the changes, the other part is in my pull code rewrite

Closes: #382
Approved by: cgwalters
2016-07-06 20:57:40 +00:00
Simon McVittie e8a3585d78 Switch sense of check in debian/test.sh so we really ignore test failures on mipsel, and not on !mipsel. 2016-07-06 15:23:38 +01:00
Simon McVittie eb427ca1a3 2016.6-3 2016-07-06 10:17:56 +01:00
Jonathan Lebon d371aec217 static-delta-core.c: squash unused var warning
Closes: #379
Approved by: cgwalters
2016-07-05 00:34:33 +00:00
Bastien Nocera 9df846559a libostree: Fix build failure with glib 2.42
G_DEFINE_AUTOPTR_CLEANUP_FUNC is a new function in GLib 2.44, but
libglnx contains a backported version of it. A few source files were
however using G_DEFINE_AUTOPTR_CLEANUP_FUNC either without including
libglnx.h, or without including it early enough.

This fix is similar to the one in commit d368624.

Closes #376

Closes: #377
Approved by: smcv
2016-07-04 15:25:20 +00:00
Colin Walters cbca341a77 docs: Add a section on Docker
This could have a lot more obviously, but just laying down my thoughts
as a starting point.

Closes: #374
Approved by: jlebon
2016-07-04 13:38:25 +00:00
Colin Walters 0d07c7ecde delta: Add --if-not-exists option
I often want to have "idempotent" systems that iterate to a known
state.  If after generating a commit, the system is interrupted, I'd
like the next run to still generate a delta.  But we don't want to
regenerate if one exists, hence this option.

Closes: #375
Approved by: jlebon
2016-07-04 13:27:06 +00:00
Simon McVittie 85d4d5e1cc 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)
2016-07-04 10:06:55 +01:00
Simon McVittie 0187b51281 2016.6-2 2016-06-28 09:30:01 +01:00
Simon McVittie 7627fd4398 Use the GitHub repository as the Homepage and Source
The GNOME wiki page is less frequently updated.
2016-06-28 09:29:50 +01:00
Simon McVittie 65fccc367c Add patch from upstream fixing FTBFS on host machines without root= in /proc/cmdline
The reproducible builds armhf workers are one example.
2016-06-28 09:27:09 +01:00
Dan Nicholson 8933c93a55 build: Override systemd unit directory for distcheck
distcheck tests that all the files are installed under $prefix. That
doesn't work with the systemd unit directory since the path comes from
pkg-config. Override the setting to be under $prefix in that case.

Closes: #372
Approved by: cgwalters
2016-06-27 20:20:21 +00:00
Dan Nicholson a94530111a tests: Improve check for /proc/cmdline kargs
On some systems there may be no root= argument, so the tests for
appending /proc/cmdline arguments will fail. Instead, loop over each of
the arguments in the host's /proc/cmdline and test that they're in the
constructed config file. That will actually test if ostree added all of
the system's /proc/cmdline args correctly. The regex isn't perfect here,
but it's probably good enough for this test.

Closes: #372
Approved by: cgwalters
2016-06-27 20:20:21 +00:00
Dan Nicholson 99a76c9b34 tests: Remove extra $CMD_PREFIX from test-auto-summary.sh
$OSTREE already has $CMD_PREFIX in it, so adding it again causes you to
call env twice with LD_PRELOAD.

Closes: #372
Approved by: cgwalters
2016-06-27 20:20:21 +00:00
Dan Nicholson 6162fde4f1 build: Distribute libglnx and bsdiff Makefile templates
In order to re-run autogen.sh from the tarball, the libglnx and bsdiff
Makefile templates need to be provided.

Closes: #372
Approved by: cgwalters
2016-06-27 20:20:21 +00:00
Dan Nicholson 8b397301c4 tests: Ensure mutable deployments from libostreetest
When creating sysroots with libostreetest, we don't get the benefit of
the OSTREE_SYSROOT_DEBUG setting in libtest.sh. That means we'll get
immutable deployments that can't be easily cleaned up.

Ensure the environment variable is set before creating new sysroots. It
would be nice to set the debug flags directly, but that's private API
that isn't currently pulled into libostreetest.

Closes: #372
Approved by: cgwalters
2016-06-27 20:20:21 +00:00
Dan Nicholson b53fb92a9d tests: Remove gpg verification files from EXTRA_DIST
Follow on from 70a11189. These files are already disted.

Closes: #372
Approved by: cgwalters
2016-06-27 20:20:21 +00:00
Jonathan Lebon f4e92a1e06 ostree admin switch: fix short summary
Closes: #371
Approved by: cgwalters
2016-06-27 18:06:25 +00:00
Colin Walters 439069b2bb checkout: Add an option to require hardlinks
I've seen a few people hit this and wonder why checkouts are slow/take
space.  Really, ensuring this happens is the *point* of OSTree.
Physical copies should be a last resort fallback for very unusual
situations (one of those is rpm-ostree checking out the db since
librpm doesn't know how to read from libostree).

Even I hit the fact that `/var` is a mountpoint disallowing hardlinks
with `/ostree` once and was confused.  =)

Add this to the rofiles-fuse test case because it creates a mount
point.

Closes: #368
Approved by: jlebon
2016-06-27 13:08:46 +00:00
Colin Walters da989b473d rofiles-fuse: Do allow fchmod/fchown on directories
The program is called ro*files* and ostree creates physical
copies of directories, so changing them is fine.

I hit this when trying to do a copy checkout onto an rofiles-fuse
mount.

Closes: #368
Approved by: jlebon
2016-06-27 13:08:46 +00:00
Simon McVittie 0ed9f520da tests: fail the build if symlinking tests/ostree fails
Signed-off-by: Simon McVittie <smcv@debian.org>

Closes: #367
Approved by: cgwalters
2016-06-26 21:31:35 +00:00
Simon McVittie ca899ccfd3 tests: use our own generated libtool, not the one in $PATH
libtoolize creates a version of libtool for the right architecture
in $(top_builddir), which is guaranteed to be present, and is
guaranteed to match what we are compiling (even during
cross-compilation).

Packaging systems sometimes separate /usr/bin/libtool, which is
specific to one architecture, from the libtool development files
such as libtoolize and ltmain.sh, which are architecture-independent.
For example, in Debian, libtool_*_all.deb contains the files necessary
to libtoolize a package and is depended on by the dh-autoreconf package,
but libtool-bin_*_amd64.deb (or whatever architecture) contains
/usr/bin/libtool and is not normally necessary to depend on.

Signed-off-by: Simon McVittie <smcv@debian.org>

Closes: #367
Approved by: cgwalters
2016-06-26 21:31:35 +00:00
Simon McVittie f38c33fec8 entry_pathname_test_helper: these tests need extended attributes
Signed-off-by: Simon McVittie <smcv@debian.org>

Closes: #366
Approved by: cgwalters
2016-06-26 21:15:36 +00:00
Simon McVittie 3f50f36891 2016.6-1 2016-06-26 20:01:24 +01:00
Simon McVittie bd5bc56b19 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).
2016-06-26 19:51:04 +01:00
Simon McVittie 7c91261b3f Close #827473 in changelog 2016-06-26 19:37:55 +01:00
Simon McVittie fbc2340342 Skip more tests if /var/tmp doesn't support extended attributes 2016-06-26 14:29:31 +01:00
Simon McVittie b77f68a4c2 Build-depend on cpio, for the libarchive test 2016-06-26 14:21:34 +01:00
Simon McVittie 577e83f797 add patches to ensure that the build-time tests act on the copy of ostree that we just built 2016-06-26 13:58:19 +01:00
Simon McVittie 035bad982b update symbols file 2016-06-26 13:07:42 +01:00
Simon McVittie 61de6d0c2d 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 2016-06-26 12:32:22 +01:00
Simon McVittie 893a021a42 d/p/libostree.sym-Fix-test-symbols.patch: apply patch from upstream to fix a build-time test 2016-06-26 12:27:19 +01:00
Simon McVittie 60433eb024 New upstream release
- drop all patches, included upstream
2016-06-26 12:20:39 +01:00
Simon McVittie 43a793709c d/gbp.conf: configure to merge upstream tags into upstream/latest (add https://github.com/ostreedev/ostree as a remote) 2016-06-26 12:16:58 +01:00
Simon McVittie 20ad748b6d d/gbp.conf: configure to use upstream/latest for upstream imports 2016-06-26 12:16:05 +01:00
Simon McVittie f3738d69e9 Merge branch 'upstream/latest' into debian/master 2016-06-26 12:15:11 +01:00
Simon McVittie 591e32381a Release 2016.6
There's quite a lot of changes in this release since 2016.5, but one
 thing I want to call out explicitly is that we fixed a race condition
 in the HTTP pull code that could cause hangs or crashes that mostly
 occurred only when doing "large" pulls (thousands of object requests).
 If this occurs, client systems can work around it by cancelling and
 retrying the pull.
 
 Other high level changes:
 
 Jonathan Lebon:
       ostree-repo-libarchive.c: major refactor
 
 This laid more groundwork for rpm-ostree to import RPM (CPIO) archives
 sanely.  If you are integrating with an existing package management
 format, this should help a lot.
 
 Mathnerd314 (11):
       repo: use OSTREE_TIMESTAMP (=1) for checked-out files
 
 Is a quite interesting change - we previously used a timestamp of
 zero, but Nix has apparently done better with `1` for various reasons.
 This is a pretty subtle change, so be on the lookout for regressions.
 
 Thanks to all contributors!
 
 Alexander Larsson (13):
       ostree export: Add --subpath support
       ostree export: Add --prefix option
       repo: Allow loading files staged in the transaction
       repo: Fix temporary directory allocation
       repo: Handle parent repos with different remote configuration
       tests: Fix build with old glib
       Build on older versions of glib
       libotutil: Fix leak of VariantMapData
       pull: Fix leak of debug temporary strings
       pull: Fix leak of FetchObjectData in some cases
       pull: Fix leaked uri in request_static_delta_superblock_sync
       pull: Fix leak of refs_to_fetch
       tests: Exit valgrind tests if a leak is detected
 
 Colin Walters (50):
       core: Remove ostree_checksum_update_meta that was not implemented
       lib: Remove ostree_repo_file_make_empty_tree
       Rename test-abi to test-symbols, start verifying symbols are documented
       libtest: Skip FUSE if CAP_SYS_ADMIN not in bounding set
       repo: Simplify internal has_object() lookup code
       deploy: Start hardlinking kernel/initramfs on single-part again
       build: Introduce --with-dracut=yesbutnoconf
       libglnx porting: Migrate from GSConsole
       repo: Fix reading repos on read-only media
       repo: Add OSTREE_REPO_TEST_ERROR=pre-commit env var
       repo: Add OSTREE_BOOTID override envvar for debugging
       repo: Clean up staging directory for previous boot IDs
       repo: Make repo/tmp expiry configurable via tmp-expiry-seconds
       lib: Add more filename validations (no ., .. or /) in commit logic
       libglnx porting: Migrate to glnx_stream_fstat()
       build: Use --std=gnu99
       trivial-httpd: Add __attribute__((format))
       Make enum generation private by default, export stub symbol
       build: Don't run glib-mkenums if there's nothing to do
       README: x/xdg-app/flatpak/
       libglnx porting: Port "load utf8 file" contents API callers
       repo: Port uncompressed cache GC to libglnx
       libglnx porting: Port callers of gs_file_unlink to just unlink()
       libglnx porting: Port away from gs_file_ensure_directory()
       sysroot: Correct error handling path in previous libglnx port
       core: Port to new libglnx tempname API
       lib: Change ot_util_variant_map helpers to consistently sink refs
       lib: Drop GFile variant mapping API for fd-relative
       libglnx porting: Port away from gs_file_map_noatime()
       glnx porting: Port away from gs_file_get_basename_cached()
       tests: Use strict mode by default for C tests
       tests/test-pull-c: New test that runs through the pull API via C
       glnx porting: Drop last uses of gs_file_get_basename_cached()
       libglnx porting: Drop last use of gs_transfer_out_value()
       glnx porting: Drop use of gs_file_openat_noatime
       lib: Add `_ALLOW_NOENT` flag to internal variant mapping API
       lib: Add a helper for mmap->bytes with openat(), use it in repo
       repo: (minor) Drop a GFile usage in signature creation
       lib: Fix a leak in remote parsing
       lib: Add OSTREE_SUPPRESS_SYNCFS environment variable
       tests: Modernize valgrind infrastructure
       lib: Port some manual close() cleanups to be glnx_fd_close
       manual: Link to mender.io
       Add "archive" as an alias for "archive-z2"
       repo: Avoid a possible divide by zero in progress
       manual: Discuss mirroring
       build: Fix libreaddir-rand to honor global CFLAGS
       tests: Support OT_SKIP_READDIR_RAND
       pull: Ensure we always process queue only from main thread
       Release 2016.6
 
 Gatis Paeglis (3):
       Remove unused variables from install_deployment_kernel
       Fix --enable_rofiles_fuse=no build
       Fix build when have_libsoup_client_certs=no
 
 Giuseppe Scrivano (1):
       man: add missing options for commit
 
 Jonathan Lebon (7):
       ostree-repo-libarchive.c: major refactor
       ot-builtin-commit.c: add --skip-list option
       tests/test-libarchive.sh: add more test
       tests/test-libarchive-import.c: add tests
       OstreeRepo: add extensions directory
       ostree_repo_write_commit: add missing docstring arg
       configure.ac: properly check for bison
 
 Krzesimir Nowak (26):
       lib: Fix a typo
       trivial-httpd: Remove useless code
       lib: Fix an introspection annotation
       tests, lib: Remove unused variables
       lib: Add URL override pull option
       pull: Add a --url option
       trivial-httpd: Add a --log-file option
       tests: Add a test for ostree pull --url
       sysroot: Plug some leaks
       core: Improve variant format docs
       repo: Plug a leak
       repo: Allow using options for fetching summary
       libostree: Variant-related leak plugs and fixes
       libostree: Fix bracket-missing warnings
       libostree: Add g_autoptr() support for the public types
       build: Remind about bumping related versions
       build: Allow ostree to use g_autoptr on its types internally
       build: Install new autocleanups header
       libotutil: Plug a leak
       core: Add a function creating an archive-z2 content stream
       repo: Factor out the check of gpg result to a separate function
       repo: Add a missing Returns paragraph
       repo: Factor out setting up a GPG verifier
       repo: Add functions for verifying any data in repository
       summary: Fix a typo
       repo: Fix build on 32-bit systems
 
 Mathnerd314 (11):
       commit: accept NULL subject argument
       commit: Add --editor / -e command line argument
       commit: Display subject/body in commit editor
       commit: Don't require a subject
       log: Display "(no subject)" for commits without a subject
       commit: Update manpage to reflect --editor
       repo: use OSTREE_TIMESTAMP (=1) for checked-out files
       pull: Move libsoup-related code from ostree-repo.c to ostree-repo-pull.c
       pull: Move pull and pull_onedir back into ostree-repo.c
       docs: Get API docs working again
       related-projects: Update with more information and projects
 
 Micah Abbott (1):
       docs: fix swapped link syntax
 
 Sam Spilsbury (2):
       Makefile: Move to AM_DISTCHECK_CONFIGURE_FLAGS
       repo: Display estimated time remaining when pulling
 
 Simon McVittie (12):
       libtest: show files' contents when assertions about them fail
       test-parent: this test requires user xattrs
       test-sysroot.js: set "strict mode" when sourcing libtest.sh
       Link libreaddir-rand to libdl
       autogen.sh: rely on VPATH for submodules' Makefile-*.am.inc
       build: distribute libostree.sym in tarballs
       build: distribute test scripts in tarballs
       build: distribute TAP helper scripts in tarballs
       build: distribute more test files
       libtest: make gpghome in tmpdir writeable
       libostreetest: include libtest.sh from srcdir, not builddir
       build: re-create tests/ostree-symlink-stamp if Makefile changes
 
 Yu Qi Zhang (2):
       refs: add "ostree refs --create" and unit tests
       libglnx porting: delete temp files on failure of file creation
 
 Git-EVTag-v0-SHA512: 216ec7ea61eeabb0404207b01387b7de85276b2fbf09e39928f4800eddac06904d690dbf66260282a1cc4127f15a68feb0a8da31921d7d943856569cb81b1d6f
 -----BEGIN PGP SIGNATURE-----
 
 iQEcBAABCgAGBQJXaCX8AAoJENxF/VkhwT8LKN8H/0G8eTKx/H+BXn72Ok/dR4Gh
 P+EAsqvASavYq5y8eg5ZdAoIy8tttQdO9zX/RZIiU/QrI+iwtngL9xmjYh+fsVEo
 T9YgTXbwSI6k3g4zV6BPcwPN3/PBd4esGgDnf9uEv6RjDPpuXhyPYyOnW8Rr1xth
 vC4/gBEbKRlCeRCiB1E0hiYjELxu2DyESlBZfNQ0lPvxDhrp/ZlvyR3/IkQWFhao
 GVJDaCot+hvdNdclHu1izHa8qfVoAMJokLXD6Y3SiQxZtokUBgNJ8EwbEJ+A0YRx
 Ojl8jKwz1zmxtMz2M4qLbVKjzBecAj6t+WSbLW6x0MGZs1q235LBy0lSJIv+8SA=
 =RTt1
 -----END PGP SIGNATURE-----

Merge tag 'v2016.6' into upstream/latest

Release 2016.6
2016-06-26 12:13:49 +01:00
Simon McVittie 051e7acbe2 Merge tag 'upstream/2016.6' into debian/master
Upstream version 2016.6
2016-06-26 12:12:28 +01:00
Simon McVittie 24762929e2 Imported Upstream version 2016.6 2016-06-26 12:12:26 +01:00
Simon McVittie dcf46b2b5e d/watch: fetch releases from GitHub instead of GNOME 2016-06-26 12:12:09 +01:00