Package: release.debian.org Severity: normal Tags: jessie User: release.debian....@packages.debian.org Usertags: pu
This release fixes several bugs related to upgrades from wheezy. The equivalent version is already in testing. I have tested it extensively, and received positive feedback from multiple bug submitters. debdiff attached. -- System Information: Debian Release: stretch/sid APT prefers buildd-unstable APT policy: (500, 'buildd-unstable'), (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 3.16.0-4-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) -- Antonio Terceiro <terce...@debian.org>
diff -Nru redmine-3.0~20140825/debian/changelog redmine-3.0~20140825/debian/changelog --- redmine-3.0~20140825/debian/changelog 2015-02-22 11:35:14.000000000 -0300 +++ redmine-3.0~20140825/debian/changelog 2015-05-10 19:27:42.000000000 -0300 @@ -1,3 +1,61 @@ +redmine (3.0~20140825-7~deb8u1) jessie; urgency=medium + + * Backport as a stable update for Jessie. + + -- Antonio Terceiro <terce...@debian.org> Sun, 10 May 2015 19:26:43 -0300 + +redmine (3.0~20140825-7) unstable; urgency=medium + + * debian/postinst: always remove and recreate Gemfile.lock to handle the + case where dependencies are being upgraded. + + -- Antonio Terceiro <terce...@debian.org> Sun, 03 May 2015 19:18:34 -0300 + +redmine (3.0~20140825-6) unstable; urgency=medium + + * debian/doc/examples/apache2-host.conf: fix typo in package name user is + told to install Closes: #777736 + * Fix upgrades when there are locally-installed plugins Closes: #779273 + - debian/postinst: run rake under `bundle exec` to correctly handle + upgrades when the local admin installed non-packaged plugins (i.e. + ~100% of them). + - 2003_externalize_session_config.patch, 2002_FHS_through_env_vars.patch, + gemfile-adjustments.patch: always set RAILS_ETC, RAILS_* unconditionally + from X_DEBIAN_SITEID because the load order under `bundle exec` seems to + be a little different. + - change Gemfile.lock handling: + + symlink Gemfile.lock to /var/lib/redmine/Gemfile.lock + + always update it at the beginning of debian/postinst + + trigger postinst Ruby packages are upgraded + * Don't leave unowned files after purge. Closes: #781534 + - debian/postinst: + - don't create files under /usr/share/redmine/app + - pass SCHEMA=/dev/null to rake `db:migrate` so it won't create + /usr/share/redmine/db/schema.rb + - debian/postrm: remove the aforementioned files + * debian/postinst: fix several programming errors + - initialize variable that will hold the return code of a potentially + failing command to 0 so it is not undefined if the command suceeeds. + Closes: #780894 + - add missing quotes around $fHasOldSessionName + - fix logic when testing whether session.yml file exists + - restrict usage of $2 as a version number when triggered, since $2 will + contain the trigger names instead. + * debian/patches/fix-move-issue-between-projects.patch: applied patch by + Tristam Fenton-May to fix moving issues across projects (Closes: #783717) + * debian/install: + - install bin/ directory so rails detects redmine as a proper Rails app + + This fixes running `rails console`, `rails dbconsole` etc from within + the installed package at /usr/share/redmine. + - don't install deprecated script/ directory + * debian/doc/examples/apache2-passenger-*.conf: document line that must + be changed in extra instances. + * debian/patches/gemfile-adjustments.patch: + - bump dependency on redcarpet + - don't try to read database.yml is it's not readable + + -- Antonio Terceiro <terce...@debian.org> Sat, 02 May 2015 11:33:20 -0300 + redmine (3.0~20140825-5) unstable; urgency=high * debian/patches/0001-Escape-flash-messages-19117.patch diff -Nru redmine-3.0~20140825/debian/doc/examples/apache2-host.conf redmine-3.0~20140825/debian/doc/examples/apache2-host.conf --- redmine-3.0~20140825/debian/doc/examples/apache2-host.conf 2015-02-22 11:35:14.000000000 -0300 +++ redmine-3.0~20140825/debian/doc/examples/apache2-host.conf 2015-05-10 19:27:42.000000000 -0300 @@ -1,5 +1,5 @@ # The modules rewrite (from the apache core) and fcgid (from the -# libapache2-mod-fcdid package) must be enabled. +# libapache2-mod-fcgid package) must be enabled. <VirtualHost *:80> # FcgidInitialEnv for module mod_fcgid FcgidInitialEnv RAILS_ENV "production" diff -Nru redmine-3.0~20140825/debian/doc/examples/apache2-passenger-alias.conf redmine-3.0~20140825/debian/doc/examples/apache2-passenger-alias.conf --- redmine-3.0~20140825/debian/doc/examples/apache2-passenger-alias.conf 2015-02-22 11:35:14.000000000 -0300 +++ redmine-3.0~20140825/debian/doc/examples/apache2-passenger-alias.conf 2015-05-10 19:27:42.000000000 -0300 @@ -6,6 +6,8 @@ RailsEnv production SetEnv X_DEBIAN_SITEID "default" SetEnv RAILS_RELATIVE_URL_ROOT "/redmine" + # CHANGE PassengerAppGroupName FOR OTHER INSTANCES + PassengerAppGroupName redmine_default PassengerDefaultUser www-data # apache2 serves public files Alias "/redmine/plugin_assets/" /var/cache/redmine/default/plugin_assets/ diff -Nru redmine-3.0~20140825/debian/doc/examples/apache2-passenger-host.conf redmine-3.0~20140825/debian/doc/examples/apache2-passenger-host.conf --- redmine-3.0~20140825/debian/doc/examples/apache2-passenger-host.conf 2015-02-22 11:35:14.000000000 -0300 +++ redmine-3.0~20140825/debian/doc/examples/apache2-passenger-host.conf 2015-05-10 19:27:42.000000000 -0300 @@ -5,6 +5,8 @@ # this is the passenger config RailsEnv production SetEnv X_DEBIAN_SITEID "default" + # CHANGE PassengerAppGroupName FOR OTHER INSTANCES + PassengerAppGroupName redmine_default PassengerDefaultUser www-data Alias "/plugin_assets/" /var/cache/redmine/default/plugin_assets/ DocumentRoot /usr/share/redmine/public diff -Nru redmine-3.0~20140825/debian/install redmine-3.0~20140825/debian/install --- redmine-3.0~20140825/debian/install 2015-02-22 11:35:14.000000000 -0300 +++ redmine-3.0~20140825/debian/install 2015-05-10 19:27:42.000000000 -0300 @@ -1,5 +1,6 @@ # Install the basic application files app usr/share/redmine +bin usr/share/redmine config usr/share/redmine db usr/share/redmine extra usr/share/redmine @@ -7,7 +8,6 @@ public usr/share/redmine Rakefile usr/share/redmine Gemfile usr/share/redmine -script usr/share/redmine test usr/share/redmine config.ru usr/share/redmine lib/plugins/* usr/share/redmine/lib/plugins diff -Nru redmine-3.0~20140825/debian/links redmine-3.0~20140825/debian/links --- redmine-3.0~20140825/debian/links 2015-02-22 11:35:14.000000000 -0300 +++ redmine-3.0~20140825/debian/links 2015-05-10 19:27:42.000000000 -0300 @@ -5,4 +5,4 @@ usr/share/javascript/scriptaculous/dragdrop.js usr/share/redmine/public/javascripts/dragdrop.js usr/share/javascript/scriptaculous/effects.js usr/share/redmine/public/javascripts/effects.js -/dev/null usr/share/redmine/Gemfile.lock +/var/lib/redmine/Gemfile.lock usr/share/redmine/Gemfile.lock diff -Nru redmine-3.0~20140825/debian/patches/2002_FHS_through_env_vars.patch redmine-3.0~20140825/debian/patches/2002_FHS_through_env_vars.patch --- redmine-3.0~20140825/debian/patches/2002_FHS_through_env_vars.patch 2015-02-22 11:35:14.000000000 -0300 +++ redmine-3.0~20140825/debian/patches/2002_FHS_through_env_vars.patch 2015-05-10 19:27:42.000000000 -0300 @@ -60,10 +60,10 @@ +# for debian package : setup proper environment variables and paths +# To run redmine as unprivileged user, see /usr/share/doc/redmine/README.Debian +ENV['X_DEBIAN_SITEID'] ||= 'default' -+ENV['RAILS_ETC'] ||= "/etc/redmine/#{ENV['X_DEBIAN_SITEID']}" -+ENV['RAILS_LOG'] ||= "/var/log/redmine/#{ENV['X_DEBIAN_SITEID']}" -+ENV['RAILS_VAR'] ||= "/var/lib/redmine/#{ENV['X_DEBIAN_SITEID']}" -+ENV['RAILS_TMP'] ||= "/var/cache/redmine/#{ENV['X_DEBIAN_SITEID']}" ++ENV['RAILS_ETC'] = "/etc/redmine/#{ENV['X_DEBIAN_SITEID']}" ++ENV['RAILS_LOG'] = "/var/log/redmine/#{ENV['X_DEBIAN_SITEID']}" ++ENV['RAILS_VAR'] = "/var/lib/redmine/#{ENV['X_DEBIAN_SITEID']}" ++ENV['RAILS_TMP'] = "/var/cache/redmine/#{ENV['X_DEBIAN_SITEID']}" + Bundler.require(*Rails.groups) diff -Nru redmine-3.0~20140825/debian/patches/2003_externalize_session_config.patch redmine-3.0~20140825/debian/patches/2003_externalize_session_config.patch --- redmine-3.0~20140825/debian/patches/2003_externalize_session_config.patch 2015-02-22 11:35:14.000000000 -0300 +++ redmine-3.0~20140825/debian/patches/2003_externalize_session_config.patch 2015-05-10 19:27:42.000000000 -0300 @@ -15,7 +15,7 @@ - f.write <<"EOF" -# This file was generated by 'rake generate_secret_token', and should +ENV['X_DEBIAN_SITEID'] ||= 'default' -+ENV['RAILS_ETC'] ||= "/etc/redmine/#{ENV['X_DEBIAN_SITEID']}" ++ENV['RAILS_ETC'] = "/etc/redmine/#{ENV['X_DEBIAN_SITEID']}" +filename = ENV['YML_SESSION_FILENAME'] ? ENV['YML_SESSION_FILENAME'] : 'session.yml' +path = File.join(ENV['RAILS_ETC'] ? ENV['RAILS_ETC'] : File.join(Rails.root, 'config'), filename) +secret = SecureRandom.hex(40) diff -Nru redmine-3.0~20140825/debian/patches/2009_FHS_thin_config.patch redmine-3.0~20140825/debian/patches/2009_FHS_thin_config.patch --- redmine-3.0~20140825/debian/patches/2009_FHS_thin_config.patch 2015-02-22 11:35:14.000000000 -0300 +++ redmine-3.0~20140825/debian/patches/2009_FHS_thin_config.patch 2015-05-10 19:27:42.000000000 -0300 @@ -3,13 +3,13 @@ Forwarded: not-needed Author: Jérémy Lal <kapo...@melix.org> Last-Update: 2010-11-01 ---- redmine.orig/config/application.rb -+++ redmine/config/application.rb +--- a/config/application.rb ++++ b/config/application.rb @@ -7,6 +7,7 @@ Rails.env ||= ActiveSupport::StringInqui # for debian package : setup proper environment variables and paths # To run redmine as unprivileged user, see /usr/share/doc/redmine/README.Debian +ObjectSpace.each_object(Thin::Runner){|x| ENV["X_DEBIAN_SITEID"] = x.options[:x_debian_siteid] if x.options[:x_debian_siteid]} if defined?(Thin) ENV['X_DEBIAN_SITEID'] ||= 'default' - ENV['RAILS_ETC'] ||= "/etc/redmine/#{ENV['X_DEBIAN_SITEID']}" - ENV['RAILS_LOG'] ||= "/var/log/redmine/#{ENV['X_DEBIAN_SITEID']}" + ENV['RAILS_ETC'] = "/etc/redmine/#{ENV['X_DEBIAN_SITEID']}" + ENV['RAILS_LOG'] = "/var/log/redmine/#{ENV['X_DEBIAN_SITEID']}" diff -Nru redmine-3.0~20140825/debian/patches/fix-move-issue-between-projects.patch redmine-3.0~20140825/debian/patches/fix-move-issue-between-projects.patch --- redmine-3.0~20140825/debian/patches/fix-move-issue-between-projects.patch 1969-12-31 21:00:00.000000000 -0300 +++ redmine-3.0~20140825/debian/patches/fix-move-issue-between-projects.patch 2015-05-10 19:27:42.000000000 -0300 @@ -0,0 +1,47 @@ +Description: Fix moving issues between projects + For some reason this bug does not affect upstream. Probably the 3.0~20140825 + snapshot was taken at a time when this was broken but the brokennes never made + it into a release. +Author: Tristam Fenton-May <tfm-deb...@earth.li> +Origin: vendor +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=783717 +Forwarded: not-needed +Reviewed-by: Antonio Terceiro <terce...@debian.org> +Last-Update: 2015-05-02 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/app/controllers/issues_controller.rb ++++ b/app/controllers/issues_controller.rb +@@ -21,7 +21,8 @@ class IssuesController < ApplicationCont + + before_filter :find_issue, :only => [:show, :edit, :update] + before_filter :find_issues, :only => [:bulk_edit, :bulk_update, :destroy] +- before_filter :find_project, :only => [:new, :create, :update_form] ++ before_filter :find_project, :only => [:new, :create] ++ before_filter :find_project_from_issue, :only => [:update_form] + before_filter :authorize, :except => [:index] + before_filter :find_optional_project, :only => [:index] + before_filter :check_for_default_issue_status, :only => [:new, :create] +@@ -352,6 +353,13 @@ class IssuesController < ApplicationCont + render_404 + end + ++ def find_project_from_issue ++ project_id = (params[:issue] && params[:issue][:project_id]) ++ @project = Project.find(project_id) ++ rescue ActiveRecord::RecordNotFound ++ render_404 ++ end ++ + def retrieve_previous_and_next_issue_ids + retrieve_query_from_session + if @query +@@ -419,7 +427,7 @@ class IssuesController < ApplicationCont + end + @issue.project = @project + else +- @issue = @project.issues.visible.find(params[:id]) ++ @issue = Issue.visible.find(params[:id]) + end + + @issue.project = @project diff -Nru redmine-3.0~20140825/debian/patches/gemfile-adjustments.patch redmine-3.0~20140825/debian/patches/gemfile-adjustments.patch --- redmine-3.0~20140825/debian/patches/gemfile-adjustments.patch 2015-02-22 11:35:14.000000000 -0300 +++ redmine-3.0~20140825/debian/patches/gemfile-adjustments.patch 2015-05-10 19:27:42.000000000 -0300 @@ -28,18 +28,29 @@ gem "rack-openid" end -@@ -46,7 +46,10 @@ end +@@ -32,7 +32,7 @@ platforms :mri, :mingw do + + # Optional Markdown support, not for JRuby + group :markdown do +- gem "redcarpet", "~> 3.1.2" ++ gem "redcarpet", "~> 3.1" + end + end + +@@ -46,8 +46,11 @@ end # configuration file require 'erb' require 'yaml' -database_file = File.join(File.dirname(__FILE__), "config/database.yml") +-if File.exist?(database_file) +# FIXME duplicating logic in config/application.rb +ENV['X_DEBIAN_SITEID'] ||= 'default' -+ENV['RAILS_ETC'] ||= "/etc/redmine/#{ENV['X_DEBIAN_SITEID']}" ++ENV['RAILS_ETC'] = "/etc/redmine/#{ENV['X_DEBIAN_SITEID']}" +database_file = File.join(ENV['RAILS_ETC'], "database.yml") - if File.exist?(database_file) ++if File.readable?(database_file) database_config = YAML::load(ERB.new(IO.read(database_file)).result) adapters = database_config.values.map {|c| c['adapter']}.compact.uniq + if adapters.any? @@ -78,21 +81,6 @@ else warn("Please configure your config/database.yml first") end diff -Nru redmine-3.0~20140825/debian/patches/series redmine-3.0~20140825/debian/patches/series --- redmine-3.0~20140825/debian/patches/series 2015-02-22 11:35:14.000000000 -0300 +++ redmine-3.0~20140825/debian/patches/series 2015-05-10 19:27:42.000000000 -0300 @@ -11,3 +11,4 @@ invalidate-language-cache-from-older-versions.diff avoid-crash-on-issues.diff 0001-Escape-flash-messages-19117.patch +fix-move-issue-between-projects.patch diff -Nru redmine-3.0~20140825/debian/postinst redmine-3.0~20140825/debian/postinst --- redmine-3.0~20140825/debian/postinst 2015-02-22 11:35:14.000000000 -0300 +++ redmine-3.0~20140825/debian/postinst 2015-05-10 19:27:42.000000000 -0300 @@ -10,6 +10,11 @@ . /usr/share/debconf/confmodule +# update Gemfile.lock, always +rm -f /var/lib/redmine/Gemfile.lock +(cd /usr/share/redmine && bundle --local --quiet) +chown www-data:www-data /var/lib/redmine/Gemfile.lock + # remove and purge old instances each time postinst is called db_get redmine/old-instances || true gOldInstances="${RET}" @@ -75,12 +80,6 @@ echo "Inconsistent link in vendor/rails, please remove manually" fi fi - if [ ! -e app/views/members ]; then - mkdir app/views/members - fi - if [ ! -e app/sweepers ]; then - mkdir app/sweepers - fi # this directory should never be used: /usr not writable policy if [ -e tmp ]; then rm -rf tmp @@ -214,7 +213,24 @@ fi case "$1" in configure|reconfigure|triggered) - if dpkg --compare-versions "$2" lt "2.3.0+dfsg1-3~"; then + + skip_db_upgrade_actions=false + if [ "$1" = triggered ]; then + # Skip the heavy operations below unless triggered by a plugin, in + # which case we do need to do all that. + skip_db_upgrade_actions=true + case " $2 " in + *' /usr/share/redmine/plugins '*) + echo "I: redmine plugins installed/upgraded, DB upgrade needed" + skip_db_upgrade_actions=false + ;; + esac + fi + if [ "$skip_db_upgrade_actions" = true ]; then + exit 0 + fi + + if [ "$1" != triggered ] && dpkg --compare-versions "$2" lt "2.3.0+dfsg1-3~"; then rm -rf $fRailsCache fi # create directories @@ -248,9 +264,9 @@ fi #fi # add secret key, set permissions, manage file with ucf - # trigger when session file doesn't exist or we are upgrading from previous version - if [ ! -f "${fRailsEtc}/session.yml" ] || dpkg --compare-versions "$2" lt "2.1.4+dfsg2-2~"; then - rake -s generate_secret_token YML_SESSION_FILENAME="session.yml.new" RAILS_ENV=$fRailsEnv X_DEBIAN_SITEID="${lInstance}" || true + # trigger when session file doesn't exist + if [ ! -f "${fRailsEtc}/session.yml" ]; then + bundle exec rake -s generate_secret_token YML_SESSION_FILENAME="session.yml.new" RAILS_ENV=$fRailsEnv X_DEBIAN_SITEID="${lInstance}" || true chown -f root:www-data ${fRailsEtc}/session.yml.new chmod 640 ${fRailsEtc}/session.yml.new ucf --debconf-ok ${fRailsEtc}/session.yml.new ${fRailsEtc}/session.yml @@ -258,8 +274,7 @@ # move old session_store.rb echo "A new secret session key has been generated in ${fRailsEtc}/session.yml" else - fHasOldSessionName=$(fgrep -c session_key "${fRailsEtc}/session.yml" || true) - if [ $fHasOldSessionName -gt 0 ]; then + if ! grep -q session_key "${fRailsEtc}/session.yml"; then # in-place, because ucf might be configured to keep the old version without asking sed -i -r -e 's/session_key/key/g' ${fRailsEtc}/session.yml fi @@ -276,17 +291,17 @@ echo "Populating database for redmine instance \"${lInstance}\". This may take a while." fCode=0 - rake -s db:migrate RAILS_ENV=$fRailsEnv X_DEBIAN_SITEID="${lInstance}" VERBOSE=$RAKE_VERBOSE || fCode=$? + bundle exec rake -s db:migrate RAILS_ENV=$fRailsEnv X_DEBIAN_SITEID="${lInstance}" VERBOSE=$RAKE_VERBOSE SCHEMA=/dev/null || fCode=$? if [ $fCode -eq 0 ]; then echo "Done." if [ $lInstall -eq 1 ]; then - rake -s redmine:load_default_data RAILS_ENV=$fRailsEnv X_DEBIAN_SITEID="${lInstance}" REDMINE_LANG=$DEFAULT_LANGUAGE || true + bundle exec rake -s redmine:load_default_data RAILS_ENV=$fRailsEnv X_DEBIAN_SITEID="${lInstance}" REDMINE_LANG=$DEFAULT_LANGUAGE || true # because rake task is executed as root here, and this file is used later by web server, make sure owner is www-data touch ${fRailsLog}/production.log chown -f www-data:www-data ${fRailsLog}/production.log fi # handle plugins migration - rake -s redmine:plugins:migrate RAILS_ENV=$fRailsEnv X_DEBIAN_SITEID="${lInstance}" VERBOSE=$RAKE_VERBOSE || true + bundle exec rake -s redmine:plugins:migrate RAILS_ENV=$fRailsEnv X_DEBIAN_SITEID="${lInstance}" VERBOSE=$RAKE_VERBOSE SCHEMA=/dev/null || true else echo "Error when running rake db:migrate, check database configuration." exit 1 @@ -296,7 +311,8 @@ fi echo "Clearing the cache directory for redmine instance \"${lInstance}\". This may take a while." - rake -s tmp:cache:clear RAILS_ENV=$fRailsEnv X_DEBIAN_SITEID="${lInstance}" VERBOSE=$RAKE_VERBOSE || fCode=$? + fCode=0 + bundle exec rake -s tmp:cache:clear RAILS_ENV=$fRailsEnv X_DEBIAN_SITEID="${lInstance}" VERBOSE=$RAKE_VERBOSE || fCode=$? if [ $fCode -ne 0 ]; then echo "Error when clearing cache. You might need to clear the cache directory /var/cache/redmine/${lInstance}/ manually." fi diff -Nru redmine-3.0~20140825/debian/postrm redmine-3.0~20140825/debian/postrm --- redmine-3.0~20140825/debian/postrm 2015-02-22 11:35:14.000000000 -0300 +++ redmine-3.0~20140825/debian/postrm 2015-05-10 19:27:42.000000000 -0300 @@ -10,6 +10,10 @@ . /usr/share/debconf/confmodule fi +# remove files/dirs erroneusly created by redmine < 3.0~20140825-6: +rm -f /usr/share/redmine/db/schema.rb +rmdir /usr/share/redmine/app/sweepers 2>/dev/null || true + case "$1" in upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ;; @@ -81,6 +85,7 @@ rm -rf /var/lib/redmine/*/sessions rm -rf /var/cache/redmine rm -rf /etc/redmine + rm -f /var/lib/redmine/Gemfile.lock # user files are not rmdir /var/lib/redmine/*/files || true rmdir /var/lib/redmine/* || true diff -Nru redmine-3.0~20140825/debian/redmine.triggers redmine-3.0~20140825/debian/redmine.triggers --- redmine-3.0~20140825/debian/redmine.triggers 2015-02-22 11:35:14.000000000 -0300 +++ redmine-3.0~20140825/debian/redmine.triggers 2015-05-10 19:27:42.000000000 -0300 @@ -1 +1,2 @@ interest /usr/share/redmine/plugins +interest /usr/lib/ruby/vendor_ruby
signature.asc
Description: Digital signature