Commit Graph

282 Commits

Author SHA1 Message Date
Alexander Larsson
b57b680cbb Bump version to 1.13.1 on master
Stable work happens on the 1.12.x branch.
2021-10-08 13:31:56 +02:00
Alexander Larsson
48b808e4c2 Bump version to 1.12.0 2021-10-08 12:53:20 +02:00
Simon McVittie
009288eedd Prepare release 1.11.3
Signed-off-by: Simon McVittie <smcv@collabora.com>
2021-08-25 10:50:58 +01:00
Simon McVittie
b942b2c59c Prepare release 1.11.2
Signed-off-by: Simon McVittie <smcv@collabora.com>
2021-06-17 17:27:01 +01:00
Bastien Nocera
1941ddbdba app: Use bison to build parse-datetime.y
As it uses directives that POSIX yacc doesn't support:
app/parse-datetime.y:302.1-12: warning: POSIX Yacc does not support %pure-parser [-Wyacc]
  302 | %pure-parser
      | ^~~~~~~~~~~~
app/parse-datetime.y:307.1-7: warning: POSIX Yacc does not support %expect [-Wyacc]
  307 | %expect 31
      | ^~~~~~~
2021-03-10 10:33:51 +01:00
Phaedrus Leeds
66c4ef8de9 trivial: Fix formatting of configure output 2021-02-18 11:31:10 -08:00
Alexander Larsson
f85cbcfde2 Bump version to 1.11.1. 1.10.x is now on flatpak-1.10.x branch. 2021-02-10 09:16:10 +01:00
Alexander Larsson
c159070a74 Update version to 1.10.1 2021-01-21 14:45:11 +01:00
Alexander Larsson
97a153fe0a Add --enable-asan option
This passes -fsanitize=address in the right place.
Passing it this way instead of CFLAGS allows us to strategically
not add sanitize in specific places as needed.
2021-01-14 12:43:46 +01:00
Alexander Larsson
47a5fa1f56 Bump version to 1.10 2021-01-14 10:47:32 +01:00
Philip Withnall
f434508b07 env.d: Port the environment generators to use --print-updated-env
This reduces the amount of shell in use, and the number of subprocesses
spawned by that, so our system environment generator is as fast as
possible when used in the critical startup path.

It adds a new system environment generator so that the system flatpak
installation can be used outside of a user session. In particular, this
allows enumeration of system-installed flatpaks in gnome-initial-setup
in order to set parental controls on them.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-12-22 14:21:54 +01:00
Alexander Larsson
7ff93b00cf Update version to 1.9.3, including NEWS 2020-12-22 14:05:07 +01:00
Alexander Larsson
e03f319f19 Bump version to 1.9.2 2020-11-20 15:23:38 +01:00
Alexander Larsson
6fd2ea749c Bump ostree requirement to 2020.8 for the new summary features 2020-10-29 15:30:35 +01:00
Alexander Larsson
3d65276f79 Add --enable-internal-checks option and use in CI
This enables the internal checks in the generated variant parser.
2020-10-29 15:30:35 +01:00
Phaedrus Leeds
08f692962e Avoid shadowing local variables
Avoid shadowing variables that are already declared in a previous scope,
and make such occurrences compile-time errors. These are not functional
changes.

In a few places do related code cleanup.

A similar ostree PR is here:
https://github.com/ostreedev/ostree/pull/2195
2020-09-15 08:58:49 +02:00
Jan Tojnar
eb57c7c07b Unify DocBook DTDs
Previously, there were three different DTDs used. Let's switch to a single one.

We will go with 4.5, since it is latest version that does not have any backwards incompatible changes.
2020-08-10 15:14:38 +02:00
Alexander Larsson
2d8032e555 Bump version to 1.9.1 on master 2020-06-30 11:24:55 +02:00
Alexander Larsson
ec59cd6b5e Bump version to 1.8.0 2020-06-24 14:28:38 +02:00
Matthew Leeds
9caf664fab Add systemd units to sideload from hotplugged USBs
Currently with the sideload implementation of offline updates you have
to manually create a symlink to your USB drive to sideload from it,
which is a regression compared to the previous implementation which
scanned all mounted filesystems in OstreeRepoFinderMount in libostree.
So this commit adds a few systemd units and a bash script so that any
time a USB drive is plugged in and automatically mounted by udisks, a
symlink to it is created in /run/flatpak/sideload-repos. When the drive
is unplugged the symlink is removed.

