The first argument of the Spawn portal call is the cwd
for the command to use inside the new sandbox. The portal
was mistakenly using it as cwd when running flatpak
on the host, which leads to errors. Fix this by
passing the cwd to flatpak via the new --cwdd option.
Closes: #2418Closes: #2443
Approved by: alexlarsson
Bubblewrap has a --chdir option to control the directory
that the command is run in. Add an argument for this to
the flatpak_run_app function, update all callers, and add
a --cwd option to flatpak run that uses this new argument.
Closes: #2443
Approved by: alexlarsson
We need to take the "< " part into consideration when even when counting
the size of string without it, because they align the same. Otherwise
we cause the column to resize and wrap.
Closes: #2449
Approved by: alexlarsson
This limits the witdh of the progress bar, because it looked really
weird on a wide terminal and kept changing width as the text at the
end (speed, time left, etc) changed.
It is now never more than 20 chars wide, which is fine with the
new increase in fidelity using unicode blocks.
Closes: #2449
Approved by: alexlarsson
There are unicode full blocks and 1/8ths horizontal parts of a block, so
we can use this for the progress bar to get a lot more fidelity.
Closes: #2449
Approved by: alexlarsson
We use unicode chars like ✓, ⍻ and ✗ for the checkmark area in the table.
Also use an em-dash instead of minus in the spinner.
Closes: #2449
Approved by: alexlarsson
We load the per-app appstream xml.gz during deploy and inject name,
summary and version from it into the deploy data. For older deploys
that don't have this data we re-create it when needed (with the hope
that updates to app eventually makes this unnecessary due to new deploys).
Additionally this removes the support for generating deploy files where
they don't exist, as support for this predates xdg-app 0.6, so should not
exist in real life.
Closes: #2409
Approved by: alexlarsson
This adds a version to the deply data format, assuming that if
there is no version then it is 0. Also extends all loaders so that
it can specify a required version, with the goal that most users
are fine with old versions, but if you need more recent we have
a (costly) conversion process to upgrade (will be added later).
The library and the flatpak list/info commands require the most
current version for full info, all other users can use any version.
Also, as part of this we now pass the ref to flatpak_load_deploy_data()
as this will be needed later for the backwards compat support.
Closes: #2409
Approved by: alexlarsson
The polkit autoptr definition was causing an
unused function warning when building without
system helper support.
Closes: #2409
Approved by: alexlarsson
These were relying on details of the remote-ls output.
We can avoid this by explicitly specifying what columns
we want.
Closes: #2409
Approved by: alexlarsson
It is not really worth preserving output 1-1 here,
we can just update the tests to accept the new output.
The one aspect we preserve here is that we don't show
the origin by default when only listing a single remote.
Closes: #2409
Approved by: alexlarsson
Make the columns match the list columns. Add
description, version, arch, branch. Use the
expand and ellipsize capabilities of the table
printer.
This gets us closer to the design in
https://github.com/flatpak/flatpak/wiki/CLI-experimental-designCloses: #2409
Approved by: alexlarsson
test-repo.sh was needlessly assuming that the application ID
is the first column in flatpak list -d output. Other tests
don't do the same. This is why test-repo.sh was broken by
the addition of the description column in list output.
Change the test to remove that assumption.
Closes: #2409
Approved by: alexlarsson
Add new description, installation and version columns,
revise the list of default columns, and make use of the
new ellipsization support in the table printer.
This gets us closer to the design in
https://github.com/flatpak/flatpak/wiki/CLI-experimental-designCloses: #2409
Approved by: alexlarsson
Add utilities to load an AsStore for a deployed app,
to get an AsApp for a ref, and to get various pieces
of information from an AsApp.
Closes: #2409
Approved by: alexlarsson
Optionally mark a column as ellipsizing.
Currently, this won't work correctly if more
than one column is ellipsizing.
Closes: #2409
Approved by: alexlarsson
Differentiate sandbox shells by a custom prompt.
We set FLATPAK_ID to the app id, and PS1 to a prompt
using it. PS1 can be overridden by runtimes or --env.
Closes: #2447
Approved by: alexlarsson
When the --app-runtime option was added, we inadvertently
added a conflict between the short options for --all and
this new option. To fix this, remove the short option for
--app-runtime.
Closes: #2441Closes: #2442
Approved by: mwleeds
The terminal size can change between two redraws, and this will also
cause the cursor to move, so we read the window size and current
cursor position each time we redraw instead of at the end of last redraw.
Closes: #2371
Approved by: alexlarsson
This seems nicer. We say we're looking for updates,
so we should give an update on what we found before
we return.
Closes: #2371
Approved by: alexlarsson
It turns out a transaction can contain operations, and still
nothing happened after it ran - when all operations are skipped.
We only know this when the transaction is fully resolved, but
we may call is_empty from the ready signal or after run returns,
and it seems nice to tell the truth then.
Closes: #2371
Approved by: alexlarsson
Revamp the FlatpakCliTransaction output to be closer to this:
https://github.com/flatpak/flatpak/wiki/CLI-experimental-design
We only do this style of formatting when fancy output is possible.
For plain output, we don't redraw the table and only use '\r'
to rewrite the progress line in-place.
Closes: #2371
Approved by: alexlarsson
When we are given a with that is larger than the content we have,
expand the space between columns, within reason. We only make the
table at most 1.5 times as wide as it would be unexpanded.
Add a new API for setting individual columns to expand (or not).
For an expanding column, we'll grow the space between it and its
preceding column. The expand flag of the first column is ignored.
By default, columns do not expand.
Make flatpak_table_printer_print_full return not just the table
height, but also the width.
Update all callers.
Closes: #2371
Approved by: alexlarsson