1 |
Name: teambox |
2 |
Version: 2.2 |
3 |
Release: %mkrel 1 |
4 |
Summary: A project management software built on Ruby on Rails with a focus on collaboration |
5 |
License: AGPLv3 |
6 |
URL: http://teambox.com/ |
7 |
Source0: https://github.com/teambox/%{name}/tarball/%{name}-%{version}.tar.bz2 |
8 |
Source101: %{name}.logrotate |
9 |
Source102: %{name}.httpd |
10 |
Patch0: teambox-2.2-fix-paperclip.patch |
11 |
# core |
12 |
BuildRequires: rubygem(bundler) >= 1.0.0 |
13 |
BuildRequires: rubygem(rails) >= 2.3.5 |
14 |
BuildRequires: rubygem(text-format) >= 0.6.3 |
15 |
BuildRequires: rubygem(SystemTimer) >= 1.2.0 |
16 |
BuildRequires: rubygem(whenever) >= 0.4.1 |
17 |
BuildRequires: rubygem(icalendar) >= 1.1.3 |
18 |
BuildRequires: rubygem(libxml-ruby) = 1.1.3 |
19 |
BuildRequires: rubygem(rdiscount) >= 1.3.1.1 |
20 |
BuildRequires: rubygem(haml) >= 3.0.0 |
21 |
BuildRequires: rubygem(pg) >= 0.9 |
22 |
BuildRequires: rubygem(mysql) >= 2.8.1 |
23 |
BuildRequires: rubygem(sqlite3) >= 1.2.5 |
24 |
BuildRequires: rubygem(aws-s3) >= 0.6.2 |
25 |
BuildRequires: rubygem(hpricot) >= 0.8.2 |
26 |
BuildRequires: rubygem(json) |
27 |
BuildRequires: rubygem(oa-oauth) |
28 |
BuildRequires: rubygem(tilt) |
29 |
BuildRequires: rubygem(choices) >= 0.2.0 |
30 |
# plugins |
31 |
BuildRequires: rubygem(sprockets-rails) >= 0.0.1 |
32 |
BuildRequires: rubygem(thinking-sphinx) >= 1.3.15 |
33 |
BuildRequires: rubygem(will_paginate) >= 2.3.14 |
34 |
BuildRequires: rubygem(paperclip) >= 2.3.6 |
35 |
BuildRequires: rubygem(vestal_versions) >= 1.0.2 |
36 |
BuildRequires: rubygem(cancan) >= 1.2.0 |
37 |
BuildRequires: rubygem(ruby-debug) >= 0.10.3 |
38 |
# testing |
39 |
BuildRequires: rubygem(cucumber-rails) >= 0.3.0 |
40 |
BuildRequires: rubygem(database_cleaner) >= 0.5.0 |
41 |
BuildRequires: rubygem(factory_girl) >= 1.2.3 |
42 |
BuildRequires: rubygem(launchy) >= 0.3.5 |
43 |
BuildRequires: rubygem(pickle) >= 0.2.1 |
44 |
BuildRequires: rubygem(rcov) |
45 |
# core |
46 |
Requires: webserver |
47 |
Requires: imagemagick |
48 |
Requires: rubygem(bundler) >= 1.0.0 |
49 |
Requires: rubygem(rails) >= 2.3.5 |
50 |
Requires: rubygem(text-format) >= 0.6.3 |
51 |
Requires: rubygem(SystemTimer) >= 1.2.0 |
52 |
Requires: rubygem(whenever) >= 0.4.1 |
53 |
Requires: rubygem(icalendar) >= 1.1.3 |
54 |
Requires: rubygem(libxml-ruby) = 1.1.3 |
55 |
Requires: rubygem(rdiscount) >= 1.3.1.1 |
56 |
Requires: rubygem(haml) >= 3.0.0 |
57 |
Requires: rubygem(pg) >= 0.9 |
58 |
Requires: rubygem(mysql) >= 2.8.1 |
59 |
Requires: rubygem(sqlite3) >= 1.2.5 |
60 |
Requires: rubygem(aws-s3) >= 0.6.2 |
61 |
Requires: rubygem(hpricot) >= 0.8.2 |
62 |
Requires: rubygem(json) |
63 |
Requires: rubygem(oa-oauth) |
64 |
Requires: rubygem(tilt) |
65 |
Requires: rubygem(choices) >= 0.2.0 |
66 |
# plugins |
67 |
Requires: rubygem(sprockets-rails) >= 0.0.1 |
68 |
Requires: rubygem(thinking-sphinx) >= 1.3.15 |
69 |
Requires: rubygem(will_paginate) >= 2.3.14 |
70 |
Requires: rubygem(paperclip) >= 2.3.6 |
71 |
Requires: rubygem(vestal_versions) >= 1.0.2 |
72 |
Requires: rubygem(cancan) >= 1.2.0 |
73 |
Requires: rubygem(ruby-debug) >= 0.10.3 |
74 |
Suggests: %{name}-httpd |
75 |
|
76 |
BuildArch: noarch |
77 |
|
78 |
%description |
79 |
Teambox workflow is project-centered; each project being visible only to people |
80 |
invited to it. |
81 |
Projects have a status wall, conversations, tasks, shared pages and file |
82 |
uploads. You can even post to everywhere just using email. |
83 |
|
84 |
#------------------------------------------------------------------------------- |
85 |
%package httpd |
86 |
Summary: A project management software built on Ruby on Rails with a focus on collaboration |
87 |
Group: Networking/WWW |
88 |
Requires: %{name} = %{version}-%{release} |
89 |
Requires: apache-conf |
90 |
|
91 |
%description httpd |
92 |
Teambox workflow is project-centered; each project being visible only to people |
93 |
invited to it. |
94 |
Projects have a status wall, conversations, tasks, shared pages and file |
95 |
uploads. You can even post to everywhere just using email. |
96 |
|
97 |
This package contains the needed files to use apache as teambox's webserver. |
98 |
|
99 |
%files httpd |
100 |
%defattr(-,root,root,-) |
101 |
%config(noreplace) %{_webappconfdir}/%{name}.conf |
102 |
#------------------------------------------------------------------------------- |
103 |
|
104 |
%prep |
105 |
%setup -q |
106 |
%patch0 -p1 |
107 |
rm -f Gemfile |
108 |
rm -f Gemfile.lock |
109 |
#sed -i -e "s/sqlite3.*/sqlite3'/" \ |
110 |
# -e "s/pg', '~>/pg' ,'>=/" \ |
111 |
# -e "s/thinking-sphinx.*/thinking-sphinx'/" \ |
112 |
# -e "s/rdiscount', '~> 1.6.3/rdiscount', '>= 1.3.1.1/" \ |
113 |
# -e '/mongrel/d' -e '/rspec-rails/d' Gemfile |
114 |
|
115 |
%build |
116 |
# Copy database.example.yml as it’s mandatory to run teambox |
117 |
# add modifications for testing |
118 |
sed '/teambox2_test/a\ |
119 |
socket: var/lib/mysql.sock' config/database.example.yml > config/database.yml |
120 |
rm -f lib/tasks/{rspec,cucumber,rcov}.rake |
121 |
rm -rf vendor/plugins/rspec-on-rails-matchers |
122 |
|
123 |
%install |
124 |
rm -rf %buildroot |
125 |
install -d %{buildroot}%{_var}/www/%{name} |
126 |
cp -ax * %{buildroot}%{_var}/www/%{name} |
127 |
rm -f %{buildroot}%{_var}/www/%{name}/{README.md,LICENSE} |
128 |
|
129 |
#install logrotate file |
130 |
install -D -m644 %{SOURCE101} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} |
131 |
|
132 |
#install sample httpd config |
133 |
install -D -m644 %{SOURCE102} %{buildroot}%{_webappconfdir}/%{name}.conf |
134 |
|
135 |
%check |
136 |
# initialize database |
137 |
mysql_install_db --datadir=$PWD/var/lib/mysql/ --user=$USER |
138 |
# start an unprivileged instance |
139 |
/usr/sbin/mysqld --datadir=$PWD/var/lib/mysql \ |
140 |
--socket $PWD/var/lib/mysql.sock \ |
141 |
--pid-file $PWD/var/lib/mysqld.pid & |
142 |
#little timeout |
143 |
sleep 10 |
144 |
# create the test database and populate it |
145 |
#bundle exec rake db:create db:schema:load RAILS_ENV=test |
146 |
kill `cat $PWD/var/lib/mysqld.pid` |
147 |
|
148 |
|
149 |
%clean |
150 |
rm -rf %buildroot |
151 |
|
152 |
%files |
153 |
%defattr(-,root,root,-) |
154 |
%{_sysconfdir}/logrotate.d/%{name} |
155 |
%doc README.md LICENSE |
156 |
%dir %{_var}/www/%{name}/ |
157 |
%{_var}/www/%{name}/Rakefile |
158 |
%{_var}/www/%{name}/app/ |
159 |
%dir %{_var}/www/%{name}/config/ |
160 |
%config(noreplace) %{_var}/www/%{name}/config/*.yml |
161 |
%{_var}/www/%{name}/config/environments/ |
162 |
%{_var}/www/%{name}/config/initializers/ |
163 |
%{_var}/www/%{name}/config/locales/ |
164 |
%{_var}/www/%{name}/config/*.rb |
165 |
%{_var}/www/%{name}/db/ |
166 |
%doc %{_var}/www/%{name}/doc/ |
167 |
%{_var}/www/%{name}/features/ |
168 |
%{_var}/www/%{name}/lib/ |
169 |
%attr(0755,apache,apache) %{_var}/www/%{name}/log/ |
170 |
%{_var}/www/%{name}/public/ |
171 |
%{_var}/www/%{name}/script/ |
172 |
%{_var}/www/%{name}/spec/ |
173 |
%{_var}/www/%{name}/test/ |
174 |
%attr(0755,apache,apache) %{_var}/www/%{name}/tmp/ |
175 |
%{_var}/www/%{name}/vendor/ |