Commit Graph

3631 Commits

Author SHA1 Message Date
Alexander Larsson
ddfc51d7e6 Bump version to 0.11.6 2018-05-02 15:02:14 +02:00
Alexander Larsson
fdf25423a9 Update NEWS for 0.11.6 2018-05-02 15:02:04 +02:00
Alexander Larsson
8f428fd768 Re-fix export filename checks, this time also for build-finish
The fix in 5122766284 was not right.
First of all it didn't changethe regressing behaviour for
build-finish, just install.

Secondly, it changed the prefix matches to always use
flatpak_name_matches_one_wildcard_prefix() which had slight
differences in behaviour that the previously used
flatpak_name_matches_one_prefix. For example, it always removed
the extension, no matter what it was.

This has all been replaced with a shared (between install and
build-finish) version that is more strict with extensions, and with
what names can be exported as service files (these have to match
exactly, with the wildcard and cannot have suffixes).

To test this i tried to install these apps from flathub that has
some more complex exports:

 org.sparkleshare.SparkleShare:
  org.sparkleshare.SparkleShare.Invites.desktop
  org.sparkleshare.SparkleShare-symbolic.svg

 org.libreoffice.LibreOffice:
  org.libreoffice.LibreOffice.desktop
  org.libreoffice.LibreOffice-impress.desktop
  org.libreoffice.LibreOffice-writer.png
  org.libreoffice.LibreOffice-calc.png

 com.github.bajoja.indicator-kdeconnect:
   com.github.bajoja.indicator-kdeconnect.desktop
   com.github.bajoja.indicator-kdeconnect.settings.desktop
   com.github.bajoja.indicator-kdeconnect.tablettrusted.svg

 com.github.philip_scott.spice-up:
   com.github.philip_scott.spice-up.svg
   com.github.philip_scott.spice-up-mime.svg
   com.github.philip_scott.spice-up.mime.xml

 org.gnome.Recipes:
   org.gnome.Recipes.desktop
   org.gnome.Recipes.service
   org.gnome.Recipes-search-provider.ini
   org.gnome.Recipes.png
   org.gnome.Recipes-symbolic.symbolic.png
   org.gnome.Recipes-mime.xml

 org.gnome.Characters:
   org.gnome.Characters.desktop
   org.gnome.Characters.BackgroundService.service
   org.gnome.Characters.service
   org.gnome.Characters.search-provider.ini
   org.gnome.Characters.png
   org.gnome.Characters-symbolic.svg

 org.gnome.Weather
   org.gnome.Weather.Application.desktop
   org.gnome.Weather.Application.service
   org.gnome.Weather.BackgroundService.service
   org.gnome.Weather.Application.search-provider.ini

 org.gpodder.gpodder:
   org.gpodder.gpodder.desktop
   org.gpodder.gpodder.gpodder-url-handler.desktop
2018-05-02 14:55:20 +02:00
Alexander Larsson
7105703b0d common: Don't include flatpak-utils.h from flatpak-context.h and flatpak-exports.h
This allows us to use FlatpakContext arguments in flatpak-utils.h
2018-05-02 14:55:20 +02:00
Alexander Larsson
c0dfe4415e completion: Don't list sub-refs unless fully matching
Only complete to subrefs is fully matching real part.  For example,
only match org.foo.Bar.Sources for "org.foo.Bar", "org.foo.Bar." or
"org.foo.Bar.S", but not for "org.foo" or other shorter prefixes.
2018-05-02 14:50:53 +02:00
Simon McVittie
cce2a8dd78 make-test-runtime: Look in /{usr/,}sbin for ldconfig
Under normal circumstances ldconfig isn't required to be in ordinary
users' PATHs, but running this script is not a normal circumstance.

Signed-off-by: Simon McVittie <smcv@collabora.com>

Closes: #1630
Approved by: alexlarsson
2018-05-02 12:25:54 +00:00
Simon McVittie
24b67b7040 parse-datetime: Build YACC parser from source
This requires bison.

Signed-off-by: Simon McVittie <smcv@collabora.com>

