Gentoo Archives: gentoo-commits

From: "Manuel Rüger" <mrueg@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-apps/redmine/
Date: Fri, 29 Apr 2016 19:54:35
Message-Id: 1461959636.627ec9e6f42ec32034e49eb2f50602e86d392ca4.mrueg@gentoo
1 commit: 627ec9e6f42ec32034e49eb2f50602e86d392ca4
2 Author: Manuel Rüger <mrueg <AT> gentoo <DOT> org>
3 AuthorDate: Fri Apr 29 19:53:56 2016 +0000
4 Commit: Manuel Rüger <mrueg <AT> gentoo <DOT> org>
5 CommitDate: Fri Apr 29 19:53:56 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=627ec9e6
7
8 Version bump to 3.2.1
9
10 Package-Manager: portage-2.2.28
11
12 www-apps/redmine/Manifest | 1 +
13 www-apps/redmine/redmine-3.2.1.ebuild | 211 ++++++++++++++++++++++++++++++++++
14 2 files changed, 212 insertions(+)
15
16 diff --git a/www-apps/redmine/Manifest b/www-apps/redmine/Manifest
17 index b09b6fe..6ecbf5d 100644
18 --- a/www-apps/redmine/Manifest
19 +++ b/www-apps/redmine/Manifest
20 @@ -1 +1,2 @@
21 DIST redmine-2.6.10.tar.gz 2132564 SHA256 b6b57a2b0150e2ab262f25ee77101b7693ad40aa3d8e7c7c46c4bdcc43f0e3b3 SHA512 9ad509e56b0ab4569e195377c7e917889ac7c4caafcb2fc13d7a9263922e90cd97fac9ac7b89a93d31aad8ded8ffdcd88016e01b8aeb5e9448f80ce1cede138d WHIRLPOOL 7949752ff3bf7b02d83f8fd3ad1eb8d5b8d396c2117b5c86cdc92690950814dd049b1c9e08179f3c68bea08ee779d554629afbec546f918df3a06902a9644140
22 +DIST redmine-3.2.1.tar.gz 2310459 SHA256 5e69ad50eef27b581e58ea0d72f2dcb19f38db3626e3bd6ed27b74d5a4da5bd6 SHA512 20bc63f82aa58a67c10733338e7aebae3348689531f1f0a6dbedb00301f128ef6a29bd6a33d3075b614e01b23f5311a9739b251fb911298e54d4df06df628bf3 WHIRLPOOL b900978ffe6374cefaa8eab9b711e3062559f5579d241edc6381190d3a6ae1f449ca7a13253914c9cd954d064d4b83e9b7ebc4aed5ff62dcf4d4a2022351ba1e
23
24 diff --git a/www-apps/redmine/redmine-3.2.1.ebuild b/www-apps/redmine/redmine-3.2.1.ebuild
25 new file mode 100644
26 index 0000000..531c9d1
27 --- /dev/null
28 +++ b/www-apps/redmine/redmine-3.2.1.ebuild
29 @@ -0,0 +1,211 @@
30 +# Copyright 1999-2016 Gentoo Foundation
31 +# Distributed under the terms of the GNU General Public License v2
32 +# $Id$
33 +
34 +EAPI=5
35 +USE_RUBY="ruby20 ruby21"
36 +inherit eutils depend.apache ruby-ng user
37 +
38 +DESCRIPTION="Flexible project management web application using the Ruby on Rails framework"
39 +HOMEPAGE="http://www.redmine.org/"
40 +SRC_URI="http://www.redmine.org/releases/${P}.tar.gz"
41 +
42 +KEYWORDS="~amd64"
43 +LICENSE="GPL-2"
44 +SLOT="0"
45 +# All db-related USEs are ineffective since we depend on rails
46 +# which depends on activerecord which depends on all ruby's db bindings
47 +#IUSE="ldap openid imagemagick postgres sqlite mysql fastcgi passenger"
48 +IUSE="ldap fastcgi passenger imagemagick"
49 +
50 +ruby_add_rdepend "
51 + dev-ruby/rubygems
52 + >=dev-ruby/rails-4.2.5.2:4.2
53 + >=dev-ruby/jquery-rails-3.1.4:3
54 + >=dev-ruby/coderay-1.1.0
55 + >=dev-ruby/builder-3.0.4:3
56 + >=dev-ruby/roadie-rails-1.1.0
57 + dev-ruby/mime-types:*
58 + =dev-ruby/request_store-1.0.5
59 + >=dev-ruby/rbpdf-1.19.0
60 + dev-ruby/actionpack-action_caching
61 + dev-ruby/actionpack-xml_parser
62 + dev-ruby/protected_attributes
63 + >=dev-ruby/redcarpet-3.3.2
64 + >=dev-ruby/nokogiri-1.6.7.2
65 + ldap? ( >=dev-ruby/ruby-net-ldap-0.12.0 )
66 + >=dev-ruby/ruby-openid-2.3.0
67 + >=dev-ruby/rack-openid-0.2.1
68 + fastcgi? ( dev-ruby/fcgi )
69 + passenger? ( www-apache/passenger )
70 + imagemagick? ( >=dev-ruby/rmagick-2.14.0 )"
71 + # ruby_targets_ruby19? (
72 +# postgres? ( >=dev-ruby/pg-0.11 )
73 +# sqlite3? ( dev-ruby/sqlite3 )
74 +# mysql? ( dev-ruby/mysql2:0.3 )
75 +# )
76 +
77 +#ruby_add_bdepend ">=dev-ruby/rdoc-2.4.2
78 +# dev-ruby/yard
79 +# test? (
80 +# >=dev-ruby/shoulda-3.3.2
81 +# >=dev-ruby/mocha-0.13.3
82 +# >=dev-ruby/capybara-2.0.0
83 +# <dev-ruby/nokogiri-1.6.0
84 +# )"
85 +
86 +REDMINE_DIR="/var/lib/${PN}"
87 +
88 +pkg_setup() {
89 + enewgroup redmine
90 + enewuser redmine -1 -1 "${REDMINE_DIR}" redmine
91 +}
92 +
93 +all_ruby_prepare() {
94 + rm -r log files/delete.me || die
95 +
96 + # bug #406605
97 + rm .gitignore .hgignore || die
98 +
99 + rm Gemfile || die
100 +
101 + echo "CONFIG_PROTECT=\"${EPREFIX}${REDMINE_DIR}/config\"" > "${T}/50${PN}"
102 + echo "CONFIG_PROTECT_MASK=\"${EPREFIX}${REDMINE_DIR}/config/locales ${EPREFIX}${REDMINE_DIR}/config/settings.yml\"" >> "${T}/50${PN}"
103 +
104 + # remove ldap staff module if disabled to avoid #413779
105 + use ldap || rm app/models/auth_source_ldap.rb || die
106 +
107 + # Make it work
108 + sed -i -e "1irequire 'request_store'" app/controllers/application_controller.rb || die
109 + sed -i -e "18irequire 'action_controller'" -e "19irequire 'action_controller/action_caching'"\
110 + app/controllers/welcome_controller.rb || die
111 + sed -i -e "4irequire 'action_dispatch/xml_params_parser'" -e "/Bundler/d" config/application.rb || die
112 + sed -i -e "18irequire 'protected_attributes'" app/models/custom_field.rb || die
113 + sed -i -e "19irequire 'roadie-rails'" app/models/mailer.rb || die
114 +}
115 +
116 +all_ruby_install() {
117 + dodoc doc/{CHANGELOG,INSTALL,README_FOR_APP,RUNNING_TESTS,UPGRADING}
118 + rm -r doc || die
119 + dodoc README.rdoc
120 + rm README.rdoc || die
121 +
122 + keepdir /var/log/${PN}
123 + dosym /var/log/${PN}/ "${REDMINE_DIR}/log"
124 +
125 + insinto "${REDMINE_DIR}"
126 + doins -r .
127 + keepdir "${REDMINE_DIR}/files"
128 + keepdir "${REDMINE_DIR}/public/plugin_assets"
129 +
130 + fowners -R redmine:redmine \
131 + "${REDMINE_DIR}/config" \
132 + "${REDMINE_DIR}/files" \
133 + "${REDMINE_DIR}/public/plugin_assets" \
134 + "${REDMINE_DIR}/tmp" \
135 + /var/log/${PN}
136 +
137 + fowners redmine:redmine "${REDMINE_DIR}"
138 +
139 + # protect sensitive data, see bug #406605
140 + fperms -R go-rwx \
141 + "${REDMINE_DIR}/config" \
142 + "${REDMINE_DIR}/files" \
143 + "${REDMINE_DIR}/tmp" \
144 + /var/log/${PN}
145 +
146 + if use passenger; then
147 + has_apache
148 + insinto "${APACHE_VHOSTS_CONFDIR}"
149 + doins "${FILESDIR}/10_redmine_vhost.conf"
150 + else
151 + newconfd "${FILESDIR}/${PN}.confd" ${PN}
152 + newinitd "${FILESDIR}/${PN}-2.initd" ${PN}
153 + fi
154 + doenvd "${T}/50${PN}"
155 +}
156 +
157 +pkg_postinst() {
158 + einfo
159 + if [ -e "${EPREFIX}${REDMINE_DIR}/config/initializers/session_store.rb" -o -e "${EPREFIX}${REDMINE_DIR}/config/initializers/secret_token.rb" ]; then
160 + elog "Execute the following command to upgrade environment:"
161 + elog
162 + elog "# emerge --config \"=${CATEGORY}/${PF}\""
163 + elog
164 + elog "For upgrade instructions take a look at:"
165 + elog "http://www.redmine.org/wiki/redmine/RedmineUpgrade"
166 + else
167 + elog "Execute the following command to initialize environment:"
168 + elog
169 + elog "# cd ${EPREFIX}${REDMINE_DIR}"
170 + elog "# cp config/database.yml.example config/database.yml"
171 + elog "# \${EDITOR} config/database.yml"
172 + elog "# chown redmine:redmine config/database.yml"
173 + elog "# emerge --config \"=${CATEGORY}/${PF}\""
174 + elog
175 + elog "Installation notes are at official site"
176 + elog "http://www.redmine.org/wiki/redmine/RedmineInstall"
177 + fi
178 + einfo
179 +}
180 +
181 +pkg_config() {
182 + if [ ! -e "${EPREFIX}${REDMINE_DIR}/config/database.yml" ]; then
183 + eerror "Copy ${EPREFIX}${REDMINE_DIR}/config/database.yml.example to ${EPREFIX}${REDMINE_DIR}/config/database.yml"
184 + eerror "then edit this file in order to configure your database settings for \"production\" environment."
185 + die
186 + fi
187 +
188 + local RAILS_ENV=${RAILS_ENV:-production}
189 + if [ ! -L /usr/bin/ruby ]; then
190 + eerror "/usr/bin/ruby is not a valid symlink to any ruby implementation."
191 + eerror "Please update it via `eselect ruby`"
192 + die
193 + fi
194 + if [[ $RUBY_TARGETS != *$( eselect ruby show | awk 'NR==2' | tr -d ' ' )* ]]; then
195 + eerror "/usr/bin/ruby is currently not included in redmine's ruby targets: ${RUBY_TARGETS}."
196 + eerror "Please update it via `eselect ruby`"
197 + die
198 + fi
199 + local RUBY=${RUBY:-ruby}
200 +
201 + cd "${EPREFIX}${REDMINE_DIR}" || die
202 + if [ -e "${EPREFIX}${REDMINE_DIR}/config/initializers/session_store.rb" ]; then
203 + einfo
204 + einfo "Generating secret token."
205 + einfo
206 + rm config/initializers/session_store.rb || die
207 + RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die
208 + fi
209 + if [ -e "${EPREFIX}${REDMINE_DIR}/config/initializers/secret_token.rb" ]; then
210 + einfo
211 + einfo "Upgrading database."
212 + einfo
213 +
214 + einfo "Migrating database."
215 + RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die
216 + einfo "Upgrading the plugin migrations."
217 + RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:plugins:migrate || die
218 + einfo "Clear the cache and the existing sessions."
219 + ${RUBY} -S rake tmp:cache:clear || die
220 + ${RUBY} -S rake tmp:sessions:clear || die
221 + else
222 + einfo
223 + einfo "Initializing database."
224 + einfo
225 +
226 + einfo "Generating a session store secret."
227 + ${RUBY} -S rake generate_secret_token || die
228 + einfo "Creating the database structure."
229 + RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die
230 + einfo "Populating database with default configuration data."
231 + RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:load_default_data || die
232 + chown redmine:redmine "${EPREFIX}${REDMINE_DIR}"/log/production.log
233 + einfo
234 + einfo "If you use sqlite3, please do not forget to change the ownership of the sqlite files."
235 + einfo
236 + einfo "# cd \"${EPREFIX}${REDMINE_DIR}\""
237 + einfo "# chown redmine:redmine db/ db/*.sqlite3"
238 + einfo
239 + fi
240 +}