1 |
shikamaru |
63828 |
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 |
shikamaru |
64274 |
Source101: %{name}.logrotate |
9 |
|
|
Source102: %{name}.httpd |
10 |
shikamaru |
63828 |
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 |
shikamaru |
64274 |
Suggests: %{name}-httpd |
75 |
shikamaru |
63828 |
|
76 |
shikamaru |
64274 |
BuildArch: noarch |
77 |
|
|
|
78 |
shikamaru |
63828 |
%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 |
shikamaru |
64274 |
#------------------------------------------------------------------------------- |
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 |
shikamaru |
63828 |
%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 |
shikamaru |
64274 |
#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 |
shikamaru |
63828 |
%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 |
shikamaru |
64274 |
%{_sysconfdir}/logrotate.d/%{name} |
155 |
shikamaru |
63828 |
%doc README.md LICENSE |
156 |
|
|
%dir %{_var}/www/%{name}/ |
157 |
|
|
%{_var}/www/%{name}/Rakefile |
158 |
|
|
%{_var}/www/%{name}/app/ |
159 |
shikamaru |
64274 |
%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 |
shikamaru |
63828 |
%{_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/ |