Closes: #1631
Approved by: alexlarsson
2018-05-02 12:13:11 +00:00
Matthew Leeds
72cad27632 lib: Don't try to use a NULL FlatpakRemoteState
In flatpak_remote_ref_new(), the state parameter is optional, so check
if it's NULL before trying to use it in
flatpak_remote_state_lookup_sparse_cache(). This prevents a seg fault
when GNOME Software is installing a .flatpakref file.

Fixes https://github.com/flatpak/flatpak/issues/1632

Closes: #1635
Approved by: pwithnall
2018-05-01 17:28:12 +00:00
Alexander Larsson
a93401479d Update pofiles 0.11.5 2018-04-30 14:38:25 +02:00
Alexander Larsson
509ffff9c5 Bump version to 0.10.5 2018-04-30 14:36:30 +02:00
Alexander Larsson
1d7ec5882a Update NEWS for release 2018-04-30 14:36:22 +02:00
Alexander Larsson
94ce9da571 dir: Fix saving of features in metadata
This fixes https://github.com/flatpak/flatpak/issues/1617
2018-04-30 14:33:38 +02:00
Alexander Larsson
5122766284 dir: Fix prefix matching to allow all you to own all org.App.Id.* names
Its always been allowed to own all subnames, but https://github.com/flatpak/flatpak/pull/1589 regressed
that as it meant apps were not allowed to export matching service files.

This fixes https://github.com/flatpak/flatpak/issues/1627
2018-04-30 14:33:13 +02:00
Matthew Leeds
2a9523b56a dir: Sometimes avoid summary use during local pulls
This commit changes flatpak_dir_pull_untrusted_local() to avoid using
the summary file in the source repo if a collection ID is set and use
ostree_repo_resolve_rev() instead in that case. Since summary signatures
are not part of the security model when collection IDs are used, this
doesn't change any security properties. But it does make pulls succeed
when there's nothing to do (i.e. the child repo has no refs because the
parent repo already has the desired commit). In that case, the summary
file will be empty if collection IDs are being used because of
child_repo_ensure_summary().

The end result of this is that "flatpak update --appstream" works when
there's a collection ID set on the remote and the appstream is already
up to date locally. This problem only recently became visible because
flatpak_dir_check_for_appstream_update() was removed in a recent commit.

This is a partial fix for https://github.com/flatpak/flatpak/issues/1615
2018-04-30 14:33:09 +02:00
Matthew Leeds
53c4a1054d app: Fix a memory leak of remote names 2018-04-30 14:33:09 +02:00
Matthew Leeds
74aa0130b0 dir: Fix a memory leak of checksum data 2018-04-30 14:33:09 +02:00
Matthew Leeds
102af70c0e dir: Properly get appstream checksum from child repo
In flatpak_dir_update_appstream(), we check for the appstream ref after
pulling it and before deploying it. When the system helper is not being
used we properly include the remote name in the refspec passed to
ostree_repo_resolve_rev(), so this commit does the same for the system
helper case. Otherwise we might end up with the checksum for an
appstream ref from another remote because of the relationship between
the child and parent repos. This doesn't have any user visible effect
except preventing a "false positive" of thinking an appstream pull was
successful when it wasn't.
2018-04-30 14:33:09 +02:00
Matthew Leeds
6e4d686f8e dir: Don't hide appstream update error messages
Currently we try to update the "appstream2" branch and if that fails try
to update the "appstream" branch. If that fails too we return the error
message from the appstream2 update, which can be misleading. So this
commit combines both error messages into one so you get something like
this:

$ flatpak update --appstream tamaulipas-apps
error: Error updating appstream2: No such ref 'appstream2/x86_64' in
remote tamaulipas-apps; Error updating appstream: Update is older than
current version

