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