]> git.pld-linux.org Git - packages/passenger.git/blame - passenger.spec
- rebuild with fixed ruby ridir path
[packages/passenger.git] / passenger.spec
CommitLineData
b9dbf00f 1#
06811060 2# Conditional build:
b9dbf00f 3%bcond_with tests # test target
06811060 4
a6dd913b 5Summary: A module to bridge Ruby on Rails to Apache
b9dbf00f 6Summary(pl.UTF-8): Moduł służący za bramkę Ruby on Rails do Apache'a
c9e1f73a 7Name: passenger
d9c4c0a1 8Version: 4.0.50
fb2007e3 9Release: 6
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
0b769d0f 17Source0: https://github.com/phusion/passenger/archive/release-%{version}.tar.gz
d9c4c0a1 18# Source0-md5: 69c6ade41d870782ae12c3f49d79ce20
c9e1f73a 19Source1: apache-mod_%{name}.conf
8f90c771
JR
20Patch0: alias+public.patch
21Patch1: dirs.patch
20667242 22Patch2: no-bundler.patch
0b769d0f 23URL: https://www.phusionpassenger.com/
a6dd913b 24BuildRequires: apache-devel >= 2.0.55-1
2be03977 25BuildRequires: apache-tools
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
76045959 33BuildRequires: rpm-pythonprov
fe9ba373 34BuildRequires: rpmbuild(macros) >= 1.559
a6dd913b 35BuildRequires: ruby-devel
50225bc6 36BuildRequires: ruby-rake >= 0.8.0
2423fa08 37BuildRequires: ruby-rdoc
6cb57b65 38BuildRequires: sed >= 4.0
26446e83 39BuildRequires: zlib-devel
bc478f28
ER
40%if %(locale -a | grep -q '^en_US$'; echo $?)
41BuildRequires: glibc-localedb-all
42%endif
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
bc478f28 51Phusion Passenger - a.k.a. mod_passenger - makes deployment of
a6dd913b 52applications built on the revolutionary Ruby on Rails web framework a
53breeze. It follows the usual Ruby on Rails conventions, such as
c9e1f73a 54"Don't-Repeat-Yourself".
a6dd913b 55
b9dbf00f
JB
56%description -l pl.UTF-8
57Phusion Passenger (inaczej mod_passenger) ułatwia wdrażanie aplikacji
58zbudowanych w oparciu o rewolucyjny szkielet WWW Ruby on Rails. Jest
59zgodny ze zwyczajowymi konwencjami Ruby on Rails, takimi jak "nie
60powtarzaj się".
61
bc478f28
ER
62%package -n apache-mod_passenger
63Summary: Apache Module for Phusion Passenger
b9dbf00f 64Summary(pl.UTF-8): Moduł Apache'a dla Phusion Passengera
bc478f28
ER
65License: Boost and BSD and BSD with advertising and MIT and zlib
66Group: Daemons
67Requires: %{name} = %{version}-%{release}
68Requires: apache(modules-api) = %apache_modules_api
20667242 69Requires: ruby-bundler
bc478f28 70Provides: apache(mod_passenger)
8f90c771 71Provides: apache(mod_rails)
bc478f28
ER
72Obsoletes: apache-mod_rails < 4.0
73
74%description -n apache-mod_passenger
75This package contains the pluggable Apache server module for Phusion
b9dbf00f
JB
76Passenger.
77
78%description -n apache-mod_passenger -l pl.UTF-8
79Ten pakiet zawiera ładowalny moduł serwera Apache dla Phusion
80Passengera.
bc478f28
ER
81
82%package -n ruby-passenger-ri
83Summary: ri documentation for Phusion Passenger
b9dbf00f 84Summary(pl.UTF-8): Dokumentacja w formacie ri dla Phusion Passengera
2a03dcd6
JR
85Group: Documentation
86Requires: ruby
bc478f28 87Obsoletes: apache-mod_rails-ri < 4.0
2a03dcd6 88
bc478f28 89%description -n ruby-passenger-ri
b9dbf00f 90ri documentation for Phusion Passenger.
2a03dcd6 91
bc478f28 92%description -n ruby-passenger-ri -l pl.UTF-8
b9dbf00f 93Dokumentacji w formacie ri dla Phusion Passengera.
2a03dcd6 94
a6dd913b 95%prep
c9e1f73a 96%setup -q -n %{name}-release-%{version}
bc478f28 97#%patch0 -p1
8f90c771 98%patch1 -p1
20667242 99%patch2 -p1
8f90c771
JR
100
101__rubydir=$(echo %{ruby_vendorlibdir} | %{__sed} -e 's|/usr||')
102
103%{__sed} -i -e "s|@@LIB@@|%{_lib}|g" \
104 -e "s|@@RUBYLIBDIR@@|$__rubydir|g" ext/common/ResourceLocator.h
2a03dcd6 105
bc478f28
ER
106%{__sed} -i -e 's|#!/usr/bin/env python|#!%{_bindir}/python|' helper-scripts/*.py
107%{__sed} -i -e 's|#!/usr/bin/env ruby|#!%{_bindir}/ruby|' helper-scripts/{prespawn,download_binaries/extconf.rb,*.rb} bin/*
06811060 108
2b222840 109# Don't use bundled libev
b9dbf00f 110%{__rm} -r ext/libev
2b222840 111
a6dd913b 112%build
06811060
ER
113export USE_VENDORED_LIBEV=false
114export CC="%{__cc}"
115export CXX="%{__cxx}"
e0e226e5
JR
116export CFLAGS="%{rpmcflags} -fno-strict-aliasing"
117export CXXFLAGS="%{rpmcxxflags} -fno-strict-aliasing"
118export EXTRA_CFLAGS="%{rpmcflags} -fno-strict-aliasing"
119export EXTRA_CXXFLAGS="%{rpmcxxflags} -fno-strict-aliasing"
b9dbf00f 120export EXTRA_PRE_LDFLAGS="%{rpmldflags}"
bc478f28 121
06811060 122export APACHECTL=%{_sbindir}/apachectl
8749d44c 123export HTTPD_VERSION=$(rpm -q apache-devel --qf '%{V}')
c89bf01e
JR
124export HTTPD=%{_sbindir}/httpd
125export APXS2=%{apxs}
06811060 126
d211a771 127rake apache2 V=1 \
26446e83 128 RELEASE=yes \
c89bf01e 129 OPTIMIZE=yes
06811060
ER
130
131%if %{with tests}
132# Run the tests, capture the output, but don't fail the build if the tests fail
133#
134# This will make the test failure non-critical, but it should be examined
135# anyway.
b9dbf00f 136%{__sed} -i 's|sh "cd test && \./cxx/CxxTestMain"|& rescue true|' build/cxx_tests.rb
06811060
ER
137
138# adjust for rspec 2 while the test suite seems to require RSpec 1.
b9dbf00f 139%{__sed} -i \
06811060
ER
140 "s|return locate_ruby_tool('spec')|return locate_ruby_tool('rspec')|" \
141 lib/phusion_passenger/platform_info/ruby.rb
142
143rake test --trace
144%endif
2a03dcd6 145
bc478f28
ER
146# UTF8 locale needed for doc generation
147LC_ALL=en_US.UTF-8 \
26446e83 148rdoc --ri --op ri lib ext/ruby
2be03977 149%{__rm} -r ri/{GC,IO,Object,Signal,CommonLibraryBuilder,Exception,DaemonController}
26446e83 150%{__rm} ri/{cache.ri,created.rid}
a6dd913b 151
152%install
153rm -rf $RPM_BUILD_ROOT
d833e7f5 154install -d $RPM_BUILD_ROOT{%{_pkglibdir},%{_sysconfdir},%{_mandir}/man{1,8}} \
d25d580b 155 $RPM_BUILD_ROOT{%{ruby_vendorlibdir},%{ruby_vendorarchdir},%{ruby_ridir}} \
681e9caf 156 $RPM_BUILD_ROOT%{_bindir} \
681e9caf 157 $RPM_BUILD_ROOT%{_libdir}/phusion-passenger/agents/apache2 \
158 $RPM_BUILD_ROOT%{_datadir}/phusion-passenger/helper-scripts
a6dd913b 159
bc478f28
ER
160install -p buildout/apache2/mod_passenger.so $RPM_BUILD_ROOT%{_pkglibdir}
161cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/75_mod_passenger.conf
162
163install -p buildout/ruby/ruby-*/passenger_native_support.so $RPM_BUILD_ROOT%{ruby_vendorarchdir}
d25d580b 164cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
bc478f28
ER
165
166install -p bin/passenger-{config,memory-stats,status} bin/passenger $RPM_BUILD_ROOT%{_bindir}
8f90c771 167install -p buildout/agents/{PassengerLoggingAgent,PassengerWatchdog,PassengerHelperAgent,SpawnPreparer,TempDirToucher} $RPM_BUILD_ROOT%{_libdir}/phusion-passenger/agents
bc478f28 168cp -a helper-scripts/* $RPM_BUILD_ROOT%{_datadir}/phusion-passenger/helper-scripts
8f90c771 169cp -a resources node_lib $RPM_BUILD_ROOT%{_datadir}/phusion-passenger/
bc478f28 170
d833e7f5
ER
171cp -p man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
172cp -p man/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
2a03dcd6 173cp -a ri/* $RPM_BUILD_ROOT%{ruby_ridir}
e73e14e7 174
a6dd913b 175%clean
176rm -rf $RPM_BUILD_ROOT
177
bc478f28 178%post -n apache-mod_passenger
a6dd913b 179%service -q httpd restart
180
bc478f28 181%postun -n apache-mod_passenger
a6dd913b 182if [ "$1" = "0" ]; then
183 %service -q httpd restart
184fi
185
186%files
187%defattr(644,root,root,755)
bc478f28 188%doc README.md INSTALL.md
e73e14e7 189%attr(755,root,root) %{_bindir}/passenger
d833e7f5
ER
190%attr(755,root,root) %{_bindir}/passenger-config
191%attr(755,root,root) %{_bindir}/passenger-memory-stats
192%attr(755,root,root) %{_bindir}/passenger-status
d25d580b 193%{_mandir}/man1/passenger-config.1*
d25d580b
ER
194%{_mandir}/man8/passenger-memory-stats.8*
195%{_mandir}/man8/passenger-status.8*
196
197%attr(755,root,root) %{ruby_vendorarchdir}/passenger_native_support.so
198%{ruby_vendorlibdir}/phusion_passenger.rb
199%{ruby_vendorlibdir}/phusion_passenger
200
681e9caf 201%dir %{_libdir}/phusion-passenger
202%dir %{_libdir}/phusion-passenger/agents
bc478f28 203%attr(755,root,root) %{_libdir}/phusion-passenger/agents/PassengerHelperAgent
d833e7f5
ER
204%attr(755,root,root) %{_libdir}/phusion-passenger/agents/PassengerLoggingAgent
205%attr(755,root,root) %{_libdir}/phusion-passenger/agents/PassengerWatchdog
8f90c771
JR
206%attr(755,root,root) %{_libdir}/phusion-passenger/agents/SpawnPreparer
207%attr(755,root,root) %{_libdir}/phusion-passenger/agents/TempDirToucher
681e9caf 208%dir %{_datadir}/phusion-passenger
209%dir %{_datadir}/phusion-passenger/helper-scripts
210%attr(755,root,root) %{_datadir}/phusion-passenger/helper-scripts/*
8f90c771
JR
211%{_datadir}/phusion-passenger/resources
212%{_datadir}/phusion-passenger/node_lib
2a03dcd6 213
bc478f28
ER
214%files -n apache-mod_passenger
215%defattr(644,root,root,755)
216%doc doc/Users?guide?Apache.txt
217%defattr(644,root,root,755)
218%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*_mod_passenger.conf
219%attr(755,root,root) %{_pkglibdir}/mod_passenger.so
220
221%files -n ruby-passenger-ri
2a03dcd6
JR
222%defattr(644,root,root,755)
223%{ruby_ridir}/PhusionPassenger
This page took 0.108153 seconds and 4 git commands to generate.