Commit Graph

2582 Commits

Author SHA1 Message Date
Alexander Larsson
dddb4a2e44 export: Always make directories accessible
There is no reason ever to make a flatpak with a
directory that is not accessible, so make them all
readable and executable.
2017-04-24 15:51:56 +02:00
Alexander Larsson
fa996e704b builder: Update bzr bundling
Never check out directly from the cached dir, instead always
create a .flatpak-builder/bzr/ directory we can later
update from by branching from the cache and then rewriting
the parent location.
2017-04-24 15:24:05 +02:00
Alexander Larsson
f4f2625f59 builder: Change how we handle pre-existing git sources
We always have a local git checkout in .flatpak-builder/git
so that we can later update in it. However, if --extra-sources
is used and the git repo exists there, we use the data there
to clone the initial repo, to avoid lots of traffic on the network.

Additionally, if --disable-update is specified we just straight
clone the local cache repo, and then rewrite the origin to the
real one. This means we never do any network i/o to the original
pull.
2017-04-24 14:13:36 +02:00
Alexander Larsson
fbde709739 builder: Convert bundle sources to cached stage
Instead of mixing the source bundling with the build we make
it a separate step at the end, with cache support just like the
other stages.

Being at the end means we can reuse the cached stages from the
build if we enable bundle-sources after an existing build.

Also, this changes how the json and local files/patches are stored.
Now they are in a subdirectory called "manifest" in the sources
directory, with proper handling of relative pathnames for included
modules, etc. This also means we don't look for these file in the
extra-sources directory, but rather next to the json like we
do normally.
2017-04-24 13:52:38 +02:00
Alexander Larsson
47062137a5 fixup! common: Add flatpak_build_file[_va] helper 2017-04-24 12:23:20 +02:00
Alexander Larsson
a30be79d49 builder: Drop the storing of local files to data: uris
This just risks making the manifest very large, in case some
file is large, and it didn't even solve the whole problem,
which bundling sources is.
2017-04-24 12:00:00 +02:00
Alexander Larsson
0a0e311311 Don't bundle inline (data:) URIs
These are already bundled with the json itself.
2017-04-24 11:34:49 +02:00
Alexander Larsson
69123b564e builder: Make git patch apply verbose by default
Git is prone to ignoring patches in some cases, lets
at least print the details.
2017-04-24 10:29:57 +02:00
Alexander Larsson
c053c49ead Extend flatpak-builder test
We now test including modules, including doing
so recursively, and find patches and source files from
those.
2017-04-24 10:04:23 +02:00
Alexander Larsson
a5157d445b builder: Use context_find_in_sources_dirs to simplify code
Instead of open-coding the search everywhere. Also some places
are changed to use flatpak_build_file to further simplify
the code.
2017-04-24 09:02:42 +02:00
Alexander Larsson
b593ff04d3 builder: Add builder_context_find_in_sources_dirs
This centralizes the code for searching in the sources
directory.
2017-04-24 09:02:38 +02:00
Alexander Larsson
4a60c87958 common: Add flatpak_build_file[_va] helper
This makes it easy to construct GFiles
from a base dir and an argument list
of child elements.
2017-04-24 09:02:33 +02:00
Alexander Larsson
3058d413f0 builder: Use flatpak_mkdir_p instead of query + mkdir 2017-04-21 16:38:05 +02:00
Alexander Larsson
646f54da1b Merge branch 'bundle-sources' of https://github.com/erikos/flatpak into erikos-bundle-sources 2017-04-21 16:33:42 +02:00
Matthias Clasen
3b57b65205 Merge pull request #724 from AsciiWolf/cs-update
Update Czech translation
2017-04-20 18:17:42 -04:00
Simon Schampijer
bb11ef3c37 Merge remote-tracking branch 'upstream/master' into bundle-sources 2017-04-21 00:13:01 +02:00
Matthias Clasen
1b86e5c700 Merge pull request #723 from tanuk/docs-typo-fix
docs: Typo fix: "flatpack-builder" -> "flatpak-builder"
2017-04-20 17:56:47 -04:00
AsciiWolf
54234a7988 Update Czech translation 2017-04-20 21:15:42 +02:00
Tanu Kaskinen
e12b4ba362 docs: Typo fix: "flatpack-builder" -> "flatpak-builder" 2017-04-20 20:53:59 +03:00
Alexander Larsson
4c2c6af4ac builder: Take build-commands into consideration for rebuild 2017-04-20 16:10:04 +02:00
Alexander Larsson
2f24c9bc31 builder: Use module-relative paths for archive sources too 2017-04-20 15:06:06 +02:00
Alexander Larsson
b4ee8581c3 build-update-repo: Spawn subprocesses when generating deltas
This means we can be parallel just like we were with threads,
but we're not using an enourmous amount of memory.
2017-04-19 22:16:17 +02:00
Alexander Larsson
9e80b3a1c1 build-update-repo: Add internal function to create a single delta
We will use this later to fork per-process delta creation instead
of threaded in order to use less memory.
2017-04-19 21:20:05 +02:00
Alexander Larsson
df2cb9310f docs: Mention that rename-icon should not have an extension
Fixes https://github.com/flatpak/flatpak/issues/591
2017-04-19 20:58:00 +02:00
Alexander Larsson
a71cd70ddb builder: Ignore --extra-data in flatpak-builder --run
Fixes https://github.com/flatpak/flatpak/issues/598
2017-04-19 20:53:38 +02:00
Alexander Larsson
b8cd12930a Report full version in http user agent
https://github.com/flatpak/flatpak/issues/635
2017-04-19 20:47:57 +02:00
Alexander Larsson
eebcefa3b2 builder: Print warnings for unknown properties 2017-04-19 20:22:11 +02:00
Piotr Drąg
0f3e8e0910 Update POTFILES.in 2017-04-19 19:41:43 +02:00
Alexander Larsson
fe56c08203 build: Always set personality to linux32 when cross-building
This means that autodetection during builds works much better.
Fixes https://github.com/flatpak/flatpak/issues/712
2017-04-19 19:36:55 +02:00
Alexander Larsson
63978c299a builder: Load source files from the directory of the module
This means if you include a json snippet in a subdirectory, then
that module will load e.g. patches from the same subdirectory.
2017-04-19 18:54:33 +02:00
Alexander Larsson
d60bfcdf95 builder: handle module-relative paths for json includes
I.e. each include is relative to the location of the "parent"
json directory.
2017-04-19 17:46:28 +02:00
Alexander Larsson
7da0726514 build: Ensure we add the default dbus permissions
When using flatpak build, use the same default dbus
permissions (portal.*) as we do in flatpak run.

