Commit Graph

681 Commits

Author SHA1 Message Date
Alexander Larsson
bfa71e208a Add FlatpakZstdDecompressor converter (and libzstd dep)
We will need this to decompress oci deltas.
2020-06-05 09:35:30 +02:00
Matthew Leeds
0ed5477a22 doc: Fix typo in build-update-repo page 2020-05-22 11:12:55 -07:00
Yiannis
e459703b38 Added flatpak remote-modify reference
`flatpak remote-modify --collection-id= ` can be use to set the collection ID of the remote server.
I spent quite a while trying to find how to set it, until I found this blog post:
https://blogs.gnome.org/mclasen/2018/08/26/about-flatpak-installations/
2020-04-01 23:08:20 +03:00
Alexander Larsson
b28271bb5e Merge pull request #3498 from alexlarsson/use-symlinks-for-sideload-config
Use symlinks instead of xa.sideload-repos config option
2020-03-30 16:03:54 +02:00
Alexander Larsson
bae8eef87d docs: Tweaks to sideload repo docs 2020-03-30 15:37:45 +02:00
Abderrahim Kitouni
192d31d315 Add a FlatpakProgress object
To avoid the complexities of passing (and chaining) OstreeAsyncProgress
objects around, we only create one just before calling to ostree.
The rest of flatpak only ever uses the new FlatpakProgress object.

Co-authored by: Philip Chimento <philip@endlessm.com>
2020-03-26 21:09:19 +01:00
Alexander Larsson
15c761d482 Use symlinks instead of xa.sideload-repos config option
Instead of having a global config option we scan a directory for
symlinks into the sideload repos. These come from
/var/lib/flatpak/sideload-repos and /run/flatpak/sideload-repos (for
default system installation).

This is much easier to update atomically, and the two different
options are useful for persistant (the first) or dynamic (the second)
usescase.

Fixes https://github.com/flatpak/flatpak/issues/3494
2020-03-26 11:50:54 +01:00
Simon McVittie
6ba07613b4 installation: Formally deprecate deprecated methods
Signed-off-by: Simon McVittie <smcv@collabora.com>
2020-03-25 12:56:56 +00:00
Alexander Larsson
a843d2d594 sideload: Add api and CLI support to specify sideload repos dynamically 2020-03-24 14:01:20 +01:00
Alexander Larsson
b8d2196c2e create-usb: Add --allow-partial option
If you really want to export partial refs you can use this switch.
2020-03-24 12:51:12 +01:00
Alexander Larsson
d30e902d9f Add build-update-repo --deploy-sideload-collection-id option
This is a new version of --deploy-collection-id that only applies
the collection id update for new (1.7.x+) version of flatpak clients.
This allows you to enable collection ids for sideload use but not
affect older clients where the p2p codepaths are not as tested.
2020-03-23 17:58:04 +01:00
Zetrov (Zhengchao)
194ef58fb9 Update flatpak-build-init.xml 2020-03-16 09:27:20 +01:00
Zetrov (Zhengchao)
8b0a1936c0 typo 2020-03-16 09:27:20 +01:00
Zetrov (Zhengchao)
d99af85f05 Improvements for new users & fix example
New users who jump directly into this command might think this command is to init a project or application dictionary but it actually creates somehow a  directory for *built* app to run inside. 

plus, fix not working example

Sorry for such minor and boring commit.
2020-03-16 09:27:20 +01:00
Simon McVittie
fe2536b844 exports: Add host-etc and host-os keywords
These are subsets of the host keyword, which provide access to operating
system files but not to users' personal files.

In particular, the experimental support for namespace-based sandboxes
in the Steam Runtime[1] uses the graphics stack from the host system,
which requires access to the host /usr/libQUAL, /libQUAL (even if the
host OS has undergone the /usr merge, the canonical paths of ELF
interpreters start with /lib), /etc/ld.so.cache, and for some libraries
on Debian-based systems, /etc/alternatives. It will not be possible to
do similar things in Flatpak without either allowing full host
filesystem access (which exposes personal files, and in any case cannot
be done by the Steam app because it is incompatible with --persist=.),
or adding the ability to expose /usr and related directories without
including the rest of the host filesystem.

