]> git.pld-linux.org Git - packages/passenger.git/blame - apache-mod_rails.spec
install ruby stuff to vendor dirs
[packages/passenger.git] / apache-mod_rails.spec
CommitLineData
6cb57b65
BZ
1#
2# TODO:
3# - separate -devel with ExtUtils::Embed and friends?
6cb57b65 4
cf570175 5%define gem_name passenger
a6dd913b 6Summary: A module to bridge Ruby on Rails to Apache
7Name: apache-mod_rails
cf570175 8Version: 3.0.19
d25d580b 9Release: 0.3
cf570175
ER
10# Passenger code uses MIT license.
11# Bundled(Boost) uses Boost Software License
12# BCrypt and Blowfish files use BSD license.
13# Documentation is CC-BY-SA
14# See: https://bugzilla.redhat.com/show_bug.cgi?id=470696#c146
15License: Boost and BSD and BSD with advertising and MIT and zlib
c3715c90 16Group: Networking/Daemons/HTTP
cf570175 17Source0: https://github.com/FooBarWidget/passenger/archive/release-%{version}.tar.gz
2a03dcd6 18Source1: %{name}.conf
9ffe5700 19Patch0: %{name}-nogems.patch
26446e83 20Patch1: %{name}-alias+public.patch
f41b67ce 21Patch2: passenger_apache_fix_autofoo.patch
d25d580b 22URL: http://www.modrails.com/
6cb57b65 23BuildRequires: apache-base >= 2.0.55-1
a6dd913b 24BuildRequires: apache-devel >= 2.0.55-1
6cb57b65 25BuildRequires: apache-tools >= 2.0.55-1
26446e83 26BuildRequires: apr-devel >= 1:1.0.0
a6dd913b 27BuildRequires: apr-util-devel >= 1:1.0.0
4e15a504 28#BuildRequires: asciidoc
681e9caf 29BuildRequires: curl-devel
2b222840 30BuildRequires: libev-devel
76045959 31BuildRequires: libstdc++-devel
26446e83 32BuildRequires: openssl-devel
6cb57b65 33BuildRequires: pkgconfig
76045959 34BuildRequires: rpm-pythonprov
fe9ba373 35BuildRequires: rpmbuild(macros) >= 1.559
a6dd913b 36BuildRequires: ruby-devel
50225bc6 37BuildRequires: ruby-rake >= 0.8.0
6cb57b65 38BuildRequires: sed >= 4.0
26446e83 39BuildRequires: zlib-devel
fe9ba373 40%requires_ge_to ruby ruby-devel
d833e7f5 41Requires: apache(modules-api) = %apache_modules_api
a6dd913b 42Provides: apache(mod_rails)
4e15a504 43Obsoletes: apache-mod_rails-rdoc
a6dd913b 44BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45
d25d580b 46%define apxs /usr/sbin/apxs
d833e7f5
ER
47%define _pkglibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
48%define _sysconfdir %(%{apxs} -q SYSCONFDIR 2>/dev/null)/conf.d
49
a6dd913b 50%description
51Phusion Passenger — a.k.a. mod_rails — makes deployment of
52applications built on the revolutionary Ruby on Rails web framework a
53breeze. It follows the usual Ruby on Rails conventions, such as
0a3f766b 54"Don’t-Repeat-Yourself".
a6dd913b 55
2a03dcd6 56%package ri
0a3f766b
ER
57Summary: ri documentation for Apache mod_rails
58Summary(pl.UTF-8): Dokumentacja w formacie ri dla Apache mod_rails
2a03dcd6
JR
59Group: Documentation
60Requires: ruby
61
62%description ri
0a3f766b 63ri documentation for Apache mod_rails.
2a03dcd6
JR
64
65%description ri -l pl.UTF-8
0a3f766b 66Dokumentacji w formacie ri dla Apache mod_rails.
2a03dcd6 67
a6dd913b 68%prep
cf570175 69%setup -q -n %{gem_name}-release-%{version}
9ffe5700 70%patch0 -p1
26446e83 71%patch1 -p0
f41b67ce 72%patch2 -p0
2a03dcd6 73
2b222840
ER
74# Don't use bundled libev
75rm -r ext/libev
76
a6dd913b 77%build
681e9caf 78
cf570175
ER
79cat > fake-httpd <<EOF
80#!/bin/sh
81echo Apache/$(rpm -q apache-devel --qf '%{V}')
82EOF
83chmod a+rx fake-httpd
84
2b222840 85USE_VENDORED_LIBEV=false \
d211a771 86rake apache2 V=1 \
26446e83
JR
87 RELEASE=yes \
88 OPTIMIZE=yes \
cf570175 89 HTTPD=${PWD:-$(pwd)/fake-httpd} \
26446e83 90 APXS2=%{apxs} \
d211a771
ER
91 CC="%{__cc}" \
92 CXX="%{__cxx}" \
26446e83 93 CFLAGS="%{rpmcflags}" \
d211a771 94 CXXFLAGS="%{rpmcxxflags}"
2a03dcd6 95
26446e83
JR
96rdoc --ri --op ri lib ext/ruby
97%{__rm} -r ri/{ConditionVariable,Exception,GC,IO,Object,Process,Signal}
98%{__rm} ri/{cache.ri,created.rid}
a6dd913b 99
100%install
101rm -rf $RPM_BUILD_ROOT
d833e7f5 102install -d $RPM_BUILD_ROOT{%{_pkglibdir},%{_sysconfdir},%{_mandir}/man{1,8}} \
d25d580b 103 $RPM_BUILD_ROOT{%{ruby_vendorlibdir},%{ruby_vendorarchdir},%{ruby_ridir}} \
681e9caf 104 $RPM_BUILD_ROOT%{_bindir} \
681e9caf 105 $RPM_BUILD_ROOT%{_libdir}/phusion-passenger/agents/apache2 \
106 $RPM_BUILD_ROOT%{_datadir}/phusion-passenger/helper-scripts
a6dd913b 107
d833e7f5 108install -p ext/apache2/mod_passenger.so $RPM_BUILD_ROOT%{_pkglibdir}
d25d580b 109install -p ext/ruby/ruby-*/passenger_native_support.so $RPM_BUILD_ROOT%{ruby_vendorarchdir}
d833e7f5
ER
110install -p bin/passenger-{config,memory-stats,status} bin/passenger $RPM_BUILD_ROOT%{_bindir}
111install -p agents/PassengerLoggingAgent agents/PassengerWatchdog $RPM_BUILD_ROOT%{_libdir}/phusion-passenger/agents
112install -p agents/apache2/PassengerHelperAgent $RPM_BUILD_ROOT%{_libdir}/phusion-passenger/agents/apache2
113install -p helper-scripts/* $RPM_BUILD_ROOT%{_datadir}/phusion-passenger/helper-scripts
d25d580b 114cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
d833e7f5
ER
115cp -p man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
116cp -p man/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
2a03dcd6 117cp -a ri/* $RPM_BUILD_ROOT%{ruby_ridir}
d833e7f5 118cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/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|' \
d25d580b 126 $RPM_BUILD_ROOT%{ruby_vendorlibdir}/phusion_passenger/wsgi/request_handler.py
e73e14e7 127
a6dd913b 128%clean
129rm -rf $RPM_BUILD_ROOT
130
131%post
132%service -q httpd restart
133
134%postun
135if [ "$1" = "0" ]; then
136 %service -q httpd restart
137fi
138
139%files
140%defattr(644,root,root,755)
cf570175
ER
141%doc INSTALL README
142#%doc doc/{A*.txt,Security*.txt,*Apache.txt}
143#%doc doc/{A*.html,Security*.html,*Apache.html,images}
d833e7f5
ER
144%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*_mod_rails.conf
145%attr(755,root,root) %{_pkglibdir}/mod_passenger.so
e73e14e7 146%attr(755,root,root) %{_bindir}/passenger
d833e7f5
ER
147%attr(755,root,root) %{_bindir}/passenger-config
148%attr(755,root,root) %{_bindir}/passenger-memory-stats
149%attr(755,root,root) %{_bindir}/passenger-status
d25d580b
ER
150%{_mandir}/man1/passenger-config.1*
151%{_mandir}/man1/passenger-stress-test.1*
152%{_mandir}/man8/passenger-memory-stats.8*
153%{_mandir}/man8/passenger-status.8*
154
155%attr(755,root,root) %{ruby_vendorarchdir}/passenger_native_support.so
156%{ruby_vendorlibdir}/phusion_passenger.rb
157%{ruby_vendorlibdir}/phusion_passenger
158
681e9caf 159%dir %{_libdir}/phusion-passenger
160%dir %{_libdir}/phusion-passenger/agents
d833e7f5
ER
161%attr(755,root,root) %{_libdir}/phusion-passenger/agents/PassengerLoggingAgent
162%attr(755,root,root) %{_libdir}/phusion-passenger/agents/PassengerWatchdog
681e9caf 163%dir %{_libdir}/phusion-passenger/agents/apache2
164%attr(755,root,root) %{_libdir}/phusion-passenger/agents/apache2/Passenger*
681e9caf 165%dir %{_datadir}/phusion-passenger
166%dir %{_datadir}/phusion-passenger/helper-scripts
167%attr(755,root,root) %{_datadir}/phusion-passenger/helper-scripts/*
2a03dcd6 168
2a03dcd6
JR
169%files ri
170%defattr(644,root,root,755)
171%{ruby_ridir}/PhusionPassenger
This page took 0.059397 seconds and 4 git commands to generate.