/[packages]/cauldron/teambox/current/SPECS/teambox.spec
ViewVC logotype

Contents of /cauldron/teambox/current/SPECS/teambox.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 64274 - (show annotations) (download)
Fri Mar 4 20:35:21 2011 UTC (14 years, 1 month ago) by shikamaru
File size: 5991 byte(s)
Fix errors and add some helpers

- logrotate script
- httpd conf in a suggested subpackage
- kill buildroot
- buildarch should be noarch
- prevent config files to be overriden

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

  ViewVC Help
Powered by ViewVC 1.1.30