Your message dated Tue, 18 Nov 2025 05:12:37 +0100
with message-id 
<d272f9cf6941e1ac264f263765b308b935af4ba4.ca...@prahal.homelinux.net>
and subject line Re: Bug#1120894: redmine: dpkg-reconfigure/upgrade redmine 
recreates /usr/share/redmine/plugins
has caused the Debian Bug report #1120894,
regarding redmine: dpkg-reconfigure/upgrade redmine recreates 
/usr/share/redmine/plugins
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1120894: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1120894
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: redmine
Version: 6.0.5+ds-1
Severity: normal

Dear Maintainer,
I have an issue wtaht if I symlink /usr/share/redmine/plugins/<x> to 
REDMINE_INSTANCE/plugins
my redmine app cannot start because it loads each plugins file twice and rails 
Concern abort if loaded
more than once (and I have a rails concerned derivative in the 
redmine_gitolite_plugin I use.

So I wanted to use the recommended by redmine Debian README way to use 
/usr/share/redmine/plugins directly.
THat is delete REDMIEN/INSTANCE/plugins folder. It works. My plugins loads fine.
But each time I do `dpkg-reconfigure redmine` or I believe if redmine upgrades 
the REDMINE_INSTANCE/plugins
directory is recreated.
The directory REDMINE_INSTANCE/plugins is recreated by 
`/usr/share/redmine/bin/redmine-instances create default`
called by redmine.postinst.
Maybe it shouldn't if the a marker that tells the REDMINE_INSTANCE folder tree 
has already been created is set?


Best regards,
Alban



-- System Information:
Debian Release: 13.1
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'oldstable-updates'), (500, 'oldstable-security'), (500, 'stable'), (500, 
'oldstable')
Architecture: armhf (armv7l)

Kernel: Linux 6.1.0-37-armmp (SMP w/4 CPU threads)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages redmine depends on:
ii  dbconfig-common                 2.0.25
ii  debconf [debconf-2.0]           1.5.91
ii  libjs-chart.js                  3.9.1+~cs3.1.2-3
ii  libjs-jquery                    3.6.1+dfsg+~3.5.14-1
ii  libjs-jquery-ui                 1.13.2+dfsg-1
ii  libjs-raphael                   2.3.0-4
ii  puma                            6.6.0-4
ii  redmine-pgsql                   6.0.5+ds-1
ii  ruby                            1:3.3+b1
ii  ruby-actionpack-action-caching  1.2.2-4
ii  ruby-actionpack-xml-parser      2.0.1-5
ii  ruby-addressable                2.8.7-2
ii  ruby-bundler                    2.6.7-2
ii  ruby-capybara                   3.40.0+ds-2
ii  ruby-coderay                    1.1.3-8
ii  ruby-commonmarker               0.23.10-1+b3
ii  ruby-csv                        3.3.4-1
ii  ruby-html-pipeline              2.14.3-2
ii  ruby-i18n                       1.14.7-1
ii  ruby-jquery-rails               4.3.5-5
ii  ruby-listen                     3.9.0-1
ii  ruby-mail                       2.8.1+dfsg1-2
ii  ruby-marcel                     1.0.4+dfsg-2
ii  ruby-mini-magick                5.2.0-1
ii  ruby-mini-mime                  1.1.5-1
ii  ruby-mocha                      2.4.2-2
ii  ruby-net-ldap                   0.19.0-1
ii  ruby-nokogiri                   1.18.2+dfsg-1+b1
ii  ruby-rack                       3.1.18-1~deb13u1
ii  ruby-rails                      2:7.2.2.1+dfsg-7
ii  ruby-rails-dom-testing          2.2.0-1
ii  ruby-rails-observers            0.1.5-1.1
ii  ruby-rails-propshaft            1.1.0-3
ii  ruby-rbpdf                      1.21.3+dfsg-1
ii  ruby-redcarpet                  3.6.0-1+b5
ii  ruby-rmagick                    6.0.1-3
ii  ruby-roadie                     5.2.1-2
ii  ruby-roadie-rails               3.3.0-2
ii  ruby-rotp                       6.2.0-2
ii  ruby-rouge                      4.5.1-1
ii  ruby-rqrcode                    2.2.0-1
ii  ruby-sanitize                   7.0.0-1
ii  ruby-selenium-webdriver         4.4.0-1
ii  ruby-simplecov                  0.22.0-2
ii  ruby-task-list                  2.3.2-2
ii  ruby-zip                        2.3.2-1

