mirror of
https://github.com/flatpak/flatpak.git
synced 2026-02-01 19:41:27 -05:00
This system-helper method will allow flatpak to update the ostree repo summary while running as a non-root user that's in the "sudo" group. This will allow the `flatpak create-usb` command to work without requiring the user to first run `sudo ostree summary -u`, and without requiring the system to have `core.auto-update-summary` set to true in the ostree repo config. This is also much more efficient than `core.auto-update-summary` because it allows us to only update the summary when we need it rather than after every transaction. Generating the summary basically just involves traversing the repo to enumerate all the refs and putting this information into a file, so I don't think there are security concerns with allowing it to happen without authentication. Closes: #1945 Approved by: alexlarsson
150 lines
5.3 KiB
XML
150 lines
5.3 KiB
XML
<!DOCTYPE node PUBLIC
|
|
"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
|
|
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
|
|
|
|
<!--
|
|
Copyright (C) 2015 Red Hat, Inc.
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Lesser General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2 of the License, or (at your option) any later version.
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General
|
|
Public License along with this library; if not, write to the
|
|
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
Boston, MA 02110-1301, USA.
|
|
|
|
Author: Alexander Larsson <alexl@redhat.com>
|
|
-->
|
|
|
|
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
|
|
<interface name='org.freedesktop.Flatpak.SessionHelper'>
|
|
<property name="version" type="u" access="read"/>
|
|
|
|
<method name="RequestMonitor">
|
|
<arg type='ay' name='path' direction='out'/>
|
|
</method>
|
|
|
|
<method name="RequestSession">
|
|
<arg type='a{sv}' name='data' direction='out'/>
|
|
</method>
|
|
</interface>
|
|
|
|
<interface name='org.freedesktop.Flatpak.Development'>
|
|
<property name="version" type="u" access="read"/>
|
|
|
|
<!-- This methods let you start processes, sandboxed or not on the
|
|
host, so its not generally safe to allow access to it to any
|
|
application. However, at times it is very useful to be able
|
|
to do this. For instance for developer tools this lets you
|
|
build flatpaks from inside a flatpak. -->
|
|
<method name="HostCommand">
|
|
<arg type='ay' name='cwd_path' direction='in'/>
|
|
<arg type='aay' name='argv' direction='in'/>
|
|
<arg type='a{uh}' name='fds' direction='in'/>
|
|
<arg type='a{ss}' name='envs' direction='in'/>
|
|
<arg type='u' name='flags' direction='in'/>
|
|
<arg type='u' name='pid' direction='out'/>
|
|
</method>
|
|
<method name="HostCommandSignal">
|
|
<arg type='u' name='pid' direction='in'/>
|
|
<arg type='u' name='signal' direction='in'/>
|
|
<arg type='b' name='to_process_group' direction='in'/>
|
|
</method>
|
|
<signal name="HostCommandExited">
|
|
<arg type='u' name='pid' direction='out'/>
|
|
<arg type='u' name='exit_status' direction='out'/>
|
|
</signal>
|
|
|
|
</interface>
|
|
|
|
<interface name='org.freedesktop.Flatpak.SystemHelper'>
|
|
<property name="version" type="u" access="read"/>
|
|
|
|
<method name="Deploy">
|
|
<arg type='ay' name='repo_path' direction='in'/>
|
|
<arg type='u' name='flags' direction='in'/>
|
|
<arg type='s' name='ref' direction='in'/>
|
|
<arg type='s' name='origin' direction='in'/>
|
|
<arg type='as' name='subpaths' direction='in'/>
|
|
<arg type='s' name='installation' direction='in'/>
|
|
</method>
|
|
|
|
<method name="DeployAppstream">
|
|
<arg type='ay' name='repo_path' direction='in'/>
|
|
<arg type='s' name='origin' direction='in'/>
|
|
<arg type='s' name='arch' direction='in'/>
|
|
<arg type='s' name='installation' direction='in'/>
|
|
</method>
|
|
|
|
<method name="Uninstall">
|
|
<arg type='u' name='flags' direction='in'/>
|
|
<arg type='s' name='ref' direction='in'/>
|
|
<arg type='s' name='installation' direction='in'/>
|
|
</method>
|
|
|
|
<method name="InstallBundle">
|
|
<arg type='ay' name='bundle_path' direction='in'/>
|
|
<arg type='u' name='flags' direction='in'/>
|
|
<arg type='s' name='remote' direction='in'/>
|
|
<arg type='s' name='installation' direction='in'/>
|
|
<arg type='s' name='ref' direction='out'/>
|
|
</method>
|
|
|
|
<method name="ConfigureRemote">
|
|
<arg type='u' name='flags' direction='in'/>
|
|
<arg type='s' name='remote' direction='in'/>
|
|
<arg type='s' name='config' direction='in'/>
|
|
<arg type='ay' name='gpg_key' direction='in'>
|
|
<annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/>
|
|
</arg>
|
|
<arg type='s' name='installation' direction='in'/>
|
|
</method>
|
|
|
|
<method name="Configure">
|
|
<arg type='u' name='flags' direction='in'/>
|
|
<arg type='s' name='key' direction='in'/>
|
|
<arg type='s' name='value' direction='in'/>
|
|
<arg type='s' name='installation' direction='in'/>
|
|
</method>
|
|
|
|
<method name="UpdateRemote">
|
|
<arg type='u' name='flags' direction='in'/>
|
|
<arg type='s' name='remote' direction='in'/>
|
|
<arg type='s' name='installation' direction='in'/>
|
|
<arg type='ay' name='summary_path' direction='in'/>
|
|
<arg type='ay' name='summary_sig_path' direction='in'/>
|
|
</method>
|
|
|
|
<method name="RemoveLocalRef">
|
|
<arg type='s' name='remote' direction='in'/>
|
|
<arg type='s' name='ref' direction='in'/>
|
|
<arg type='s' name='installation' direction='in'/>
|
|
</method>
|
|
|
|
<method name="PruneLocalRepo">
|
|
<arg type='s' name='installation' direction='in'/>
|
|
</method>
|
|
|
|
<method name="RunTriggers">
|
|
<arg type='s' name='installation' direction='in'/>
|
|
</method>
|
|
|
|
<method name="EnsureRepo">
|
|
<arg type='s' name='installation' direction='in'/>
|
|
</method>
|
|
|
|
<method name="UpdateSummary">
|
|
<arg type='s' name='installation' direction='in'/>
|
|
</method>
|
|
|
|
</interface>
|
|
|
|
</node>
|