summaryrefslogtreecommitdiff
path: root/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* Update FSF license notices to use URL instead of addressJoseph Marrero2021-12-071-3/+1
|
* build-sys: Bump required GLib to 2.44Dan Nicholson2021-06-051-1/+1
| | | | | | | | | | | | This will allow usage of `GMutexLocker`. This should be available on many older distros: * RHEL 7 - 2.56.1 * RHEL 8 - 2.56.4 * Debian 9 stretch (oldstable) - 2.50.3 * Debian 10 buster (stable) - 2.58.3 * Ubuntu 16.04 xenial - 2.48.2 * Ubuntu 18.04 bionic - 2.56.4
* docs: Copy in API docs and add linkDan Nicholson2021-05-211-0/+1
| | | | | | | | | | | Make a copy of `apidoc/html` to `docs/reference` and then tell Jekyll to include it verbatim. This will include the gtk-doc API docs on the static site. A link is added to the main index. A script is added to do the copy (a symlink won't do) and is setup to run before Jekyll in the GitHub workflow. Ideally this would be a local Jekyll plugin to make the process automatic, but the github-pages gem doesn't allow that.
* docs: Provide bundler setup for building site locallyDan Nicholson2021-05-211-0/+8
| | | | | | | | This mimics the GitHub Pages environment so that you can build and serve the site locally for testing. It's will also be required later for using Jekyll Actions[1] instead of the automated GitHub Pages flow. 1. https://github.com/marketplace/actions/jekyll-actions
* build-sys: Add toplevel workspace Cargo.tomlColin Walters2021-04-151-0/+3
| | | | | | | | | rust-analyzer is happier with this because it understands the project structure out of the box. We aren't actually again adding a dependency on Rust/cargo in the core, this is only used to make `cargo build` work out of the box to build the Rust test code.
* Drop minimal rust/ libraryColin Walters2021-03-181-24/+0
| | | | | | | | | | | | | | | | | | | This was my first experiment with using Rust in this way; I gained a lot of knowledge from it. But, we don't really gain anything from the code as it is today - while it is "bit fiddling" code, the C code is well tested. We have a lot of compile-time options, and trimming them will be helpful. We've also gotten pushback on hard requiring Rust client side. Instead, what I'd like to do is hopefully soon create an `ostree-system` crate that uses the existing `ostree` library and can contain code drained from the rpm-ostree Rust and used by other projects perhaps. So the goal here is really more Rust, but we need to focus our efforts on where it's most valuable.
* tests/inst: Add destructive test frameworkColin Walters2020-08-171-0/+3
| | | | | | | | | | | | | | | | This adds infrastructure to the Rust test suite for destructive tests, and adds a new `transactionality` test which runs rpm-ostree in a loop (along with `ostree-finalize-staged`) and repeatedly uses either `kill -9`, `reboot` and `reboot -ff`. The main goal here is to flush out any "logic errors". So far I've validated that this passes a lot of cycles using ``` $ kola run --qemu-image=fastbuild-fedora-coreos-ostree-qemu.qcow2 ext.ostree.destructive-rs.transactionality --debug --multiply 8 --parallel 4 ``` a number of times.
* Revert "Always enable trivial-httpd for tests"Alex Kiernan2019-10-191-1/+0
| | | | This reverts commit 82699a67dbb6bfcc9452bb969e7872809232a84f.
* Always enable trivial-httpd for testsAlex Kiernan2019-10-091-0/+1
| | | | | | | When running tests we always need ostree-trivial-httpd, so enable it unconditionally Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
* build: Conditionally build GPGME-related sourcesDenis Pynkin2019-08-011-0/+2
| | | | | | | | | Do not build GPGME-related sources if flag USE_GPGME is not defined. Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com> Closes: #1889 Approved by: cgwalters
* ci: Add `dist-then-build` target to catch missing `EXTRA_DIST`Colin Walters2018-10-251-0/+10
| | | | | | | | | | | | | | | | I personally am very opposed to the entire idea of `make distcheck`; I think source code should canonically be *git* and not tarballs. See e.g. https://github.com/cgwalters/git-evtag for some rationale. But anyways we are uploading classic tarballs since today that what Debian/Fedora/etc consume sadly, so we need to test it. We explicitly skip `make distcheck` since we don't want to rerun the test suite. Closes: #1766 Approved by: jlebon
* Add SPDX-License-Identifier to source filesMarcus Folkesson2018-01-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | SPDX License List is a list of (common) open source licenses that can be referred to by a “short identifier”. It has several advantages compared to the common "license header texts" usually found in source files. Some of the advantages: * It is precise; there is no ambiguity due to variations in license header text * It is language neutral * It is easy to machine process * It is concise * It is simple and can be used without much cost in interpreted environments like java Script, etc. * An SPDX license identifier is immutable. * It provides simple guidance for developers who want to make sure the license for their code is respected See http://spdx.org for further reading. Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com> Closes: #1439 Approved by: cgwalters
* build-sys: Use -fno-strict-aliasing by defaultColin Walters2017-12-151-1/+2
| | | | | | | | | | | | See discussion in https://bugzilla.gnome.org/show_bug.cgi?id=791622 This is what e.g. systemd, the Linux kernel, and lots of other projects do. It's astonishingly hard to reliably get right; the optimization IMO only really matters for truly high performance inner loops, but if you're doing that kind of stuff today you're probably doing it on a GPU anyways. Closes: #1384 Approved by: pwithnall
* build: Also fix -Werror=undef for old libsoupColin Walters2017-11-061-1/+1
| | | | | | | Same change as before, but for libsoup. Closes: #1328 Approved by: jlebon
* build: Work around -Wundef with older GLibColin Walters2017-11-061-1/+1
| | | | | | | | This previous PR caused our `-Werror=undef` to trigger when building with older GLib; this should work around it. Closes: #1327 Approved by: jlebon
* build: Do *.am.inc substitutions from make correctlyDan Nicholson2017-10-181-2/+2
| | | | | | | | | | The string needs to be escaped with a $ since we want to replace the literal string $(path). Without this make will run the command with the value of the variable, which won't match anything in the input Makefile stub. Closes: #1291 Approved by: smcv
* build: Fix bsdiff Makefile circular dependencyDan Nicholson2017-10-161-1/+1
| | | | | | | | | | | The intended use was to have the .am.inc generated from the .am like the libglnx one. Without this, make was detecting a circular dependency and dropping the rule: make: Circular bsdiff/Makefile-bsdiff.am.inc <- bsdiff/Makefile-bsdiff.am.inc dependency dropped. Closes: #1276 Approved by: jlebon
* Make sure *.am.inc are up to date before `make dist`Simon McVittie2017-10-161-0/+11
| | | | | | | | | | | v2017.12 didn't include test-libglnx-shutil.c, but if you re-run autogen.sh (as we do in Debian, to update the Autotools build system) it will try to build it. Signed-off-by: Simon McVittie <smcv@collabora.com> Closes: #1274 Approved by: cgwalters
* bash: Add bash completionMatthew Barnes2017-08-151-0/+1
| | | | | | | Completes commands, options, commit checksums, ref names, remotes, and file paths. Closes: #1077 Approved by: jlebon
* lib/repo-finder: Add mount based OstreeRepoFinder implementationPhilip Withnall2017-06-261-1/+1
| | | | | | | | | | | | | | | | | | | | This is a basic implementation of OstreeRepoFinder which resolves ref names to remote URIs by looking for them on any currently mounted removable storage volumes. The idea is to support OS and app updates via USB stick. Unit tests are included. This bumps libostree’s maximum GLib dependency from 2.44 to 2.50 for g_drive_is_removable(). If GLib 2.50 is not available, the call which needs it will be omitted and the OstreeRepoFinderMount implementation will scan all volumes (not just removable ones); this is a performance hit, but not a functionality hit. Signed-off-by: Philip Withnall <withnall@endlessm.com> Closes: #924 Approved by: cgwalters
* build: Use cd $(srcdir) instead of `git -C`Colin Walters2017-05-171-3/+3
| | | | | | | | | | Since the version in CentOS is too old, and we get a spam of warnings, plus things like detecting the git repo break. Fixes: 50f73cbac35be97fd5895531e295d05dabaa8ed9 Closes: #868 Approved by: jlebon
* build: Add -C arguments to some git invocationsPhilip Withnall2017-05-081-3/+3
| | | | | | | | | | This moves the build system a little closer towards being safe for builddir ≠ srcdir. Signed-off-by: Philip Withnall <withnall@endlessm.com> Closes: #832 Approved by: cgwalters
* Define TARGET_PREFIX to use with grub2 deploymentAnton Gerasimov2017-03-271-1/+1
| | | | | Closes: #760 Approved by: cgwalters
* main: Make ostree --version output YAML (and add gitrev)Colin Walters2017-02-221-0/+3
| | | | | | | | | I learned today that `docker version` does this and I really like the idea. While we have the patient open, also add the gitrev with code taken from https://github.com/projectatomic/rpm-ostree/pull/584 Closes: #691 Approved by: giuseppe
* rust: Support `make dist` -> cargo vendorColin Walters2017-02-071-0/+9
| | | | | | | | | | What we do here basically is set things up in a `dist-hook` so that our Rust sources are vendored at `dist` time. This gives us a single tarball still, and ideally should be transparent to downstream builders, as long as they have the `cargo/rust` toolchain. Closes: #669 Approved by: jlebon
* oxidation: Add implementation of bupsplit in RustColin Walters2017-02-031-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an initial drop of "oxidation", or adding implementation of components in Rust. The bupsplit code is a good target - no dependencies, just computation. Translation into Rust had a few twists - - The C code relies a lot on overflowing unsigned ints, and also on the C promotion rules for e.g. `uint8_t -> int32_t` - There were some odd loops that I introduced bugs in while translating...in particular, the function always returns `len`, but I mistakenly translated to `len+1`, resulting in an OOB read on the C side, which was hard to debug. On the plus side, an off-by-one array indexing in the Rust code paniced nicely. In practice, we'll need a lot more build infrastructure to make this work, such as using `cargo vendor` when producing build artifacts for example. Also, Cargo is yet another thing we need to cache. Where do we go with this? Well, I think we should merge this, it's not a lot of code. We can just have it be an alternative CI target. Should we do a lot more right now? Probably not immediately, but I find the medium/long term prospects pretty exciting! Closes: #656 Approved by: jlebon
* build: Set --enable-man during distcheckDan Nicholson2016-09-011-1/+5
| | | | | | | | | If xsltproc is not installed, then ENABLE_MAN will be false and the generated man pages won't be distributed. Pass --enable-man to enforce that the man pages will be generated and distributed. Closes: #486 Approved by: cgwalters
* libglnx porting: Migrate to new tempfile codeColin Walters2016-07-291-1/+1
| | | | | | | | | In general this is even cleaner now, though it was better after I extracted a helper function for the "write tempfile with contents" bits that were shared between metadata and regular file codepaths. Closes: #369 Approved by: jlebon
* build: Distribute libglnx and bsdiff Makefile templatesDan Nicholson2016-06-271-0/+2
| | | | | | | | 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
* build: Allow ostree to use g_autoptr on its types internallyKrzesimir Nowak2016-05-171-0/+1
| | | | | | | | As an example, I g_autoptred one OstreeRepo in the "ostree init" command. Closes: #295 Approved by: cgwalters
* Makefile: Move to AM_DISTCHECK_CONFIGURE_FLAGSSam Spilsbury2016-05-121-1/+1
| | | | | | | | | | | | Since automake 1.11.2 it is recommended that packages use AM_DISTCHECK_CONFIGURE_FLAGS instead of DISTCHECK_CONFIGURE_FLAGS as the latter is intended to be a user variable. https://bugzilla.gnome.org/show_bug.cgi?id=766298 Closes: #293 Approved by: cgwalters
* build: Use --std=gnu99Colin Walters2016-05-061-1/+1
| | | | | | | | | | It's actually very nice to be able to declare loop variables inside the initializer. Ideally we could turn off nested functions though. Closes: #284 Approved by: jlebon
* Fix --enable_rofiles_fuse=no buildGatis Paeglis2016-04-251-0/+2
| | | | | Closes: #276 Approved by: cgwalters
* Use git.mkColin Walters2016-04-071-0/+4
| | | | | | | It's a lot nicer than manually maintaining .gitignore in general. Closes: #235 Approved by: giuseppe
* build: Set G_LOG_DOMAIN to OSTreeDan Nicholson2016-03-261-0/+1
| | | | | | | | | | This will allow ostree programs to filter log messages specifically for OSTree instead of using the NULL domain for ostree debugging. https://bugzilla.gnome.org/show_bug.cgi?id=764237 Closes: #225 Approved by: cgwalters
* tests: Port to glib-tap.mk, make `make check` run all of the testsColin Walters2016-03-031-10/+1
| | | | | | | | | | | | | | | | | | OSTree's code for testing predates the `glib-tap.mk` making its way into GLib. Let's switch to it, as it provides a number of advantages. By far the biggest advantage is that `make check` can start to run most of the tests *in addition* to having them work installed. This commit keeps the installed tests working, but `make check` turns out to be really broken because...our TAP usage has bitrotted to say the least. Fix that all up. Do some hacks so that the tests work uninstalled as well - in particular, `glib-tap.mk` and the bits encoded into `g_test_build_filename()` assume *recursive* Automake (blah). Work around that by creating a symlink when installed to loop back.
* build: Use threadsafe GPGMEAlexander Larsson2016-02-221-2/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=761863
* Import rofiles-fuseColin Walters2016-02-101-0/+1
| | | | | | | | | | | | | | | | | | While it's not strictly tied to OSTree, let's move https://github.com/cgwalters/rofiles-fuse in here because: - It's *very* useful in concert with OSTree - It's tiny - We can reuse OSTree's test, documentation, etc. infrastructure One thing to consider also is that at some point we could experiment with writing a FUSE filesystem for OSTree. This could internalize a better equivalent of `--link-checkout-speedup`, but on the other hand, the cost of walking filesystem trees for these types of operations is really quite small. But if we did decide to do more FUSE things in OSTree, this is a step towards that too.
* build: Rename doc/ -> apidoc/Colin Walters2016-01-281-1/+1
| | | | | | This is preparation for introducing a `mkdocs` manual under `doc/` which should be significantly more useful for the world at large than the minimal manual that exists there now.
* build: Move man pages into man/Colin Walters2016-01-281-0/+1
| | | | | | | | This is preparation for having 3 separate doc build systems (whee): - xsltproc for the man pages - gtk-doc for the API docs - mkdocs for a real manual
* repo: Fix location of remote configs for system reposMatthew Barnes2015-07-161-0/+3
| | | | | Need to respect the repo's system root directory instead of assuming the compile-time $(sysconfdir).
* libotutil: Establish a place for GPG utilitiesMatthew Barnes2015-05-011-0/+4
| | | | Add ot-gpg-utils.[ch] and move _ostree_gpg_error_to_gio_error() here.
* configure.ac: Make gpgme a hard dependencyMatthew Barnes2015-03-111-1/+0
| | | | | | | | In anticipation of API enhancements for GPG signature verification, which would otherwise require a non-functional stub version were GPGME excluded. GPGME is a pretty lightweight dependency, and the motivation to exclude it is not clear.
* Add bsdiff submoduleGiuseppe Scrivano2015-03-031-0/+6
| | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* configure.ac: Bump GLib requirement to 2.40Matthew Barnes2015-03-021-1/+1
| | | | Mainly for GVariantDict, useful for metadata.
* Use libglnxColin Walters2015-02-221-0/+6
| | | | | | Starting down the path of not using libgsystem. The main win here will be code sharing between ostree/rpm-ostree as well as going down the path of not using GFile * for local files.
* tests: Move test-varint and test-rollsum under "make check"Giuseppe Scrivano2015-02-021-2/+3
| | | | | | | "make check" tests are always enabled and they do not require to be installed. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* Work around deprecation of SoupServer's port propertyColin Walters2014-09-091-1/+1
| | | | See https://bugzilla.gnome.org/show_bug.cgi?id=732184
* build: Unify CPPFLAGS settingsColin Walters2014-09-081-0/+2
| | | | | | | The libostree core uses SYSCONFDIR now, so we should ensure it's used consistently. Someone else was seeing SYSCONFDIR not being defined while compiling with a newer automake version, which may process CPPFLAGS more precisely.
* Bump GIO dependency to 2.38 for GTaskColin Walters2014-08-271-1/+1
| | | | | | I'd like to use GTask, so bump the dependency. https://bugzilla.gnome.org/show_bug.cgi?id=729585