0
|
1 |
# Copyright 1999-2010 Gentoo Foundation |
|
2 |
# Distributed under the terms of the GNU General Public License v2 |
|
3 |
# $Header: /var/cvsroot/gentoo-x86/www-apps/redmine/redmine-0.9.6.ebuild,v 1.2 2010/07/10 04:54:33 matsuu Exp $ |
|
4 |
|
|
5 |
EAPI="2" |
|
6 |
USE_RUBY="ruby18" |
|
7 |
inherit eutils confutils depend.apache ruby-ng |
|
8 |
|
|
9 |
DESCRIPTION="Redmine is a flexible project management web application written using Ruby on Rails framework" |
|
10 |
HOMEPAGE="http://www.redmine.org/" |
|
11 |
SRC_URI="mirror://rubyforge/${PN}/${P}.tar.gz" |
|
12 |
|
|
13 |
KEYWORDS="~amd64 ~x86" |
|
14 |
LICENSE="GPL-2" |
|
15 |
SLOT="0" |
|
16 |
IUSE="cvs darcs fastcgi git imagemagick mercurial mysql openid passenger postgres sqlite3 subversion" |
|
17 |
|
|
18 |
ruby_add_rdepend ">=dev-ruby/rails-2.3.5:2.3 |
|
19 |
>=dev-ruby/coderay-0.7.6.227 |
|
20 |
>=dev-ruby/rubygems-1.3.5 |
|
21 |
>=dev-ruby/ruby-net-ldap-0.0.4" |
|
22 |
#ruby_add_rdepend "dev-ruby/activerecord:2.3[mysql?,postgres?,sqlite3?]" |
|
23 |
ruby_add_rdepend fastcgi dev-ruby/ruby-fcgi |
|
24 |
ruby_add_rdepend imagemagick dev-ruby/rmagick |
|
25 |
ruby_add_rdepend openid dev-ruby/ruby-openid |
|
26 |
#ruby_add_rdepend passenger "=dev-ruby/rack-1.0.1* www-apache/passenger" |
|
27 |
|
|
28 |
RDEPEND="${RDEPEND} |
|
29 |
passenger? ( =dev-ruby/rack-1.0.1* www-apache/passenger ) |
|
30 |
dev-ruby/activerecord:2.3[mysql?,postgres?,sqlite3?] |
|
31 |
cvs? ( >=dev-vcs/cvs-1.12 ) |
|
32 |
darcs? ( dev-vcs/darcs ) |
|
33 |
git? ( dev-vcs/git ) |
|
34 |
mercurial? ( dev-vcs/mercurial ) |
|
35 |
subversion? ( >=dev-vcs/subversion-1.3 )" |
|
36 |
|
|
37 |
REDMINE_DIR="/var/lib/${PN}" |
|
38 |
|
|
39 |
pkg_setup() { |
|
40 |
confutils_require_any mysql postgres sqlite3 |
|
41 |
enewgroup redmine |
|
42 |
# home directory is required for SCM. |
|
43 |
enewuser redmine -1 -1 "${REDMINE_DIR}" redmine |
|
44 |
} |
|
45 |
|
|
46 |
all_ruby_prepare() { |
|
47 |
rm -fr log files/delete.me || die |
|
48 |
rm -fr vendor/plugins/coderay-0.7.6.227 || die |
|
49 |
rm -fr vendor/plugins/ruby-net-ldap-0.0.4 || die |
|
50 |
rm -fr vendor/rails || die |
|
51 |
echo "CONFIG_PROTECT=\"${REDMINE_DIR}/config\"" > "${T}/50${PN}" |
|
52 |
} |
|
53 |
|
|
54 |
all_ruby_install() { |
|
55 |
dodoc doc/{CHANGELOG,INSTALL,README_FOR_APP,RUNNING_TESTS,UPGRADING} || die |
|
56 |
rm -fr doc || die |
|
57 |
|
|
58 |
keepdir /var/log/${PN} || die |
|
59 |
dosym /var/log/${PN}/ "${REDMINE_DIR}/log" || die |
|
60 |
|
|
61 |
insinto "${REDMINE_DIR}" |
|
62 |
doins -r . || die |
|
63 |
keepdir "${REDMINE_DIR}/files" || die |
|
64 |
keepdir "${REDMINE_DIR}/public/plugin_assets" || die |
|
65 |
|
|
66 |
fowners -R redmine:redmine \ |
|
67 |
"${REDMINE_DIR}/config/environment.rb" \ |
|
68 |
"${REDMINE_DIR}/files" \ |
|
69 |
"${REDMINE_DIR}/public/plugin_assets" \ |
|
70 |
"${REDMINE_DIR}/tmp" \ |
|
71 |
/var/log/${PN} || die |
|
72 |
# for SCM |
|
73 |
fowners redmine:redmine "${REDMINE_DIR}" || die |
|
74 |
|
|
75 |
if use passenger ; then |
|
76 |
has_apache |
|
77 |
insinto "${APACHE_VHOSTS_CONFDIR}" |
|
78 |
doins "${FILESDIR}/10_redmine_vhost.conf" || die |
|
79 |
else |
|
80 |
newconfd "${FILESDIR}/${PN}.confd" ${PN} || die |
|
81 |
newinitd "${FILESDIR}/${PN}.initd" ${PN} || die |
|
82 |
keepdir /var/run/${PN} || die |
|
83 |
fowners -R redmine:redmine /var/run/${PN} || die |
|
84 |
dosym /var/run/${PN}/ "${REDMINE_DIR}/tmp/pids" || die |
|
85 |
fi |
|
86 |
doenvd "${T}/50${PN}" || die |
|
87 |
} |
|
88 |
|
|
89 |
pkg_postinst() { |
|
90 |
einfo |
|
91 |
if [ -e "${ROOT}${REDMINE_DIR}/config/initializers/session_store.rb" ] ; then |
|
92 |
elog "Execute the following command to upgrade environment:" |
|
93 |
elog |
|
94 |
elog "# emerge --config =${CATEGORY}/${PF}" |
|
95 |
elog |
|
96 |
elog "For upgrade instructions take a look at:" |
|
97 |
elog "http://www.redmine.org/wiki/redmine/RedmineUpgrade" |
|
98 |
else |
|
99 |
elog "Execute the following command to initlize environment:" |
|
100 |
elog |
|
101 |
elog "# cd ${REDMINE_DIR}" |
|
102 |
elog "# cp config/database.yml.example config/database.yml" |
|
103 |
elog "# \${EDITOR} config/database.yml" |
|
104 |
elog "# emerge --config =${CATEGORY}/${PF}" |
|
105 |
elog |
|
106 |
elog "Installation notes are at official site" |
|
107 |
elog "http://www.redmine.org/wiki/redmine/RedmineInstall" |
|
108 |
fi |
|
109 |
einfo |
|
110 |
} |
|
111 |
|
|
112 |
pkg_config() { |
|
113 |
if [ ! -e "${REDMINE_DIR}/config/database.yml" ] ; then |
|
114 |
eerror "Copy ${REDMINE_DIR}/config/database.yml.example to ${REDMINE_DIR}/config/database.yml and edit this file in order to configure your database settings for \"production\" environment." |
|
115 |
die |
|
116 |
fi |
|
117 |
|
|
118 |
local RAILS_ENV=${RAILS_ENV:-production} |
|
119 |
|
|
120 |
cd "${REDMINE_DIR}" |
|
121 |
if [ -e "${REDMINE_DIR}/config/initializers/session_store.rb" ] ; then |
|
122 |
einfo |
|
123 |
einfo "Upgrade database." |
|
124 |
einfo |
|
125 |
|
|
126 |
einfo "Migrate database." |
|
127 |
RAILS_ENV="${RAILS_ENV}" rake db:migrate || die |
|
128 |
einfo "Upgrade the plugin migrations." |
|
129 |
RAILS_ENV="${RAILS_ENV}" rake db:migrate:upgrade_plugin_migrations # || die |
|
130 |
RAILS_ENV="${RAILS_ENV}" rake db:migrate_plugins || die |
|
131 |
einfo "Clear the cache and the existing sessions." |
|
132 |
rake tmp:cache:clear || die |
|
133 |
rake tmp:sessions:clear || die |
|
134 |
else |
|
135 |
einfo |
|
136 |
einfo "Initialize database." |
|
137 |
einfo |
|
138 |
|
|
139 |
einfo "Generate a session store secret." |
|
140 |
rake config/initializers/session_store.rb || die |
|
141 |
einfo "Create the database structure." |
|
142 |
RAILS_ENV="${RAILS_ENV}" rake db:migrate || die |
|
143 |
einfo "Insert default configuration data in database." |
|
144 |
RAILS_ENV="${RAILS_ENV}" rake redmine:load_default_data || die |
|
145 |
fi |
|
146 |
|
|
147 |
if [ ! -e "${REDMINE_DIR}/config/email.yml" ] ; then |
|
148 |
ewarn |
|
149 |
ewarn "Copy ${REDMINE_DIR}/config/email.yml.example to ${REDMINE_DIR}/config/email.yml and edit this file to adjust your SMTP settings." |
|
150 |
ewarn |
|
151 |
fi |
|
152 |
} |