Versions of packages redmine recommends:
pn  passenger  <none>

Versions of packages redmine suggests:
pn  apache2                   <none>
ii  brz [bzr]                 3.3.11-1
ii  bzr                       2.7.0+bzr6622+brz
pn  cvs                       <none>
pn  darcs                     <none>
ii  git                       1:2.47.3-0+deb13u1
pn  libapache2-mod-passenger  <none>
ii  mercurial                 7.0.1-2
ii  subversion                1.14.5-3

-- Configuration Files:
/etc/default/redmine changed:
REDMINE_INSTANCES_OWNERSHIP=redmine:www-data
REDMINE_INSTANCES_FOLLOW_FHS=yes
REDMINE_INSTANCES_ROOT=/var/lib/redmine


-- debconf information:
  redmine/old-instances:
* redmine/instances/default/pgsql/authmethod-user: password
  redmine/default-language: en
  redmine/instances/default/remote/newhost: localhost
* redmine/instances/default/mysql/admin-user: debian-sys-maint
  redmine/instances/default/install-error: abort
  redmine/instances/default/pgsql/no-empty-passwords:
* redmine/instances/default/remote/host: localhost
  redmine/instances/default/passwords-do-not-match:
  redmine/instances/default/internal/skip-preseed: false
  redmine/instances/default/upgrade-error: abort
  redmine/instances/default/remove-error: abort
  redmine/notify-migration:
  redmine/missing-redmine-package:
* redmine/instances/default/database-type: pgsql
  redmine/instances/default/dbconfig-remove:
* redmine/instances/default/db/dbname: redmine_default
* redmine/current-instances: default
  redmine/instances/default/pgsql/manualconf:
* redmine/instances/default/dbconfig-reinstall: false
  redmine/instances/default/upgrade-backup: true
* redmine/instances/default/remote/port: 3306
* redmine/instances/default/pgsql/method: TCP/IP
  redmine/instances/default/purge: false
  redmine/instances/default/pgsql/changeconf: false
* redmine/instances/default/db/app-user: redmine_default@localhost
  redmine/instances/default/dbconfig-upgrade: true
* redmine/instances/default/default-language: en
  redmine/instances/default/missing-db-package-error: abort
  redmine/instances/default/db/basepath:
* redmine/instances/default/pgsql/admin-user: debian-sys-maint
  redmine/instances/default/internal/reconfiguring: false
* redmine/instances/default/dbconfig-install: true
* redmine/instances/default/pgsql/authmethod-admin: ident
  redmine/instances/default/mysql/method: Unix socket

--- End Message ---
--- Begin Message ---
I m closing this bug report. I will open another for the duplicate
plugin files loaded when symlinking /usr/share/redmine/plugins/<x>
into /var/lib/redmine/default/plugins.