However this solution still has a lot of moving parts, so we may want to
instead have libflatpak use GVolumeMonitor and find the mounted
filesystems itself; see https://github.com/flatpak/flatpak/issues/3705

Fixes https://github.com/flatpak/flatpak/issues/3490
2020-06-23 09:37:10 +02:00
Alexander Larsson
7c3a85bf43 Don't install gdm env file by default
As mentioned in https://github.com/flatpak/flatpak/pull/3679 and
https://github.com/flatpak/flatpak/issues/3678 it is causing issues,
and the systemd generators we have should be fine for most uses
anyway.

If a distros need it the gdm file can easily be re-enabled with
--enable-gdm-env-file.
2020-06-22 10:50:25 +02:00
Matthew Leeds
85a1dca8d7 configure.ac: Fix --with-systemd help string 2020-06-15 10:08:53 +02:00
Alexander Larsson
1259eb07f2 Bump version to 1.7.3 2020-06-09 15:28:04 +02:00
Alexander Larsson
4539d186a5 oci: Make libzstd optional (and disable OCI deltas if not there) 2020-06-05 09:35:30 +02:00
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
Valentin David
4df019063b Add sysusers.d configuration file
This will make systemd create the system-helper user if it is missing.
2020-04-23 09:58:34 +02:00
Alexander Larsson
885d7b989c Bump version to 1.7.2 2020-04-03 17:05:32 +02:00
Danilo Spinella
f3b863a187 Add --with-systemd arg to make systemd optional 2020-02-18 12:02:27 +01:00
Alexander Larsson
81665617d1 Bump version on master to 1.7.1, new stable branch is flatpatk-1.6.x. 2020-02-14 15:20:05 +01:00
Alexander Larsson
609217650d Bump version to 1.6.2 2020-02-13 14:57:27 +01:00
Alexander Larsson
50fc19daf1 Bump version to 1.6.1 2020-01-23 13:35:25 +01:00
Alexander Larsson
6056e4c235 Bump version to 1.6.0 2019-12-20 11:22:11 +01:00
Alexander Larsson
b9a3f06c4a Bump version to 1.5.2 2019-12-13 10:24:49 +01:00
Alexander Larsson
7a47c9df87 Bump bubblewrap to 0.4.0
This updates both the internal copy and the required version
for using the system copy.

We will need this for reusing existing user and pid namespaces
2019-11-27 14:21:25 +01:00
Alexander Larsson
6df104837c Require bubblewrap 0.3.1 for --bind-try support
We want to use this to work around some stuff for flatpak enter to work.
2019-11-20 13:17:43 +01:00
Philip Withnall
ab5c0968e6 flatpak-run: Add parental controls support for filtering apps
Prevent the user from running a flatpak app if that app is filtered by
the parental controls applied to the user.

If flatpak is running as a system user (UID < 1000), ignore failure to
load the app filter. This could happen if a flatpak is run in the
gnome-initial-setup session, before the user’s account is created.

Includes contributions by André Magalhães.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://github.com/flatpak/flatpak/pull/2797
2019-10-03 10:42:04 +02:00
Alexander Larsson
da66eddd26 Post release version bump to 1.5.1 2019-10-03 10:02:17 +02:00
Alexander Larsson
0a3963b479 Only define GLIB_VERSION_MIN_REQUIRED if we detect a new glib
Otherwise the build failed on older glib version, but with this setup
we still disable all the GTimeVal deprecation warnings.

Closes: #3122
Approved by: alexlarsson
2019-09-20 13:58:46 +00:00
Alexander Larsson
8e9e134446 configure: Fix detection of archive_read_support_filter_all
This got broken with the dependency split-outs.

Closes: #3119
Approved by: alexlarsson
2019-09-19 16:53:11 +00:00
Alexander Larsson
8227224c84 Ignore glib deprecations past 2.60
We generally want to avoid using deprecated stuff as much as we
can, while still depending on an old glib version. However, the GTimeVal
deprecation in 2.62 just is impossible to work around without bumping
the requirements, so ignore newer deprecations.

