[DRE-commits] [redmine] 02/03: load dependencies for database drivers used by all instances

Antonio Terceiro terceiro at moszumanska.debian.org
Sun Apr 3 23:40:35 UTC 2016


This is an automated email from the git hooks/post-receive script.

terceiro pushed a commit to branch master
in repository redmine.

commit 35f7ac4a5c7c6d2aab209be7f142c06f2b184b63
Author: Antonio Terceiro <terceiro at debian.org>
Date:   Sun Apr 3 20:12:29 2016 -0300

    load dependencies for database drivers used by all instances
    
    Closes: #819815
---
 debian/changelog                                   |  6 ++++
 .../patches/0004-Add-multi-tenancy-support.patch   | 37 +++++++++++++++-------
 debian/patches/0005-Assume-default-instance.patch  | 16 +---------
 3 files changed, 32 insertions(+), 27 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index f580440..bd4e5d8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,12 @@ redmine (3.2.1-2) UNRELEASED; urgency=medium
   [ Jonatan Nyberg ]
   * Swedish translation update (Closes: #819743)
 
+  [ Antonio Terceiro ]
+  * 0004-Add-multi-tenancy-support.patch: load dependencies for all database
+    drivers used by all Redmine instances (Closes: #819815)
+  * 0005-Assume-default-instance.patch: remove change to Gemfile, not needed
+    anymore.
+
  -- Antonio Terceiro <terceiro at debian.org>  Sun, 03 Apr 2016 19:00:48 -0300
 
 redmine (3.2.1-1) unstable; urgency=medium
diff --git a/debian/patches/0004-Add-multi-tenancy-support.patch b/debian/patches/0004-Add-multi-tenancy-support.patch
index fa15fc3..f3beeed 100644
--- a/debian/patches/0004-Add-multi-tenancy-support.patch
+++ b/debian/patches/0004-Add-multi-tenancy-support.patch
@@ -17,7 +17,7 @@ Signed-off-by: Jérémy Lal <kapouer at melix.org>
 Signed-off-by: Ondřej Surý <ondrej at sury.org>
 ---
  .gitignore                                         |   1 +
- Gemfile                                            |   9 +-
+ Gemfile                                            |  11 +-
  app/models/attachment.rb                           |   4 +-
  bin/redmine-instances                              | 280 +++++++++++++++++++++
  config/application.rb                              |   1 +
@@ -28,7 +28,7 @@ Signed-off-by: Ondřej Surý <ondrej at sury.org>
  lib/redmine/multi_tenancy.rb                       |  43 ++++
  lib/redmine/scm/adapters/abstract_adapter.rb       |   2 +-
  lib/tasks/initializers.rake                        |   2 +-
- 12 files changed, 383 insertions(+), 9 deletions(-)
+ 12 files changed, 382 insertions(+), 12 deletions(-)
  create mode 100755 bin/redmine-instances
  create mode 100644 config/multitenancy_environment.rb
  create mode 100644 lib/redmine/multi_tenancy.rb
@@ -46,25 +46,38 @@ index 173b030..d9e39ef 100644
  /lib/redmine/scm/adapters/mercurial/redminehelper.pyo
  /log/*.log*
 diff --git a/Gemfile b/Gemfile
-index bb92e97..a4a3039 100644
+index bb92e97..2d12450 100644
 --- a/Gemfile
 +++ b/Gemfile
-@@ -58,7 +58,14 @@ end
+@@ -58,12 +58,17 @@ end
  # configuration file
  require 'erb'
  require 'yaml'
 -database_file = File.join(File.dirname(__FILE__), "config/database.yml")
+-if File.exist?(database_file)
 +
-+# XXX this duplicates logic in lib/redmine/multi_tenancy.rb, but we can't load
-+# XXX that at this point. X_DEBIAN_SITEID is kept for compatibility with
-+# existing XXX Debian installations.
-+instance = ENV['X_DEBIAN_SITEID'] || ENV['REDMINE_INSTANCE']
-+root = instance && File.join(File.dirname(__FILE__), 'instances', instance) || File.dirname(__FILE__)
-+database_file = File.join(root, "config/database.yml")
-+
- if File.exist?(database_file)
++seen_adapters = {}
++Dir['{config,instances/*/config}/database.yml'].select do |f|
++  File.exists?(f)
++end.each do |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?
+     adapters.each do |adapter|
++      next if seen_adapters[adapter]
++      seen_adapters[adapter] = true
+       case adapter
+       when 'mysql2'
+         gem "mysql2", "~> 0.4.0", :platforms => [:mri, :mingw, :x64_mingw]
+@@ -87,8 +92,6 @@ if File.exist?(database_file)
+   else
+     warn("No adapter found in config/database.yml, please configure it first")
+   end
+-else
+-  warn("Please configure your config/database.yml first")
+ end
+ 
+ local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
 diff --git a/app/models/attachment.rb b/app/models/attachment.rb
 index 3d16f57..25fd394 100644
 --- a/app/models/attachment.rb
diff --git a/debian/patches/0005-Assume-default-instance.patch b/debian/patches/0005-Assume-default-instance.patch
index e4bead7..df02c34 100644
--- a/debian/patches/0005-Assume-default-instance.patch
+++ b/debian/patches/0005-Assume-default-instance.patch
@@ -3,23 +3,9 @@ Date: Mon, 15 Feb 2016 09:11:07 -0200
 Subject: Assume default instance
 
 ---
- Gemfile                      | 2 +-
  lib/redmine/multi_tenancy.rb | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/Gemfile b/Gemfile
-index a4a3039..f254ff0 100644
---- a/Gemfile
-+++ b/Gemfile
-@@ -62,7 +62,7 @@ require 'yaml'
- # XXX this duplicates logic in lib/redmine/multi_tenancy.rb, but we can't load
- # XXX that at this point. X_DEBIAN_SITEID is kept for compatibility with
- # existing XXX Debian installations.
--instance = ENV['X_DEBIAN_SITEID'] || ENV['REDMINE_INSTANCE']
-+instance = ENV['X_DEBIAN_SITEID'] || ENV['REDMINE_INSTANCE'] || 'default'
- root = instance && File.join(File.dirname(__FILE__), 'instances', instance) || File.dirname(__FILE__)
- database_file = File.join(root, "config/database.yml")
- 
 diff --git a/lib/redmine/multi_tenancy.rb b/lib/redmine/multi_tenancy.rb
 index 0d100f7..17530b2 100644
 --- a/lib/redmine/multi_tenancy.rb

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/redmine.git



More information about the Pkg-ruby-extras-commits mailing list