Le lundi 17 novembre 2025 à 20:32 -0700, Soren Stoutner a écrit :
> On Monday, November 17, 2025 7:49:52 PM Mountain Standard Time Alban
> Browaeys 
> wrote:
> > I meant:
> > rmdir /var/lib/redmine/default/plugin
> > is the way advertised by the Debian README to have
> > /usr/share/redmine/plugins activated when one do not want to use
> > symlinks from /usr/share/redmine/plugins/ to
> > /var/lib/redmine/default/plugins.
> 
> The text of README.Debian has changed a bit from the version in
> 6.0.5+ds-1 to 
> the current text, which reads:
> 
> Plugins will be loaded from
> /var/lib/redmine/instances/$REDMINE_INSTANCE/plugins/.  If this
> directory does
> not exist, loading will fall back to the global plugins directory at
> /usr/share/redmine/plugins/.  The
> /var/lib/redmine/instances/$REDMINE_INSTANCE/plugins/ directory is 
> automatically
> created each time Redmine is upgraded.  To enable a plugin for an
> instance it
> can be symlinked from the global plugins driectory.
> 
> https://sources.debian.org/src/redmine/6.0.6%2Bds-2/debian/README.Debian
> 
> Hopefully, this is a bit more express.
>  
> > Fact is I cannot use symlinks from /usr/share/redmine/plugins/<x>
> > to
> > /var/lib/redmine/default/plugins because it crashes rails loading.
> > THis
> > is another bug.
> > In the meantime I can workaround this issue by switching removing
> > the
> > /var/lib/redmine/default/plugins directory as advertised by the
> > Debian
> > README to have /usr/share/plugins fallback to work.
> 
> That should be a bug that you file, as that is not behavior I have
> noticed.  
> We should get to the bottom of why that is happening.
> 
> > But /usr/share/redmine/bin/redmine-instances called on each
> > upgrades/dpkg-reconfigure of redmine by redmine.postinst recreate
> > teh
> > deleted /var/lib/redmine/default/plugins directory (with an empty
> > folder) thus the fallback to /usr/share/redmine/plugins is disabled
> > and
> > I have no plugins anymore.
> 
> As stated in the README text above, that is the expected behavior,
> which is 
> why it is not the recommended way of handling plugins, although it is
> possible 
> if you want to manually re-delete it after every upgrade.
> 

OK so indeed that is the expected behavior, but you might want to
backport this doc fixup to stable (ie trixie). But maybe  6.0.6+ds-2is
targeted to reach stable thus the doc issue is already fixed.
The fallback not surviving an upgrade is unfortunate but so be it.


> > I plan to bug report the symlinks to
> > /var/lib/redmine/default/plugins
> > from /usr/share/redmine/plugins/<x> breaks in a later bug report
> > once I
> > have redmine at least back on track with the fallback to
> > /usr/share/redmine/plugins (this is my local prod redmine
> > instance).
> > Fact is currently I get redmine to work but it will breaks on each
> > redmine upgrades.
> 
> I think that is a good idea.  You can either create a new bug report
> or 
> retitle this one.
> 
> > ie unircorn errors out this way when I use symlinks (same for `sudo
> > -u
> > www-data REDMINE_INSTANCE=default rackup -E production`)
> 
> I am not familiar with Unicorn.  In your other bug report (or this
> one if you 
> retitle) you might want to provide some background on how it works
> and the 
> configuration options you are using.
> 

I doubt unicorn matters there (though probably my unstandard
/usr/share/redmine/instances being a directory containing a default
symlink to /var/lib/redmine/default does). This as as I reported I have
the exact same issue with `rackup` when I spawn a test webserver.




> > Note that I have /usr/share/redmine/instances/default a symlink to
> > /var/lib/redmine/default. I don't know if it is vanilla. If I
> > remove
> > this symlink and dpkg-reconfigure or reinstall redmine a broken
> > nearly
> > empty (out of a log file) /usr/share/redmine/instances/default
> > directory is created and redmine bundler errors out (because
> > /usr/share/redmine/Gemfile
> > `Dir['/usr/share/redmine/{config,instances/*/config}/database.yml']
> > .sel
> > ect do |f| `
> > and there is not
> > /usr/share/redmine/instances/default/config/database.yml because
> > /usr/share/redmine/instances/default is nearly empty).
> > It seems /usr/share/redmine/instances/default empty folder is
> > created
> > by redmine.postinst rake db:migrate.
> 
> I don’t think that is a standard configuration. 
> /usr/share/redmine/instances 
> should be a symlink to /var/lib/redmine as shown in my original
> email, but 
> inside of that "default" is not typically a symlink.
> 