Closes: #3119
Approved by: alexlarsson
2019-09-19 16:53:11 +00:00
Debarshi Ray
cde7934041 build: Link against libxml only when necessary
The libxml API is used in a relatively few places inside the 'common'
sub-directory. It's definitely not as widespread as GLib. A subsequent
commit will leverage this to prevent unused shared libraries from
being linked to the session helper.

Closes: #3052
Approved by: alexlarsson
2019-08-16 09:13:43 +00:00
Debarshi Ray
ebf5d08f47 build: Link against libarchive only when necessary
The libarchive API is used in a relatively few places inside the
'common' sub-directory. It's definitely not as widespread as GLib. A
subsequent commit will leverage this to prevent unused shared
libraries from being linked to the session helper.

Closes: #3052
Approved by: alexlarsson
2019-08-16 09:13:43 +00:00
Alexander Larsson
57a6887352 Bump version to 1.5.0, 1.4.x is on flatpak-1.4.x branch 2019-05-28 15:47:12 +02:00
Alexander Larsson
3e8c42c823 Bump version to 1.4.0 2019-05-28 14:55:02 +02:00
Alexander Larsson
ef470d54b4 Bump version to 1.3.4 2019-05-09 15:49:39 +02:00
Alexander Larsson
bb04fb4063 Bump version to 1.3.3 2019-04-26 12:22:24 +02:00
Alexander Larsson
d85b3cb0e9 Bump release to 1.3.2 (post release) 2019-04-09 14:55:40 +02:00
Alexander Larsson
bb46c1dbd6 Add selinux module to allow system-helper to work with revokefs
Historycally the system helper has been running in a generic
unconfined_service_t domain. However, this caused problems with the
new revokefs support, because passing the revokefs unix domain socket
over the system bus got it kicked of the bus, because to do this
dbus-daemon needs rw rights to the socket.

So, this module creates a custom domain flatpak_helper_t, which
allows us to add special permissions to dbus-daemon to allow
access to its sockets.

The domain is otherwise uncontained just like before. I did try
to make it contained, but that is a lot of work as the permissions
it needs are very complex.

Note to packagers on selinux systems, for flatpak to work well
you need to install this module and relabel the system-helper
binary.

In my testing on fedora I used something like this:

%post
%selinux_modules_install %{_datadir}/selinux/packages/flatpak.pp.bz2

%postun
if [ $1 -eq 0 ]; then
    %selinux_modules_uninstall %{_datadir}/selinux/packages/flatpak.pp.bz2
fi

With these new files:
%{_datadir}/selinux/packages/flatpak.pp.bz2
%{_datadir}/selinux/devel/include/contrib/flatpak.if

Closes: #2657
Approved by: alexlarsson
2019-04-09 09:18:15 +00:00
Umang Jain
cad8d8a599 system-helper: Integrate --system pull with revokefs-fuse
This adds a new helper method "GetRevokefsFd" which is responsible
for spawning the backend part of the revokefs filesystem. It takes care
of creating a cache location for the backing directory in repo/tmp.
This cache location is transferred over D-Bus to the client with the
other end socket fd.

The client on receiving the socket fd creates a mountpoint directory and
spawns the revokefs-fuse filesystem. It then creates a child repo for the
pull. In any case of failure, it fallbacks on the current code path
(which causes temporary duplication of files on disk).

The backing dir itself and all files written to it by the revokefs-fuse
backend process are owned by the "flatpak" user. After the pull in the
child repo is completed, it's ownership is then canoncalized with owner=root
and permissions as per bare-user-only in Deploy().

Now we have fulfilled all the criteria to hardlink the child repo into
the system one and avoid duplication. See [1].

If there is existing cache directory available in repo/tmp, it will be
mounted using revokefs-fuse for the current pull. Hence, it is possible
to recover the previous partial pull which might have failed due to some
error.

[1] https://github.com/ostreedev/ostree/pull/1776

Closes: #2657
Approved by: alexlarsson
2019-04-09 09:18:15 +00:00
Alexander Larsson
4716ce8f2e revokefs: Initial non-revoking version
This is just a copy of rofiles-fuse with the write limits removed.

Closes: #2657
Approved by: alexlarsson
2019-04-09 09:18:14 +00:00