That should make debugging easier for
https://github.com/flatpak/flatpak/issues/1615.
2018-04-30 14:33:09 +02:00
Simon McVittie
23a51ffa7c Don't distribute generated GDBus bindings for Flatpak portal
Closes: #1618
Approved by: alexlarsson
2018-04-30 12:20:13 +00:00
Rafael Fontenelle
364c7225d4 Update Brazilian Portuguese translation
Closes: #1624
Approved by: alexlarsson
2018-04-30 12:10:55 +00:00
Matthias Clasen
18e9aae7a3 portal: Document the interface
Document the flatpak portal in the same style as
other portals are.

Closes: #1619
Approved by: alexlarsson
2018-04-27 11:03:34 +00:00
Matthew Leeds
ff93f89eb5 lib: Don't try to read uninitialized memory
Oddly this uninitialized memory read leads to a seg fault on ARM but
not on x86_64.

Closes: #1621
Approved by: mwleeds
2018-04-26 23:22:32 +00:00
Matthew Leeds
460fb8e267 dir: Fix typo in error message 2018-04-26 14:02:52 -07:00
Alexander Larsson
b5571fa039 Update pofiles 0.11.4 2018-04-26 14:58:12 +02:00
Alexander Larsson
6bf17b729e Update to latest libglnx 2018-04-26 14:31:47 +02:00
Alexander Larsson
039b34945d Bump version to 0.11.4 2018-04-26 11:51:02 +02:00
Alexander Larsson
257040021e Update NEWS for release 2018-04-26 11:50:38 +02:00
Alexander Larsson
442c0be116 common: Move flatpak-portal-error.[ch] back to common code
A symbol from this (flatpak_portal_error_quark) was leaked to libflatpak
due to being marked FLATPAK_EXTERN, so to keep ABI we move it back.

Fixes https://github.com/flatpak/flatpak/issues/1613

Closes: #1616
Approved by: alexlarsson
2018-04-26 07:41:17 +00:00
Alexander Larsson
0be21395cb Transaction: Add operation dependencies
This means we track why an operation was queued. For example, that a runtime
installation/update was queued because an app needed it. We then mark operations
that failed, so that the app will not be installed if the runtime install failed.

There is one case where we do allow the installation to succeed, when an app
relies on a runtime which is installed, but the update of it failed. The
app should then still work, and we don't want to block installation/update
of an app if the runtime repository is down.

Closes: #1611
Approved by: alexlarsson
2018-04-26 07:16:30 +00:00
Matthew Leeds
b1dedd2f3f utils: Don't segfault on 32 bit ARM
On 32 bit ARM platforms, flatpak_get_compat_arch() returns NULL, so
handle that gracefully in flatpak_get_arches().

Closes: #1614
Approved by: alexlarsson
2018-04-26 07:16:15 +00:00
Sam Spilsbury
9665bb9a3f utils: Assert if the caller passes a NULL outparam
We write to it unconditionally

Closes: #1606
Approved by: alexlarsson
2018-04-25 11:09:41 +00:00
Kukuh Syafaat
593159a787 Update Indonesian translation
Closes: #1610
Approved by: alexlarsson
2018-04-25 11:01:05 +00:00
Sam Spilsbury
70bb192204 dir: Don't clobber out_matches_prefix_func
Closes: #1608
Approved by: mwleeds
2018-04-24 18:22:24 +00:00
Matthew Leeds
9dc880f70e dir: Fix return value in get_permissible_prefixes() 2018-04-24 11:18:09 -07:00
Alexander Larsson
955c8b3893 libflatpak: Support eol[-rebase] in FlatpakInstalledRef 2018-04-24 10:30:28 +02:00
Alexander Larsson
f4460bcf3f libflatpak: Fix leak in FlatpakRemoteRef 2018-04-24 10:30:28 +02:00
Alexander Larsson
f144c9fd52 portal: When spawning use the same runtime as the caller
Otherwise flatpak-spawn breaks when you e.g. `flatpak run -d`, because
the `--commit=` argument we use does not match the default runtime.
2018-04-24 10:30:06 +02:00
Alexander Larsson
7dd92d8a9b build-update-repo: Fix org.telegram.desktop icons
The telegram app id is org.telegram.desktop, and its appstream
component id is org.telegram.desktop.desktop, which we did not
properly handle (we special cased the app-id-ends-with-desktop case
and then did not remote .desktop). This replaces that with a more
approach that *always* matches the whole app id as prefix, and then
replaces a ".desktop" in the suffix part only.