Fixes https://github.com/flatpak/flatpak/issues/717
2017-04-19 16:55:01 +02:00
Matthias Clasen
ca40b26ce7 More metadata docs
Document the ExtensionOf and Extra Data groups.
2017-04-19 09:09:36 +02:00
Matthias Clasen
958d02abd5 Document build-extension
Not much to say here, but the key should at least be mentioned
in the documentation.
2017-04-19 09:05:03 +02:00
Matthias Clasen
bd7fc319c3 docs: Fix a typo
There is no --build-runtime option. It is a build-runtime json
key, and that is obviously what was meant here.
2017-04-19 09:05:03 +02:00
Matthias Clasen
6dd137e6a9 Make it a warning
Lack of rofiles-fuse is a serious enough detriment to the
user experience that we should warn about it.
2017-04-18 12:40:51 +02:00
Matthias Clasen
1adec3f186 Don't fail the build if rofiles-fuse is not available
My understanding is that rofiles-fuse is just an optimization,
and we support building without it anyway (using --disable-rofiles-fuse).

So, instead of failing the build, we can just not use rofiles-fuse
if it is not present on the system, which seems to be the case on
some OSes, we've seen this reported from Debian and Arch.
2017-04-18 12:40:51 +02:00
Matthias Clasen
91c78e553c Quiet compiler warnings
These variables were unused.
2017-04-18 12:36:23 +02:00
Matthias Clasen
0d2d030bc8 Document flatpak repo command
Add a very short man page for flatpak repo.
2017-04-18 12:36:23 +02:00
Matthias Clasen
16a5188a64 Add a repo command
For now, this just prints bits of summary information in
human-readable form. This command could grow over time
to provide other functionality for managing local repositories.
2017-04-18 12:36:23 +02:00
Chocobo1
32c022df5b builder-module: add "bootstrap.sh" to autogen_names
Projects like libtorrent-rasterbar, qBittorrent are using this name.
2017-04-18 12:35:16 +02:00
Matthias Clasen
dbfd5d82e7 Fix a compiler warning
Unused variable...
2017-04-18 12:34:19 +02:00
Matthias Clasen
9b002821ad flatpak info: Properly handle unmaintained extensions
We were misreporting these as uninstalled.
2017-04-18 12:34:19 +02:00
Matthias Clasen
9a661fd926 flatpak info: Show more information for extensions
Show the same data the we show for other refs, when we
list extensions. In addition, show the subpaths if there
are any. Note that this reveals that the installed size
for subpath'ed extensions is misleading, since it is
the installed size for the full extension.
2017-04-18 12:34:19 +02:00
Matthias Clasen
564490c07e Fix the testsuite
Some tests were using flatpak info --runtime, which no
longer exists. Removing the option doesn't do any harm,
and the test passes again.
2017-04-18 12:34:19 +02:00
Matthias Clasen
77cec62f51 Add a --show-extensions option to flatpak info
This option makes flatpak info list the found extension
that match the given ref.
2017-04-18 12:34:19 +02:00
Matthias Clasen
1d3e3132d7 Add more useful options to flatpak info
The new options are --show-size to show the installed size,
and --show-metadata, to show the metadata file.
2017-04-18 12:34:19 +02:00
Matthias Clasen
ee54e2b099 Avoid confusing behavior of flatpak info
I have multiple branches of org.gnome.Platform install system-wide,
and non per-user. And flatpak info gives me:

flatpak info org.gnome.Platform
-> not installed
flatpak info --system org.gnome.Platform
-> multiple branches

This confusing behavior comes from the fact that we are querying
multiple locations and are not careful enough to collate the
errors we get properly. This commit changes things so that we
keep querying the next location as long as we get a 'not installed'
error, and we report the first 'multiple branches' error we get.
2017-04-18 12:34:19 +02:00
Matthias Clasen
581e6f6df5 Drop useless options from flatpak info
The --app and --runtime options are not really useful
for flatpak info, since you need to specify a full ID
anyway, and it is highly unlikely that you will have
ID clashes between apps and runtimes. Also, the options
are documented in a confusing way.
2017-04-18 12:34:19 +02:00
Matthias Clasen
723512b9a7 Merge pull request #714 from jadahl/master
run: Handle non-default WAYLAND_DISPLAY
2017-04-17 11:50:13 -04:00