]> git.pld-linux.org Git - packages/redmine.git/blob - redmine.spec
- rebuild for rails 2.3.16
[packages/redmine.git] / redmine.spec
1 # TODO:
2 #       - other operation modes: rails/webrick, mongrel?\
3 #
4 # for reposman
5 %include        /usr/lib/rpm/macros.perl
6 Summary:        Flexible project management web application
7 Name:           redmine
8 Version:        1.3.2
9 Release:        2
10 License:        GPL v2
11 Group:          Applications/WWW
12 Source0:        http://rubyforge.org/frs/download.php/75910/%{name}-%{version}.tar.gz
13 # Source0-md5:  49b5dc8a4d06b4db855fdda2e30c2a69
14 Source2:        %{name}.conf
15 # Shove UTF-8 down rails throat, needed for rails < 3
16 Source3:        %{name}-fix_params.rb
17 Source4:        %{name}-fix_renderable.rb
18 Source5:        %{name}-fix_utf.rb
19 Patch0:         %{name}-pld.patch
20 Patch1:         %{name}-ldap.patch
21 Patch2:         %{name}-utf-regex.patch
22 Patch3:         %{name}-nogems.patch
23 Patch4:         %{name}-maildomain.patch
24 Patch5:         %{name}-gantt.patch
25 Patch6:         %{name}-git-parse.patch
26 Patch7:         %{name}-tmail.patch
27 URL:            http://www.redmine.org/
28 BuildRequires:  dos2unix
29 BuildRequires:  perl-base
30 BuildRequires:  rpm-perlprov
31 BuildRequires:  rpmbuild(macros) >= 1.202
32 Requires(postun):       /usr/sbin/userdel
33 Requires(pre):  /bin/id
34 Requires(pre):  /usr/sbin/useradd
35 Requires:       apache(mod_rails)
36 Requires:       ruby-RMagick
37 Requires:       ruby-SyslogLogger
38 Requires:       ruby-coderay >= 1.0.0
39 Requires:       ruby-i18n >= 0.4.2
40 Requires:       ruby-rails2 = 2.3.16
41 Requires:       ruby-rake
42 Requires:       ruby-rubytree >= 0.5.2
43 Requires:       webapps
44 Requires:       webserver(alias)
45 Suggests:       cvs
46 Suggests:       git-core
47 Suggests:       mercurial
48 Suggests:       ruby-net-ldap
49 Suggests:       ruby-mocha
50 Suggests:       ruby-mysql-library
51 Suggests:       ruby-openid >= 2.1.4
52 Suggests:       subversion >= 1.3
53 Provides:       user(redmine)
54 # Does not work AT ALL with rails 3 currently
55 Conflicts:      ruby-rails >= 3.0
56 BuildArch:      noarch
57 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58
59 %define         _webapps        /etc/webapps
60 %define         _webapp         %{name}
61 %define         _sysconfdir     %{_webapps}/%{_webapp}
62
63 %description
64 Redmine is a flexible project management web application.
65
66 Overview:
67 - Multiple projects support
68 - Flexible role based access control.
69 - Flexible issue tracking system
70 - Gantt chart and calendar
71 - News, documents & files management
72 - Feeds & email notifications.
73 - Per project wiki
74 - Per project forums
75 - Simple time tracking functionality
76 - Custom fields for issues, projects and users
77 - SCM integration (SVN, CVS, Git, Mercurial, Bazaar and Darcs)
78 - Multiple LDAP authentication support
79 - User self-registration support
80 - Multilanguage support
81 - Multiple databases support
82
83 Written using Ruby on Rails framework, it is cross-platform and
84 cross-database.
85
86 %package mailhandler
87 Summary:        Forward emails from email server to redmine
88 Group:          Applications/WWW
89
90 %description mailhandler
91 Reads an email from standard input and forward it to a Redmine server
92 through a HTTP request.
93
94 %package reposman
95 Summary:        SCM repository manager for redmine
96 Group:          Applications/WWW
97 Requires:       ruby-activeresource
98
99 %description reposman
100 SCM repository manager for redmine.
101
102 %package testsuite
103 Summary:        Test suite for Redmine
104 Group:          Applications/WWW
105 Requires:       %{name} = %{version}-%{release}
106
107 %description testsuite
108 Test suite for Redmine.
109
110 %prep
111 %setup -q
112
113 %{__rm} -r vendor/gems
114 %{__rm} -r vendor/plugins/ruby-net-ldap*
115 %{__rm} -r vendor/rails
116
117 find \( -name '*.rb' -o -name '*.rake' \) -print0 | xargs -0 dos2unix -k -q
118
119 %patch0 -p1
120 %patch1 -p1
121 %patch2 -p1
122 %patch3 -p1
123 %patch4 -p1
124 %patch5 -p1
125 %patch6 -p1
126 %patch7 -p1
127
128 # ruby 1.9.3 became very strict about escaping
129 %{__sed} -i  -e 's/\([^\]\+\):\\\([^\]\+\)/\1:\\\\\2/g' \
130              -e 's/^\([^:]\+:\s*\)\([^"]*\)%\([^"]*\)$/\1"\2%\3"/g' \
131              config/locales/*.yml
132
133 find -type f -print0 | \
134         xargs -0 %{__sed} -i -e 's,/usr/bin/env ruby,%{__ruby},' \
135                              -e 's,/usr/local/bin/ruby,%{__ruby},'
136
137 # cleanup backups after patching
138 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
139
140 %build
141
142 %install
143 rm -rf $RPM_BUILD_ROOT
144 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_datadir}/%{name}} \
145         $RPM_BUILD_ROOT{%{_bindir},%{perl_vendorlib}/Apache} \
146         $RPM_BUILD_ROOT/var/lib/%{name}/{files,log,plugin_assets,tmp}
147
148 # Check if everything is installed on update!
149
150 cp -a Rakefile app lib public script test vendor $RPM_BUILD_ROOT%{_datadir}/%{name}
151
152 install -p public/dispatch.cgi.example $RPM_BUILD_ROOT%{_datadir}/%{name}/public/dispatch.cgi
153 install -p public/dispatch.fcgi.example $RPM_BUILD_ROOT%{_datadir}/%{name}/public/dispatch.fcgi
154
155 install -p extra/mail_handler/rdm-mailhandler.rb $RPM_BUILD_ROOT%{_bindir}
156
157 install -p extra/svn/reposman.rb $RPM_BUILD_ROOT%{_bindir}
158 install -p extra/svn/svnserve.wrapper $RPM_BUILD_ROOT%{_bindir}
159 install -p extra/svn/Redmine.pm $RPM_BUILD_ROOT%{perl_vendorlib}/Apache
160
161 cp -a config $RPM_BUILD_ROOT%{_sysconfdir}
162 install -p config/additional_environment.rb.example $RPM_BUILD_ROOT%{_sysconfdir}/config/additional_environment.rb
163 install -p config/configuration.yml.example $RPM_BUILD_ROOT%{_sysconfdir}/config/configuration.yml
164 install -p config/database.yml.example $RPM_BUILD_ROOT%{_sysconfdir}/config/database.yml
165 install -p config/settings.yml $RPM_BUILD_ROOT%{_sysconfdir}/config/settings.yml
166 ln -s %{_sysconfdir}/config $RPM_BUILD_ROOT%{_datadir}/%{name}
167
168 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/config/initializers/fix_params.rb
169 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/config/initializers/fix_renderable.rb
170 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/config/initializers/fix_utf.rb
171
172 cp -a db $RPM_BUILD_ROOT/var/lib/%{name}
173 ln -s /var/lib/%{name}/db $RPM_BUILD_ROOT%{_datadir}/%{name}
174 ln -s /var/lib/%{name}/files $RPM_BUILD_ROOT%{_datadir}/%{name}
175 ln -s /var/lib/%{name}/log $RPM_BUILD_ROOT%{_datadir}/%{name}
176 ln -s /var/lib/%{name}/tmp $RPM_BUILD_ROOT%{_datadir}/%{name}
177 ln -s /var/lib/%{name}/plugin_assets $RPM_BUILD_ROOT%{_datadir}/%{name}/public
178
179 install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
180
181 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/config/*.example
182 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/public/*.example
183
184 %{__sed} -i -e 's,^RAILS_ROOT = .*,RAILS_ROOT = "%{_datadir}/%{name}",' $RPM_BUILD_ROOT%{_sysconfdir}/config/boot.rb
185
186 %clean
187 rm -rf $RPM_BUILD_ROOT
188
189 %pre
190 %useradd -u 212 -d %{_datadir}/%{name} -s /bin/false -c "Redmine User" -g nobody redmine
191
192 %post
193 %banner -e %{name} <<-EOF
194 You may need to update redmine database, to do this run
195 (assuming 'production' is the name of redmine rails environment):
196 cd %{_datadir}/%{name}
197 rake db:migrate RAILS_ENV=production 
198 EOF
199
200 %postun
201 if [ "$1" = "0" ]; then
202         %userremove redmine
203 fi
204
205 %triggerin -- apache < 2.2.0, apache-base
206 %webapp_register httpd %{_webapp}
207 %addusertogroup -q redmine http
208
209 %triggerun -- apache < 2.2.0, apache-base
210 %webapp_unregister httpd %{_webapp}
211
212 %files
213 %defattr(644,root,root,755)
214 %doc README.rdoc doc/* public/*.example config/*.example
215 %doc extra/sample_plugin extra/svn/create_views.sql
216 %dir %attr(750,root,http) %{_sysconfdir}
217 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
218 %dir %attr(755,redmine,root) %{_sysconfdir}/config
219 %attr(644,redmine,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config/*.rb
220 %attr(640,redmine,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config/*.yml
221 %dir %attr(755,redmine,root) %{_sysconfdir}/config/environments
222 %attr(644,redmine,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config/environments/development.rb
223 %attr(644,redmine,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config/environments/production.rb
224 %dir %attr(755,redmine,root) %{_sysconfdir}/config/initializers
225 %attr(644,redmine,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config/initializers/*.rb
226 %dir %attr(755,redmine,root) %{_sysconfdir}/config/locales
227 %attr(644,redmine,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config/locales/*.yml
228 %dir %{_datadir}/%{name}
229 %dir %{_datadir}/%{name}/public
230 %{_datadir}/%{name}/Rakefile
231 %{_datadir}/%{name}/app
232 %{_datadir}/%{name}/lib
233 %{_datadir}/%{name}/public/help
234 %{_datadir}/%{name}/public/images
235 %{_datadir}/%{name}/public/javascripts
236 %{_datadir}/%{name}/public/plugin_assets
237 %{_datadir}/%{name}/public/stylesheets
238 %{_datadir}/%{name}/public/themes
239 %{_datadir}/%{name}/public/*.html
240 %{_datadir}/%{name}/public/favicon.ico
241 %attr(755,redmine,root) %{_datadir}/%{name}/public/dispatch.*
242 %dir %{_datadir}/%{name}/script
243 %dir %{_datadir}/%{name}/script/performance
244 %dir %{_datadir}/%{name}/script/process
245 %attr(755,root,root) %{_datadir}/%{name}/script/[a-o]*
246 %attr(755,root,root) %{_datadir}/%{name}/script/plugin
247 %attr(755,root,root) %{_datadir}/%{name}/script/[q-z]*
248 %attr(755,root,root) %{_datadir}/%{name}/script/performance/*
249 %attr(755,root,root) %{_datadir}/%{name}/script/process/*
250 %{_datadir}/%{name}/vendor
251 %exclude %{_datadir}/%{name}/vendor/plugins/*/test
252 %dir %attr(755,redmine,root) /var/lib/%{name}
253 %dir %attr(755,redmine,root) /var/lib/%{name}/db
254 %dir %attr(755,redmine,root) /var/lib/%{name}/db/migrate
255 %attr(644,redmine,root) /var/lib/%{name}/db/migrate/*
256 %dir %attr(755,redmine,root) /var/lib/%{name}/files
257 %dir %attr(755,redmine,root) /var/lib/%{name}/log
258 %dir %attr(755,redmine,root) /var/lib/%{name}/plugin_assets
259 %dir %attr(755,redmine,root) /var/lib/%{name}/tmp
260 %{_datadir}/%{name}/config
261 %{_datadir}/%{name}/db
262 %{_datadir}/%{name}/files
263 %{_datadir}/%{name}/log
264 %{_datadir}/%{name}/tmp
265
266 %files reposman
267 %defattr(644,root,root,755)
268 %doc extra/svn/create_views.sql
269 %attr(755,root,root) %{_bindir}/reposman.rb
270 %attr(755,root,root) %{_bindir}/svnserve.wrapper
271 %{perl_vendorlib}/Apache/Redmine.pm
272
273 %files mailhandler
274 %defattr(644,root,root,755)
275 %attr(755,root,root) %{_bindir}/rdm-mailhandler.rb
276
277 %files testsuite
278 %defattr(644,root,root,755)
279 %attr(655,redmine,root) %{_sysconfdir}/config/environments/test*.rb
280 %{_datadir}/%{name}/test
281 %{_datadir}/%{name}/vendor/plugins/*/test
This page took 0.128299 seconds and 3 git commands to generate.