]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # TODO: | |
3 | # - separate -devel with ExtUtils::Embed and friends? | |
4 | ||
5 | %define apxs /usr/sbin/apxs | |
6 | %define mod_name rails | |
7 | %define apacheconfdir %(%{apxs} -q SYSCONFDIR 2>/dev/null)/conf.d | |
8 | %define apachelibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null) | |
9 | %define apacheprefix %(%{apxs} -q PREFIX 2>/dev/null) | |
10 | %define apachelibdir2 %(%{apxs} -q LIBEXECDIR 2>/dev/null | %{__sed} 's|%{apacheprefix}||') | |
11 | ||
12 | Summary: A module to bridge Ruby on Rails to Apache | |
13 | Name: apache-mod_rails | |
14 | Version: 3.0.11 | |
15 | Release: 2 | |
16 | License: Apache | |
17 | Group: Networking/Daemons/HTTP | |
18 | Source0: http://rubygems.org/downloads/passenger-%{version}.gem | |
19 | # Source0-md5: c0cafef2c5ba522310602f451ea4c941 | |
20 | Source1: %{name}.conf | |
21 | Patch0: %{name}-nogems.patch | |
22 | Patch1: %{name}-alias+public.patch | |
23 | Patch2: %{name}-build.patch | |
24 | URL: http://www.modrails.com | |
25 | BuildRequires: apache-base >= 2.0.55-1 | |
26 | BuildRequires: apache-devel >= 2.0.55-1 | |
27 | BuildRequires: apache-tools >= 2.0.55-1 | |
28 | BuildRequires: apr-devel >= 1:1.0.0 | |
29 | BuildRequires: apr-util-devel >= 1:1.0.0 | |
30 | #BuildRequires: asciidoc | |
31 | BuildRequires: curl-devel | |
32 | BuildRequires: libstdc++-devel | |
33 | BuildRequires: openssl-devel | |
34 | BuildRequires: pkgconfig | |
35 | BuildRequires: rpm-pythonprov | |
36 | BuildRequires: rpmbuild(macros) >= 1.268 | |
37 | BuildRequires: ruby-devel | |
38 | BuildRequires: ruby-rake >= 0.8.0 | |
39 | BuildRequires: sed >= 4.0 | |
40 | BuildRequires: zlib-devel | |
41 | Provides: apache(mod_rails) | |
42 | Obsoletes: apache-mod_rails-rdoc | |
43 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
44 | ||
45 | %description | |
46 | Phusion Passenger — a.k.a. mod_rails — makes deployment of | |
47 | applications built on the revolutionary Ruby on Rails web framework a | |
48 | breeze. It follows the usual Ruby on Rails conventions, such as | |
49 | "Don’t-Repeat-Yourself". | |
50 | ||
51 | %package ri | |
52 | Summary: ri documentation for Apache mod_rails | |
53 | Summary(pl.UTF-8): Dokumentacja w formacie ri dla Apache mod_rails | |
54 | Group: Documentation | |
55 | Requires: ruby | |
56 | ||
57 | %description ri | |
58 | ri documentation for Apache mod_rails. | |
59 | ||
60 | %description ri -l pl.UTF-8 | |
61 | Dokumentacji w formacie ri dla Apache mod_rails. | |
62 | ||
63 | %prep | |
64 | %setup -q -c | |
65 | %{__tar} xf %{SOURCE0} -O data.tar.gz | %{__tar} xz | |
66 | find -newer README -o -print0 | xargs -0 touch --reference %{SOURCE0} | |
67 | %patch0 -p1 | |
68 | %patch1 -p0 | |
69 | %patch2 -p1 | |
70 | ||
71 | %{__sed} -i -e 's!/usr/lib/!%{_libdir}/!g' ext/common/ResourceLocator.h | |
72 | ||
73 | %build | |
74 | (cd ext/libev ; %{__autoconf}) | |
75 | ||
76 | rake apache2 \ | |
77 | RELEASE=yes \ | |
78 | OPTIMIZE=yes \ | |
79 | APXS2=%{apxs} \ | |
80 | CXXFLAGS="%{rpmcxxflags}" \ | |
81 | CFLAGS="%{rpmcflags}" \ | |
82 | CXX=%{__cxx} \ | |
83 | CC=%{__cc} | |
84 | ||
85 | rdoc --ri --op ri lib ext/ruby | |
86 | %{__rm} -r ri/{ConditionVariable,Exception,GC,IO,Object,Process,Signal} | |
87 | %{__rm} ri/{cache.ri,created.rid} | |
88 | ||
89 | %install | |
90 | rm -rf $RPM_BUILD_ROOT | |
91 | install -d $RPM_BUILD_ROOT{%{apachelibdir},%{apacheconfdir},%{_mandir}/man{1,8}} \ | |
92 | $RPM_BUILD_ROOT{%{ruby_rubylibdir},%{ruby_archdir},%{ruby_ridir}} \ | |
93 | $RPM_BUILD_ROOT%{_bindir} \ | |
94 | $RPM_BUILD_ROOT%{_libdir}/phusion-passenger/agents/apache2 \ | |
95 | $RPM_BUILD_ROOT%{_datadir}/phusion-passenger/helper-scripts | |
96 | ||
97 | install ext/apache2/mod_passenger.so $RPM_BUILD_ROOT%{apachelibdir} | |
98 | ||
99 | install ext/ruby/ruby-*/passenger_native_support.so $RPM_BUILD_ROOT%{ruby_archdir} | |
100 | ||
101 | install bin/passenger-{config,make-enterprisey,memory-stats,status} bin/passenger \ | |
102 | $RPM_BUILD_ROOT%{_bindir} | |
103 | ||
104 | install agents/PassengerLoggingAgent agents/PassengerWatchdog $RPM_BUILD_ROOT%{_libdir}/phusion-passenger/agents | |
105 | install agents/apache2/PassengerHelperAgent $RPM_BUILD_ROOT%{_libdir}/phusion-passenger/agents/apache2 | |
106 | ||
107 | install helper-scripts/* $RPM_BUILD_ROOT%{_datadir}/phusion-passenger/helper-scripts | |
108 | ||
109 | cp -a lib/* $RPM_BUILD_ROOT%{ruby_rubylibdir} | |
110 | install man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1 | |
111 | install man/*.8 $RPM_BUILD_ROOT%{_mandir}/man8 | |
112 | ||
113 | cp -a ri/* $RPM_BUILD_ROOT%{ruby_ridir} | |
114 | ||
115 | install %{SOURCE1} $RPM_BUILD_ROOT%{apacheconfdir}/75_mod_rails.conf | |
116 | ||
117 | %{__sed} -i -e 's|#!/usr/bin/env ruby|#!%{_bindir}/ruby|' \ | |
118 | $RPM_BUILD_ROOT%{_bindir}/passenger \ | |
119 | $RPM_BUILD_ROOT%{_bindir}/passenger-* \ | |
120 | $RPM_BUILD_ROOT%{_datadir}/phusion-passenger/helper-scripts/* | |
121 | ||
122 | %{__sed} -i -e 's|#!/usr/bin/env python|#!%{_bindir}/python|' \ | |
123 | $RPM_BUILD_ROOT%{ruby_rubylibdir}/phusion_passenger/wsgi/request_handler.py | |
124 | ||
125 | %clean | |
126 | rm -rf $RPM_BUILD_ROOT | |
127 | ||
128 | %post | |
129 | %service -q httpd restart | |
130 | ||
131 | %postun | |
132 | if [ "$1" = "0" ]; then | |
133 | %service -q httpd restart | |
134 | fi | |
135 | ||
136 | %files | |
137 | %defattr(644,root,root,755) | |
138 | %doc INSTALL README doc/{A*.txt,Security*.txt,*Apache.txt} | |
139 | %doc doc/{A*.html,Security*.html,*Apache.html,images} | |
140 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{apacheconfdir}/*.conf | |
141 | %attr(755,root,root) %{apachelibdir}/* | |
142 | %attr(755,root,root) %{_bindir}/passenger | |
143 | %attr(755,root,root) %{_bindir}/passenger-* | |
144 | %attr(755,root,root) %{ruby_archdir}/*.so | |
145 | %dir %{_libdir}/phusion-passenger | |
146 | %dir %{_libdir}/phusion-passenger/agents | |
147 | %attr(755,root,root) %{_libdir}/phusion-passenger/agents/Passenger* | |
148 | %dir %{_libdir}/phusion-passenger/agents/apache2 | |
149 | %attr(755,root,root) %{_libdir}/phusion-passenger/agents/apache2/Passenger* | |
150 | %{ruby_rubylibdir}/phusion_passenger | |
151 | %{ruby_rubylibdir}/phusion_passenger.rb | |
152 | %dir %{_datadir}/phusion-passenger | |
153 | %dir %{_datadir}/phusion-passenger/helper-scripts | |
154 | %attr(755,root,root) %{_datadir}/phusion-passenger/helper-scripts/* | |
155 | %{_mandir}/man1/* | |
156 | %{_mandir}/man8/* | |
157 | ||
158 | %files ri | |
159 | %defattr(644,root,root,755) | |
160 | %{ruby_ridir}/PhusionPassenger |