I don't know how I got that nonstandard setup of
/usr/share/redmine/instances. I even tried moving this folder away but
I had the same duplicate plugins files loaded and error.
So I reverted it.
Indeed now when remove /usr/share/redmine/instances and apt install --
reinstall redmine I get the /usr/share/redmine/instances symlink to
/var/lib/redmine. But thte duplicate plugin file loaded error is still
there.


phn@uruk:/var/lib/redmine/default/plugins$ tail -f 
/var/log/redmine/default/unicorn.stderr.log
I, [2025-11-18T05:03:49.677259 #1349]  INFO -- : Refreshing Gem list
I, [2025-11-18T05:04:21.183680 #1349]  INFO -- : unlinking existing 
socket=/var/cache/redmine/default/sockets/redmine.socket
I, [2025-11-18T05:04:21.185348 #1349]  INFO -- : listening on 
addr=/var/cache/redmine/default/sockets/redmine.socket fd=8
I, [2025-11-18T05:04:21.186670 #1349]  INFO -- : listening on 
addr=127.0.0.1:18083 fd=9
I, [2025-11-18T05:04:21.216671 #1349]  INFO -- : master process ready
I, [2025-11-18T05:04:21.272917 #1360]  INFO -- : worker=0 ready
sh: 1: gs: not found
I, [2025-11-18T05:05:04.294631 #1349]  INFO -- : reaped #<Process::Status: pid 
1360 exit 0> worker=0
I, [2025-11-18T05:05:04.295004 #1349]  INFO -- : master complete
I, [2025-11-18T05:05:05.469626 #1434]  INFO -- : Refreshing Gem list

/usr/share/redmine/plugins/redmine_git_hosting/lib/redmine_git_hosting/file_logger.rb:7:
 warning: already initialized constant RedmineGitHosting::FileLogger::LOG_LEVELS
/usr/share/redmine/instances/default/plugins/redmine_git_hosting/lib/redmine_git_hosting/file_logger.rb:7:
 warning: previous definition of LOG_LEVELS was here
/usr/share/redmine/plugins/redmine_git_hosting/lib/redmine_git_hosting/git_access.rb:5:
 warning: already initialized constant 
RedmineGitHosting::GitAccess::DOWNLOAD_COMMANDS
/usr/share/redmine/instances/default/plugins/redmine_git_hosting/lib/redmine_git_hosting/git_access.rb:5:
 warning: previous definition of DOWNLOAD_COMMANDS was here
/usr/share/redmine/plugins/redmine_git_hosting/lib/redmine_git_hosting/git_access.rb:6:
 warning: already initialized constant 
RedmineGitHosting::GitAccess::PUSH_COMMANDS
/usr/share/redmine/instances/default/plugins/redmine_git_hosting/lib/redmine_git_hosting/git_access.rb:6:
 warning: previous definition of PUSH_COMMANDS was here
/usr/share/redmine/plugins/redmine_git_hosting/lib/redmine_git_hosting/mirror_keys_installer.rb:7:
 warning: already initialized constant 
RedmineGitHosting::MirrorKeysInstaller::GITOLITE_MIRRORING_KEYS_NAME
/usr/share/redmine/instances/default/plugins/redmine_git_hosting/lib/redmine_git_hosting/mirror_keys_installer.rb:7:
 warning: previous definition of GITOLITE_MIRRORING_KEYS_NAME was here
/usr/share/rubygems-integration/all/gems/activesupport-7.2.2.1/lib/active_support/concern.rb:162:in
 `included': Cannot define multiple 'included' blocks for a Concern 
(ActiveSupport::Concern::MultipleIncludedBlocks)
        from 
/usr/share/redmine/plugins/redmine_git_hosting/lib/redmine_git_hosting/patches/dashboard_content_project_patch.rb:8:in
 `<module:DashboardContentProjectPatch>'
        from 
/usr/share/redmine/plugins/redmine_git_hosting/lib/redmine_git_hosting/patches/dashboard_content_project_patch.rb:5:in
 `<module:Patches>'
        from 
/usr/share/redmine/plugins/redmine_git_hosting/lib/redmine_git_hosting/patches/dashboard_content_project_patch.rb:4:in
 `<module:RedmineGitHosting>'
        from 
/usr/share/redmine/plugins/redmine_git_hosting/lib/redmine_git_hosting/patches/dashboard_content_project_patch.rb:3:in
 `<top (required)>'
        from /usr/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'
        from /usr/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in 
replace_require'
        from 
/usr/share/rubygems-integration/all/gems/zeitwerk-2.6.8/lib/zeitwerk/kernel.rb:38:in
 `require'
        from /usr/lib/ruby/vendor_ruby/polyglot.rb:65:in `require'
        from 
/usr/share/rubygems-integration/all/gems/activesupport-7.2.2.1/lib/active_support/dependencies/require_dependency.rb:21:in
 `require_dependency'
        from 
/usr/share/redmine/instances/default/plugins/redmine_git_hosting/lib/redmine_git_hosting/redmine_plugin_loader.rb:127:in
 `block in autoload_libs!'
        from 
/usr/share/redmine/instances/default/plugins/redmine_git_hosting/lib/redmine_git_hosting/redmine_plugin_loader.rb:126:in
 `each'
        from 
/usr/share/redmine/instances/default/plugins/redmine_git_hosting/lib/redmine_git_hosting/redmine_plugin_loader.rb:126:in
 `autoload_libs!'
        from 
/usr/share/redmine/instances/default/plugins/redmine_git_hosting/lib/redmine_git_hosting/redmine_plugin_loader.rb:96:in
 `load_plugin!'
        from 
/usr/share/redmine/instances/default/plugins/redmine_git_hosting/init.rb:72:in 
`<top (required)>'
        from /usr/share/redmine/lib/redmine/plugin_loader.rb:31:in `load'
        from /usr/share/redmine/lib/redmine/plugin_loader.rb:31:in 
`run_initializer'
        from /usr/share/redmine/lib/redmine/plugin_loader.rb:67:in `each'
        from /usr/share/redmine/lib/redmine/plugin_loader.rb:67:in `block in 
load'
        from 
/usr/share/rubygems-integration/all/gems/activesupport-7.2.2.1/lib/active_support/callbacks.rb:407:in
 `instance_exec'
        from 
/usr/share/rubygems-integration/all/gems/activesupport-7.2.2.1/lib/active_support/callbacks.rb:407:in
 `block in make_lambda'
        from 
/usr/share/rubygems-integration/all/gems/activesupport-7.2.2.1/lib/active_support/callbacks.rb:179:in
 `block in call'
        from 
/usr/share/rubygems-integration/all/gems/activesupport-7.2.2.1/lib/active_support/callbacks.rb:668:in
 `block (2 levels) in default_terminator'
        from 
/usr/share/rubygems-integration/all/gems/activesupport-7.2.2.1/lib/active_support/callbacks.rb:667:in
 `catch'
        from 
/usr/share/rubygems-integration/all/gems/activesupport-7.2.2.1/lib/active_support/callbacks.rb:667:in
 `block in default_terminator'
        from 
/usr/share/rubygems-integration/all/gems/activesupport-7.2.2.1/lib/active_support/callbacks.rb:180:in
 `call'
        from 
/usr/share/rubygems-integration/all/gems/activesupport-7.2.2.1/lib/active_support/callbacks.rb:559:in
 `block in invoke_before'
        from 
/usr/share/rubygems-integration/all/gems/activesupport-7.2.2.1/lib/active_support/callbacks.rb:559:in
 `each'
        from 
/usr/share/rubygems-integration/all/gems/activesupport-7.2.2.1/lib/active_support/callbacks.rb:559:in
 `invoke_before'
        from 
/usr/share/rubygems-integration/all/gems/activesupport-7.2.2.1/lib/active_support/callbacks.rb:109:in
 `run_callbacks'
        from 
/usr/share/rubygems-integration/all/gems/activesupport-7.2.2.1/lib/active_support/reloader.rb:96:in
 `prepare!'
        from 
/usr/share/rubygems-integration/all/gems/railties-7.2.2.1/lib/rails/application/finisher.rb:74:in
 `block in <module:Finisher>'
        from 
/usr/share/rubygems-integration/all/gems/railties-7.2.2.1/lib/rails/initializable.rb:32:in
 `instance_exec'
        from 
/usr/share/rubygems-integration/all/gems/railties-7.2.2.1/lib/rails/initializable.rb:32:in
 `run'
        from 
/usr/share/rubygems-integration/all/gems/railties-7.2.2.1/lib/rails/initializable.rb:61:in
 `block in run_initializers'
        from /usr/lib/ruby/3.3.0/tsort.rb:231:in `block in tsort_each'
        from /usr/lib/ruby/3.3.0/tsort.rb:353:in `block (2 levels) in 
each_strongly_connected_component'
        from /usr/lib/ruby/3.3.0/tsort.rb:434:in 
`each_strongly_connected_component_from'
        from /usr/lib/ruby/3.3.0/tsort.rb:352:in `block in 
each_strongly_connected_component'
        from /usr/lib/ruby/3.3.0/tsort.rb:350:in `each'
        from /usr/lib/ruby/3.3.0/tsort.rb:350:in `call'
        from /usr/lib/ruby/3.3.0/tsort.rb:350:in 
`each_strongly_connected_component'
        from /usr/lib/ruby/3.3.0/tsort.rb:229:in `tsort_each'
        from /usr/lib/ruby/3.3.0/tsort.rb:208:in `tsort_each'
        from 
/usr/share/rubygems-integration/all/gems/railties-7.2.2.1/lib/rails/initializable.rb:60:in
 `run_initializers'
        from 
/usr/share/rubygems-integration/all/gems/railties-7.2.2.1/lib/rails/application.rb:435:in
 `initialize!'
        from /usr/share/redmine/config/environment.rb:16:in `<top (required)>'
        from config.ru:4:in `require_relative'
        from config.ru:4:in `block in <main>'
        from 
/usr/share/rubygems-integration/all/gems/rack-3.1.18/lib/rack/builder.rb:124:in 
`instance_eval'
        from 
/usr/share/rubygems-integration/all/gems/rack-3.1.18/lib/rack/builder.rb:124:in 
`initialize'
        from config.ru:1:in `new'
        from config.ru:1:in `<main>'
        from /usr/lib/ruby/vendor_ruby/unicorn.rb:54:in `eval'
        from /usr/lib/ruby/vendor_ruby/unicorn.rb:54:in `block in builder'
        from /usr/lib/ruby/vendor_ruby/unicorn/http_server.rb:790:in 
`build_app!'
        from /usr/lib/ruby/vendor_ruby/unicorn/http_server.rb:140:in `start'
        from /usr/bin/unicorn:129:in `<main>'


The only way I can get redmine to start with a rails Concern derived
class is with the /usr/share/redmine/plugins fallback.


> root:/usr/share/redmine/instances# ls -la
> total 20
> drwxr-xr-x   3 root     root     4096 Oct  6 15:33 .
> drwxr-xr-x 112 root     root     4096 Sep  9 18:58 ..
> drwxr-xr-x   5 root     root     4096 Oct  6 15:33 default
> -rw-r--r--   1 www-data www-data 7367 Oct  6 15:33 Gemfile.lock
> 
> Note that, in case it wasn’t clear from my original email, the
> configuration 
> that has been tested is symlinking each plugin directory.  I have not
> tested 
> symlinking the entire parent plugin directory, which one of your
> comments made 
> me think perhaps you have tried.


Not that I have a second redmine instance leftover for "test" instance
because I tried to create a second instance while trying to sort out
why my plugins were not loaded. Then I run dpkg-reconfigure redmine
with only default an instance. But the test instance leftovers are
still there.

Best Regards,
Alban

--- End Message ---
_______________________________________________
Pkg-ruby-extras-maintainers mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-ruby-extras-maintainers

Reply via email to