summaryrefslogtreecommitdiff
path: root/www-apps/redmine
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /www-apps/redmine
reinit the tree, so we can have metadata
Diffstat (limited to 'www-apps/redmine')
-rw-r--r--www-apps/redmine/Manifest18
-rw-r--r--www-apps/redmine/files/10_redmine_vhost.conf12
-rw-r--r--www-apps/redmine/files/additional_environment.rb7
-rw-r--r--www-apps/redmine/files/redmine-3.3.4_requires.patch60
-rw-r--r--www-apps/redmine/files/redmine-3.initd45
-rw-r--r--www-apps/redmine/files/redmine.confd13
-rw-r--r--www-apps/redmine/files/redmine.logrotate9
-rw-r--r--www-apps/redmine/metadata.xml16
-rw-r--r--www-apps/redmine/redmine-3.2.7-r1.ebuild215
-rw-r--r--www-apps/redmine/redmine-3.2.7.ebuild215
-rw-r--r--www-apps/redmine/redmine-3.3.4-r1.ebuild221
-rw-r--r--www-apps/redmine/redmine-3.3.4.ebuild221
-rw-r--r--www-apps/redmine/redmine-3.4.2-r1.ebuild221
-rw-r--r--www-apps/redmine/redmine-3.4.2.ebuild221
14 files changed, 1494 insertions, 0 deletions
diff --git a/www-apps/redmine/Manifest b/www-apps/redmine/Manifest
new file mode 100644
index 000000000000..c4d31bcc7b31
--- /dev/null
+++ b/www-apps/redmine/Manifest
@@ -0,0 +1,18 @@
+AUX 10_redmine_vhost.conf 343 SHA256 4067d312a5fc8e7f1f98e8917d2e9c296a70a7e9847efaf92a8415d753387435 SHA512 839a01abedd2977f79bde2a55041d4e3e3a72de1e04e2bdc4aa5169b3ec22adce12b2b39d4b991d6e034fcd13fbcd030cba5ecc69ae71a76f7f37d2cdde09edc WHIRLPOOL 7bdb8c8eb7b24b5fa7750f14a5d6d90504b9e95b1c3d07827a1bba320135ff9aca195282bcc86e6964b742cf0dde3690d79065e61fd14145135ab6ff4c10816b
+AUX additional_environment.rb 322 SHA256 ebce2301ec9c15feb045948145052e7a716da35be7afc93ac74a739e4bd01db5 SHA512 1a4b649bc036372a47782a089c2b3db244ea4dd5437f2d931b6c7c4578f5aa104c8b8493da4a3f2874aac0380527604807ec2062525dcd392425b9b22c84f9bf WHIRLPOOL ffe6dd03718249b2016fc3163c49d65d183509ca14eae495907c847003915050a9175135e7f4c6943c93d28944b997951139cfdb949b72632d36e21441b768c4
+AUX redmine-3.3.4_requires.patch 2632 SHA256 d45ceeb281bbbb4a723f170b7748713b2af605b399dbdbb643fa4a1aee9e329e SHA512 737605cd5f8c8df9e8113204a49ce452908a75675d7c9682d4db455e9c852f881b5fa318e7f286727253ab56d7ced43c2b48b1066567ea2f6f1193c827da892e WHIRLPOOL bb1515368426e8d41c2c888af02eb2b057b55fde78fcd6a679ef557cefc6ef53db31e8fb6e62f0b57ab8178195b049001f41c04f3d0794fa0ecfa59ce650d13f
+AUX redmine-3.initd 1269 SHA256 7e9eaabbf0da516991d7e585e7fb0f9a00e6c1a454254c635e258d5adc060037 SHA512 c0ec931313d8b684cc8d2ab59e0c6d6fd159202420a3849cbb09a62f4fae7f6c3ec071b58fc17d838247c7c573a92de0ecdab7de995fd2391c4bd66001335ece WHIRLPOOL f7e7ba0eb84c395c0a0abb62a834e3eee584b2e3530b35e6baac94163b22c38cba46f1e6d9dfc6bd83126942e4b4a02008ac1b4991becfca9643391f486322ab
+AUX redmine.confd 267 SHA256 2ac6b7dfc2d055554b7ee9380fcf1a49a708bbd866987b775507d7a3b30f2d41 SHA512 4e4a700f1540b5e82df6ca610a94adcb08929f5ca75e605e40372b18ccc395515cdd53451ba2b3e3d9bdf129d9052a7218f6323d526c1ffb2540254d279c8d94 WHIRLPOOL fd6e8c63921d7ab2d73b5b15ff91db64ead03e521325871e21a1d165e313a1e56c607e9d9553504ccdef10a917a85ecdd5502527df159012b471803f4063ea00
+AUX redmine.logrotate 106 SHA256 c0999bdfedb44d8c84ca933c5371770194dbc46e6f06a9dac467dcb4dbc5f2d0 SHA512 c7e611dc5e662e5b2126c77a333081708e552f2980efb835dc8560cd5e1929c6923e5e6e4e45604fe662b9bd5ef433678eb900e797cee34bbb1b80fb55eed0e1 WHIRLPOOL 8b9ac739c63c226deda3a3fca5e89f277770de7bcad0c9777a203971236ed45f28a793ecc067b7e92704d99a1afe79883f36dea0658e02cd3d59f9151d3cf9f9
+DIST redmine-3.2.7.tar.gz 2322680 SHA256 f6ec163474e2a2cac21215d130c5bd3ccee54019165052943feaffc5fe5b34fc SHA512 74eb67e25a835500c7eb1c251de824981d45402fa04d03801c16ed2e3a78d90e3eee414063fd95379749335714e72c34760a251b3a583176e76cb9398e24b711 WHIRLPOOL 61dd4497d290b6f88fa4332119b9e2c0fcf27a727f5cb727f2700153eef6fac5e088a77d5f120e77f3a59f53e2de1fa9ad6eb03a0cfb2aba3ecf4eb2998dc9ff
+DIST redmine-3.3.4.tar.gz 2367776 SHA256 f28125f31df7ebcf7debf9b030d62002e2757c6ed228882ac64562dec90efbac SHA512 152806f829ba7e4f8df18933aa9d46c959e9f314a5698b20f30b90bb0d1292439fd6a3dfaea427145273d3fd37d48f62a64068dd7f8ab1cbe507eaf5c09f7f2e WHIRLPOOL 5a61eb7ba1dfd56cc3564488ee4a3686876cfea6fe83b624a0014588a27e6623b6ed5bcfe668e92b1edf26895b3d9f6c88edccca9629539147649aa7f197ba22
+DIST redmine-3.4.2.tar.gz 2438319 SHA256 747d649e3bceef41345a147a17db143ea646eaefb23ad7c514027456847c77fd SHA512 aededddd59bb84633f7360fb19e78a9313cf2654cb2a36a449c305834dc58d8e45f4d0433fe6d188f44e950163987b8b5e5285c9a9706d6f95f2346acdfd81fe WHIRLPOOL 23c01a72d7329e5948b0ba6a6ff59dcf162c364e8eaf60714e5883b6c36796b58b12867ebb678dcac714d7dfb49610795a417b410fd56b3e0765483e968aa894
+EBUILD redmine-3.2.7-r1.ebuild 6863 SHA256 c69b26a33f176ea4468beaa9f51e1a6ef5792b1891ae34e75747877a692d211e SHA512 3a5e65dcdafb654d0e741e56d6fa8e5045a398f9910a7aa0d392204783ad948ff2a5f8c466f3764205ceff9485af2b9600ea3042e6ab6becce25990fe0190f1e WHIRLPOOL a816467088352a752fcbbd20cad623e51b2ed900062bd335ae294b0b11fa405408553e7771e9092f2fd3102891af5e355d0e8e05e29fe970d102b36d67250dee
+EBUILD redmine-3.2.7.ebuild 6863 SHA256 a39eb7c5ac6bde49cbd17bc82115b785ff2f31cb2e4033458ad83a7509961e63 SHA512 6e4b36796adc3b1f80373159828c494fd043ed9e0a0d202231689b06eccf68293f091a8f0d9de2c87f549d526fc93e49791aefbba65f2aef57673c95a6822445 WHIRLPOOL 014886e11253e241042b0875a106ce2d3f8175d073844eedb91d81c78c7219745ac2a2b7c32a9656a27ec247ac2fc34d83d59f8e00c149c967c543c24f7fa0c9
+EBUILD redmine-3.3.4-r1.ebuild 6583 SHA256 b2d5de053d6a6e03c277c0451b589b79c306a92ea0bb2efd75fd77dd093523ab SHA512 0a4769542933822a8650bdf837a1fc953beb79b6ac5f3170618f30cb43cded2b6ba811db947cc85b7082964f34af95c0782ab8470c070ace9d0a361a9cefa013 WHIRLPOOL 324ade0a32e25bebb2e552dc2b50e20bc1e117b06753457e4e275726e4fa310df71495231c1b12076b6b8ee179a1dd30cd17f2934fe7fad18bdc7b147a91852d
+EBUILD redmine-3.3.4.ebuild 6583 SHA256 74dbf5fc9e2076f6667ea69bf7065814f9a7bae04fc42f10ad20a86bd0a77d06 SHA512 1b1767683f44b62169b4a205a635e324c7ed657515e95993c415f947e65181a2bb6299c666fef0a834e5d2d865d80b86b6f902da4c311ee453e60f306e59164a WHIRLPOOL 91ddcba928f7f3a8dc0ce4cfb7455cd26f2908253dd783968eb9fee179b7a181d6a389398d19379592dc11e8d294299494aab21cba01121f9ed9d72efbb3268e
+EBUILD redmine-3.4.2-r1.ebuild 6590 SHA256 359384bf4fdf36a91e76be44d110520ef544daaeb38c18ca17a99df5e30e96b2 SHA512 995ead1f0968ff585ec892ca4b34c1369e50542f80427e0341a93e36e4ef3ef8b140668c14e89c4eb951ec980a6d7efc9ea66a3c585e50bb5889e9e88e4f711e WHIRLPOOL c3846ac498d8da0a6d87cbe12d1150b8ca9d37de4c3ba2c91d0d76acb7be155c6cd5fa438dc3f32f2fbb8f80e777be195c51f85ec0e66d87f17c3a623772d41b
+EBUILD redmine-3.4.2.ebuild 6590 SHA256 9be76a40a11a524426b842767a605ee29c082306e17b940e0e9c3c6d28dd057b SHA512 84b54aea6054f6fb2ac961ce7a0a647474ea4acf7f12ed81a2ecc5a38cc6b49053fa058321dbef9b555bcbae1850f14a422ef0902a6c82c30f27bfd24c6dc4b9 WHIRLPOOL 998ca955d951cb322793e08b3a9888ce3d4226205e6937c08609ab8d23d5c202ea06dd6ee99febeacfce6486d8a223f832124faa94b7ad5ad7ab6fa06fd28c3c
+MISC ChangeLog 3999 SHA256 96b085622c371ed012428ec6bff28c7cd5423bf06f8d788d39d574c1dcadbeb4 SHA512 97aa9958e2ab41ce90e1b6607b550a8053653d52e4e0c9d4d99920f4da789a1f3cbe24f27ff50b89af227f94bb8191ce4884c204b61f8f075e68d3880d8fe73f WHIRLPOOL dc8d7e880d8fbef9764601a771256bbf6713fd90beaa30617f6603b8aa91b9c89b928d93d44e4fdeb9b2dcbe21e30c6caa28f513fee2e63351bdb35e142ebbdb
+MISC ChangeLog-2015 9269 SHA256 3814b4ebd58462879a42dcc4ac854c11670d0d13bdc5a98aa41638d79bb2bdff SHA512 2d4e57af048aaa3d0baff110d72fe5e59259f1c5bfb10fc445157cc35a558a36379135b7065e0ca3dad80ee083b539d8dae53084c6bcb2487470ab3c05b2dc10 WHIRLPOOL 8d4530cabfb864263160329f9a1b90f6a8efc96911fd2fa43653614239c5897296adec7e8eb303969a7bdef559db75851f2523272033494865fe2eeb320dc024
+MISC metadata.xml 527 SHA256 90c80d49a227178b30c96ef99f2849474109570a550a337730ebbe1f28b97826 SHA512 156e0ee607ad0ae734a98fab405679c55de4e2a5d620cce564a7ac17e8a029869f66c3df6d2733eb8106f9732537355c72be7c7261209af196264d069788eed4 WHIRLPOOL e5167ddd29b75e750adcedbbb195b53d66cf03313f615e273e8c4523c1b96bb535b88abb8a81fe2cf1ca6d789b6aa6b1535f575d838d933b335ec22a2849052d
diff --git a/www-apps/redmine/files/10_redmine_vhost.conf b/www-apps/redmine/files/10_redmine_vhost.conf
new file mode 100644
index 000000000000..33a117a91e52
--- /dev/null
+++ b/www-apps/redmine/files/10_redmine_vhost.conf
@@ -0,0 +1,12 @@
+<IfModule passenger_module>
+Listen 3000
+<VirtualHost *:3000>
+ DocumentRoot /var/lib/redmine/public
+# RailsEnv production
+ <Directory "/var/lib/redmine/public">
+ Options FollowSymLinks
+ Order allow,deny
+ Allow from all
+ </Directory>
+</VirtualHost>
+</IfModule>
diff --git a/www-apps/redmine/files/additional_environment.rb b/www-apps/redmine/files/additional_environment.rb
new file mode 100644
index 000000000000..a4e9baf758a1
--- /dev/null
+++ b/www-apps/redmine/files/additional_environment.rb
@@ -0,0 +1,7 @@
+# Copy this file to additional_environment.rb and add any statements
+# that need to be passed to the Rails::Initializer. `config` is
+# available in this context.
+
+# Place log-files to /var/log/redmine
+config.logger = Logger.new(Rails.root.join("/var/log/redmine",Rails.env + ".log"), 0, 10485760)
+config.log_level= :info
diff --git a/www-apps/redmine/files/redmine-3.3.4_requires.patch b/www-apps/redmine/files/redmine-3.3.4_requires.patch
new file mode 100644
index 000000000000..e4510839cf48
--- /dev/null
+++ b/www-apps/redmine/files/redmine-3.3.4_requires.patch
@@ -0,0 +1,60 @@
+diff -Nuar redmine-3.3.3-orig/app/controllers/application_controller.rb redmine-3.3.3/app/controllers/application_controller.rb
+--- redmine-3.3.3-orig/app/controllers/application_controller.rb 2017-05-24 21:05:03.515966923 +0500
++++ redmine-3.3.3/app/controllers/application_controller.rb 2017-05-24 21:07:22.629960174 +0500
+@@ -15,6 +15,7 @@
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
++require 'request_store'
+ require 'uri'
+ require 'cgi'
+
+diff -Nuar redmine-3.3.3-orig/app/controllers/welcome_controller.rb redmine-3.3.3/app/controllers/welcome_controller.rb
+--- redmine-3.3.3-orig/app/controllers/welcome_controller.rb 2017-05-24 21:05:03.514966923 +0500
++++ redmine-3.3.3/app/controllers/welcome_controller.rb 2017-05-24 21:08:14.895957638 +0500
+@@ -15,6 +15,9 @@
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
++require 'action_controller'
++require 'action_controller/action_caching'
++
+ class WelcomeController < ApplicationController
+ caches_action :robots
+
+diff -Nuar redmine-3.3.3-orig/app/models/custom_field.rb redmine-3.3.3/app/models/custom_field.rb
+--- redmine-3.3.3-orig/app/models/custom_field.rb 2017-05-24 21:05:03.513966923 +0500
++++ redmine-3.3.3/app/models/custom_field.rb 2017-05-24 21:08:32.223956797 +0500
+@@ -15,6 +15,8 @@
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
++require 'protected_attributes'
++
+ class CustomField < ActiveRecord::Base
+ include Redmine::SubclassFactory
+
+diff -Nuar redmine-3.3.3-orig/app/models/mailer.rb redmine-3.3.3/app/models/mailer.rb
+--- redmine-3.3.3-orig/app/models/mailer.rb 2017-05-24 21:05:03.514966923 +0500
++++ redmine-3.3.3/app/models/mailer.rb 2017-05-24 21:05:47.039964812 +0500
+@@ -16,6 +16,7 @@
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ require 'roadie'
++require 'roadie-rails'
+
+ class Mailer < ActionMailer::Base
+ layout 'mailer'
+diff -Nuar redmine-3.3.3-orig/config/application.rb redmine-3.3.3/config/application.rb
+--- redmine-3.3.3-orig/config/application.rb 2017-05-24 21:05:03.689966915 +0500
++++ redmine-3.3.3/config/application.rb 2017-05-24 21:05:35.723965361 +0500
+@@ -1,8 +1,8 @@
+ require File.expand_path('../boot', __FILE__)
+
+ require 'rails/all'
++require 'action_dispatch/xml_params_parser'
+
+-Bundler.require(*Rails.groups)
+
+ module RedmineApp
+ class Application < Rails::Application
diff --git a/www-apps/redmine/files/redmine-3.initd b/www-apps/redmine/files/redmine-3.initd
new file mode 100644
index 000000000000..507987034be3
--- /dev/null
+++ b/www-apps/redmine/files/redmine-3.initd
@@ -0,0 +1,45 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+RAILS_ENV=${RAILS_ENV:-production}
+REDMINE_DIR=${REDMINE_DIR:-/var/lib/redmine}
+REDMINE_ADDRESS=${REDMINE_ADDRESS:-localhost}
+REDMINE_PORT=${REDMINE_PORT:-3000}
+REDMINE_USER=${REDMINE_USER:-redmine}
+REDMINE_GROUP=${REDMINE_GROUP:-redmine}
+REDMINE_PIDFILE="/var/run/redmine/server.pid"
+
+depend() {
+ use git-daemon mysql net postgresql svnserve
+}
+
+start_pre() {
+ if [ ! -e "${REDMINE_DIR}/config/initializers/secret_token.rb" ] ; then
+ eerror "Execute the following command to initialize environment:"
+ eerror
+ eerror "# emerge --config www-apps/redmine"
+ eerror
+ return 1
+ fi
+ checkpath -q -d -m 0755 -o redmine:redmine /var/run/redmine
+}
+
+start() {
+ ebegin "Starting redmine"
+ start-stop-daemon --start --quiet \
+ --user "${REDMINE_USER}:${REDMINE_GROUP}" \
+ --pidfile "${REDMINE_PIDFILE}" \
+ --exec /usr/bin/ruby "${REDMINE_DIR}"/bin/rails server -- \
+ --daemon --environment="${RAILS_ENV}" \
+ --binding="${REDMINE_ADDRESS}" --port="${REDMINE_PORT}" \
+ --pid="${REDMINE_PIDFILE}" \
+ ${REDMINE_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping redmine"
+ start-stop-daemon --signal INT --quiet --pidfile "${REDMINE_PIDFILE}"
+ eend $?
+}
diff --git a/www-apps/redmine/files/redmine.confd b/www-apps/redmine/files/redmine.confd
new file mode 100644
index 000000000000..1c3830a09b07
--- /dev/null
+++ b/www-apps/redmine/files/redmine.confd
@@ -0,0 +1,13 @@
+# /etc/conf.d/redmine: config file for /etc/init.d/redmine
+# Bind to specified address
+# You can set to 0.0.0.0 to accept requests anywhere
+#REDMINE_ADDRESS="localhost"
+
+# Port
+#REDMINE_PORT=3000
+
+# RAILS_ENV
+#RAILS_ENV=production
+
+# additional opts
+#REDMINE_OPTS=""
diff --git a/www-apps/redmine/files/redmine.logrotate b/www-apps/redmine/files/redmine.logrotate
new file mode 100644
index 000000000000..69e98cb3fc64
--- /dev/null
+++ b/www-apps/redmine/files/redmine.logrotate
@@ -0,0 +1,9 @@
+/var/log/redmine/*.log {
+ daily
+ missingok
+ rotate 7
+ compress
+ delaycompress
+ notifempty
+ copytruncate
+}
diff --git a/www-apps/redmine/metadata.xml b/www-apps/redmine/metadata.xml
new file mode 100644
index 000000000000..c8cda2384e9b
--- /dev/null
+++ b/www-apps/redmine/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>azamat.hackimov@gmail.com</email>
+ <name>Azamat H. Hackimov</name>
+</maintainer>
+<maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+</maintainer>
+<use>
+ <flag name="markdown">Enable support for Markdown</flag>
+ <flag name="passenger">Enable support for <pkg>www-apache/passenger</pkg></flag>
+</use>
+</pkgmetadata>
diff --git a/www-apps/redmine/redmine-3.2.7-r1.ebuild b/www-apps/redmine/redmine-3.2.7-r1.ebuild
new file mode 100644
index 000000000000..ee397cf4ee39
--- /dev/null
+++ b/www-apps/redmine/redmine-3.2.7-r1.ebuild
@@ -0,0 +1,215 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+USE_RUBY="ruby21 ruby22 ruby23"
+inherit eutils depend.apache ruby-ng user
+
+DESCRIPTION="Flexible project management web application using the Ruby on Rails framework"
+HOMEPAGE="http://www.redmine.org/"
+SRC_URI="http://www.redmine.org/releases/${P}.tar.gz"
+
+KEYWORDS="~amd64"
+LICENSE="GPL-2"
+SLOT="0"
+# All db-related USEs are ineffective since we depend on rails
+# which depends on activerecord which depends on all ruby's db bindings
+#IUSE="ldap openid imagemagick postgres sqlite mysql fastcgi passenger"
+IUSE="ldap fastcgi passenger imagemagick"
+
+ruby_add_rdepend "
+ dev-ruby/rubygems
+ >=dev-ruby/rails-4.2.5.2:4.2
+ >=dev-ruby/jquery-rails-3.1.4:3
+ >=dev-ruby/coderay-1.1.0
+ >=dev-ruby/builder-3.0.4:*
+ >=dev-ruby/roadie-rails-1.1.0
+ dev-ruby/mime-types:*
+ =dev-ruby/request_store-1.0.5
+ >=dev-ruby/rbpdf-1.19.0
+ dev-ruby/actionpack-action_caching
+ dev-ruby/actionpack-xml_parser:0
+ dev-ruby/protected_attributes
+ >=dev-ruby/redcarpet-3.3.2
+ >=dev-ruby/nokogiri-1.6.7.2
+ ldap? ( >=dev-ruby/ruby-net-ldap-0.12.0 )
+ >=dev-ruby/ruby-openid-2.3.0
+ >=dev-ruby/rack-openid-0.2.1
+ fastcgi? ( dev-ruby/fcgi )
+ passenger? ( www-apache/passenger )
+ imagemagick? ( >=dev-ruby/rmagick-2.14.0 )"
+ # ruby_targets_ruby19? (
+# postgres? ( >=dev-ruby/pg-0.11 )
+# sqlite3? ( dev-ruby/sqlite3 )
+# mysql? ( dev-ruby/mysql2:0.3 )
+# )
+
+#ruby_add_bdepend ">=dev-ruby/rdoc-2.4.2
+# dev-ruby/yard
+# test? (
+# >=dev-ruby/shoulda-3.3.2
+# >=dev-ruby/mocha-0.13.3
+# >=dev-ruby/capybara-2.0.0
+# <dev-ruby/nokogiri-1.6.0
+# )"
+
+REDMINE_DIR="/var/lib/${PN}"
+
+pkg_setup() {
+ enewgroup redmine
+ enewuser redmine -1 -1 "${REDMINE_DIR}" redmine
+}
+
+all_ruby_prepare() {
+ rm -r log files/delete.me || die
+
+ # bug #406605
+ rm .gitignore .hgignore || die
+
+ rm Gemfile || die
+
+ echo "CONFIG_PROTECT=\"${EPREFIX}${REDMINE_DIR}/config\"" > "${T}/50${PN}"
+ echo "CONFIG_PROTECT_MASK=\"${EPREFIX}${REDMINE_DIR}/config/locales ${EPREFIX}${REDMINE_DIR}/config/settings.yml\"" >> "${T}/50${PN}"
+
+ # remove ldap staff module if disabled to avoid #413779
+ use ldap || rm app/models/auth_source_ldap.rb || die
+
+ # Make it work
+ sed -i -e "1irequire 'request_store'" app/controllers/application_controller.rb || die
+ sed -i -e "18irequire 'action_controller'" -e "19irequire 'action_controller/action_caching'"\
+ app/controllers/welcome_controller.rb || die
+ sed -i -e "4irequire 'action_dispatch/xml_params_parser'" -e "/Bundler/d" config/application.rb || die
+ sed -i -e "18irequire 'protected_attributes'" app/models/custom_field.rb || die
+ sed -i -e "19irequire 'roadie-rails'" app/models/mailer.rb || die
+}
+
+all_ruby_install() {
+ dodoc doc/{CHANGELOG,INSTALL,README_FOR_APP,RUNNING_TESTS,UPGRADING}
+ rm -r doc || die
+ dodoc README.rdoc
+ rm README.rdoc || die
+
+ keepdir /var/log/${PN}
+
+ insinto "${REDMINE_DIR}"
+ doins -r .
+ insinto "${REDMINE_DIR}/config"
+ doins "${FILESDIR}/additional_environment.rb"
+ keepdir "${REDMINE_DIR}/files"
+ keepdir "${REDMINE_DIR}/public/plugin_assets"
+
+ fowners -R redmine:redmine \
+ "${REDMINE_DIR}/config" \
+ "${REDMINE_DIR}/files" \
+ "${REDMINE_DIR}/public/plugin_assets" \
+ "${REDMINE_DIR}/tmp" \
+ /var/log/${PN}
+
+ fowners redmine:redmine "${REDMINE_DIR}"
+
+ # protect sensitive data, see bug #406605
+ fperms -R go-rwx \
+ "${REDMINE_DIR}/config" \
+ "${REDMINE_DIR}/files" \
+ "${REDMINE_DIR}/tmp" \
+ /var/log/${PN}
+
+ if use passenger; then
+ has_apache
+ insinto "${APACHE_VHOSTS_CONFDIR}"
+ doins "${FILESDIR}/10_redmine_vhost.conf"
+ fi
+
+ # logrotate
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/redmine.logrotate redmine
+
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+ newinitd "${FILESDIR}/${PN}-3.initd" ${PN}
+ doenvd "${T}/50${PN}"
+}
+
+pkg_postinst() {
+ einfo
+ if [ -e "${EPREFIX}${REDMINE_DIR}/config/initializers/session_store.rb" -o -e "${EPREFIX}${REDMINE_DIR}/config/initializers/secret_token.rb" ]; then
+ elog "Execute the following command to upgrade environment:"
+ elog
+ elog "# emerge --config \"=${CATEGORY}/${PF}\""
+ elog
+ elog "For upgrade instructions take a look at:"
+ elog "http://www.redmine.org/wiki/redmine/RedmineUpgrade"
+ else
+ elog "Execute the following command to initialize environment:"
+ elog
+ elog "# cd ${EPREFIX}${REDMINE_DIR}"
+ elog "# cp config/database.yml.example config/database.yml"
+ elog "# \${EDITOR} config/database.yml"
+ elog "# chown redmine:redmine config/database.yml"
+ elog "# emerge --config \"=${CATEGORY}/${PF}\""
+ elog
+ elog "Installation notes are at official site"
+ elog "http://www.redmine.org/wiki/redmine/RedmineInstall"
+ fi
+ einfo
+}
+
+pkg_config() {
+ if [ ! -e "${EPREFIX}${REDMINE_DIR}/config/database.yml" ]; then
+ eerror "Copy ${EPREFIX}${REDMINE_DIR}/config/database.yml.example to ${EPREFIX}${REDMINE_DIR}/config/database.yml"
+ eerror "then edit this file in order to configure your database settings for \"production\" environment."
+ die
+ fi
+
+ local RAILS_ENV=${RAILS_ENV:-production}
+ if [ ! -L /usr/bin/ruby ]; then
+ eerror "/usr/bin/ruby is not a valid symlink to any ruby implementation."
+ eerror "Please update it via `eselect ruby`"
+ die
+ fi
+ if [[ $RUBY_TARGETS != *$( eselect ruby show | awk 'NR==2' | tr -d ' ' )* ]]; then
+ eerror "/usr/bin/ruby is currently not included in redmine's ruby targets: ${RUBY_TARGETS}."
+ eerror "Please update it via `eselect ruby`"
+ die
+ fi
+ local RUBY=${RUBY:-ruby}
+
+ cd "${EPREFIX}${REDMINE_DIR}" || die
+ if [ -e "${EPREFIX}${REDMINE_DIR}/config/initializers/session_store.rb" ]; then
+ einfo
+ einfo "Generating secret token."
+ einfo
+ rm config/initializers/session_store.rb || die
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die
+ fi
+ if [ -e "${EPREFIX}${REDMINE_DIR}/config/initializers/secret_token.rb" ]; then
+ einfo
+ einfo "Upgrading database."
+ einfo
+
+ einfo "Migrating database."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die
+ einfo "Upgrading the plugin migrations."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:plugins:migrate || die
+ einfo "Clear the cache and the existing sessions."
+ ${RUBY} -S rake tmp:cache:clear || die
+ ${RUBY} -S rake tmp:sessions:clear || die
+ else
+ einfo
+ einfo "Initializing database."
+ einfo
+
+ einfo "Generating a session store secret."
+ ${RUBY} -S rake generate_secret_token || die
+ einfo "Creating the database structure."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die
+ einfo "Populating database with default configuration data."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:load_default_data || die
+ chown redmine:redmine "${EPREFIX}${REDMINE_DIR}"/log/production.log
+ einfo
+ einfo "If you use sqlite3, please do not forget to change the ownership of the sqlite files."
+ einfo
+ einfo "# cd \"${EPREFIX}${REDMINE_DIR}\""
+ einfo "# chown redmine:redmine db/ db/*.sqlite3"
+ einfo
+ fi
+}
diff --git a/www-apps/redmine/redmine-3.2.7.ebuild b/www-apps/redmine/redmine-3.2.7.ebuild
new file mode 100644
index 000000000000..5c7f032e6273
--- /dev/null
+++ b/www-apps/redmine/redmine-3.2.7.ebuild
@@ -0,0 +1,215 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+USE_RUBY="ruby21 ruby22 ruby23"
+inherit eutils depend.apache ruby-ng user
+
+DESCRIPTION="Flexible project management web application using the Ruby on Rails framework"
+HOMEPAGE="http://www.redmine.org/"
+SRC_URI="http://www.redmine.org/releases/${P}.tar.gz"
+
+KEYWORDS="~amd64"
+LICENSE="GPL-2"
+SLOT="0"
+# All db-related USEs are ineffective since we depend on rails
+# which depends on activerecord which depends on all ruby's db bindings
+#IUSE="ldap openid imagemagick postgres sqlite mysql fastcgi passenger"
+IUSE="ldap fastcgi passenger imagemagick"
+
+ruby_add_rdepend "
+ dev-ruby/rubygems
+ >=dev-ruby/rails-4.2.5.2:4.2
+ >=dev-ruby/jquery-rails-3.1.4:3
+ >=dev-ruby/coderay-1.1.0
+ >=dev-ruby/builder-3.0.4:*
+ >=dev-ruby/roadie-rails-1.1.0
+ dev-ruby/mime-types:*
+ =dev-ruby/request_store-1.0.5
+ >=dev-ruby/rbpdf-1.19.0
+ dev-ruby/actionpack-action_caching
+ dev-ruby/actionpack-xml_parser:*
+ dev-ruby/protected_attributes
+ >=dev-ruby/redcarpet-3.3.2
+ >=dev-ruby/nokogiri-1.6.7.2
+ ldap? ( >=dev-ruby/ruby-net-ldap-0.12.0 )
+ >=dev-ruby/ruby-openid-2.3.0
+ >=dev-ruby/rack-openid-0.2.1
+ fastcgi? ( dev-ruby/fcgi )
+ passenger? ( www-apache/passenger )
+ imagemagick? ( >=dev-ruby/rmagick-2.14.0 )"
+ # ruby_targets_ruby19? (
+# postgres? ( >=dev-ruby/pg-0.11 )
+# sqlite3? ( dev-ruby/sqlite3 )
+# mysql? ( dev-ruby/mysql2:0.3 )
+# )
+
+#ruby_add_bdepend ">=dev-ruby/rdoc-2.4.2
+# dev-ruby/yard
+# test? (
+# >=dev-ruby/shoulda-3.3.2
+# >=dev-ruby/mocha-0.13.3
+# >=dev-ruby/capybara-2.0.0
+# <dev-ruby/nokogiri-1.6.0
+# )"
+
+REDMINE_DIR="/var/lib/${PN}"
+
+pkg_setup() {
+ enewgroup redmine
+ enewuser redmine -1 -1 "${REDMINE_DIR}" redmine
+}
+
+all_ruby_prepare() {
+ rm -r log files/delete.me || die
+
+ # bug #406605
+ rm .gitignore .hgignore || die
+
+ rm Gemfile || die
+
+ echo "CONFIG_PROTECT=\"${EPREFIX}${REDMINE_DIR}/config\"" > "${T}/50${PN}"
+ echo "CONFIG_PROTECT_MASK=\"${EPREFIX}${REDMINE_DIR}/config/locales ${EPREFIX}${REDMINE_DIR}/config/settings.yml\"" >> "${T}/50${PN}"
+
+ # remove ldap staff module if disabled to avoid #413779
+ use ldap || rm app/models/auth_source_ldap.rb || die
+
+ # Make it work
+ sed -i -e "1irequire 'request_store'" app/controllers/application_controller.rb || die
+ sed -i -e "18irequire 'action_controller'" -e "19irequire 'action_controller/action_caching'"\
+ app/controllers/welcome_controller.rb || die
+ sed -i -e "4irequire 'action_dispatch/xml_params_parser'" -e "/Bundler/d" config/application.rb || die
+ sed -i -e "18irequire 'protected_attributes'" app/models/custom_field.rb || die
+ sed -i -e "19irequire 'roadie-rails'" app/models/mailer.rb || die
+}
+
+all_ruby_install() {
+ dodoc doc/{CHANGELOG,INSTALL,README_FOR_APP,RUNNING_TESTS,UPGRADING}
+ rm -r doc || die
+ dodoc README.rdoc
+ rm README.rdoc || die
+
+ keepdir /var/log/${PN}
+
+ insinto "${REDMINE_DIR}"
+ doins -r .
+ insinto "${REDMINE_DIR}/config"
+ doins "${FILESDIR}/additional_environment.rb"
+ keepdir "${REDMINE_DIR}/files"
+ keepdir "${REDMINE_DIR}/public/plugin_assets"
+
+ fowners -R redmine:redmine \
+ "${REDMINE_DIR}/config" \
+ "${REDMINE_DIR}/files" \
+ "${REDMINE_DIR}/public/plugin_assets" \
+ "${REDMINE_DIR}/tmp" \
+ /var/log/${PN}
+
+ fowners redmine:redmine "${REDMINE_DIR}"
+
+ # protect sensitive data, see bug #406605
+ fperms -R go-rwx \
+ "${REDMINE_DIR}/config" \
+ "${REDMINE_DIR}/files" \
+ "${REDMINE_DIR}/tmp" \
+ /var/log/${PN}
+
+ if use passenger; then
+ has_apache
+ insinto "${APACHE_VHOSTS_CONFDIR}"
+ doins "${FILESDIR}/10_redmine_vhost.conf"
+ fi
+
+ # logrotate
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/redmine.logrotate redmine
+
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+ newinitd "${FILESDIR}/${PN}-3.initd" ${PN}
+ doenvd "${T}/50${PN}"
+}
+
+pkg_postinst() {
+ einfo
+ if [ -e "${EPREFIX}${REDMINE_DIR}/config/initializers/session_store.rb" -o -e "${EPREFIX}${REDMINE_DIR}/config/initializers/secret_token.rb" ]; then
+ elog "Execute the following command to upgrade environment:"
+ elog
+ elog "# emerge --config \"=${CATEGORY}/${PF}\""
+ elog
+ elog "For upgrade instructions take a look at:"
+ elog "http://www.redmine.org/wiki/redmine/RedmineUpgrade"
+ else
+ elog "Execute the following command to initialize environment:"
+ elog
+ elog "# cd ${EPREFIX}${REDMINE_DIR}"
+ elog "# cp config/database.yml.example config/database.yml"
+ elog "# \${EDITOR} config/database.yml"
+ elog "# chown redmine:redmine config/database.yml"
+ elog "# emerge --config \"=${CATEGORY}/${PF}\""
+ elog
+ elog "Installation notes are at official site"
+ elog "http://www.redmine.org/wiki/redmine/RedmineInstall"
+ fi
+ einfo
+}
+
+pkg_config() {
+ if [ ! -e "${EPREFIX}${REDMINE_DIR}/config/database.yml" ]; then
+ eerror "Copy ${EPREFIX}${REDMINE_DIR}/config/database.yml.example to ${EPREFIX}${REDMINE_DIR}/config/database.yml"
+ eerror "then edit this file in order to configure your database settings for \"production\" environment."
+ die
+ fi
+
+ local RAILS_ENV=${RAILS_ENV:-production}
+ if [ ! -L /usr/bin/ruby ]; then
+ eerror "/usr/bin/ruby is not a valid symlink to any ruby implementation."
+ eerror "Please update it via `eselect ruby`"
+ die
+ fi
+ if [[ $RUBY_TARGETS != *$( eselect ruby show | awk 'NR==2' | tr -d ' ' )* ]]; then
+ eerror "/usr/bin/ruby is currently not included in redmine's ruby targets: ${RUBY_TARGETS}."
+ eerror "Please update it via `eselect ruby`"
+ die
+ fi
+ local RUBY=${RUBY:-ruby}
+
+ cd "${EPREFIX}${REDMINE_DIR}" || die
+ if [ -e "${EPREFIX}${REDMINE_DIR}/config/initializers/session_store.rb" ]; then
+ einfo
+ einfo "Generating secret token."
+ einfo
+ rm config/initializers/session_store.rb || die
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die
+ fi
+ if [ -e "${EPREFIX}${REDMINE_DIR}/config/initializers/secret_token.rb" ]; then
+ einfo
+ einfo "Upgrading database."
+ einfo
+
+ einfo "Migrating database."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die
+ einfo "Upgrading the plugin migrations."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:plugins:migrate || die
+ einfo "Clear the cache and the existing sessions."
+ ${RUBY} -S rake tmp:cache:clear || die
+ ${RUBY} -S rake tmp:sessions:clear || die
+ else
+ einfo
+ einfo "Initializing database."
+ einfo
+
+ einfo "Generating a session store secret."
+ ${RUBY} -S rake generate_secret_token || die
+ einfo "Creating the database structure."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die
+ einfo "Populating database with default configuration data."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:load_default_data || die
+ chown redmine:redmine "${EPREFIX}${REDMINE_DIR}"/log/production.log
+ einfo
+ einfo "If you use sqlite3, please do not forget to change the ownership of the sqlite files."
+ einfo
+ einfo "# cd \"${EPREFIX}${REDMINE_DIR}\""
+ einfo "# chown redmine:redmine db/ db/*.sqlite3"
+ einfo
+ fi
+}
diff --git a/www-apps/redmine/redmine-3.3.4-r1.ebuild b/www-apps/redmine/redmine-3.3.4-r1.ebuild
new file mode 100644
index 000000000000..113a62483531
--- /dev/null
+++ b/www-apps/redmine/redmine-3.3.4-r1.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+# ruby24 don't have required deps
+USE_RUBY="ruby22 ruby23"
+inherit eutils depend.apache ruby-ng user
+
+DESCRIPTION="Flexible project management web application using the Ruby on Rails framework"
+HOMEPAGE="http://www.redmine.org/"
+SRC_URI="http://www.redmine.org/releases/${P}.tar.gz"
+
+KEYWORDS="~amd64"
+LICENSE="GPL-2"
+SLOT="0"
+# All db-related USEs are ineffective since we depend on rails
+# which depends on activerecord which depends on all ruby's db bindings
+#IUSE="ldap openid imagemagick postgres sqlite mysql fastcgi passenger"
+IUSE="imagemagick fastcgi ldap markdown passenger"
+
+ruby_add_rdepend "
+ dev-ruby/actionpack-action_caching
+ dev-ruby/actionpack-xml_parser:0
+ >=dev-ruby/builder-3.2.2:3.2
+ >=dev-ruby/coderay-1.1.0
+ dev-ruby/i18n:0.7
+ >=dev-ruby/jquery-rails-3.1.4:3
+ dev-ruby/loofah
+ dev-ruby/mime-types:*
+ dev-ruby/mimemagic
+ >=dev-ruby/nokogiri-1.6.8
+ dev-ruby/protected_attributes
+ >=dev-ruby/rack-openid-0.2.1
+ >=dev-ruby/rails-4.2.5.2:4.2
+ >=dev-ruby/rails-html-sanitizer-1.0.3
+ dev-ruby/request_store:1.0.5
+ >=dev-ruby/roadie-rails-1.1.0
+ >=dev-ruby/rbpdf-1.19.2
+ >=dev-ruby/ruby-openid-2.3.0
+ dev-ruby/rubygems
+ fastcgi? ( dev-ruby/fcgi )
+ imagemagick? ( >=dev-ruby/rmagick-2.14.0 )
+ ldap? ( >=dev-ruby/ruby-net-ldap-0.12.0 )
+ markdown? ( >=dev-ruby/redcarpet-3.3.2 )
+ passenger? ( www-apache/passenger )
+ "
+# TODO add USE doc and test
+#ruby_add_bdepend ">=dev-ruby/rdoc-2.4.2
+# dev-ruby/yard
+# test? (
+# >=dev-ruby/shoulda-3.3.2
+# >=dev-ruby/mocha-0.13.3
+# >=dev-ruby/capybara-2.0.0
+# )"
+
+REDMINE_DIR="/var/lib/${PN}"
+
+pkg_setup() {
+ enewgroup redmine
+ enewuser redmine -1 -1 "${REDMINE_DIR}" redmine
+}
+
+all_ruby_prepare() {
+ rm -r log files/delete.me Gemfile || die
+
+ # bug #406605
+ rm .{git,hg}ignore || die
+
+ cat > "${T}/50${PN}" <<-EOF || die
+ CONFIG_PROTECT="${EROOT%/}${REDMINE_DIR}/config"
+ CONFIG_PROTECT_MASK="${EROOT%/}${REDMINE_DIR}/config/locales ${EROOT%/}${REDMINE_DIR}/config/settings.yml"
+ EOF
+
+ # remove ldap staff module if disabled to avoid #413779
+ use ldap || rm app/models/auth_source_ldap.rb || die
+
+ eapply "${FILESDIR}/${P}_requires.patch"
+}
+
+all_ruby_install() {
+ dodoc doc/* README.rdoc
+ rm -r doc appveyor.yml CONTRIBUTING.md README.rdoc || die
+
+ keepdir /var/log/${PN}
+
+ insinto "${REDMINE_DIR}"
+ doins -r .
+ insinto "${REDMINE_DIR}/config"
+ doins "${FILESDIR}/additional_environment.rb"
+ keepdir "${REDMINE_DIR}/files"
+ keepdir "${REDMINE_DIR}/public/plugin_assets"
+
+ fowners -R redmine:redmine \
+ "${REDMINE_DIR}/config" \
+ "${REDMINE_DIR}/files" \
+ "${REDMINE_DIR}/public/plugin_assets" \
+ "${REDMINE_DIR}/tmp" \
+ /var/log/${PN}
+
+ fowners redmine:redmine "${REDMINE_DIR}"
+
+ # protect sensitive data, see bug #406605
+ fperms -R go-rwx \
+ "${REDMINE_DIR}/config" \
+ "${REDMINE_DIR}/files" \
+ "${REDMINE_DIR}/tmp" \
+ /var/log/${PN}
+
+ if use passenger; then
+ has_apache
+ insinto "${APACHE_VHOSTS_CONFDIR}"
+ doins "${FILESDIR}/10_redmine_vhost.conf"
+ fi
+
+ # logrotate
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/redmine.logrotate redmine
+
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+ newinitd "${FILESDIR}/${PN}-3.initd" ${PN}
+ doenvd "${T}/50${PN}"
+}
+
+pkg_postinst() {
+ einfo
+ if [[ -e "${EROOT%/}${REDMINE_DIR}/config/initializers/session_store.rb" \
+ || -e "${EROOT%/}${REDMINE_DIR}/config/initializers/secret_token.rb" ]]
+ then
+ elog "Execute the following command to upgrade environment:"
+ elog
+ elog "# emerge --config \"=${CATEGORY}/${PF}\""
+ elog
+ elog "For upgrade instructions take a look at:"
+ elog "http://www.redmine.org/wiki/redmine/RedmineUpgrade"
+ else
+ elog "Execute the following command to initialize environment:"
+ elog
+ elog "# cd ${EROOT%/}${REDMINE_DIR}"
+ elog "# cp config/database.yml.example config/database.yml"
+ elog "# \${EDITOR} config/database.yml"
+ elog "# chown redmine:redmine config/database.yml"
+ elog "# emerge --config \"=${CATEGORY}/${PF}\""
+ elog
+ elog "Installation notes are at official site"
+ elog "http://www.redmine.org/wiki/redmine/RedmineInstall"
+ fi
+ einfo
+}
+
+pkg_config() {
+ if [[ ! -e "${EROOT%/}${REDMINE_DIR}/config/database.yml" ]]; then
+ eerror "Copy ${EROOT%/}${REDMINE_DIR}/config/database.yml.example to"
+ eerror "${EROOT%/}${REDMINE_DIR}/config/database.yml then edit this"
+ eerror "file in order to configure your database settings for"
+ eerror "\"production\" environment."
+ die
+ fi
+
+ local RAILS_ENV=${RAILS_ENV:-production}
+ if [[ ! -L /usr/bin/ruby ]]; then
+ eerror "/usr/bin/ruby is not a valid symlink to any ruby implementation."
+ eerror "Please update it via `eselect ruby`"
+ die
+ fi
+ if [[ $RUBY_TARGETS != *$( eselect ruby show | awk 'NR==2' | tr -d ' ' )* ]]
+ then
+ eerror "/usr/bin/ruby is currently not included in redmine's ruby targets:"
+ eerror "${RUBY_TARGETS}."
+ eerror "Please update it via `eselect ruby`"
+ die
+ fi
+ local RUBY=${RUBY:-ruby}
+
+ cd "${EROOT%/}${REDMINE_DIR}" || die
+ if [[ -e "${EROOT%/}${REDMINE_DIR}/config/initializers/session_store.rb" ]]
+ then
+ einfo
+ einfo "Generating secret token."
+ einfo
+ rm config/initializers/session_store.rb || die
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die
+ fi
+ if [[ -e "${EROOT%/}${REDMINE_DIR}/config/initializers/secret_token.rb" ]]
+ then
+ einfo
+ einfo "Upgrading database."
+ einfo
+
+ einfo "Generating secret token."
+ # Migration from Redmine 2.x
+ rm config/initializers/secret_token.rb || die
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die
+
+ einfo "Migrating database."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die
+ einfo "Upgrading the plugin migrations."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:plugins:migrate || die
+ einfo "Clear the cache and the existing sessions."
+ ${RUBY} -S rake tmp:cache:clear || die
+ ${RUBY} -S rake tmp:sessions:clear || die
+ else
+ einfo
+ einfo "Initializing database."
+ einfo
+
+ einfo "Generating a session store secret."
+ ${RUBY} -S rake generate_secret_token || die
+ einfo "Creating the database structure."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die
+ einfo "Populating database with default configuration data."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:load_default_data || die
+ chown redmine:redmine "${EROOT%/}var/log/redmine/*.log" || die
+ einfo
+ einfo "If you use sqlite3, please do not forget to change the ownership"
+ einfo "of the sqlite files."
+ einfo
+ einfo "# cd \"${EROOT%/}${REDMINE_DIR}\""
+ einfo "# chown redmine:redmine db/ db/*.sqlite3"
+ einfo
+ fi
+}
diff --git a/www-apps/redmine/redmine-3.3.4.ebuild b/www-apps/redmine/redmine-3.3.4.ebuild
new file mode 100644
index 000000000000..b65197f8bc20
--- /dev/null
+++ b/www-apps/redmine/redmine-3.3.4.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+# ruby24 don't have required deps
+USE_RUBY="ruby22 ruby23"
+inherit eutils depend.apache ruby-ng user
+
+DESCRIPTION="Flexible project management web application using the Ruby on Rails framework"
+HOMEPAGE="http://www.redmine.org/"
+SRC_URI="http://www.redmine.org/releases/${P}.tar.gz"
+
+KEYWORDS="~amd64"
+LICENSE="GPL-2"
+SLOT="0"
+# All db-related USEs are ineffective since we depend on rails
+# which depends on activerecord which depends on all ruby's db bindings
+#IUSE="ldap openid imagemagick postgres sqlite mysql fastcgi passenger"
+IUSE="imagemagick fastcgi ldap markdown passenger"
+
+ruby_add_rdepend "
+ dev-ruby/actionpack-action_caching
+ dev-ruby/actionpack-xml_parser:*
+ >=dev-ruby/builder-3.2.2:3.2
+ >=dev-ruby/coderay-1.1.0
+ dev-ruby/i18n:0.7
+ >=dev-ruby/jquery-rails-3.1.4:3
+ dev-ruby/loofah
+ dev-ruby/mime-types:*
+ dev-ruby/mimemagic
+ >=dev-ruby/nokogiri-1.6.8
+ dev-ruby/protected_attributes
+ >=dev-ruby/rack-openid-0.2.1
+ >=dev-ruby/rails-4.2.5.2:4.2
+ >=dev-ruby/rails-html-sanitizer-1.0.3
+ dev-ruby/request_store:1.0.5
+ >=dev-ruby/roadie-rails-1.1.0
+ >=dev-ruby/rbpdf-1.19.2
+ >=dev-ruby/ruby-openid-2.3.0
+ dev-ruby/rubygems
+ fastcgi? ( dev-ruby/fcgi )
+ imagemagick? ( >=dev-ruby/rmagick-2.14.0 )
+ ldap? ( >=dev-ruby/ruby-net-ldap-0.12.0 )
+ markdown? ( >=dev-ruby/redcarpet-3.3.2 )
+ passenger? ( www-apache/passenger )
+ "
+# TODO add USE doc and test
+#ruby_add_bdepend ">=dev-ruby/rdoc-2.4.2
+# dev-ruby/yard
+# test? (
+# >=dev-ruby/shoulda-3.3.2
+# >=dev-ruby/mocha-0.13.3
+# >=dev-ruby/capybara-2.0.0
+# )"
+
+REDMINE_DIR="/var/lib/${PN}"
+
+pkg_setup() {
+ enewgroup redmine
+ enewuser redmine -1 -1 "${REDMINE_DIR}" redmine
+}
+
+all_ruby_prepare() {
+ rm -r log files/delete.me Gemfile || die
+
+ # bug #406605
+ rm .{git,hg}ignore || die
+
+ cat > "${T}/50${PN}" <<-EOF || die
+ CONFIG_PROTECT="${EROOT%/}${REDMINE_DIR}/config"
+ CONFIG_PROTECT_MASK="${EROOT%/}${REDMINE_DIR}/config/locales ${EROOT%/}${REDMINE_DIR}/config/settings.yml"
+ EOF
+
+ # remove ldap staff module if disabled to avoid #413779
+ use ldap || rm app/models/auth_source_ldap.rb || die
+
+ eapply "${FILESDIR}/${P}_requires.patch"
+}
+
+all_ruby_install() {
+ dodoc doc/* README.rdoc
+ rm -r doc appveyor.yml CONTRIBUTING.md README.rdoc || die
+
+ keepdir /var/log/${PN}
+
+ insinto "${REDMINE_DIR}"
+ doins -r .
+ insinto "${REDMINE_DIR}/config"
+ doins "${FILESDIR}/additional_environment.rb"
+ keepdir "${REDMINE_DIR}/files"
+ keepdir "${REDMINE_DIR}/public/plugin_assets"
+
+ fowners -R redmine:redmine \
+ "${REDMINE_DIR}/config" \
+ "${REDMINE_DIR}/files" \
+ "${REDMINE_DIR}/public/plugin_assets" \
+ "${REDMINE_DIR}/tmp" \
+ /var/log/${PN}
+
+ fowners redmine:redmine "${REDMINE_DIR}"
+
+ # protect sensitive data, see bug #406605
+ fperms -R go-rwx \
+ "${REDMINE_DIR}/config" \
+ "${REDMINE_DIR}/files" \
+ "${REDMINE_DIR}/tmp" \
+ /var/log/${PN}
+
+ if use passenger; then
+ has_apache
+ insinto "${APACHE_VHOSTS_CONFDIR}"
+ doins "${FILESDIR}/10_redmine_vhost.conf"
+ fi
+
+ # logrotate
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/redmine.logrotate redmine
+
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+ newinitd "${FILESDIR}/${PN}-3.initd" ${PN}
+ doenvd "${T}/50${PN}"
+}
+
+pkg_postinst() {
+ einfo
+ if [[ -e "${EROOT%/}${REDMINE_DIR}/config/initializers/session_store.rb" \
+ || -e "${EROOT%/}${REDMINE_DIR}/config/initializers/secret_token.rb" ]]
+ then
+ elog "Execute the following command to upgrade environment:"
+ elog
+ elog "# emerge --config \"=${CATEGORY}/${PF}\""
+ elog
+ elog "For upgrade instructions take a look at:"
+ elog "http://www.redmine.org/wiki/redmine/RedmineUpgrade"
+ else
+ elog "Execute the following command to initialize environment:"
+ elog
+ elog "# cd ${EROOT%/}${REDMINE_DIR}"
+ elog "# cp config/database.yml.example config/database.yml"
+ elog "# \${EDITOR} config/database.yml"
+ elog "# chown redmine:redmine config/database.yml"
+ elog "# emerge --config \"=${CATEGORY}/${PF}\""
+ elog
+ elog "Installation notes are at official site"
+ elog "http://www.redmine.org/wiki/redmine/RedmineInstall"
+ fi
+ einfo
+}
+
+pkg_config() {
+ if [[ ! -e "${EROOT%/}${REDMINE_DIR}/config/database.yml" ]]; then
+ eerror "Copy ${EROOT%/}${REDMINE_DIR}/config/database.yml.example to"
+ eerror "${EROOT%/}${REDMINE_DIR}/config/database.yml then edit this"
+ eerror "file in order to configure your database settings for"
+ eerror "\"production\" environment."
+ die
+ fi
+
+ local RAILS_ENV=${RAILS_ENV:-production}
+ if [[ ! -L /usr/bin/ruby ]]; then
+ eerror "/usr/bin/ruby is not a valid symlink to any ruby implementation."
+ eerror "Please update it via `eselect ruby`"
+ die
+ fi
+ if [[ $RUBY_TARGETS != *$( eselect ruby show | awk 'NR==2' | tr -d ' ' )* ]]
+ then
+ eerror "/usr/bin/ruby is currently not included in redmine's ruby targets:"
+ eerror "${RUBY_TARGETS}."
+ eerror "Please update it via `eselect ruby`"
+ die
+ fi
+ local RUBY=${RUBY:-ruby}
+
+ cd "${EROOT%/}${REDMINE_DIR}" || die
+ if [[ -e "${EROOT%/}${REDMINE_DIR}/config/initializers/session_store.rb" ]]
+ then
+ einfo
+ einfo "Generating secret token."
+ einfo
+ rm config/initializers/session_store.rb || die
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die
+ fi
+ if [[ -e "${EROOT%/}${REDMINE_DIR}/config/initializers/secret_token.rb" ]]
+ then
+ einfo
+ einfo "Upgrading database."
+ einfo
+
+ einfo "Generating secret token."
+ # Migration from Redmine 2.x
+ rm config/initializers/secret_token.rb || die
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die
+
+ einfo "Migrating database."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die
+ einfo "Upgrading the plugin migrations."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:plugins:migrate || die
+ einfo "Clear the cache and the existing sessions."
+ ${RUBY} -S rake tmp:cache:clear || die
+ ${RUBY} -S rake tmp:sessions:clear || die
+ else
+ einfo
+ einfo "Initializing database."
+ einfo
+
+ einfo "Generating a session store secret."
+ ${RUBY} -S rake generate_secret_token || die
+ einfo "Creating the database structure."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die
+ einfo "Populating database with default configuration data."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:load_default_data || die
+ chown redmine:redmine "${EROOT%/}var/log/redmine/*.log" || die
+ einfo
+ einfo "If you use sqlite3, please do not forget to change the ownership"
+ einfo "of the sqlite files."
+ einfo
+ einfo "# cd \"${EROOT%/}${REDMINE_DIR}\""
+ einfo "# chown redmine:redmine db/ db/*.sqlite3"
+ einfo
+ fi
+}
diff --git a/www-apps/redmine/redmine-3.4.2-r1.ebuild b/www-apps/redmine/redmine-3.4.2-r1.ebuild
new file mode 100644
index 000000000000..d50f5c1e5135
--- /dev/null
+++ b/www-apps/redmine/redmine-3.4.2-r1.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+# ruby24 don't have required deps
+USE_RUBY="ruby22 ruby23"
+inherit eutils depend.apache ruby-ng user
+
+DESCRIPTION="Flexible project management web application using the Ruby on Rails framework"
+HOMEPAGE="http://www.redmine.org/"
+SRC_URI="http://www.redmine.org/releases/${P}.tar.gz"
+
+KEYWORDS="~amd64"
+LICENSE="GPL-2"
+SLOT="0"
+# All db-related USEs are ineffective since we depend on rails
+# which depends on activerecord which depends on all ruby's db bindings
+#IUSE="ldap openid imagemagick postgres sqlite mysql fastcgi passenger"
+IUSE="imagemagick fastcgi ldap markdown passenger"
+
+ruby_add_rdepend "
+ dev-ruby/actionpack-action_caching
+ dev-ruby/actionpack-xml_parser:0
+ >=dev-ruby/builder-3.2.2:3.2
+ >=dev-ruby/coderay-1.1.0
+ dev-ruby/i18n:0.7
+ >=dev-ruby/jquery-rails-3.1.4:3
+ dev-ruby/loofah
+ dev-ruby/mime-types:*
+ dev-ruby/mimemagic
+ >=dev-ruby/nokogiri-1.6.8
+ dev-ruby/protected_attributes
+ >=dev-ruby/rack-openid-0.2.1
+ >=dev-ruby/rails-4.2.5.2:4.2
+ >=dev-ruby/rails-html-sanitizer-1.0.3
+ dev-ruby/request_store:1.0.5
+ >=dev-ruby/roadie-rails-1.1.0
+ >=dev-ruby/rbpdf-1.19.2
+ >=dev-ruby/ruby-openid-2.3.0
+ dev-ruby/rubygems
+ fastcgi? ( dev-ruby/fcgi )
+ imagemagick? ( >=dev-ruby/rmagick-2.14.0 )
+ ldap? ( >=dev-ruby/ruby-net-ldap-0.12.0 )
+ markdown? ( >=dev-ruby/redcarpet-3.3.2 )
+ passenger? ( www-apache/passenger )
+ "
+# TODO add USE doc and test
+#ruby_add_bdepend ">=dev-ruby/rdoc-2.4.2
+# dev-ruby/yard
+# test? (
+# >=dev-ruby/shoulda-3.3.2
+# >=dev-ruby/mocha-0.13.3
+# >=dev-ruby/capybara-2.0.0
+# )"
+
+REDMINE_DIR="/var/lib/${PN}"
+
+pkg_setup() {
+ enewgroup redmine
+ enewuser redmine -1 -1 "${REDMINE_DIR}" redmine
+}
+
+all_ruby_prepare() {
+ rm -r log files/delete.me Gemfile || die
+
+ # bug #406605
+ rm .{git,hg}ignore || die
+
+ cat > "${T}/50${PN}" <<-EOF || die
+ CONFIG_PROTECT="${EROOT%/}${REDMINE_DIR}/config"
+ CONFIG_PROTECT_MASK="${EROOT%/}${REDMINE_DIR}/config/locales ${EROOT%/}${REDMINE_DIR}/config/settings.yml"
+ EOF
+
+ # remove ldap staff module if disabled to avoid #413779
+ use ldap || rm app/models/auth_source_ldap.rb || die
+
+ eapply "${FILESDIR}/${PN}-3.3.4_requires.patch"
+}
+
+all_ruby_install() {
+ dodoc doc/* README.rdoc
+ rm -r doc appveyor.yml CONTRIBUTING.md README.rdoc || die
+
+ keepdir /var/log/${PN}
+
+ insinto "${REDMINE_DIR}"
+ doins -r .
+ insinto "${REDMINE_DIR}/config"
+ doins "${FILESDIR}/additional_environment.rb"
+ keepdir "${REDMINE_DIR}/files"
+ keepdir "${REDMINE_DIR}/public/plugin_assets"
+
+ fowners -R redmine:redmine \
+ "${REDMINE_DIR}/config" \
+ "${REDMINE_DIR}/files" \
+ "${REDMINE_DIR}/public/plugin_assets" \
+ "${REDMINE_DIR}/tmp" \
+ /var/log/${PN}
+
+ fowners redmine:redmine "${REDMINE_DIR}"
+
+ # protect sensitive data, see bug #406605
+ fperms -R go-rwx \
+ "${REDMINE_DIR}/config" \
+ "${REDMINE_DIR}/files" \
+ "${REDMINE_DIR}/tmp" \
+ /var/log/${PN}
+
+ if use passenger; then
+ has_apache
+ insinto "${APACHE_VHOSTS_CONFDIR}"
+ doins "${FILESDIR}/10_redmine_vhost.conf"
+ fi
+
+ # logrotate
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/redmine.logrotate redmine
+
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+ newinitd "${FILESDIR}/${PN}-3.initd" ${PN}
+ doenvd "${T}/50${PN}"
+}
+
+pkg_postinst() {
+ einfo
+ if [[ -e "${EROOT%/}${REDMINE_DIR}/config/initializers/session_store.rb" \
+ || -e "${EROOT%/}${REDMINE_DIR}/config/initializers/secret_token.rb" ]]
+ then
+ elog "Execute the following command to upgrade environment:"
+ elog
+ elog "# emerge --config \"=${CATEGORY}/${PF}\""
+ elog
+ elog "For upgrade instructions take a look at:"
+ elog "http://www.redmine.org/wiki/redmine/RedmineUpgrade"
+ else
+ elog "Execute the following command to initialize environment:"
+ elog
+ elog "# cd ${EROOT%/}${REDMINE_DIR}"
+ elog "# cp config/database.yml.example config/database.yml"
+ elog "# \${EDITOR} config/database.yml"
+ elog "# chown redmine:redmine config/database.yml"
+ elog "# emerge --config \"=${CATEGORY}/${PF}\""
+ elog
+ elog "Installation notes are at official site"
+ elog "http://www.redmine.org/wiki/redmine/RedmineInstall"
+ fi
+ einfo
+}
+
+pkg_config() {
+ if [[ ! -e "${EROOT%/}${REDMINE_DIR}/config/database.yml" ]]; then
+ eerror "Copy ${EROOT%/}${REDMINE_DIR}/config/database.yml.example to"
+ eerror "${EROOT%/}${REDMINE_DIR}/config/database.yml then edit this"
+ eerror "file in order to configure your database settings for"
+ eerror "\"production\" environment."
+ die
+ fi
+
+ local RAILS_ENV=${RAILS_ENV:-production}
+ if [[ ! -L /usr/bin/ruby ]]; then
+ eerror "/usr/bin/ruby is not a valid symlink to any ruby implementation."
+ eerror "Please update it via `eselect ruby`"
+ die
+ fi
+ if [[ $RUBY_TARGETS != *$( eselect ruby show | awk 'NR==2' | tr -d ' ' )* ]]
+ then
+ eerror "/usr/bin/ruby is currently not included in redmine's ruby targets:"
+ eerror "${RUBY_TARGETS}."
+ eerror "Please update it via `eselect ruby`"
+ die
+ fi
+ local RUBY=${RUBY:-ruby}
+
+ cd "${EROOT%/}${REDMINE_DIR}" || die
+ if [[ -e "${EROOT%/}${REDMINE_DIR}/config/initializers/session_store.rb" ]]
+ then
+ einfo
+ einfo "Generating secret token."
+ einfo
+ rm config/initializers/session_store.rb || die
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die
+ fi
+ if [[ -e "${EROOT%/}${REDMINE_DIR}/config/initializers/secret_token.rb" ]]
+ then
+ einfo
+ einfo "Upgrading database."
+ einfo
+
+ einfo "Generating secret token."
+ # Migration from Redmine 2.x
+ rm config/initializers/secret_token.rb || die
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die
+
+ einfo "Migrating database."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die
+ einfo "Upgrading the plugin migrations."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:plugins:migrate || die
+ einfo "Clear the cache and the existing sessions."
+ ${RUBY} -S rake tmp:cache:clear || die
+ ${RUBY} -S rake tmp:sessions:clear || die
+ else
+ einfo
+ einfo "Initializing database."
+ einfo
+
+ einfo "Generating a session store secret."
+ ${RUBY} -S rake generate_secret_token || die
+ einfo "Creating the database structure."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die
+ einfo "Populating database with default configuration data."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:load_default_data || die
+ chown redmine:redmine "${EROOT%/}var/log/redmine/*.log" || die
+ einfo
+ einfo "If you use sqlite3, please do not forget to change the ownership"
+ einfo "of the sqlite files."
+ einfo
+ einfo "# cd \"${EROOT%/}${REDMINE_DIR}\""
+ einfo "# chown redmine:redmine db/ db/*.sqlite3"
+ einfo
+ fi
+}
diff --git a/www-apps/redmine/redmine-3.4.2.ebuild b/www-apps/redmine/redmine-3.4.2.ebuild
new file mode 100644
index 000000000000..50abc9804762
--- /dev/null
+++ b/www-apps/redmine/redmine-3.4.2.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+# ruby24 don't have required deps
+USE_RUBY="ruby22 ruby23"
+inherit eutils depend.apache ruby-ng user
+
+DESCRIPTION="Flexible project management web application using the Ruby on Rails framework"
+HOMEPAGE="http://www.redmine.org/"
+SRC_URI="http://www.redmine.org/releases/${P}.tar.gz"
+
+KEYWORDS="~amd64"
+LICENSE="GPL-2"
+SLOT="0"
+# All db-related USEs are ineffective since we depend on rails
+# which depends on activerecord which depends on all ruby's db bindings
+#IUSE="ldap openid imagemagick postgres sqlite mysql fastcgi passenger"
+IUSE="imagemagick fastcgi ldap markdown passenger"
+
+ruby_add_rdepend "
+ dev-ruby/actionpack-action_caching
+ dev-ruby/actionpack-xml_parser:*
+ >=dev-ruby/builder-3.2.2:3.2
+ >=dev-ruby/coderay-1.1.0
+ dev-ruby/i18n:0.7
+ >=dev-ruby/jquery-rails-3.1.4:3
+ dev-ruby/loofah
+ dev-ruby/mime-types:*
+ dev-ruby/mimemagic
+ >=dev-ruby/nokogiri-1.6.8
+ dev-ruby/protected_attributes
+ >=dev-ruby/rack-openid-0.2.1
+ >=dev-ruby/rails-4.2.5.2:4.2
+ >=dev-ruby/rails-html-sanitizer-1.0.3
+ dev-ruby/request_store:1.0.5
+ >=dev-ruby/roadie-rails-1.1.0
+ >=dev-ruby/rbpdf-1.19.2
+ >=dev-ruby/ruby-openid-2.3.0
+ dev-ruby/rubygems
+ fastcgi? ( dev-ruby/fcgi )
+ imagemagick? ( >=dev-ruby/rmagick-2.14.0 )
+ ldap? ( >=dev-ruby/ruby-net-ldap-0.12.0 )
+ markdown? ( >=dev-ruby/redcarpet-3.3.2 )
+ passenger? ( www-apache/passenger )
+ "
+# TODO add USE doc and test
+#ruby_add_bdepend ">=dev-ruby/rdoc-2.4.2
+# dev-ruby/yard
+# test? (
+# >=dev-ruby/shoulda-3.3.2
+# >=dev-ruby/mocha-0.13.3
+# >=dev-ruby/capybara-2.0.0
+# )"
+
+REDMINE_DIR="/var/lib/${PN}"
+
+pkg_setup() {
+ enewgroup redmine
+ enewuser redmine -1 -1 "${REDMINE_DIR}" redmine
+}
+
+all_ruby_prepare() {
+ rm -r log files/delete.me Gemfile || die
+
+ # bug #406605
+ rm .{git,hg}ignore || die
+
+ cat > "${T}/50${PN}" <<-EOF || die
+ CONFIG_PROTECT="${EROOT%/}${REDMINE_DIR}/config"
+ CONFIG_PROTECT_MASK="${EROOT%/}${REDMINE_DIR}/config/locales ${EROOT%/}${REDMINE_DIR}/config/settings.yml"
+ EOF
+
+ # remove ldap staff module if disabled to avoid #413779
+ use ldap || rm app/models/auth_source_ldap.rb || die
+
+ eapply "${FILESDIR}/${PN}-3.3.4_requires.patch"
+}
+
+all_ruby_install() {
+ dodoc doc/* README.rdoc
+ rm -r doc appveyor.yml CONTRIBUTING.md README.rdoc || die
+
+ keepdir /var/log/${PN}
+
+ insinto "${REDMINE_DIR}"
+ doins -r .
+ insinto "${REDMINE_DIR}/config"
+ doins "${FILESDIR}/additional_environment.rb"
+ keepdir "${REDMINE_DIR}/files"
+ keepdir "${REDMINE_DIR}/public/plugin_assets"
+
+ fowners -R redmine:redmine \
+ "${REDMINE_DIR}/config" \
+ "${REDMINE_DIR}/files" \
+ "${REDMINE_DIR}/public/plugin_assets" \
+ "${REDMINE_DIR}/tmp" \
+ /var/log/${PN}
+
+ fowners redmine:redmine "${REDMINE_DIR}"
+
+ # protect sensitive data, see bug #406605
+ fperms -R go-rwx \
+ "${REDMINE_DIR}/config" \
+ "${REDMINE_DIR}/files" \
+ "${REDMINE_DIR}/tmp" \
+ /var/log/${PN}
+
+ if use passenger; then
+ has_apache
+ insinto "${APACHE_VHOSTS_CONFDIR}"
+ doins "${FILESDIR}/10_redmine_vhost.conf"
+ fi
+
+ # logrotate
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/redmine.logrotate redmine
+
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+ newinitd "${FILESDIR}/${PN}-3.initd" ${PN}
+ doenvd "${T}/50${PN}"
+}
+
+pkg_postinst() {
+ einfo
+ if [[ -e "${EROOT%/}${REDMINE_DIR}/config/initializers/session_store.rb" \
+ || -e "${EROOT%/}${REDMINE_DIR}/config/initializers/secret_token.rb" ]]
+ then
+ elog "Execute the following command to upgrade environment:"
+ elog
+ elog "# emerge --config \"=${CATEGORY}/${PF}\""
+ elog
+ elog "For upgrade instructions take a look at:"
+ elog "http://www.redmine.org/wiki/redmine/RedmineUpgrade"
+ else
+ elog "Execute the following command to initialize environment:"
+ elog
+ elog "# cd ${EROOT%/}${REDMINE_DIR}"
+ elog "# cp config/database.yml.example config/database.yml"
+ elog "# \${EDITOR} config/database.yml"
+ elog "# chown redmine:redmine config/database.yml"
+ elog "# emerge --config \"=${CATEGORY}/${PF}\""
+ elog
+ elog "Installation notes are at official site"
+ elog "http://www.redmine.org/wiki/redmine/RedmineInstall"
+ fi
+ einfo
+}
+
+pkg_config() {
+ if [[ ! -e "${EROOT%/}${REDMINE_DIR}/config/database.yml" ]]; then
+ eerror "Copy ${EROOT%/}${REDMINE_DIR}/config/database.yml.example to"
+ eerror "${EROOT%/}${REDMINE_DIR}/config/database.yml then edit this"
+ eerror "file in order to configure your database settings for"
+ eerror "\"production\" environment."
+ die
+ fi
+
+ local RAILS_ENV=${RAILS_ENV:-production}
+ if [[ ! -L /usr/bin/ruby ]]; then
+ eerror "/usr/bin/ruby is not a valid symlink to any ruby implementation."
+ eerror "Please update it via `eselect ruby`"
+ die
+ fi
+ if [[ $RUBY_TARGETS != *$( eselect ruby show | awk 'NR==2' | tr -d ' ' )* ]]
+ then
+ eerror "/usr/bin/ruby is currently not included in redmine's ruby targets:"
+ eerror "${RUBY_TARGETS}."
+ eerror "Please update it via `eselect ruby`"
+ die
+ fi
+ local RUBY=${RUBY:-ruby}
+
+ cd "${EROOT%/}${REDMINE_DIR}" || die
+ if [[ -e "${EROOT%/}${REDMINE_DIR}/config/initializers/session_store.rb" ]]
+ then
+ einfo
+ einfo "Generating secret token."
+ einfo
+ rm config/initializers/session_store.rb || die
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die
+ fi
+ if [[ -e "${EROOT%/}${REDMINE_DIR}/config/initializers/secret_token.rb" ]]
+ then
+ einfo
+ einfo "Upgrading database."
+ einfo
+
+ einfo "Generating secret token."
+ # Migration from Redmine 2.x
+ rm config/initializers/secret_token.rb || die
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die
+
+ einfo "Migrating database."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die
+ einfo "Upgrading the plugin migrations."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:plugins:migrate || die
+ einfo "Clear the cache and the existing sessions."
+ ${RUBY} -S rake tmp:cache:clear || die
+ ${RUBY} -S rake tmp:sessions:clear || die
+ else
+ einfo
+ einfo "Initializing database."
+ einfo
+
+ einfo "Generating a session store secret."
+ ${RUBY} -S rake generate_secret_token || die
+ einfo "Creating the database structure."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die
+ einfo "Populating database with default configuration data."
+ RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:load_default_data || die
+ chown redmine:redmine "${EROOT%/}var/log/redmine/*.log" || die
+ einfo
+ einfo "If you use sqlite3, please do not forget to change the ownership"
+ einfo "of the sqlite files."
+ einfo
+ einfo "# cd \"${EROOT%/}${REDMINE_DIR}\""
+ einfo "# chown redmine:redmine db/ db/*.sqlite3"
+ einfo
+ fi
+}