Commit Graph

3269 Commits (fd802105c594d2661df12d29cdd6dd6707104c73)
 

Author SHA1 Message Date
Alexander Larsson fd802105c5 Keep x-* properties in manifest.json
This add custom (de)serialization code for the source, module and manifest
objects so that properties starting with "x-" are kep and then put back
in the manifest.

We also add a checksum of the manifest to the "finish" phase so that
if you change them the manifest is re-generated.

Closes: #203
Approved by: TingPing
2018-08-15 16:39:06 +00:00
eszlari e64943f2ff doc: add FLATPAK_BUILDER_BUILDDIR
Closes: #202
Approved by: TingPing
2018-08-13 18:02:24 +00:00
Alexander Larsson b1045432a4 Post-release version bump to 0.99.4 2018-08-13 12:16:31 +02:00
Bastien Nocera dda576d899 builder: Ensure committer is set when running git-commit
Otherwise buildbots, and other non-interactive/clean-room builds might
not have git committer information set, and make it impossible to
successfully commit, and git erroring out with:
*** Please tell me who you are.

Closes: #183
Approved by: alexlarsson
2018-08-11 10:34:34 +00:00
Alexander Larsson 147d19fba1 rofiles-fuse: Unmount lazily
This has a better chance of succeeding

Closes: #195
Approved by: alexlarsson
2018-08-08 14:02:32 +00:00
Alexander Larsson d7200a4af4 host_spawn: Force kill f-b after forwarding INT/TERM
Otherwise we will just re-enter after INT and forward a TERM.

Closes: #195
Approved by: alexlarsson
2018-08-08 14:02:32 +00:00
Alexander Larsson a594fed33f builder_host_spawnv: NULL dir means cwd
Closes: #195
Approved by: alexlarsson
2018-08-08 14:02:32 +00:00
Alexander Larsson b664e2fc32 Support --run in a sandbox
Closes: #195
Approved by: alexlarsson
2018-08-08 14:02:32 +00:00
Alexander Larsson 00f38fece3 builder_maybe_host_spawnv: Pass on flags in the host case
Closes: #195
Approved by: alexlarsson
2018-08-08 14:02:32 +00:00
Alexander Larsson 12c29dc5ab builder_host_spawnv: Support G_SUBPROCESS_FLAGS_STDIN_INHERIT
We used to always inherit stdin when calling to the host, but only
do so when requested.

Closes: #195
Approved by: alexlarsson
2018-08-08 14:02:32 +00:00
Alexander Larsson 42d4a14af4 Take arch into account for --skip-if-unchanged
This fixes https://github.com/flatpak/flatpak-builder/issues/130

Closes: #197
Approved by: alexlarsson
2018-08-08 13:52:24 +00:00
Robert McQueen b9584e7fb1 main: ensure mirror URLs are /-terminated
The mirror URL is composed with the file we want using soup_uri_new_with_base,
which means a mirror path that is not /-terminated will have it's last element
stripped off. When parsing the list of sources URI arguments, add a / if needed
before the Soup base URI object is created.

Closes: #198
Approved by: alexlarsson
2018-08-08 12:47:50 +00:00
Alexander Larsson d0a489d90c Make X-Flatpak-RenamedFrom a list so that we can handle multiple renames
Fixes https://github.com/flatpak/flatpak-builder/issues/184

Closes: #193
Approved by: alexlarsson
2018-08-08 12:10:15 +00:00
Alexander Larsson 1a01c7bc61 Warn about using deprecated cmake property.
Closes: #192
Approved by: alexlarsson
2018-08-08 08:42:09 +00:00
Yi-Soo An e4f4cbe220 doc: Replace git.gnome.org with gitlab.gnome.org
Closes: #194
Approved by: mwleeds
2018-08-08 03:48:11 +00:00
Roddy Shuler 31a1bdcc05 Fix inline "data:" URLs
Once we detect that a URL is inline text, we must not try to
actually download it.

Closes: #191
Approved by: mwleeds
2018-08-03 21:34:23 +00:00
Bastien Nocera 4618b50395 module: Respect "no-parallel-make" with ninja
ninja defaults to running in a highly parallel mode, but some bugs in
meson, such as:
https://github.com/mesonbuild/meson/issues/1994
require building serially.

