Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package redmine

It contains fixes for the following bugs:

- #852130 redmine: fails to install, purge and install again (serious)
- #852694 redmine: Bulk edit form not show fields based on target tracker and
  status (important)
- #846978 redmine: [INTL:it] Italian translation of debconf messages

the debdiff against the package in testing is attached.

unblock redmine/3.3.1-3

-- System Information:
Debian Release: 9.0
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'testing-debug'), (500, 
'unstable'), (500, 'testing'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=pt_BR.UTF-8, LC_CTYPE=pt_BR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru redmine-3.3.1/debian/changelog redmine-3.3.1/debian/changelog
--- redmine-3.3.1/debian/changelog	2016-11-26 00:21:19.000000000 -0200
+++ redmine-3.3.1/debian/changelog	2017-02-13 14:19:50.000000000 -0200
@@ -1,3 +1,20 @@
+redmine (3.3.1-3) unstable; urgency=medium
+
+  [ Beatrice Torracca ]
+  * Italian translation update (Closes: #846978)
+
+  [ Antonio Terceiro ]
+  * debian/postrm: restore purging of configuration files created by
+    dbconfig-common (Closes: #852130)
+    - add a autopkgtest for install/purge/install
+
+  [ Thomas Klose ]
+  * Backport upstream patch to fix Bulk Edit functionality when changing
+    between statuses that have different sets of read-only/mandatory fields.
+    (Closes: #852694)
+
+ -- Antonio Terceiro <terce...@debian.org>  Mon, 13 Feb 2017 14:19:50 -0200
+
 redmine (3.3.1-2) unstable; urgency=medium
 
   [ Antonio Terceiro ]
diff -Nru redmine-3.3.1/debian/patches/0006-Bulk-edit-show-fields-required-after-status-tracker-.patch redmine-3.3.1/debian/patches/0006-Bulk-edit-show-fields-required-after-status-tracker-.patch
--- redmine-3.3.1/debian/patches/0006-Bulk-edit-show-fields-required-after-status-tracker-.patch	1969-12-31 21:00:00.000000000 -0300
+++ redmine-3.3.1/debian/patches/0006-Bulk-edit-show-fields-required-after-status-tracker-.patch	2017-02-13 14:19:50.000000000 -0200
@@ -0,0 +1,95 @@
+From: Jean-Philippe Lang <jp_l...@yahoo.fr>
+Date: Mon, 13 Feb 2017 14:07:59 -0200
+Subject: Bulk edit: show fields required after status/tracker change
+
+Backported-by: Thomas Klose <thomas.kl...@hiperscan.com>
+Debian-Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=852694
+Original: http://www.redmine.org/projects/redmine/repository/revisions/15815
+
+This patch must be dropped when upgrading Redmine to version 3.4+.
+---
+ app/controllers/issues_controller.rb | 25 +++++++++++++++++++++----
+ app/views/issues/bulk_edit.html.erb  |  6 ++++--
+ 2 files changed, 25 insertions(+), 6 deletions(-)
+
+diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb
+index c640aad..556425a 100644
+--- a/app/controllers/issues_controller.rb
++++ b/app/controllers/issues_controller.rb
+@@ -217,24 +217,41 @@ class IssuesController < ApplicationController
+       end
+     end
+ 
++    edited_issues = Issue.where(:id => @issues.map(&:id)).to_a
++
+     @allowed_projects = Issue.allowed_target_projects
+     if params[:issue]
+       @target_project = @allowed_projects.detect {|p| p.id.to_s == params[:issue][:project_id].to_s}
+       if @target_project
+         target_projects = [@target_project]
++        edited_issues.each {|issue| issue.project = @target_project}
+       end
+     end
+     target_projects ||= @projects
+ 
++    @trackers = target_projects.map {|p| Issue.allowed_target_trackers(p) }.reduce(:&)
++    if params[:issue]
++      @target_tracker = @trackers.detect {|t| t.id.to_s == params[:issue][:tracker_id].to_s}
++      if @target_tracker
++        edited_issues.each {|issue| issue.tracker = @target_tracker}
++      end
++    end
++
+     if @copy
+       # Copied issues will get their default statuses
+       @available_statuses = []
+     else
+-      @available_statuses = @issues.map(&:new_statuses_allowed_to).reduce(:&)
++      @available_statuses = edited_issues.map(&:new_statuses_allowed_to).reduce(:&)
+     end
+-    @custom_fields = @issues.map{|i|i.editable_custom_fields}.reduce(:&)
++    if params[:issue]
++      @target_status = @available_statuses.detect {|t| t.id.to_s == params[:issue][:status_id].to_s}
++      if @target_status
++        edited_issues.each {|issue| issue.status = @target_status}
++      end
++    end
++
++    @custom_fields = edited_issues.map{|i|i.editable_custom_fields}.reduce(:&)
+     @assignables = target_projects.map(&:assignable_users).reduce(:&)
+-    @trackers = target_projects.map {|p| Issue.allowed_target_trackers(p) }.reduce(:&)
+     @versions = target_projects.map {|p| p.shared_versions.open}.reduce(:&)
+     @categories = target_projects.map {|p| p.issue_categories}.reduce(:&)
+     if @copy
+@@ -242,7 +259,7 @@ class IssuesController < ApplicationController
+       @subtasks_present = @issues.detect {|i| !i.leaf?}.present?
+     end
+ 
+-    @safe_attributes = @issues.map(&:safe_attribute_names).reduce(:&)
++    @safe_attributes = edited_issues.map(&:safe_attribute_names).reduce(:&)
+ 
+     @issue_params = params[:issue] || {}
+     @issue_params[:custom_field_values] ||= {}
+diff --git a/app/views/issues/bulk_edit.html.erb b/app/views/issues/bulk_edit.html.erb
+index 37bdb6d..29b4881 100644
+--- a/app/views/issues/bulk_edit.html.erb
++++ b/app/views/issues/bulk_edit.html.erb
+@@ -43,14 +43,16 @@
+   <label for="issue_tracker_id"><%= l(:field_tracker) %></label>
+   <%= select_tag('issue[tracker_id]',
+                  content_tag('option', l(:label_no_change_option), :value => '') +
+-                   options_from_collection_for_select(@trackers, :id, :name, @issue_params[:tracker_id])) %>
++                   options_from_collection_for_select(@trackers, :id, :name, @issue_params[:tracker_id]),
++                   :onchange => "updateBulkEditFrom('#{escape_javascript url_for(:action => 'bulk_edit', :format => 'js')}')") %>
+ </p>
+ <% if @available_statuses.any? %>
+ <p>
+   <label for='issue_status_id'><%= l(:field_status) %></label>
+   <%= select_tag('issue[status_id]',
+                  content_tag('option', l(:label_no_change_option), :value => '') +
+-                   options_from_collection_for_select(@available_statuses, :id, :name, @issue_params[:status_id])) %>
++                   options_from_collection_for_select(@available_statuses, :id, :name, @issue_params[:status_id]),
++                   :onchange => "updateBulkEditFrom('#{escape_javascript url_for(:action => 'bulk_edit', :format => 'js')}')") %>
+ </p>
+ <% end %>
+ 
diff -Nru redmine-3.3.1/debian/patches/series redmine-3.3.1/debian/patches/series
--- redmine-3.3.1/debian/patches/series	2016-11-26 00:21:19.000000000 -0200
+++ redmine-3.3.1/debian/patches/series	2017-02-13 14:19:50.000000000 -0200
@@ -3,3 +3,4 @@
 0003-Use-production-environment-by-default.patch
 0004-Add-multi-tenancy-support.patch
 0005-Assume-default-instance.patch
+0006-Bulk-edit-show-fields-required-after-status-tracker-.patch
diff -Nru redmine-3.3.1/debian/po/it.po redmine-3.3.1/debian/po/it.po
--- redmine-3.3.1/debian/po/it.po	2016-11-26 00:21:19.000000000 -0200
+++ redmine-3.3.1/debian/po/it.po	2017-02-13 14:19:50.000000000 -0200
@@ -1,13 +1,13 @@
 # Italian translation of redmine debconf messages
-# Copyright (C) 2014 redmine package copyright holder
+# Copyright (C) 2016 redmine package copyright holder
 # This file is distributed under the same license as the redmine package.
-# Beatrice Torracca <beatri...@libero.it>, 2014.
+# Beatrice Torracca <beatri...@libero.it>, 2014, 2016.
 msgid ""
 msgstr ""
 "Project-Id-Version: redmine\n"
 "Report-Msgid-Bugs-To: redm...@packages.debian.org\n"
 "POT-Creation-Date: 2016-02-15 08:38-0200\n"
-"PO-Revision-Date: 2014-11-08 14:42+0200\n"
+"PO-Revision-Date: 2016-09-30 07:41+0200\n"
 "Last-Translator: Beatrice Torracca <beatri...@libero.it>\n"
 "Language-Team: Italian <debian-l10n-ital...@lists.debian.org>\n"
 "Language: it\n"
@@ -27,7 +27,7 @@
 #. Description
 #: ../templates:1001
 msgid "Space-separated list of instances identifiers."
-msgstr "Elenco separato da spazi di identificatori di istanza."
+msgstr "Elenco separato da spazi di identificativi di istanza."
 
 #. Type: string
 #. Description
@@ -36,8 +36,8 @@
 "Each instance has its configuration files in /etc/redmine/<instance-"
 "identifier>/"
 msgstr ""
-"Ogni istanza ha i propri file di configurazione in /etc/redmine/"
-"<identificatore-istanza>/"
+"Ogni istanza ha i propri file di configurazione in /etc/redmine"
+"/<identificativo-istanza>/"
 
 #. Type: string
 #. Description
@@ -48,6 +48,10 @@
 "until the package is purged, but they will be no longer managed "
 "automatically."
 msgstr ""
+"Per deconfigurare un'istanza, rimuovere il suo identificativo dall'elenco. I "
+"file di configurazione e i dati delle istanze rimosse non saranno eliminati "
+"fino a che il pacchetto non viene completamente eliminato, ma non verranno "
+"piĆ¹ gestiti automaticamente."
 
 #. Type: select
 #. Description
diff -Nru redmine-3.3.1/debian/postrm redmine-3.3.1/debian/postrm
--- redmine-3.3.1/debian/postrm	2016-11-26 00:21:19.000000000 -0200
+++ redmine-3.3.1/debian/postrm	2017-02-13 14:19:50.000000000 -0200
@@ -10,6 +10,15 @@
   instances=$(ls -1 /etc/redmine/*/database.yml | xargs dirname | xargs -n 1 basename)
   for inst in $instances; do
     dbc_go redmine/instances/$inst "$@"
+
+    if [ "$1" = "purge" ]; then
+      config="/etc/redmine/$inst/database.yml"
+      rm -f "$config"
+      if which ucf >/dev/null 2>&1; then
+	ucf --purge "$config"
+	ucfr --purge redmine "$config"
+      fi
+    fi
   done
 fi
 
diff -Nru redmine-3.3.1/debian/tests/control redmine-3.3.1/debian/tests/control
--- redmine-3.3.1/debian/tests/control	2016-11-26 00:21:19.000000000 -0200
+++ redmine-3.3.1/debian/tests/control	2017-02-13 14:19:50.000000000 -0200
@@ -17,3 +17,7 @@
 Test-Command: debian/tests/smoke-test sqlite3 apache2-passenger-host / && debian/tests/plugin-assets
 Depends: redmine, redmine-plugin-custom-css, apache2, libapache2-mod-passenger, curl
 Restrictions: needs-root
+
+Tests: install-purge-install
+Depends: base-files
+Restrictions: needs-root
diff -Nru redmine-3.3.1/debian/tests/install-purge-install redmine-3.3.1/debian/tests/install-purge-install
--- redmine-3.3.1/debian/tests/install-purge-install	1969-12-31 21:00:00.000000000 -0300
+++ redmine-3.3.1/debian/tests/install-purge-install	2017-02-13 14:19:50.000000000 -0200
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+exec 2>&1
+set -exu
+
+export DEBIAN_FRONTEND=noninteractive
+
+apt-get install -qy redmine
+apt-get purge -qy redmine
+apt-get install -qy redmine

Attachment: signature.asc
Description: PGP signature

Reply via email to