Package: release.debian.org
Severity: normal
Tags: wheezy
User: release.debian....@packages.debian.org
Usertags: pu

Hi release team,

Some bugs have unfortunately slipped past my last tests when preparing
Schleuder for Wheezy and only got noticed after upgrading a production
system right before the release.

None of them prevent using Schleuder, but all together they give a very
bad experience to someone who would perform a first installation. Here's
the detail:

 * The primary way of getting the mailing-list public key is
   currently broken. (#705865)
 * No commands sent to (-request) actually work without manually
   specifying the plugin directories in the configuration. (#705876)
 * The recommended way of adding new list members is broken (#705877).

I would very much like to see all these issues fixed in the upcoming
point release. The proposed upload is specific and only addresses
these 3 issues with the minimum amount of changes.

Thanks,
-- 
Jérémy Bobbio                        .''`. 
lu...@debian.org                    : :Ⓐ  :  # apt-get install anarchism
                                    `. `'` 
                                      `-   
diff -Nru schleuder-2.2.1/debian/changelog schleuder-2.2.1/debian/changelog
--- schleuder-2.2.1/debian/changelog	2012-10-15 15:16:28.000000000 +0200
+++ schleuder-2.2.1/debian/changelog	2013-05-14 12:16:22.000000000 +0200
@@ -1,3 +1,13 @@
+schleuder (2.2.1-2deb7u1) stable; urgency=low
+
+  * Update feature-switch-to-gpgme-2.patch to fix -sendkey. (Closes: #705865)
+  * Update patches to fix issues with plugin directories with the
+    default configuration. (Closes: #705876)
+  * Cherry-pick two upstream patches to fix member listing in 'manage members'
+    plugin. (Closes: #705877)
+
+ -- Jérémy Bobbio <lu...@debian.org>  Tue, 14 May 2013 12:15:51 +0200
+
 schleuder (2.2.1-2) unstable; urgency=low
 
   * Support removed (but not purged) package in weekly cron. (Closes: #678487)
diff -Nru schleuder-2.2.1/debian/patches/bugs-fix-member-listing.patch schleuder-2.2.1/debian/patches/bugs-fix-member-listing.patch
--- schleuder-2.2.1/debian/patches/bugs-fix-member-listing.patch	1970-01-01 01:00:00.000000000 +0100
+++ schleuder-2.2.1/debian/patches/bugs-fix-member-listing.patch	2013-05-14 12:16:22.000000000 +0200
@@ -0,0 +1,44 @@
+From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Bobbio?= <lu...@debian.org>
+Date: Mon, 22 Apr 2013 17:47:36 +0200
+Subject: [PATCH] bugs/fix-member-listing
+
+Squashed commit of the following:
+
+commit cae05ce0cdd6f5ebd7eb39647cdfca2475dda98c
+Author: ng <n...@immerda.ch>
+Date:   Fri Feb 15 20:01:22 2013 +0100
+
+    fix another issue whith displaying current members
+
+commit 4668c0f6dab7c82e37dfd3fabfddd4edfe8b6b03
+Author: ng <n...@immerda.ch>
+Date:   Fri Feb 15 19:48:43 2013 +0100
+
+    fix display of list members
+---
+ plugins/manage_members_plugin.rb |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/manage_members_plugin.rb b/plugins/manage_members_plugin.rb
+index 5d8fa4e..4b19280 100644
+--- a/plugins/manage_members_plugin.rb
++++ b/plugins/manage_members_plugin.rb
+@@ -93,7 +93,7 @@ module Schleuder
+         end
+         msg << "\n"
+       end
+-      msg << "Updated members-list:\n\n#{_list_members(mail)}"
++      msg << "Updated members-list:\n\n#{_list_members(Schleuder.list.members)}"
+       msg
+     end
+ 
+@@ -110,7 +110,7 @@ module Schleuder
+           msg = "Something failed. Please ask the maintainer of this list to figure out what\nhappened (e.g. by mailing to #{Schleuder.list.owner_addr}).\n"
+         end
+       end
+-      msg << "\nUpdated members-list:\n\n#{_list_members(mail)}\n"
++      msg << "\nUpdated members-list:\n\n#{_list_members(Schleuder.list.members)}\n"
+       msg
+     end
+ 
+-- 
diff -Nru schleuder-2.2.1/debian/patches/debian-default-settings.patch schleuder-2.2.1/debian/patches/debian-default-settings.patch
--- schleuder-2.2.1/debian/patches/debian-default-settings.patch	2012-10-15 15:16:28.000000000 +0200
+++ schleuder-2.2.1/debian/patches/debian-default-settings.patch	2013-05-14 12:16:22.000000000 +0200
@@ -7,6 +7,19 @@
 
 Squashed commit of the following:
 
+commit fae0be5af3b6be19094d62692542be0b3a149389
+Merge: c99c9b8 17eb0d9
+Author: Jérémy Bobbio <lu...@debian.org>
+Date:   Mon Apr 22 17:17:16 2013 +0200
+
+    Merge branch 'feature/multiple-plugins-dir' into debian/default-settings
+
+commit c99c9b806df9e748447dc00b35874548eaaa5df2
+Author: Jérémy Bobbio <lu...@debian.org>
+Date:   Sun Apr 21 17:34:03 2013 +0200
+
+    Fix default path for system plugins
+
 commit ad5e3a4b2623174f1a9466f150676eec3dc66b33
 Author: Jérémy Bobbio <lu...@debian.org>
 Date:   Sat Jun 16 15:49:52 2012 +0200
@@ -133,7 +146,7 @@
      # Which headers from original mail to include into the internal meta data
      schleuder_attr :headers_to_meta, [:from, :to, :cc, :date]
 diff --git a/lib/schleuder/schleuder_config.rb b/lib/schleuder/schleuder_config.rb
-index 9049d36..4a02efa 100644
+index 65abb8e..283aa6c 100644
 --- a/lib/schleuder/schleuder_config.rb
 +++ b/lib/schleuder/schleuder_config.rb
 @@ -27,13 +27,13 @@ module Schleuder
@@ -141,7 +154,7 @@
  
      # Directory which holds plugin-files
 -    schleuder_attr :plugins_dir, File.join(File.expand_path(File.dirname(__FILE__) + '/../..'),'plugins')
-+    schleuder_attr :plugins_dir, [File.join(File.expand_path(File.dirname(__FILE__) + '/../..'),'plugins'), '/etc/schleuder/plugins']
++    schleuder_attr :plugins_dir, ['/usr/share/schleuder/plugins', '/etc/schleuder/plugins']
  
      # Directory which holds one subdirectory for each list
 -    schleuder_attr :lists_dir, '/var/schleuderlists'
diff -Nru schleuder-2.2.1/debian/patches/feature-multiple-plugins-dir.patch schleuder-2.2.1/debian/patches/feature-multiple-plugins-dir.patch
--- schleuder-2.2.1/debian/patches/feature-multiple-plugins-dir.patch	2012-10-15 15:16:28.000000000 +0200
+++ schleuder-2.2.1/debian/patches/feature-multiple-plugins-dir.patch	2013-05-14 12:16:22.000000000 +0200
@@ -7,6 +7,21 @@
 
 Squashed commit of the following:
 
+commit 17eb0d944fd4cefe6547bfe2dfdd35688a852c70
+Author: Jérémy Bobbio <lu...@debian.org>
+Date:   Sun Apr 21 17:25:45 2013 +0200
+
+    Fix normalization of plugins_dir in SchleuderConfig#initialize
+
+commit 6888c77411c81076c0462bd9ffd68aaf30c1f7de
+Author: Jérémy Bobbio <lu...@debian.org>
+Date:   Sun Apr 21 17:09:02 2013 +0200
+
+    Fix handling of plugins_dir config in Mail#process_plugins!
+
+    We need to test the current path for non-existance instead of the whole
+    config setting.
+
 commit 4d4d8e6845ad0faec8cca01981cff98bdb79a5dc
 Merge: 64ba30b 1514fe4
 Author: Jérémy Bobbio <lu...@debian.org>
@@ -45,11 +60,11 @@
     in order to smooth the transition.
 ---
  lib/schleuder/mail.rb             |  108 +++++++++++++++++++------------------
- lib/schleuder/schleuder_config.rb |    4 ++
- 2 files changed, 59 insertions(+), 53 deletions(-)
+ lib/schleuder/schleuder_config.rb |    6 ++
+ 2 files changed, 61 insertions(+), 53 deletions(-)
 
 diff --git a/lib/schleuder/mail.rb b/lib/schleuder/mail.rb
-index d8bee7e..10bda01 100644
+index d8bee7e..34bc868 100644
 --- a/lib/schleuder/mail.rb
 +++ b/lib/schleuder/mail.rb
 @@ -417,15 +417,19 @@ module Schleuder
@@ -75,7 +90,7 @@
 +      used_keywords = []
 +      Plugin.signing_key(self)
 +      Schleuder.config.plugins_dir.each do |plugins_dir|
-+        next unless File.directory? Schleuder.config.plugins_dir
++        next unless File.directory?(plugins_dir)
 +
 +        Dir[plugins_dir + '/*_plugin.rb'].each do |plugfile|
            Schleuder.log.debug "Instanciating #{plugfile} as plugin"
@@ -181,17 +196,19 @@
      end
  
 diff --git a/lib/schleuder/schleuder_config.rb b/lib/schleuder/schleuder_config.rb
-index ff127b3..9049d36 100644
+index ff127b3..65abb8e 100644
 --- a/lib/schleuder/schleuder_config.rb
 +++ b/lib/schleuder/schleuder_config.rb
-@@ -67,6 +67,10 @@ module Schleuder
+@@ -67,6 +67,12 @@ module Schleuder
  
        # overload with config
        super(config)
 +
 +      # turn plugins_dir into an array if needed
-+      plugins_dir = schleuder_attributes['plugins_dir']
-+      schleuder_attributes['plugins_dir'] = [plugins_dir] unless plugins_dir == Array
++      plugins_dir = schleuder_attributes[:plugins_dir]
++      if plugins_dir && !plugins_dir.is_a?(Array)
++        schleuder_attributes[:plugins_dir] = [plugins_dir]
++      end
      end
    end
  end
diff -Nru schleuder-2.2.1/debian/patches/feature-switch-to-gpgme-2.patch schleuder-2.2.1/debian/patches/feature-switch-to-gpgme-2.patch
--- schleuder-2.2.1/debian/patches/feature-switch-to-gpgme-2.patch	2012-10-15 15:16:28.000000000 +0200
+++ schleuder-2.2.1/debian/patches/feature-switch-to-gpgme-2.patch	2013-05-14 12:16:22.000000000 +0200
@@ -1,5 +1,5 @@
 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Bobbio?= <lu...@debian.org>
-Date: Sat, 16 Jun 2012 16:07:02 +0200
+Date: Sun, 21 Apr 2013 14:56:30 +0200
 Subject: [PATCH] feature/switch-to-gpgme-2
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
@@ -7,13 +7,26 @@
 
 Squashed commit of the following:
 
-commit 16abf40d3daaae661ac1432f763ff4074837fef7
+commit f64749903ce065cfb90164d568058662da908937
+Author: Jérémy Bobbio <lu...@debian.org>
+Date:   Sun Apr 21 14:49:40 2013 +0200
+
+    Fix Crypt#export
+
+    The previous use of #inspect to retrieve the content of the GPGME::Data
+    actually relied on the #to_s method introduced in gpgme 2.0.1.
+
+    In order to properly support gpgme 2.0.0 currently in Debian Wheezy, we
+    properly perform rewind and read on the GPGME::Data needed by
+    GPGME::Ctx#export_keys.
+
+commit 088dd56cc8f85a88c11bdcc211fb75ba8cf2b59e
 Author: Jérémy Bobbio <lu...@debian.org>
 Date:   Fri Jun 15 16:25:47 2012 +0200
 
     Migrate to gpgme 2 API
 
-commit 57e5ffe9cf023585830a5530b7b57efe97c96a4f
+commit baf4b700d12378dc79c28fb56d0a3cc296c34935
 Author: Jérémy Bobbio <lu...@debian.org>
 Date:   Fri Jun 15 17:22:48 2012 +0200
 
@@ -27,7 +40,7 @@
 ---
  bin/schleuder-newlist                  |    7 +-
  lib/schleuder.rb                       |    1 -
- lib/schleuder/crypt.rb                 |   45 ++--
+ lib/schleuder/crypt.rb                 |   47 ++--
  lib/schleuder/mail.rb                  |    7 +-
  schleuder.gemspec                      |    3 +-
  spec/fixtures/j...@example.org-prv.asc |   44 ++++
@@ -45,7 +58,7 @@
  create mode 100644 spec/spec_helper.rb
 
 diff --git a/bin/schleuder-newlist b/bin/schleuder-newlist
-index 9e421e5..08dbb17 100755
+index f42aa3f..1a4f3e0 100755
 --- a/bin/schleuder-newlist
 +++ b/bin/schleuder-newlist
 @@ -255,10 +255,9 @@ class ListCreator
@@ -75,7 +88,7 @@
  
  require 'net/smtp'
 diff --git a/lib/schleuder/crypt.rb b/lib/schleuder/crypt.rb
-index a532be2..1eb552d 100644
+index a532be2..9ace4a2 100644
 --- a/lib/schleuder/crypt.rb
 +++ b/lib/schleuder/crypt.rb
 @@ -21,9 +21,10 @@ module Schleuder
@@ -161,7 +174,7 @@
        end
  
        # Returns the GPGME::GpgKey matching +pattern+. Log an error if more than
-@@ -132,17 +131,18 @@ module Schleuder
+@@ -132,17 +131,20 @@ module Schleuder
        
        # Signs +string+ with the private key of the list (aka detached signature)
        def sign(string)
@@ -178,12 +191,14 @@
        # Exports the public key matching +keyid+ as ascii key block.
        def export(keyid)
 -        GPGME.export(keyid, :armor=>:true)
-+        # using #read on the resulting GPGME::Data yields an empty string... weird
-+        @ctx.export_keys(keyid).inspect
++        data = GPGME::Data.new
++        @ctx.export_keys(keyid, data)
++        data.seek 0
++        data.read
        end
        
        # Delete the public key matching +pattern+ from the public key ring of the
-@@ -163,7 +163,8 @@ module Schleuder
+@@ -163,7 +165,8 @@ module Schleuder
        
        # Import +keydata+ into public key ring of the list
        def add_key(keydata)
diff -Nru schleuder-2.2.1/debian/patches/series schleuder-2.2.1/debian/patches/series
--- schleuder-2.2.1/debian/patches/series	2012-10-15 15:16:28.000000000 +0200
+++ schleuder-2.2.1/debian/patches/series	2013-05-14 12:16:22.000000000 +0200
@@ -5,6 +5,7 @@
 bugs-fix-manpages-wrt-2.2.1.patch
 bugs-fix-check-expired-keys-warning-period.patch
 bugs-do-not-call-stty-in-check-expired.patch
+bugs-fix-member-listing.patch
 feature-logging.patch
 feature-list-conf-dir.patch
 feature-multiple-plugins-dir.patch

Attachment: signature.asc
Description: Digital signature

Reply via email to