tags 628305 + patch
tags 628305 + pending
thanks

Dear maintainer,

I've prepared an NMU for gpa (versioned as 0.9.0-1.1) and
uploaded it to DELAYED/2. Please feel free to tell me if I
should delay it longer.

Regards.

-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer  -  http://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Die Toten Hosen: Sascha
diff -u gpa-0.9.0/debian/control gpa-0.9.0/debian/control
--- gpa-0.9.0/debian/control
+++ gpa-0.9.0/debian/control
@@ -3,8 +3,8 @@
 Priority: optional
 Maintainer: Debian GnuPG-Maintainers <[email protected]>
 Uploaders: Daniel Leidert (dale) <[email protected]>
-Build-Depends: debhelper (>> 5), autotools-dev, gnupg2,
- libassuan-dev (>= 1.0.4), libgpg-error-dev (>= 1.4),
+Build-Depends: debhelper (>> 5), dh-autoreconf, autopoint, gnupg2,
+ libassuan-dev (>= 2), libgpg-error-dev (>= 1.4),
  libgpgme11-dev (>= 1.2.0), libgtk2.0-dev (>= 2.10.0)
 Standards-Version: 3.8.3
 Homepage: http://gpa.wald.intevation.org
diff -u gpa-0.9.0/debian/changelog gpa-0.9.0/debian/changelog
--- gpa-0.9.0/debian/changelog
+++ gpa-0.9.0/debian/changelog
@@ -1,3 +1,19 @@
+gpa (0.9.0-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Fix "FTBFS: checking LIBASSUAN API version... does not match.
+    want=1 got=2.":
+    - apply commit a27c69e from upstream git repository at 
+      git://git.gnupg.org/gpa.git:
+      + configure.ac: Set NEED_LIBASSUAN_VERSION and NEED_LIBASSUAN_API to 
+        1.1.0 and 2 resp.
+      + server.c: Update to new assuan interface.
+    - bump build-dependency on libassuan-dev to >= 2
+    - use dh-autoreconf to regenerate autotools stuff
+    (Closes: #628305)
+
+ -- gregor herrmann <[email protected]>  Fri, 10 Feb 2012 16:05:11 +0100
+
 gpa (0.9.0-1) unstable; urgency=low
 
   * New upstream release (closes: #381503).
diff -u gpa-0.9.0/debian/rules gpa-0.9.0/debian/rules
--- gpa-0.9.0/debian/rules
+++ gpa-0.9.0/debian/rules
@@ -10,10 +10,7 @@
 
 config.status: configure
 	dh_testdir
-	test -r /usr/share/misc/config.sub && \
-	  cp -f /usr/share/misc/config.sub config.sub
-	test -r /usr/share/misc/config.guess && \
-	  cp -f /usr/share/misc/config.guess config.guess
+	dh_autoreconf
 	./configure \
 	    --host=$(DEB_HOST_GNU_TYPE) \
 	    --build=$(DEB_BUILD_GNU_TYPE) \
@@ -31,6 +28,7 @@
 clean:
 	dh_testdir
 	dh_testroot
+	dh_autoreconf_clean
 	[ ! -f Makefile ] || $(MAKE) distclean
 	dh_clean build-stamp
 
only in patch2:
unchanged:
--- gpa-0.9.0.orig/configure.ac
+++ gpa-0.9.0/configure.ac
@@ -37,8 +37,8 @@
         [[email protected]])
 
 NEED_GPG_ERROR_VERSION=1.4
-NEED_LIBASSUAN_API=1
-NEED_LIBASSUAN_VERSION=1.0.4
+NEED_LIBASSUAN_API=2
+NEED_LIBASSUAN_VERSION=1.1.0
 NEED_GPGME_API=1
 NEED_GPGME_VERSION=1.2.0
 
only in patch2:
unchanged:
--- gpa-0.9.0.orig/src/server.c
+++ gpa-0.9.0/src/server.c
@@ -568,7 +568,7 @@
    the last command.  A RESET command undoes the effect of this
    command.
 */
-static int
+static gpg_error_t
 cmd_session (assuan_context_t ctx, char *line)
 {
   conn_ctrl_t ctrl = assuan_get_pointer (ctx);
@@ -594,7 +594,7 @@
   validity right away; if it does not (as here) all recipients are
   checked at the time of the ENCRYPT command.  All RECIPIENT commands
   are cumulative until a RESET or an successful ENCRYPT command.  */
-static int
+static gpg_error_t
 cmd_recipient (assuan_context_t ctx, char *line)
 {
   conn_ctrl_t ctrl = assuan_get_pointer (ctx);
@@ -615,7 +615,7 @@
    Set the file descriptor to read a message which is used with
    detached signatures.
  */
-static int 
+static gpg_error_t
 cmd_message (assuan_context_t ctx, char *line)
 {
   conn_ctrl_t ctrl = assuan_get_pointer (ctx);
@@ -659,7 +659,7 @@
 
    Encrypt the data received on INPUT to OUTPUT.
 */
-static int 
+static gpg_error_t
 cmd_encrypt (assuan_context_t ctx, char *line)
 {
   conn_ctrl_t ctrl = assuan_get_pointer (ctx);
@@ -755,7 +755,7 @@
 
    Dummy encryption command used to check whether the given recipients
    are all valid and to tell the client the preferred protocol.  */
-static int 
+static gpg_error_t
 cmd_prep_encrypt (assuan_context_t ctx, char *line)
 {
   conn_ctrl_t ctrl = assuan_get_pointer (ctx);
@@ -814,7 +814,7 @@
     @code{RESET} command.  A second command overrides the effect of
     the first one; if EMAIL is not given the server shall use the
     default signing key.  */
-static int
+static gpg_error_t
 cmd_sender (assuan_context_t ctx, char *line)
 {
   conn_ctrl_t ctrl = assuan_get_pointer (ctx);
@@ -867,7 +867,7 @@
 
    Sign the data received on INPUT to OUTPUT.
 */
-static int 
+static gpg_error_t
 cmd_sign (assuan_context_t ctx, char *line)
 {
   conn_ctrl_t ctrl = assuan_get_pointer (ctx);
@@ -943,7 +943,7 @@
    If the option --no-verify is given, the server should not try to
    verify a signature, in case the input data is an OpenPGP combined
    message.  */
-static int 
+static gpg_error_t
 cmd_decrypt (assuan_context_t ctx, char *line)
 {
   conn_ctrl_t ctrl = assuan_get_pointer (ctx);
@@ -1058,7 +1058,7 @@
 
    The DISPLAYSTRING is a percent-and-plus-encoded string with a short
    human readable description of the status.  */
-static int 
+static gpg_error_t
 cmd_verify (assuan_context_t ctx, char *line)
 {
   conn_ctrl_t ctrl = assuan_get_pointer (ctx);
@@ -1143,7 +1143,7 @@
    manager is brought into the foregound and that this command
    immediatley returns.
 */
-static int
+static gpg_error_t
 cmd_start_keymanager (assuan_context_t ctx, char *line)
 {
   gpa_open_key_manager (NULL, NULL);
@@ -1157,7 +1157,7 @@
    manager is brought into the foregound and that this command
    immediatley returns.
 */
-static int
+static gpg_error_t
 cmd_start_cardmanager (assuan_context_t ctx, char *line)
 {
   gpa_open_cardmanager (NULL, NULL);
@@ -1172,7 +1172,7 @@
    manager is brought into the foregound and that this command
    immediatley returns.
 */
-static int
+static gpg_error_t
 cmd_start_confdialog (assuan_context_t ctx, char *line)
 {
   gpa_open_settings_dialog (NULL, NULL);
@@ -1191,7 +1191,7 @@
      version     - Return the version of the program.
      pid         - Return the process id of the server.
  */
-static int
+static gpg_error_t
 cmd_getinfo (assuan_context_t ctx, char *line)
 {
   gpg_error_t err;
@@ -1295,7 +1295,7 @@
 
    Set the files on which to operate.
  */
-static int
+static gpg_error_t
 cmd_file (assuan_context_t ctx, char *line)
 {
   gpg_error_t err = 0;
@@ -1366,7 +1366,7 @@
 
 
 /* ENCRYPT_FILES --nohup  */
-static int
+static gpg_error_t
 cmd_encrypt_files (assuan_context_t ctx, char *line)
 {
   gpg_error_t err;
@@ -1389,7 +1389,7 @@
 
 
 /* SIGN_FILES --nohup  */
-static int
+static gpg_error_t
 cmd_sign_files (assuan_context_t ctx, char *line)
 {
   gpg_error_t err;
@@ -1412,7 +1412,7 @@
 
 
 /* ENCRYPT_SIGN_FILES --nohup  */
-static int
+static gpg_error_t
 cmd_encrypt_sign_files (assuan_context_t ctx, char *line)
 {
   gpg_error_t err;
@@ -1474,7 +1474,7 @@
 
 
 /* DECRYPT_FILES --nohup  */
-static int
+static gpg_error_t
 cmd_decrypt_files (assuan_context_t ctx, char *line)
 {
   gpg_error_t err;
@@ -1497,7 +1497,7 @@
 
 
 /* VERIFY_FILES --nohup  */
-static int
+static gpg_error_t
 cmd_verify_files (assuan_context_t ctx, char *line)
 {
   gpg_error_t err;
@@ -1520,7 +1520,7 @@
 
 
 /* DECRYPT_VERIFY_FILES --nohup  */
-static int
+static gpg_error_t
 cmd_decrypt_verify_files (assuan_context_t ctx, char *line)
 {
   gpg_error_t err;
@@ -1543,7 +1543,7 @@
 
 
 /* IMPORT_FILES --nohup  */
-static int
+static gpg_error_t
 cmd_import_files (assuan_context_t ctx, char *line)
 {
   gpg_error_t err;
@@ -1567,7 +1567,7 @@
 
 
 /* CHECKSUM_CREATE_FILES --nohup  */
-static int
+static gpg_error_t
 cmd_checksum_create_files (assuan_context_t ctx, char *line)
 {
   gpg_error_t err;
@@ -1591,7 +1591,7 @@
 
 
 /* CHECKSUM_VERIFY_FILES --nohup  */
-static int
+static gpg_error_t
 cmd_checksum_verify_files (assuan_context_t ctx, char *line)
 {
   gpg_error_t err;
@@ -1614,8 +1614,8 @@
 }
 
 
-static void
-reset_notify (assuan_context_t ctx)
+static gpg_error_t
+reset_notify (assuan_context_t ctx, char *line)
 {
   conn_ctrl_t ctrl = assuan_get_pointer (ctx);
 
@@ -1639,6 +1639,7 @@
   ctrl->session_number = 0;
   xfree (ctrl->session_title);
   ctrl->session_title = NULL;
+  return 0;
 }
 
 
@@ -1648,7 +1649,7 @@
 {
   static struct {
     const char *name;
-    int (*handler)(assuan_context_t, char *line);
+    assuan_handler_t handler;
   } table[] = {
     { "SESSION", cmd_session },
     { "RECIPIENT", cmd_recipient },
@@ -1681,7 +1682,8 @@
 
   for (i=0; table[i].name; i++)
     {
-      rc = assuan_register_command (ctx, table[i].name, table[i].handler);
+      rc = assuan_register_command (ctx, table[i].name, table[i].handler,
+				    NULL);
       if (rc)
         return rc;
     } 
@@ -1692,7 +1694,7 @@
 
 /* Prepare for a new connection on descriptor FD.  */
 static assuan_context_t
-connection_startup (int fd)
+connection_startup (assuan_fd_t fd)
 {
   gpg_error_t err;
   assuan_context_t ctx;
@@ -1700,7 +1702,16 @@
 
   /* Get an Assuan context for the already accepted file descriptor
      FD.  Allow descriptor passing.  */
-  err = assuan_init_socket_server_ext (&ctx, ASSUAN_INT2FD(fd), 1|2);
+  err = assuan_new (&ctx);
+  if (err)
+    {
+      g_debug ("failed to initialize the new connection: %s",
+               gpg_strerror (err));
+      return NULL;
+    }
+
+  err = assuan_init_socket_server (ctx, fd, ASSUAN_SOCKET_SERVER_FDPASSING
+				   | ASSUAN_SOCKET_SERVER_ACCEPTED);
   if (err)
     {
       g_debug ("failed to initialize the new connection: %s",
@@ -1712,7 +1723,7 @@
     {
       g_debug ("failed to register commands with Assuan: %s",
                gpg_strerror (err));
-      assuan_deinit_server (ctx);
+      assuan_release (ctx);
       return NULL;
     }
 
@@ -1736,8 +1747,8 @@
     {
       conn_ctrl_t ctrl = assuan_get_pointer (ctx);
 
-      reset_notify (ctx);
-      assuan_deinit_server (ctx);
+      reset_notify (ctx, NULL);
+      assuan_release (ctx);
       g_free (ctrl);
       connection_counter--;
       if (!connection_counter && shutdown_pending)
@@ -1805,14 +1816,23 @@
         }
       else
         {
+	  int done = 0;
           ctrl->in_command++;
-          err = assuan_process_next (ctx);
+          err = assuan_process_next (ctx, &done);
           ctrl->in_command--;
-          g_debug ("assuan_process_next returned: %s",
-                   err == -1? "EOF": gpg_strerror (err));
+	  if (err)
+	    {
+	      g_debug ("assuan_process_next returned: %s <%s>",
+		       gpg_strerror (err), gpg_strsource (err));
+	    }
+	  else
+	    {
+	      g_debug ("assuan_process_next returned: %s",
+		       done ? "done" : "success");
+	    }
           if (gpg_err_code (err) == GPG_ERR_EAGAIN)
             ; /* Ignore.  */
-          else if (gpg_err_code (err) == GPG_ERR_EOF || err == -1)
+          else if (!err && done)
             {
               if (ctrl->cont_cmd)
                 ctrl->client_died = 1; /* Need to delay the cleanup.  */
@@ -1868,14 +1888,14 @@
       g_debug ("error accepting connection: %s", strerror (errno));
       goto leave;
     }
-  if (assuan_sock_check_nonce (ASSUAN_INT2FD(fd), &socket_nonce))
+  if (assuan_sock_check_nonce ((assuan_fd_t) fd, &socket_nonce))
     {
       g_debug ("new connection at fd %d refused", fd); 
       goto leave;
     }
 
   g_debug ("new connection at fd %d", fd);
-  ctx = connection_startup (fd);
+  ctx = connection_startup ((assuan_fd_t) fd);
   if (!ctx)
     goto leave;
 
@@ -1911,7 +1931,7 @@
 
  leave:
   if (fd != -1)
-    assuan_sock_close (ASSUAN_INT2FD (fd));
+    assuan_sock_close ((assuan_fd_t) fd);
   return TRUE; /* Keep the listen_fd in the event loop.  */
 }
 
@@ -1929,7 +1949,7 @@
   GIOChannel *channel;
   unsigned int source_id;
 
-  assuan_set_assuan_err_source (GPG_ERR_SOURCE_DEFAULT);
+  assuan_set_gpg_err_source (GPG_ERR_SOURCE_DEFAULT);
   
   socket_name = g_build_filename (gnupg_homedir, "S.uiserver", NULL);
   if (strlen (socket_name)+1 >= sizeof serv_addr.sun_path ) 
@@ -1974,14 +1994,14 @@
   g_free (socket_name);
   socket_name = NULL;
 
-  if (listen (ASSUAN_FD2INT (fd), 5) == -1)
+  if (listen ((int) fd, 5) == -1)
     {
       g_debug ("listen() failed: %s\n", strerror (errno));
       assuan_sock_close (fd);
       return;
     }
 #ifdef HAVE_W32_SYSTEM
-  channel = g_io_channel_win32_new_socket (ASSUAN_FD2INT(fd));
+  channel = g_io_channel_win32_new_socket ((int) fd);
 #else
   channel = g_io_channel_unix_new (fd);
 #endif

Attachment: signature.asc
Description: Digital signature

Reply via email to