cde3295e26
This is one more step towards making rpm-ostree more powerful in its quest to be the ultimate *hybrid* image/package system. Package layering allows us to add packages on top of the base package set received from the content provider. However, we're not able to remove or replace packages in the base set itself. This patch introduces a new `override` command, which is for now nested under the experimental `ex` command. The `override` command will allow users to modify the base package set itself. The first implemented subcommands are `remove` and `reset`. A stub has been provided for the more useful `replace` subcommand, though much of the needed logic for that operation are implemented in this patch as part of the `remove` subcommand. Part of: https://github.com/projectatomic/rpm-ostree/issues/485 Closes: #797 Approved by: cgwalters
375 lines
12 KiB
XML
375 lines
12 KiB
XML
<!DOCTYPE node PUBLIC
|
|
"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
|
|
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
|
|
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
|
|
|
|
<!-- Deployment dictionary keys:
|
|
'id' (type 's')
|
|
'osname' (type 's')
|
|
'serial' (type 'i')
|
|
'checksum' (type 's')
|
|
'version' (type 's')
|
|
'timestamp' (type 't')
|
|
'origin' (type 's')
|
|
'signatures' (type 'av')
|
|
'packages' (type 'as')
|
|
'booted' (type 'b')
|
|
-->
|
|
|
|
<interface name="org.projectatomic.rpmostree1.Sysroot">
|
|
<!-- The booted OSName -->
|
|
<property name="Booted" type="o" access="read"/>
|
|
|
|
<!-- The system root path -->
|
|
<property name="Path" type="s" access="read"/>
|
|
|
|
<!-- The values are (method-name, sender-name, object path) -->
|
|
<property name="ActiveTransaction" type="(sss)" access="read"/>
|
|
<!-- A DBus address - connect to it to access its methods -->
|
|
<property name="ActiveTransactionPath" type="s" access="read"/>
|
|
|
|
<!-- (Currently) optional method to denote the client plans
|
|
to either invoke methods on the daemon, or monitor status.
|
|
If no clients are registered, the daemon may exit.
|
|
|
|
No options are currently defined.
|
|
-->
|
|
<method name="RegisterClient">
|
|
<arg type="a{sv}" name="options" direction="in"/>
|
|
</method>
|
|
|
|
<!-- You must call this if your process is no longer interested in talking to
|
|
rpm-ostree, but will remain connected to the bus.
|
|
|
|
No options are currently defined.
|
|
-->
|
|
<method name="UnregisterClient">
|
|
<arg type="a{sv}" name="options" direction="in"/>
|
|
</method>
|
|
|
|
<method name="ReloadConfig">
|
|
</method>
|
|
|
|
<method name="CreateOSName">
|
|
<arg type="s" name="name"/>
|
|
<arg type="o" name="result" direction="out"/>
|
|
</method>
|
|
|
|
<method name="GetOS">
|
|
<arg name="name" type="s"/>
|
|
<arg name="object_path" type="o" direction="out"/>
|
|
</method>
|
|
|
|
<!-- Array of all deployments in boot order -->
|
|
<property name="Deployments" type="aa{sv}" access="read"/>
|
|
</interface>
|
|
|
|
<interface name="org.projectatomic.rpmostree1.OS">
|
|
<property name="BootedDeployment" type="a{sv}" access="read"/>
|
|
<property name="DefaultDeployment" type="a{sv}" access="read"/>
|
|
<property name="RollbackDeployment" type="a{sv}" access="read"/>
|
|
|
|
<!-- CachedUpdate dictionary keys:
|
|
'osname' (type 's')
|
|
'checksum' (type 's')
|
|
'version' (type 's')
|
|
'timestamp' (type 't')
|
|
'origin' (type 's')
|
|
'signatures' (type 'av')
|
|
-->
|
|
<property name="CachedUpdate" type="a{sv}" access="read"/>
|
|
<property name="HasCachedUpdateRpmDiff" type="b" access="read"/>
|
|
|
|
<!-- NONE, DIFF, PREPARE, REBOOT -->
|
|
<property name="AutomaticUpdatePolicy" type="s" access="read"/>
|
|
<property name="Name" type="s" access="read"/>
|
|
|
|
<method name="GetDeploymentsRpmDiff">
|
|
<arg type="s" name="deployid0"/>
|
|
<arg type="s" name="deployid1"/>
|
|
<arg type="a(sua{sv})" name="result" direction="out"/>
|
|
</method>
|
|
|
|
<!-- Revision may be a full checksum or version string.
|
|
|
|
Available options:
|
|
"reboot" (type 'b')
|
|
-->
|
|
<method name="Deploy">
|
|
<arg type="s" name="revision" direction="in"/>
|
|
<arg type="a{sv}" name="options" direction="in"/>
|
|
<arg type="s" name="transaction_address" direction="out"/>
|
|
<annotation name="org.gtk.GDBus.C.UnixFD" value="true"/>
|
|
</method>
|
|
|
|
<!-- details dictionary keys:
|
|
'osname' (type 's')
|
|
'checksum' (type 's')
|
|
'version' (type 's')
|
|
'timestamp' (type 't')
|
|
'origin' (type 's')
|
|
'signatures' (type 'av')
|
|
-->
|
|
<method name="GetCachedDeployRpmDiff">
|
|
<arg type="s" name="revision"/>
|
|
<arg type="as" name="packages"/>
|
|
<arg type="a(sua{sv})" name="result" direction="out"/>
|
|
<arg type="a{sv}" name="details" direction="out"/>
|
|
</method>
|
|
|
|
<method name="DownloadDeployRpmDiff">
|
|
<arg type="s" name="revision"/>
|
|
<arg type="as" name="packages"/>
|
|
<arg type="s" name="transaction_address" direction="out"/>
|
|
</method>
|
|
|
|
<!-- Available options:
|
|
"allow-downgrade" (type 'b')
|
|
"reboot" (type 'b')
|
|
-->
|
|
<method name="Upgrade">
|
|
<arg type="a{sv}" name="options" direction="in"/>
|
|
<arg type="s" name="transaction_address" direction="out"/>
|
|
<annotation name="org.gtk.GDBus.C.UnixFD" value="true"/>
|
|
</method>
|
|
|
|
<!-- details dictionary keys:
|
|
'osname' (type 's')
|
|
'checksum' (type 's')
|
|
'version' (type 's')
|
|
'timestamp' (type 't')
|
|
'origin' (type 's')
|
|
'signatures' (type 'av')
|
|
-->
|
|
<method name="GetCachedUpdateRpmDiff">
|
|
<arg type="s" name="deployid"/>
|
|
<arg type="a(sua{sv})" name="result" direction="out"/>
|
|
<arg type="a{sv}" name="details" direction="out"/>
|
|
</method>
|
|
|
|
<method name="DownloadUpdateRpmDiff">
|
|
<arg type="s" name="transaction_address" direction="out"/>
|
|
</method>
|
|
|
|
<!-- Available options:
|
|
"reboot" (type 'b')
|
|
-->
|
|
<method name="Rollback">
|
|
<arg type="a{sv}" name="options" direction="in"/>
|
|
<arg type="s" name="transaction_address" direction="out"/>
|
|
</method>
|
|
|
|
<!-- Available options:
|
|
"reboot" (type 'b')
|
|
-->
|
|
<method name="ClearRollbackTarget">
|
|
<arg type="a{sv}" name="options" direction="in"/>
|
|
<arg type="s" name="transaction_address" direction="out"/>
|
|
</method>
|
|
|
|
<!-- Available options:
|
|
"skip-purge" (type 'b')
|
|
"reboot" (type 'b')
|
|
"revision" (type 's')
|
|
-->
|
|
<method name="Rebase">
|
|
<arg type="a{sv}" name="options" direction="in"/>
|
|
<arg type="s" name="refspec"/>
|
|
<arg type="as" name="packages"/>
|
|
<arg type="s" name="transaction_address" direction="out"/>
|
|
<annotation name="org.gtk.GDBus.C.UnixFD" value="true"/>
|
|
</method>
|
|
|
|
<!-- details dictionary keys:
|
|
'osname' (type 's')
|
|
'checksum' (type 's')
|
|
'version' (type 's')
|
|
'timestamp' (type 't')
|
|
'origin' (type 's')
|
|
'signatures' (type 'av')
|
|
-->
|
|
<method name="GetCachedRebaseRpmDiff">
|
|
<arg type="s" name="refspec"/>
|
|
<arg type="as" name="packages"/>
|
|
<arg type="a(sua{sv})" name="result" direction="out"/>
|
|
<arg type="a{sv}" name="details" direction="out"/>
|
|
</method>
|
|
|
|
<method name="DownloadRebaseRpmDiff">
|
|
<arg type="s" name="refspec"/>
|
|
<arg type="as" name="packages"/>
|
|
<arg type="s" name="transaction_address" direction="out"/>
|
|
</method>
|
|
|
|
<!-- Available options:
|
|
"reboot" (type 'b')
|
|
"dry-run" (type 'b')
|
|
-->
|
|
<method name="PkgChange">
|
|
<arg type="a{sv}" name="options" direction="in"/>
|
|
<arg type="as" name="packages_added"/>
|
|
<arg type="as" name="packages_removed"/>
|
|
<arg type="s" name="transaction_address" direction="out"/>
|
|
<annotation name="org.gtk.GDBus.C.UnixFD" value="true"/>
|
|
</method>
|
|
|
|
<method name="SetInitramfsState">
|
|
<arg type="b" name="regenerate" direction="in"/>
|
|
<arg type="as" name="args" direction="in"/>
|
|
<arg type="a{sv}" name="options" direction="in"/>
|
|
<arg type="s" name="transaction_address" direction="out"/>
|
|
</method>
|
|
|
|
<method name="Cleanup">
|
|
<arg type="as" name="elements" direction="in"/>
|
|
<arg type="s" name="transaction_address" direction="out"/>
|
|
</method>
|
|
|
|
<!-- Available modifiers:
|
|
"set-refspec" (type 's')
|
|
"set-revision" (type 's')
|
|
"install-packages" (type 'as')
|
|
"uninstall-packages" (type 'as')
|
|
"install-local-packages" (type 'ah')
|
|
"override-remove-packages" (type 'as')
|
|
"override-reset-packages" (type 'as')
|
|
"override-replace-packages" (type 'as')
|
|
"override-replace-local-packages" (type 'ah')
|
|
|
|
Available options:
|
|
"reboot" (type 'b')
|
|
Initiate a reboot after transaction.
|
|
"allow-downgrade" (type 'b')
|
|
Allow newly pulled bases to have older timestamps than the
|
|
current base. Defaults to TRUE if either "set-refspec" or
|
|
"set-revision" is specified.
|
|
"skip-purge" (type 'b')
|
|
Do not purge the old refspec. Only valid if "set-refspec" is
|
|
specified.
|
|
"no-pull-base" (type 'b')
|
|
Do not pull a base layer from the remote. Not valid if
|
|
either "set-refspec" or "set-revision" is specified.
|
|
"dry-run" (type 'b')
|
|
Stop short of deploying the new tree. If
|
|
layering packages, the pkg diff is printed.
|
|
"no-overrides" (type 'b')
|
|
Remove all active overrides. Not valid if any override
|
|
modifiers are specified.
|
|
-->
|
|
<method name="UpdateDeployment">
|
|
<arg type="a{sv}" name="modifiers" direction="in"/>
|
|
<arg type="a{sv}" name="options" direction="in"/>
|
|
<arg type="s" name="transaction_address" direction="out"/>
|
|
<annotation name="org.gtk.GDBus.C.UnixFD" value="true"/>
|
|
</method>
|
|
|
|
</interface>
|
|
|
|
<interface name="org.projectatomic.rpmostree1.OSExperimental">
|
|
|
|
<!-- Just a test method -->
|
|
<method name="Moo">
|
|
<arg type="b" name="utf8" direction="in"/>
|
|
<arg type="s" name="result" direction="out"/>
|
|
</method>
|
|
|
|
<method name="LiveFs">
|
|
<arg type="a{sv}" name="options" direction="in"/>
|
|
<arg type="s" name="transaction_address" direction="out"/>
|
|
</method>
|
|
|
|
</interface>
|
|
|
|
<interface name="org.projectatomic.rpmostree1.Transaction">
|
|
|
|
<!-- A single-line human-readable string -->
|
|
<property name="Title" type="s" access="read"/>
|
|
|
|
<!-- Yes, we can. -->
|
|
<method name="Cancel"/>
|
|
|
|
<!-- For a client to call when ready to receive signals.
|
|
The return boolean indicates whether the transaction was
|
|
started by this method call (true) or was already started
|
|
by another client (false). -->
|
|
<method name="Start">
|
|
<arg type="b" name="started" direction="out"/>
|
|
</method>
|
|
|
|
<signal name="Finished">
|
|
<arg name="success" type="b" direction="out"/>
|
|
<arg name="error_message" type="s" direction="out"/>
|
|
</signal>
|
|
|
|
<!-- For miscellaneous messages; line-buffered. -->
|
|
<signal name="Message">
|
|
<arg name="text" type="s" direction="out"/>
|
|
</signal>
|
|
|
|
<!-- Tasks are notifications that work is being done. -->
|
|
<signal name="TaskBegin">
|
|
<arg name="text" type="s" direction="out"/>
|
|
</signal>
|
|
|
|
<signal name="TaskEnd">
|
|
<arg name="text" type="s" direction="out"/>
|
|
</signal>
|
|
|
|
<!-- Generic percentage progress. -->
|
|
<signal name="PercentProgress">
|
|
<arg name="text" type="s" direction="out"/>
|
|
<arg name="percentage" type="u" direction="out"/>
|
|
</signal>
|
|
|
|
<signal name="DownloadProgress">
|
|
<!-- time data, format is:
|
|
start time, elapsed seconds
|
|
-->
|
|
<arg name="time" type="(tt)" direction="out"/>
|
|
|
|
<!--
|
|
outstanding data counts, format is:
|
|
(outstanding fetches, outstanding writes)
|
|
-->
|
|
<arg name="outstanding" type="(uu)" direction="out"/>
|
|
|
|
<!--
|
|
metadata counts, format is:
|
|
(scanned, fetched, outstanding)
|
|
-->
|
|
<arg name="metadata" type="(uuu)" direction="out"/>
|
|
|
|
<!--
|
|
delta data, format is:
|
|
(total parts, fetched parts, total super blocks, total size)
|
|
-->
|
|
<arg name="delta" type="(uuut)" direction="out"/>
|
|
|
|
<!--
|
|
content data, format is:
|
|
(fetched, requested)
|
|
-->
|
|
<arg name="content" type="(uu)" direction="out"/>
|
|
|
|
<!--
|
|
transfer data, format is:
|
|
(bytes transfered, bytes/s)
|
|
-->
|
|
<arg name="transfer" type="(tt)" direction="out"/>
|
|
</signal>
|
|
|
|
<signal name="SignatureProgress">
|
|
<!-- An ostree GVariant containing signature data
|
|
see ostree_gpg_verify_result_get_all.
|
|
-->
|
|
<arg name="signature" type="av" direction="out"/>
|
|
<!-- The signed commit -->
|
|
<arg name="commit" type="s" direction="out"/>
|
|
</signal>
|
|
|
|
<!-- Indicates progress signals are done and subsequent
|
|
Message signals should be output on separate lines. -->
|
|
<signal name="ProgressEnd"/>
|
|
</interface>
|
|
</node>
|