[neon/backports-jammy/libsignon-glib/Neon/unstable] debian: import dbus interfaces (#975793)

Pino Toscano null at kde.org
Thu Jun 22 01:30:34 BST 2023


Git commit 5a12d26564d2fb4a4809bdaaa270a5899a34ed3d by Pino Toscano.
Committed on 31/12/2020 at 12:49.
Pushed by carlosdem into branch 'Neon/unstable'.

import dbus interfaces (#975793)

M  +3    -0    debian/changelog
M  +1    -0    debian/patches/series
A  +409  -0    debian/patches/signon-dbus-specification-interfaces.diff

https://invent.kde.org/neon/backports-jammy/libsignon-glib/-/commit/5a12d26564d2fb4a4809bdaaa270a5899a34ed3d

diff --git a/debian/changelog b/debian/changelog
index 7b5be08..c175aed 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,6 +12,9 @@ libsignon-glib (1.15-0r1) UNRELEASED; urgency=medium
   * Update the patches:
     - remove-pluginlibdir.patch: drop, fixed upstream
     - disable-deprecation-error.patch: update
+  * Statically import the D-Bus interfaces for now, as they are fetched using
+    a Git submodule, which is not exported in tarballs created from GitLab;
+    patch signon-dbus-specification-interfaces.diff. (Closes: #975793)
 
  -- Debian/Kubuntu Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Thu, 31 Dec 2020 12:54:04 +0100
 
diff --git a/debian/patches/series b/debian/patches/series
index 52801d6..9a5c4b4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 disable-deprecation-error.patch
+signon-dbus-specification-interfaces.diff
diff --git a/debian/patches/signon-dbus-specification-interfaces.diff b/debian/patches/signon-dbus-specification-interfaces.diff
new file mode 100644
index 0000000..b59abab
--- /dev/null
+++ b/debian/patches/signon-dbus-specification-interfaces.diff
@@ -0,0 +1,409 @@
+Author: Pino Toscano
+Description: Import D-Bus interfaces from signon-dbus-specification repository
+ libsignon-glib uses a git submodule for the D-Bus interfaces XMLs; has the
+ drawback of not being exported when requesting the tarball of a tag from
+ GitLab.
+ .
+ As workaround, import the files statically for now.
+Forwarded: no
+Last-Update: 2020-12-31
+
+--- /dev/null
++++ b/libsignon-glib/interfaces/com.google.code.AccountsSSO.SingleSignOn.AuthService.xml
+@@ -0,0 +1,146 @@
++<!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">
++
++  <!--
++    com.google.code.AccountsSSO.SingleSignOn.AuthService:
++    @short_description: Manages Signon identities.
++
++    The signond D-Bus APIs are unstable, subject to change and should not be
++    used by client applications, which should use libsignon-glib or
++    libsignon-qt instead.
++
++    Query information on available authentication methods and mechanisms, as
++    well as create identities and authentication sessions.
++  -->
++  <interface name="com.google.code.AccountsSSO.SingleSignOn.AuthService">
++    <!--
++      registerNewIdentity:
++      @short_description: Create a new Identity.
++      @applicationContext: the application security context
++      @objectPath: the D-Bus object path of the new Identity
++
++      Create a new (empty) Identity in the Signon database.
++    -->
++    <method name="registerNewIdentity">
++      <arg name="applicationContext" type="s" direction="in"/>
++      <arg name="objectPath" type="o" direction="out"/>
++    </method>
++    <!--
++      getIdentity:
++      @short_description: Get an Identity from the Signon database.
++      @id: the ID of the Identity in the Signon database
++      @applicationContext: the application security context
++      @objectPath: the D-Bus object path for the Identity
++      @identityData: the information associated with the Identity
++
++      Get an Identity from the Signon database, creating it if it does not
++      exist.
++    -->
++    <method name="getIdentity">
++      <arg name="id" type="u" direction="in"/>
++      <arg name="applicationContext" type="s" direction="in"/>
++      <arg name="objectPath" type="o" direction="out"/>
++      <arg name="identityData" type="a{sv}" direction="out"/>
++    </method>
++    <!--
++      getAuthSessionObjectPath:
++      @short_description: Get a D-Bus object path for an AuthSession.
++      @path: the D-Bus object path
++      @id: ID to use for the new AuthSession
++      @applicationContext: the application security context
++      @type: the authentication method to use for the new AuthSession
++
++      Return a D-Bus object path for a newly-created AuthSession.
++    -->
++    <method name="getAuthSessionObjectPath">
++      <arg name="path" type="o" direction="out"/>
++      <arg name="id" type="u" direction="in"/>
++      <arg name="applicationContext" type="s" direction="in"/>
++      <arg name="type" type="s" direction="in"/>
++    </method>
++    <!--
++      queryMethods:
++      @short_description: List the available authentication methods.
++      @methods: an array of the available authentication methods
++
++      Query the list of all available authentication methods.
++    -->
++    <method name="queryMethods">
++      <arg name="methods" type="as" direction="out"/>
++    <!--
++      queryMechanisms:
++      @short_description: List the available authentication mechanisms.
++      @mechanisms: an array of the available authentication mechanisms
++      @method: the authentication method for which to query the available mechanisms
++
++      Query the list of available authentication mechanisms for a given
++      authentication method.
++    -->
++    </method>
++    <method name="queryMechanisms">
++      <arg name="mechanisms" type="as" direction="out"/>
++      <arg name="method" type="s" direction="in"/>
++    </method>
++    <!--
++      queryIdentities:
++      @short_description: Request an array of stored identities.
++      @filter: the filter to apply to the returned identities
++      @applicationContext: the application security context
++      @identites: the list of stored identities
++
++      Request an array of identities which are stored in the Signon database.
++    -->
++    <method name="queryIdentities">
++      <arg name="filter" type="a{sv}" direction="in"/>
++      <arg name="applicationContext" type="s" direction="in"/>
++      <arg name="identities" type="aa{sv}" direction="out"/>
++      <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QVariantMap"/>
++    </method>
++    <!--
++      clear:
++      @short_description: Remove all identities from the Signon database.
++      @success: whether the clear succeeded
++
++      Clear the Signon database by removing all stored identities.
++    -->
++    <method name="clear">
++      <arg name="success" type="b" direction="out"/>
++    </method>
++    <!--
++      backupStarts:
++      @short_description: TODO
++
++      TODO
++    -->
++    <method name="backupStarts">
++      <arg type="y" direction="out"/>
++    </method>
++    <!--
++      backupFinished:
++      @short_description: TODO
++
++      TODO
++    -->
++    <method name="backupFinished">
++      <arg type="y" direction="out"/>
++    </method>
++    <!--
++      restoreStarts:
++      @short_description: TODO
++
++      TODO
++    -->
++    <method name="restoreStarts">
++      <arg type="y" direction="out"/>
++    </method>
++    <!--
++      restoreFinished:
++      @short_description: TODO
++
++      TODO
++    -->
++    <method name="restoreFinished">
++      <arg type="y" direction="out"/>
++    </method>
++  </interface>
++</node>
+--- /dev/null
++++ b/libsignon-glib/interfaces/com.google.code.AccountsSSO.SingleSignOn.AuthSession.xml
+@@ -0,0 +1,101 @@
++<!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">
++
++  <!--
++    com.google.code.AccountsSSO.SingleSignOn.AuthSession:
++    @short_description: An authentication session for an Identity.
++
++    The signond D-Bus APIs are unstable, subject to change and should not be
++    used by client applications, which should use libsignon-glib or
++    libsignon-qt instead.
++
++    Handle the client authentication process.
++  -->
++  <interface name="com.google.code.AccountsSSO.SingleSignOn.AuthSession">
++    <!--
++      stateChanged:
++      @short_description: Emitted when the authentication state changes.
++      @state: the current state of the AuthSession
++      @message: a message associated with the state change
++
++      Emitted when the current authentication state changed, such as when the
++      Ideneity was signed out.
++    -->
++    <signal name="stateChanged">
++      <arg name="state" type="i" direction="out"/>
++      <arg name="message" type="s" direction="out"/>
++    </signal>
++    <!--
++      unregistered:
++      @short_description: Emitted when the AuthSession is removed.
++
++      Emitted when the AuthSession is removed or destroyed, such as when using
++      objectUnref.
++    -->
++    <signal name="unregistered">
++    </signal>
++    <!--
++      queryAvailableMechanisms:
++      @short_description: List the available authentication mechanisms for this
++      AuthSession
++      @mechanisms: the available authentication mechanisms
++      @wantedMechanisms: the desired authentication mechanisms
++
++      Query the available authentication mechanisms for this AuthSession. The
++      result will be the intersection of the desired authentication mechanisms
++      and those that are supported by the AuthSession.
++    -->
++    <method name="queryAvailableMechanisms">
++      <arg name="mechanisms" type="as" direction="out"/>
++      <arg name="wantedMechanisms" type="as" direction="in"/>
++    </method>
++    <!--
++      process:
++      @short_description: Perform one step of the authentication process.
++      @sessionDataVa: the returned session data parameters
++      @sessionDataVa: additional session data parameters
++      @mechanism: the authentication mechanism to use
++
++      Using the available parameters in the Identity or @sessionDataVa, start
++      the authentication process by passing the parameters to the
++      authentication plugin.
++    -->
++    <method name="process">
++      <arg name="sessionData" type="a{sv}" direction="out"/>
++      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QVariantMap"/>
++      <arg name="sessionDataVa" type="a{sv}" direction="in"/>
++      <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QVariantMap"/>
++      <arg name="mechanism" type="s" direction="in"/>
++    </method>
++    <!--
++      cancel:
++      @short_description: Cancel the authentication session.
++
++      Cancel the current authentication session
++    -->
++    <method name="cancel">
++      <annotation name="org.freedesktop.DBus.Method.NoReply" value="true"/>
++    </method>
++    <!--
++      setId:
++      @short_description: Set the ID of the AuthSession.
++      @id: the ID to set
++
++      Set the ID of the AuthSession.
++    -->
++    <method name="setId">
++      <arg name="id" type="u" direction="in"/>
++      <annotation name="org.freedesktop.DBus.Method.NoReply" value="true"/>
++    </method>
++    <!--
++      objectUnref:
++      @short_description: Remove the AuthSession.
++
++      Forcibly remove the AuthSession.
++    -->
++    <method name="objectUnref">
++      <annotation name="org.freedesktop.DBus.Method.NoReply" value="true"/>
++      <annotation name="org.freedesktop.DBus.Deprecated" value="true"/>
++    </method>
++  </interface>
++</node>
+--- /dev/null
++++ b/libsignon-glib/interfaces/com.google.code.AccountsSSO.SingleSignOn.Identity.xml
+@@ -0,0 +1,143 @@
++<!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">
++
++  <!--
++    com.google.code.AccountsSSO.SingleSignOn.Identity:
++    @short_description: Representation of a single identity.
++
++    The signond D-Bus APIs are unstable, subject to change and should not be
++    used by client applications, which should use libsignon-glib or
++    libsignon-qt instead.
++
++    A single credential stored in the Signon database.
++  -->
++  <interface name="com.google.code.AccountsSSO.SingleSignOn.Identity">
++    <!--
++      unregistered:
++      @short_description: Emitted when the identity is removed
++
++      Emitted when the Identity is removed from the Signon database.
++    -->
++    <signal name="unregistered">
++    </signal>
++    <!--
++      infoUpdated:
++      @short_description: Emitted when the Identity information has been
++      updated.
++      @type: the type of update that occurred
++
++      Emitted when credentials information has been updated is the Signon
++      database, such as when the credentials were updated or removed, or when
++      the identity was signed out.
++    -->
++    <signal name="infoUpdated">
++      <arg name="type" type="i" direction="out"/>
++    </signal>
++    <!--
++      requestCredentialsUpdate:
++      @short_description: Request that the user enters a new (updated) secret.
++      @id: the ID of the Identity
++      @message: message to be shown to the user
++
++      Request that the user enters a new secret, which is then stored in the
++      Signon database.
++    -->
++    <method name="requestCredentialsUpdate">
++      <arg name="id" type="u" direction="out"/>
++      <arg name="message" type="s" direction="in"/>
++    </method>
++    <!--
++      getInfo:
++      @short_description: Fetch additional information about the Identity.
++      @info: a dictionary of additional information
++
++      Fetch a large amount of additional information on the Identity, such as
++      the username, type, method and so on.
++    -->
++    <method name="getInfo">
++      <arg name="info" type="a{sv}" direction="out"/>
++    </method>
++    <!--
++      verifyUser:
++      @short_description: Verify the secret against a user-supplied secret.
++      @valid: whether the supplied secret is valid
++      @params: parameters to pass to the authentication plugin
++
++      Request that the user enters a secret, and verify that against the secret
++      stored in the Signon database.
++    -->
++    <method name="verifyUser">
++      <arg name="valid" type="b" direction="out"/>
++      <arg name="params" type="a{sv}" direction="in"/>
++      <annotation name="com.trolltech.QtDBus.QtTypeName.In4" value="QVariantMap"/>
++    </method>
++    <!--
++      verifySecret:
++      @short_description: Verify that the secret is valid.
++      @valid: whether the secret is valid
++      @secret: the secret to verify
++
++      Verifies that the supplied secret is valid by comparing it to the secret
++      stored in the Signon database.
++    -->
++    <method name="verifySecret">
++      <arg name="valid" type="b" direction="out"/>
++      <arg name="secret" type="s" direction="in"/>
++    </method>
++    <!--
++      remove:
++      @short_description: Remove the Identity.
++
++      Remove the identity from the Signon database.
++    -->
++    <method name="remove">
++    </method>
++    <!--
++      signOut:
++      @short_description: Sign out the identity.
++
++      Close all authentication sessions for the identity.
++    -->
++    <method name="signOut">
++      <arg type="b" direction="out"/>
++    </method>
++    <!--
++      store:
++      @short_description: Store credentials in the identity.
++      @id: a numeric ID for the identity in the database
++      @info: information to store in the Identity
++
++      Store the given credentials information in the identity, returning a
++      numeric ID for the identity in the Signon database.
++    -->
++    <method name="store">
++      <arg name="id" type="u" direction="out"/>
++      <arg name="info" type="a{sv}" direction="in"/>
++      <annotation name="com.trolltech.QtDBus.QtTypeName.In4" value="QVariantMap"/>
++    </method>
++    <!--
++      addReference:
++      @short_description: Add a reference to the Identity.
++      @id: the ID of the reference in the database
++      @reference: a named reference to add
++
++      Add a named reference to the Identity.
++    -->
++    <method name="addReference">
++      <arg name="id" type="i" direction="out"/>
++      <arg name="reference" type="s" direction="in"/>
++    </method>
++    <!--
++      removeReference:
++      @short_description: Remove a reference from the Identity.
++      @id: the ID of the reference in the database
++      @reference: a named reference to removed
++
++      Remove a named reference from the Identity.
++    -->
++    <method name="removeReference">
++      <arg name="id" type="i" direction="out"/>
++      <arg name="reference" type="s" direction="in"/>
++    </method>
++  </interface>
++</node>



More information about the Neon-commits mailing list