To the best of my knowledge, host-etc is not necessary for anything;
I've mainly provided it for symmetry, since it's the other significant
thing that we mount in /run/host and cannot get via --filesystem=/path.

Some notes on the security/privacy implications of the new keywords:

- Neither new keyword allows anything that was not already allowed
  by "host".
- Neither new keyword can allow anything that was not already allowed
  to the user outside the sandbox.
- "host-os" allows enumeration of the installed packages on the host
  system, and often their version numbers too. A malicious app could
  use this to look for exploitable security vulnerabilities on the
  host system. An app could also use this for fingerprinting, although
  this is not a regression, because the systemd/D-Bus machine ID,
  MAC addresses, hostname, kernel boot UUID, DMI product ID and many
  other unique or relatively unique properties are already available
  inside the sandbox.
- "host-os" allows read access, and possibly write access (if the user
  has it outside the sandbox, for example members of group 'staff' in
  older Debian installations), to /usr/local.
- "host-etc" allows reading configuration files whose contents might
  be considered sensitive, such as /etc/passwd.

[1] https://steamcommunity.com/app/221410/discussions/0/1638675549018366706/

Signed-off-by: Simon McVittie <smcv@collabora.com>
2020-02-14 15:41:59 +01:00
Simon McVittie
851a34b355 doc: Point to flatpak-metadata(5) for the meanings of filesystem keywords
Signed-off-by: Simon McVittie <smcv@collabora.com>
2020-01-23 18:40:01 +00:00
Alexander Larsson
b735344644 Correct filename in docs 2020-01-17 11:47:04 +01:00
Alexander Larsson
39903eab40 Add --device=shm permission
This new permission exposes the host /dev, which is normally not visible
even with --device=all, as it is not really a device node but rather
a bunch of shared memory blocks available on the host.

This access is needed by jack, as explained at:
https://github.com/flatpak/flatpak/issues/1509

Long term I think a better solution for pro audio (like pipewire) is
a better solution, but for now we should at least allow jack apps to work.
2020-01-17 11:47:04 +01:00
Alexander Larsson
8e4b0d156d remote add/modify: Add --[no-]authenticator-install options
This enables or disables auto-installation of autenticators for a remote.
If it is unset it defaults to whatever the remote wants.
2019-12-19 10:33:21 +01:00
Alexander Larsson
85a53947b3 man: Document the authentcator options
This adds --authenticator-name and --authenticator-opion to remote-add
and remote-modify docs.
2019-12-17 15:25:42 +01:00
Jan Grulich
a61f61870e Add support for CUPS socket 2019-12-13 17:56:22 +01:00
Matthias Clasen
1957d4473e doc: Add an example for permission-set
This shows how --data formatting works on the commandline.
2019-12-12 12:45:53 -05:00
Matthias Clasen
cdf3c33293 permission-set: Add an option to set data
This is useful for debugging permission store functionality
and will be more so when the openuri portal starts using
per-entry data.
2019-12-11 17:21:36 +01:00
Matthew Leeds
e0e9996370 doc/flatpak-build-bundle: Add an example for the user installation 2019-12-10 14:36:58 +01:00
Matthias Clasen
2166913eb1 Update flatpak ps docs
Mention the new columns.
2019-12-04 13:33:52 +01:00
Matthias Clasen
d580dd71cf Merge pull request #3268 from matthiasclasen/doc-updates
Doc updates
2019-12-02 07:29:12 -05:00
Matthias Clasen
4765a78a87 Merge pull request #3270 from matthiasclasen/parent-pid-docs
run: Improve help output for --parent-pid
2019-12-02 07:28:28 -05:00
Matthias Clasen
a2424c0c33 Merge pull request #3269 from matthiasclasen/info-docs
info: Add an example to the man page
2019-12-02 07:26:59 -05:00
Matthew Leeds
3211b537b5 doc/flatpak-permission-set: Add reference to permission-show 2019-12-01 19:08:58 -08:00
Matthias Clasen
d26d5edac0 doc: Fix a copy-paste error
Fix some ids in the flatpak-ps man page.
2019-12-01 16:49:36 -05:00
Matthias Clasen
9bde9d4ba2 doc: Fix a copy-paste error
Fix the refpurpose for flatpak permission-show.
2019-12-01 16:49:02 -05:00
Matthias Clasen
959d71f7dc docs: Add flatpak permissions-set to command list
This new command was missing from flatpak(1) and
from the references in other permission commands.
2019-12-01 16:26:14 -05:00
Matthias Clasen
cb2cadb3ad run: Improve help output for --parent-pid
Show a placeholder to indicate that this option
takes an argument. Update docs to match.
2019-12-01 16:12:36 -05:00
Matthias Clasen
3907de1105 info: Add an example to the man page
Show an example for how to list the files that are
part of an installed app.