This change makes the cmake-ninja and meson buildsystems respect
"no-parallel-make" during building.

Closes: #190
Approved by: TingPing
2018-08-01 22:09:08 +00:00
Bastien Nocera 1188992d15 Revert "module: Respect "no-parallel-make" with ninja"
This reverts commit 3f2a24df98.
2018-08-01 16:24:30 +02:00
Bastien Nocera 3f2a24df98 module: Respect "no-parallel-make" with ninja
ninja defaults to running in a highly parallel mode, but some bugs in
meson, such as:
https://github.com/mesonbuild/meson/issues/1994
require building serially.

This change makes the cmake-ninja and meson buildsystems respect
"no-parallel-make" during building.
2018-08-01 16:20:30 +02:00
P. F. Chimento 895fe4744a manpage: More info about extension metadata.
This refers to the flatpak-metadata manpage for more info on the extension
metadata properties, as well as clarifying a key piece of information about
the directory property.

See flatpak#1341.
Closes: #187
Approved by: TingPing
2018-07-26 14:16:01 +00:00
Kalev Lember a9f7e137c2 Update to latest libglnx
This pulls in the renameat2() fix that's required for building with
latest glibc (e.g. Fedora rawhide).

Closes: #182

Closes: #185
Approved by: alexlarsson
2018-07-21 08:35:31 +00:00
Alexander Larsson 4794eaf75c Bump version to 0.99.3 2018-07-10 19:56:42 +02:00
Alexander Larsson 13f788717a Update NEWS for release 2018-07-10 19:56:19 +02:00
Alexander Larsson cfcbf75cd7 rename-desktop-file: Add X-Flatpak-RenamedFrom key
This way desktop environment can handle the case
where a desktop file was renamed and avoid showing
two icons.

Closes: #181
Approved by: alexlarsson
2018-07-10 16:46:08 +00:00
Matthew Leeds 89f1fd534a doc: Point to the source of the generated HTML
When you're looking at the Flatpak Builder Command Reference on
docs.flatpak.org, it's not clear that it was generated from the
flatpak-builder repo. So add a notice to the docbook that's used to
generate the HTML. This was pointed out by
https://github.com/flatpak/flatpak-docs/pull/134
2018-07-07 17:26:22 +02:00
Alexander Larsson bfd599cd4e Set FLATPAK_BUILDER_BUILDDIR in env when building module
This is set to the /run/build/$module directory name so that you
can easily refer to it in the build.

Fixes https://github.com/flatpak/flatpak-builder/issues/172

Closes: #180
Approved by: alexlarsson
2018-07-05 07:54:08 +00:00
Martin Pilarski 7cfdec0538 Use GInputStream for checksum computation of source files & archives
Using g_load_contents () for the checksum computation uses a lot of memory
(for large files) and actually fails for files larger than 4 GiB. Instead,
this implementation uses GInputStream to read the file in small buffers
and feeds the GChecksum manually.

Closes: #165
Approved by: alexlarsson
2018-07-02 07:53:19 +00:00
Matthew Leeds c94db14939 doc: Uncomment P2P docs
Now that P2P support is enabled unconditionally, uncomment the
P2P-related parts of the man pages.
2018-06-29 11:03:07 -07:00
Alexander Larsson 99a5356bfb Make p2p support non-optional, now that we depend on 0.99.1
Closes: #175
Approved by: alexlarsson
2018-06-28 11:22:24 +00:00
Alexander Larsson b86c9449ba build-require flatpak 0.99.1 with p2p support
Closes: #175
Approved by: alexlarsson
2018-06-28 11:22:24 +00:00
Alexander Larsson afb7b0f8bb Bump version to 0.99.2 2018-06-27 16:36:23 +02:00
Alexander Larsson 464d720fd6 Update NEWS for release 2018-06-27 16:35:55 +02:00
Bastien Nocera d5cfd1e873 builder: Add "use-git-am" option to apply patches with git-am
So that git-formatted patches are used to their full effect, such as
handling renames correctly.
2018-06-27 16:33:19 +02:00
Bastien Nocera ecb82a4e18 builder: Add "git-init" option for archives
This will initialise a git repository with the archive's contents, to
allow us to apply git-formatted patches easily, allowing binary files
patching, file renaming, and all the advanced features offered by git
patches over plain patches.
2018-06-27 16:33:19 +02:00
Alexander Larsson 247525a800 Fix --install with latest flatpak by passing -y
These days flatpak install will always prompt for input,
so we pass -y to it because otherwise (due to non-inherited
stdin) we auto-answer no.