Closes: #1593
Approved by: alexlarsson
2018-04-23 12:20:15 +00:00
Sam Spilsbury
099278a88a dir: Start rewrite exports source_path from "", not "export"
We start exploring the directory tree relative to export/, so
we don't want to include that component.

Closes: #1602
Approved by: alexlarsson
2018-04-23 12:10:14 +00:00
Alexander Larsson
882440b1d7 build-finish: Add --remove-extension
This allows you to remove extensions at the end of the build which were
only used during the build.

Closes: #1598
Approved by: alexlarsson
2018-04-23 06:34:14 +00:00
Alexander Larsson
b09059ca2c build-init: Add --extension support
This works just like in build-finish, but the main difference is
that the extension point is added early, so that the build itself can use it.

Closes: #1598
Approved by: alexlarsson
2018-04-23 06:34:14 +00:00
Alexander Larsson
4246a20393 build: Respect app extensions when building
Closes: #1598
Approved by: alexlarsson
2018-04-23 06:34:14 +00:00
Alexander Larsson
8ba59f093b build: Always allow multiarch when building stuff
This is similar to allowing devel.

Closes: #1598
Approved by: alexlarsson
2018-04-23 06:34:14 +00:00
Matthew Leeds
e1e64e4d25 lib: Make metadata optional in FlatpakRemoteRef
Sometimes we're not able to access the `xa.cache` data that's usually in
the summary and ostree-metadata, such as when the remote is a USB drive
that had `ostree summary -u` run on it. In that case, we don't want
flatpak_remote_ref_new() to fail, because the FlatpakRemoteRef instance
might still be useful enough without the metadata, such as in
flatpak_installation_list_remote_refs_sync. So this commit makes the
metadata property of FlatpakRemoteRef nullable which has the effect of
making the test_list_refs_in_remote() test pass with P2P enabled.

The metadata property wasn't added to FlatpakRemoteRef until commit
c33f842b7 so presumably no one is depending on it.

Closes: #1600
Approved by: alexlarsson
2018-04-23 06:33:28 +00:00
Alexander Larsson
4da56c8c62 RemoteState: Drop cancallable from flatpak_remote_state_lookup_cache()
This is a no-i/o operation on immutable data, there is no need for
a cancellable.

Closes: #1594
Approved by: alexlarsson
2018-04-20 11:16:57 +00:00
Alexander Larsson
7a61658012 RemoteState: Don't unnecessary strdup the metadata
This makes flatpak_remote_state_lookup_cache() return the metadata
from the actual FlatpakRemoteState rather than duplicating it.
All callers are updated to not free anymore and to strdup if needed.

Closes: #1594
Approved by: alexlarsson
2018-04-20 11:16:57 +00:00
Alexander Larsson
7386485bea Fix unused variable warning
Closes: #1585
Approved by: alexlarsson
2018-04-20 10:10:33 +00:00
Alexander Larsson
30bfc901d5 appstream: Allow system-helper update for local non-gpg remotes
This is safe as we do the pull locally, and root configured the local
path. We already do the same for regular installs, so its weird that
its not done for appstream.

Should fix https://github.com/flatpak/flatpak/issues/1580

Closes: #1585
Approved by: alexlarsson
2018-04-20 10:10:33 +00:00
Alexander Larsson
ef80dd9947 appstream: Update appstream2 branch by default
By default we use the new appstream2 branch if it exists in the remote,
also in this case we compress the xml when deploying to be backwards
compat with the old deploys.

Closes: #1585
Approved by: alexlarsson
2018-04-20 10:10:33 +00:00
Alexander Larsson
7fd085acd7 appstream: Generate appstream2/$arch branches with uncompressed xml
These delta better, and the files will be downloaded as compressed
.filez objects anyway.

Closes: #1585
Approved by: alexlarsson
2018-04-20 10:10:33 +00:00