Related: https://github.com/flatpak/flatpak/issues/3079
2019-12-01 14:23:35 -05:00
Matthias Clasen
87591066c3 doc: Add missing apis to flatpak-sections.txt
Add various public apis that were missing from the docs.
2019-12-01 14:04:41 -05:00
Matthias Clasen
8628322446 doc: Update IGNORE_HFILES
Add all the private headers here.
2019-12-01 14:04:35 -05:00
Alexander Larsson
e6ae979cc4 run: Document new --parent-pid and --parent-expose-pid args 2019-11-27 14:21:25 +01:00
Alexander Larsson
c486cc461e run: Document the sandbox related swtiches 2019-11-26 09:52:07 +01:00
Matthias Clasen
d4b3694609 Document the flatpak-spawn --watch-bus option
This was missing from the man page.
2019-11-26 09:51:46 +01:00
Matthias Clasen
c917257a1c permission-remove: Allow removing a single row
Allow specifying an app-id to remove from a given
id in a given table.
2019-11-21 13:48:31 +01:00
Matthias Clasen
5a8489cefe Add a permission-set command
This command adds permissions for an app to one of the permission
store database(s).
2019-11-21 13:48:31 +01:00
Alexander Larsson
4718bcccfd enter: Make sure sudo -E works when using setuid brwap
This also updates the manpage so it is correct wrt permissions and
sudo.
2019-11-20 13:17:43 +01:00
Will Thompson
6e209a52a4 build-finish: fix 'of' typo in manpage 2019-11-01 12:52:38 +00:00
Philip Withnall
d5a1170820 doc: Clarify format of locale identifiers in extra-languages key
Also update the tests to use the same format, and make sure to include
coverage of all forms of locale (language-only, with locale, with
codeset, and with modifier).

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2019-10-24 13:54:05 +01:00
Philip Withnall
62cb538440 doc: Add some missing <literal> docbook tags
Makes the documentation a little clearer to read.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2019-10-24 13:54:05 +01:00
Matthias Clasen
e9aeb637de Merge pull request #3190 from mbooth101/spawn-docs
Adds documentation for the new flatpak-spawn option
2019-10-23 13:54:08 -04:00
Christoph Brill
e22cdbef1b Fix copy&pasto in refpurpose of permission-remove 2019-10-23 16:31:46 +02:00
Mat Booth
35baa75ad2 Adds documentation for the new flatpak-spawn option
added in https://github.com/flatpak/flatpak-xdg-utils/pull/22

Signed-off-by: Mat Booth <mat.booth@redhat.com>
2019-10-22 14:10:46 +01:00
Matthew Leeds
512444dc23 Merge pull request #3152 from mazen-asef/languages_locales_key
app: Change xa.extra-languages to accept locales
2019-10-16 15:50:35 -05:00
Mazen Asef
65912f27fe app: Allow locales to be stored in the extra-languages key
In order to configure gnome-software to show specific apps in one region
without showing to all language speakers, we allow the storage of full
locales on the extra-languages key. However, these locales are ignored when
calling flatpak_installation_get_default_languages, so locales will be reduced
to their language identifier (eg. en_IN locale will be returned as 'en', and
az_Latn_AZ will be returned as 'az'). In order to get the full locales, we can
call flatpak_installation_get_default_locales instead, which can return languages
and locales.
2019-10-16 16:25:06 -03:00