Fixes https://github.com/flatpak/flatpak-builder/issues/170
2018-06-27 16:05:39 +02:00
Christian Hergert e93eb8defc build: handle changes to soup autocleanups
Closes: #173
Approved by: alexlarsson
2018-06-26 10:47:39 +00:00
Alexander Larsson 823c760413 Bump version to 0.99.1 2018-06-21 12:01:43 +02:00
Alexander Larsson e3276f9293 Require flatpak 0.11.8 2018-06-21 12:01:43 +02:00
Alexander Larsson 7251aca2f3 Update NEWS for relase 2018-06-21 12:01:43 +02:00
Alexander Larsson 9c10e1d086 file/archive source: Add mirror-urls 2018-06-21 11:48:38 +02:00
Alexander Larsson 582c1b5708 Fix tests with new flatpak 2018-06-21 11:08:06 +02:00
Alexander Larsson 6d9f874c12 install-deps: Always pass -y when installing
The prompts don't currently work when we shell out to
flatpak, so this is broken without -y.
2018-06-21 10:47:40 +02:00
Alexander Larsson a415eed100 archive source: Add dest-filename support
This allows you to override the base-name, which affects how the
file is uncompressed.

Fixes https://github.com/flatpak/flatpak-builder/issues/158
2018-06-21 10:47:21 +02:00
Richard Hughes a233e84c11 Rewrite the <launchable> tag when using rename-desktop-file
This also changes the <id> rewriting to use the non-desktop suffixed version of
the application ID as this has been deprecated now the launchable tag exists.

Applications shipping an appdata file without a launchable set will have one
auto-added at runtime based on the appstream <id>.

This copies FlatpakXml from the flatpak project.

Fixes https://github.com/flatpak/flatpak-builder/issues/155

Closes: #164
Approved by: alexlarsson
2018-06-19 13:16:30 +00:00
Alexander Larsson d63d9ee5bb tests: Hacks to handle coreutils-single
In the Fedora 28 base container, `coreutils-single` is used and so
`/usr/bin/ls` is actually a "script":

```
$ file /usr/bin/ls
/usr/bin/ls: a /usr/bin/coreutils --coreutils-prog-shebang=ls script, ASCII text executable
```

We handle this by detecting shebangs in dependencies and recursively adding them.

Closes: #163
Approved by: alexlarsson
2018-06-11 17:49:22 +00:00
Alexander Larsson 8f00199480 Update CI to fedora 28
Closes: #163
Approved by: alexlarsson
2018-06-11 17:49:22 +00:00
Thomas Kluyver b23b2667b2 Expand on what a command is 2018-06-11 15:51:55 +02:00
Denis Ollier 7bd6440b75 Don't prune build stages from cache with --{export,finish}-only
A commonly used CI workflow [1] is to chain the following steps:

    > flatpak-builder --stop-at=<module>
    > flatpak build <commands to build module from local checkout>
    > flatpak-builder --finish-only

Unfortunately, the last step always purge all the compilation cache
created by the first one. All build steps are marked unused by default
and since they are skipped due to the option --finish-only, all of them
are always pruned by the gc function.

As a result, flatpak-builder cache becomes useless, a full compilation
is always performed.

Improve this by not cleaning unused stages when no compilation is done
by flatpak-builder (i.e: when flatpak-builder is used with --export-only
or --finish-only option).

[1]: https://gitlab.gnome.org/GNOME/Initiatives/wikis/DevOps-with-Flatpak
2018-06-11 15:47:39 +02:00
Denis Ollier 85eb2f1a64 Print more useful cURL error messages 2018-06-08 12:29:37 +02:00
Alexander Larsson d03b2797a7 Update libglnx module url 2018-05-30 12:41:05 +02:00