www/redmine60: Use puma 7, fix install directories
This commit also modernizes the port's dependencies and configuration options. Redmine 6.0 has changed to use a slightly different directory structure from previous versions. The installation now creates public/assets and tmp/pdf directories that Redmine 6.x expects, preventing runtime errors related to missing directories. Support for Puma 7 allows users to benefit from the latest web server performance improvements among other enhancements. Database configuration is now clearer with mutually exclusive options that prevent misconfiguration. SQLite and SQL Server support give users more deployment flexibility, though SQLite is clearly marked as unsuitable for production use. Use the standardized "PGSQL" naming for PostgreSQL which aligns with other ports. The new database.yml.sample patch helps users avoid common configuration mistakes by providing inline documentation for connection settings, ports, and encoding options. PR: 291306
This commit is contained in:
parent
2a1eb94f19
commit
da111ef51c
6 changed files with 85 additions and 20 deletions
|
|
@ -1,5 +1,6 @@
|
|||
PORTNAME= redmine
|
||||
PORTVERSION= 6.0.7
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= www
|
||||
MASTER_SITES= https://www.redmine.org/releases/
|
||||
PKGNAMESUFFIX= 60
|
||||
|
|
@ -29,58 +30,63 @@ RUN_DEPENDS= rubygem-actionpack-xml_parser-rails72>=0:textproc/rubygem-actionpac
|
|||
rubygem-net-ldap>=0.19.0:net/rubygem-net-ldap \
|
||||
rubygem-net-pop>=0.1.2:mail/rubygem-net-pop \
|
||||
rubygem-net-smtp>=0.3.3:mail/rubygem-net-smtp \
|
||||
rubygem-nokogiri>=1.15.2:textproc/rubygem-nokogiri \
|
||||
rubygem-nokogiri>=1.18.3:textproc/rubygem-nokogiri \
|
||||
rubygem-rails72>=7.2.2:www/rubygem-rails72 \
|
||||
rubygem-rbpdf>=1.21.3:print/rubygem-rbpdf \
|
||||
rubygem-rbpdf>=1.21.4:print/rubygem-rbpdf \
|
||||
rubygem-request_store15>=1.5.1:devel/rubygem-request_store15 \
|
||||
rubygem-roadie-rails-rails72>=3.2.0:mail/rubygem-roadie-rails-rails72 \
|
||||
rubygem-rotp>=5.0.0:devel/rubygem-rotp \
|
||||
rubygem-rouge>=4.2.0:textproc/rubygem-rouge \
|
||||
rubygem-rouge>=4.5.0:textproc/rubygem-rouge \
|
||||
rubygem-rqrcode>0:www/rubygem-rqrcode \
|
||||
rubygem-rubocop-performance>=0:devel/rubygem-rubocop-performance \
|
||||
rubygem-rubocop-rails>0:devel/rubygem-rubocop-rails \
|
||||
rubygem-rubocop>0<2:devel/rubygem-rubocop \
|
||||
rubygem-rubyzip>0:archivers/rubygem-rubyzip \
|
||||
rubygem-rubyzip>2.3.0:archivers/rubygem-rubyzip \
|
||||
rubygem-simplecov>0:devel/rubygem-simplecov \
|
||||
rubygem-svg_sprite>=0:graphics/rubygem-svg_sprite \
|
||||
rubygem-yard>=0:textproc/rubygem-yard
|
||||
|
||||
# Per https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264638#c9
|
||||
# to be removed if https://www.redmine.org/issues/37394 is fixed
|
||||
RUN_DEPENDS+= rubygem-redcarpet>=3.6.0:textproc/rubygem-redcarpet \
|
||||
RUN_DEPENDS+= rubygem-commonmarker0>=0.23.8:textproc/rubygem-commonmarker0 \
|
||||
rubygem-deckar01-task_list>=2.3.2:www/rubygem-deckar01-task_list \
|
||||
rubygem-html-pipeline>=2.13.2:textproc/rubygem-html-pipeline \
|
||||
rubygem-commonmarker0>=0.23.8:textproc/rubygem-commonmarker0 \
|
||||
rubygem-sanitize>=6.0:textproc/rubygem-sanitize \
|
||||
rubygem-deckar01-task_list>=2.3.2:www/rubygem-deckar01-task_list
|
||||
rubygem-redcarpet>=3.6.0:textproc/rubygem-redcarpet \
|
||||
rubygem-sanitize>=6.0:textproc/rubygem-sanitize
|
||||
|
||||
USES= cpe ruby
|
||||
|
||||
NO_ARCH= yes
|
||||
NO_BUILD= yes
|
||||
SUB_LIST= RUBY_SUFFIX=${RUBY_SUFFIX}
|
||||
|
||||
USERS= ${WWWOWN}
|
||||
GROUPS= ${WWWGRP}
|
||||
PLIST_SUB= WWWOWN=${WWWOWN} WWWGRP=${WWWGRP}
|
||||
SUB_LIST= RUBY_SUFFIX=${RUBY_SUFFIX}
|
||||
|
||||
OPTIONS_DEFINE= MYSQL POSTGRESQL PUMA MARKDOWN RMAGIC
|
||||
OPTIONS_DEFINE= PUMA MARKDOWN RMAGIC
|
||||
OPTIONS_DEFAULT=MYSQL MARKDOWN PUMA RMAGIC
|
||||
OPTIONS_SINGLE= DB
|
||||
OPTIONS_SINGLE_DB= MYSQL PGSQL SQLITE SQL
|
||||
NO_OPTIONS_SORT= yes
|
||||
OPTIONS_SUB= yes
|
||||
POSTGRESQL_DESC=Enable PostgreSQL support
|
||||
MARKDOWN_DESC= Enable Markdown support
|
||||
MYSQL_DESC= MySQL database support (via mysql2 rubygem)
|
||||
PGSQL_DESC= Postgres database support (via pg rubygem)
|
||||
PUMA_DESC= Use Puma WEB server
|
||||
RMAGIC_DESC= Enable Gantt charts support
|
||||
MYSQL_DESC= MySQL database support (via mysql2 rubygem)
|
||||
NO_OPTIONS_SORT= yes
|
||||
SQLITE_DESC= Sqlite3 database support (Not for production!)
|
||||
SQL_DESC= SQL Server requires manual (non-port) gem install
|
||||
MARKDOWN_RUN_DEPENDS= rubygem-redcarpet>=3.5.1:textproc/rubygem-redcarpet
|
||||
MYSQL_RUN_DEPENDS= rubygem-mysql2>=0.5.0:databases/rubygem-mysql2 \
|
||||
rubygem-with_advisory_lock61>0:devel/rubygem-with_advisory_lock61
|
||||
POSTGRESQL_RUN_DEPENDS= rubygem-pg>=1.2.2:databases/rubygem-pg
|
||||
PUMA_RUN_DEPENDS= rubygem-puma6>=6.5.0<7:www/rubygem-puma6 \
|
||||
PGSQL_RUN_DEPENDS= rubygem-pg>=1.5.3:databases/rubygem-pg
|
||||
PUMA_RUN_DEPENDS= rubygem-puma>=6.5.0:www/rubygem-puma \
|
||||
rubygem-rb-kqueue>=0.2:devel/rubygem-rb-kqueue
|
||||
PUMA_SUB_LIST= WWWOWN=${WWWOWN} WWWGRP=${WWWGRP}
|
||||
PUMA_VARS= USE_RC_SUBR=redmine
|
||||
MARKDOWN_RUN_DEPENDS= rubygem-redcarpet>=3.5.1:textproc/rubygem-redcarpet
|
||||
RMAGIC_RUN_DEPENDS= rubygem-mini_magick4>=4.11.0:graphics/rubygem-mini_magick4
|
||||
SQLITE_RUN_DEPENDS= rubygem-sqlite3>=1.7.0:databases/rubygem-sqlite3
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
|
|
@ -97,8 +103,8 @@ do-install:
|
|||
${MKDIR} ${STAGEDIR}${WWWDIR}
|
||||
${MKDIR} ${STAGEDIR}${WWWDIR}/bundler.d
|
||||
${MKDIR} ${STAGEDIR}${WWWDIR}/log
|
||||
${MKDIR} ${STAGEDIR}${WWWDIR}/public/plugin_assets
|
||||
${MKDIR} ${STAGEDIR}${WWWDIR}/tmp
|
||||
${MKDIR} ${STAGEDIR}${WWWDIR}/public/assets
|
||||
${MKDIR} ${STAGEDIR}${WWWDIR}/tmp/pdf
|
||||
|
||||
# https://www.redmine.org/issues/37394
|
||||
${CP} ${FILESDIR}/commonmark.rb ${STAGEDIR}${WWWDIR}/bundler.d
|
||||
|
|
@ -108,9 +114,15 @@ do-install:
|
|||
do-install-MYSQL-on:
|
||||
${CP} ${FILESDIR}/mysql.rb ${STAGEDIR}${WWWDIR}/bundler.d
|
||||
|
||||
do-install-POSTGRESQL-on:
|
||||
do-install-PGSQL-on:
|
||||
${CP} ${FILESDIR}/pg.rb ${STAGEDIR}${WWWDIR}/bundler.d
|
||||
|
||||
do-install-SQLITE-on:
|
||||
${CP} ${FILESDIR}/sqlite3.rb ${STAGEDIR}${WWWDIR}/bundler.d
|
||||
|
||||
do-install-SQL-on:
|
||||
${CP} ${FILESDIR}/sql.rb ${STAGEDIR}${WWWDIR}/bundler.d
|
||||
|
||||
do-install-MARKDOWN-on:
|
||||
${CP} ${FILESDIR}/markdown.rb ${STAGEDIR}${WWWDIR}/bundler.d
|
||||
|
||||
|
|
|
|||
39
www/redmine60/files/patch-config_database.yml.sample
Normal file
39
www/redmine60/files/patch-config_database.yml.sample
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
--- config/database.yml.sample.orig 2025-09-21 10:15:06.000000000 +0000
|
||||
+++ config/database.yml.sample 2025-11-26 13:53:51.979489000 +0000
|
||||
@@ -1,7 +1,12 @@
|
||||
# Default setup is given for MySQL 5.7.7 or later.
|
||||
# Examples for PostgreSQL, SQLite3 and SQL Server can be found at the end.
|
||||
# Line indentation must be 2 spaces (no tabs).
|
||||
+# Delete/comment all non-installed adapter entries
|
||||
|
||||
+# WARNING: Changing database adapter requires manually reinstalling the bundle
|
||||
+# or rebuilding/reinstalling the port with corrected OPTIONS.
|
||||
+
|
||||
+# Uses default port of 3306, can be specified with 'port:'
|
||||
production:
|
||||
adapter: mysql2
|
||||
database: redmine
|
||||
@@ -43,12 +48,15 @@
|
||||
transaction_isolation: "READ-COMMITTED"
|
||||
|
||||
# PostgreSQL configuration example
|
||||
+# Uses default port of 5432, can be specified with 'port:'
|
||||
+# Uses default schema of public, can be specified with 'schema_search_path:'
|
||||
#production:
|
||||
# adapter: postgresql
|
||||
# database: redmine
|
||||
# host: localhost
|
||||
# username: postgres
|
||||
# password: "postgres"
|
||||
+# encoding: utf8
|
||||
|
||||
# SQLite3 configuration example
|
||||
#production:
|
||||
@@ -56,6 +64,7 @@
|
||||
# database: db/redmine.sqlite3
|
||||
|
||||
# SQL Server configuration example
|
||||
+# Uses default port of 1433, can be specified with 'port:'
|
||||
#production:
|
||||
# adapter: sqlserver
|
||||
# database: redmine
|
||||
2
www/redmine60/files/sql.rb
Normal file
2
www/redmine60/files/sql.rb
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
gem "tiny_tds", "~> 2.1.2"
|
||||
gem "activerecord-sqlserver-adapter", "~> 7.2.0"
|
||||
1
www/redmine60/files/sqlite3.rb
Normal file
1
www/redmine60/files/sqlite3.rb
Normal file
|
|
@ -0,0 +1 @@
|
|||
gem "sqlite3", ">= 1.7.0"
|
||||
|
|
@ -6,6 +6,12 @@ Redmine was installed.
|
|||
You now need to setup your Redmine installation so
|
||||
please have a look at the Installation Guide.
|
||||
|
||||
Steps 1, 4 and 8 were completed by the pkg install. Step 10
|
||||
is accomplished using the rc script. The other steps must be
|
||||
completed manually.
|
||||
|
||||
SQL Server users must manually install needed ruby gems.
|
||||
|
||||
https://www.redmine.org/projects/redmine/wiki/RedmineInstall
|
||||
|
||||
If you are upgrading please read the Upgrading Guide
|
||||
|
|
|
|||
|
|
@ -1031,7 +1031,9 @@
|
|||
%%MARKDOWN%%%%WWWDIR%%/bundler.d/markdown.rb
|
||||
%%RMAGIC%%%%WWWDIR%%/bundler.d/mini_magick.rb
|
||||
%%MYSQL%%%%WWWDIR%%/bundler.d/mysql.rb
|
||||
%%POSTGRESQL%%%%WWWDIR%%/bundler.d/pg.rb
|
||||
%%PGSQL%%%%WWWDIR%%/bundler.d/pg.rb
|
||||
%%SQLITE%%%%WWWDIR%%/bundler.d/sqlite3.rb
|
||||
%%SQL%%%%WWWDIR%%/bundler.d/sql.rb
|
||||
%%PUMA%%%%WWWDIR%%/bundler.d/puma.rb
|
||||
%%WWWDIR%%/config.ru
|
||||
%%WWWDIR%%/config/additional_environment.rb.example
|
||||
|
|
@ -2162,6 +2164,7 @@
|
|||
@dir %%WWWDIR%%/app/views/previews
|
||||
@dir(%%WWWOWN%%,%%WWWGRP%%,) %%WWWDIR%%/files
|
||||
@dir(%%WWWOWN%%,%%WWWGRP%%,) %%WWWDIR%%/log
|
||||
@dir(%%WWWOWN%%,%%WWWGRP%%,755) %%WWWDIR%%/public/assets
|
||||
@dir %%WWWDIR%%/public/help/ar
|
||||
@dir %%WWWDIR%%/public/help/az
|
||||
@dir %%WWWDIR%%/public/help/bg
|
||||
|
|
@ -2216,8 +2219,10 @@
|
|||
@dir %%WWWDIR%%/test/fixtures/mailer
|
||||
@dir %%WWWDIR%%/test/mocks/development
|
||||
@dir %%WWWDIR%%/test/mocks/test
|
||||
@dir(%%WWWOWN%%,%%WWWGRP%%,755) %%WWWDIR%%/tmp
|
||||
@dir(%%WWWOWN%%,%%WWWGRP%%,) %%WWWDIR%%/tmp/cache
|
||||
@dir(%%WWWOWN%%,%%WWWGRP%%,) %%WWWDIR%%/tmp/imports
|
||||
@dir(%%WWWOWN%%,%%WWWGRP%%,) %%WWWDIR%%/tmp/pdf
|
||||
@dir(%%WWWOWN%%,%%WWWGRP%%,) %%WWWDIR%%/tmp/sessions
|
||||
@dir(%%WWWOWN%%,%%WWWGRP%%,) %%WWWDIR%%/tmp/sockets
|
||||
@dir(%%WWWOWN%%,%%WWWGRP%%,) %%WWWDIR%%/tmp/test
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue