Log In
Log In
Places
All Projects
Status Monitor
Collapse sidebar
obs:server:fedora:2.7
passenger
passenger.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File passenger.spec of Package passenger
%global bundled_boost_version 1.60.0 %global passenger_libdir %{_datadir}/passenger/ %global passenger_archdir %{_libdir}/passenger/ %{!?_httpd_mmn: %{expand: %%global _httpd_mmn %%(cat %{_includedir}/httpd/.mmn 2>/dev/null || echo 0-0)}} %{!?_httpd_confdir: %{expand: %%global _httpd_confdir %%{_sysconfdir}/httpd/conf.d}} # /etc/httpd/conf.d with httpd < 2.4 and defined as /etc/httpd/conf.modules.d with httpd >= 2.4 %{!?_httpd_modconfdir: %{expand: %%global _httpd_modconfdir %%{_sysconfdir}/httpd/conf.d}} %{!?_httpd_moddir: %{expand: %%global _httpd_moddir %%{_libdir}/httpd/modules}} Summary: Phusion Passenger application server Name: passenger Version: 5.0.30 Release: 1%{?dist} Group: System Environment/Daemons # Passenger code uses MIT license. # Bundled(Boost) uses Boost Software License # BCrypt and Blowfish files use BSD license. # Documentation is CC-BY-SA # See: https://bugzilla.redhat.com/show_bug.cgi?id=470696#c146 License: Boost and BSD and BSD with advertising and MIT and zlib URL: https://www.phusionpassenger.com Source: http://s3.amazonaws.com/phusion-passenger/releases/passenger-%{version}.tar.gz Source1: passenger.logrotate Source2: rubygem-passenger.tmpfiles Source10: apache-passenger.conf.in Source12: config.json # Load passenger_native_support.so from lib_dir Patch0: passenger-5.0.30-load_from_lib_dir.patch # Unbundle jsoncpp, update to work with libjsoncpp.so.11 Patch1: passenger-5.0.30-json.patch # Do not use calls from bundled libev - they are using only # for debug. Patch2: passenger-5.0.30-libev.patch Requires: rubygems # XXX: Needed to run passenger standalone Requires: rubygem(daemon_controller) >= 1.1.0 Requires: rubygem(rack) Requires: rubygem(rake) Requires: ruby(release) BuildRequires: libcurl-devel BuildRequires: httpd-devel BuildRequires: libev-devel >= 4.0.0 BuildRequires: ruby BuildRequires: ruby-devel BuildRequires: rubygems BuildRequires: rubygems-devel BuildRequires: rubygem(rake) >= 0.8.1 BuildRequires: rubygem(rack) BuildRequires: rubygem(rspec) BuildRequires: rubygem(mime-types) BuildRequires: rubygem(mizuho) BuildRequires: source-highlight BuildRequires: zlib-devel BuildRequires: pcre-devel BuildRequires: openssl-devel BuildRequires: libuv-devel BuildRequires: valgrind-devel #BuildRequires: jsoncpp-devel BuildRequires: glibc-all-langpacks Provides: bundled(boost) = %{bundled_boost_version} Obsoletes: rubygem-passenger < %{version}-%{release} Provides: rubygem-passenger = %{version}-%{release} Obsoletes: rubygem-passenger%{?_isa} < %{version}-%{release} Provides: rubygem-passenger%{?_isa} = %{version}-%{release} Obsoletes: rubygem-passenger-native < %{version}-%{release} Provides: rubygem-passenger-native = %{version}-%{release} Obsoletes: rubygem-passenger-native%{?_isa} < %{version}-%{release} Provides: rubygem-passenger-native%{?_isa} = %{version}-%{release} Obsoletes: rubygem-passenger-native-libs < %{version}-%{release} Provides: rubygem-passenger-native-libs = %{version}-%{release} Obsoletes: rubygem-passenger-native-libs%{?_isa} < %{version}-%{release} Provides: rubygem-passenger-native-libs%{?_isa} = %{version}-%{release} # We are not providing -devel package anymore, so use just "Obsoletes" Obsoletes: rubygem-passenger-devel < %{version}-%{release} Obsoletes: rubygem-passenger-devel%{?_isa} < %{version}-%{release} %description Phusion Passenger® is a web server and application server, designed to be fast, robust and lightweight. It takes a lot of complexity out of deploying web apps, adds powerful enterprise-grade features that are useful in production, and makes administration much easier and less complex. It supports Ruby, Python, Node.js and Meteor. %package -n mod_passenger Summary: Apache Module for Phusion Passenger Group: System Environment/Daemons BuildRequires: httpd-devel Requires: httpd-mmn = %{_httpd_mmn} Requires: %{name}%{?_isa} = %{version}-%{release} License: Boost and BSD and BSD with advertising and MIT and zlib %description -n mod_passenger This package contains the pluggable Apache server module for Phusion Passenger®. %package doc Summary: Phusion Passenger documentation Group: System Environment/Daemons Requires: %{name} = %{version}-%{release} BuildArch: noarch Obsoletes: rubygem-passenger-doc < %{version}-%{release} Provides: rubygem-passenger-doc = %{version}-%{release} License: CC-BY-SA and MIT and (MIT or GPL+) %description doc This package contains documentation files for Phusion Passenger®. %prep %setup -q %patch0 -p1 -b .libdir #%patch1 -p1 -b .libev %patch2 -p1 -b .json # Don't use bundled libev and libuv rm -rf src/cxx_supportlib/vendor-copy/libuv rm -rf src/cxx_supportlib/vendor-modified/libev #rm -rf src/cxx_supportlib/vendor-modified/jsoncpp # Fix the path to json.h #find . -type f -print0 | xargs -0 sed -i -e 's|<jsoncpp/json.h>|<json/json.h>|' # Find files with a hash-bang that do not have executable permissions for script in `find . -type f ! -perm /a+x -name "*.rb"`; do [ ! -z "`head -n 1 $script | grep \"^#!/\"`" ] && chmod -v 755 $script done %build %configure || : export EXTRA_CFLAGS="${CFLAGS}" export EXTRA_CXXFLAGS="${CXXFLAGS}" export EXTRA_LDFLAGS="${LDFLAGS}" export USE_VENDORED_LIBEV=false export USE_VENDORED_LIBEIO=false export USE_VENDORED_LIBUV=false export LANG=en_US.UTF-8 export LANGUAGE=en_US.UTF-8 export LC_ALL=en_US.UTF-8 rake fakeroot \ NATIVE_PACKAGING_METHOD=rpm \ FS_PREFIX=%{_prefix} \ FS_BINDIR=%{_bindir} \ FS_SBINDIR=%{_sbindir} \ FS_DATADIR=%{_datadir} \ FS_LIBDIR=%{_libdir} \ FS_DOCDIR=%{_docdir} \ RUBYLIBDIR=%{passenger_libdir} \ RUBYARCHDIR=%{passenger_archdir} \ APACHE2_MODULE_PATH=%{_httpd_moddir}/mod_passenger.so %install export USE_VENDORED_LIBEV=false export USE_VENDORED_LIBEIO=false export USE_VENDORED_LIBUV=false export LANG=en_US.UTF-8 export LANGUAGE=en_US.UTF-8 export LC_ALL=en_US.UTF-8 cp -a pkg/fakeroot/* %{buildroot}/ # Install bootstrapping code into the executables and the Nginx config script. ./dev/install_scripts_bootstrap_code.rb --ruby %{passenger_libdir} %{buildroot}%{_bindir}/* %{buildroot}%{_sbindir}/* # Install Apache module. mkdir -p %{buildroot}/%{_httpd_moddir} install -pm 0755 buildout/apache2/mod_passenger.so %{buildroot}/%{_httpd_moddir} # Install Apache config. mkdir -p %{buildroot}%{_httpd_confdir} %{buildroot}%{_httpd_modconfdir} sed -e 's|@PASSENGERROOT@|%{passenger_libdir}/phusion_passenger/locations.ini|g' %{SOURCE10} > passenger.conf %if "%{_httpd_modconfdir}" != "%{_httpd_confdir}" sed -n /^LoadModule/p passenger.conf > 10-passenger.conf sed -i /^LoadModule/d passenger.conf touch -r %{SOURCE10} 10-passenger.conf install -pm 0644 10-passenger.conf %{buildroot}%{_httpd_modconfdir}/passenger.conf %endif touch -r %{SOURCE10} passenger.conf install -pm 0644 passenger.conf %{buildroot}%{_httpd_confdir}/passenger.conf # Make our ghost log and run directories... mkdir -p %{buildroot}%{_localstatedir}/log/passenger-analytics # logrotate mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d install -pm 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/passenger # tmpfiles.d mkdir -p %{buildroot}/run mkdir -p %{buildroot}%{_prefix}/lib/tmpfiles.d install -m 0644 %{SOURCE2} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf install -d -m 0755 %{buildroot}/run/%{name} # Install man pages into the proper location. mkdir -p %{buildroot}%{_mandir}/man1 mkdir -p %{buildroot}%{_mandir}/man8 cp man/*.1 %{buildroot}%{_mandir}/man1 cp man/*.8 %{buildroot}%{_mandir}/man8 # Fix Python scripts with shebang which are not executable chmod +x %{buildroot}%{_datadir}/passenger/helper-scripts/wsgi-loader.py # Remove empty release.txt file rm -f %{buildroot}%{_datadir}/%{name}/release.txt # Remove object files and source files. They are needed to compile nginx # using "passenger-install-nginx-module", but it's not according to # guidelines. Debian does not provide these files too, so we stay consistent. # In the long term, it would be better to allow Fedora nginx to support # Passenger. rm -rf %{buildroot}%{passenger_libdir}/ngx_http_passenger_module rm -rf %{buildroot}%{passenger_libdir}/ruby_extension_source rm -rf %{buildroot}%{passenger_libdir}/include rm -rf %{buildroot}%{_libdir}/%{name}/common rm -rf %{buildroot}%{_bindir}/passenger-install-*-module # nginx support if use compiles nginx himself with Passenger support. ln -s %{_sbindir}/nginx %{buildroot}%{passenger_archdir}/PassengerWebHelper %check export USE_VENDORED_LIBEV=false export USE_VENDORED_LIBEIO=false export USE_VENDORED_LIBUV=false # Running the full test suite is not only slow, but also impossible # because not all requirements are packaged by Fedora. It's also not # too useful because Phusion Passenger is automatically tested by a CI # server on every commit. The C++ tests are the most likely to catch # any platform-specific bugs (e.g. bugs caused by wrong compiler options) # so we only run those. Note that the C++ tests are highly timing # sensitive, so sometimes they may fail even though nothing is really # wrong. We therefore do not make failures fatal, although the result # should still be checked. # Currently the tests fail quite often on ARM because of the slower machines. # Test are not included in the tarballs now :'( # cp %{SOURCE12} test/config.json # rake test:cxx || true %files %doc LICENSE CONTRIBUTORS CHANGELOG %{_bindir}/%{name}* %{_prefix}/lib/tmpfiles.d/%{name}.conf %dir /run/%{name} %{passenger_libdir} %{passenger_archdir} %{_sbindir}/* %dir %{_localstatedir}/log/passenger-analytics %config(noreplace) %{_sysconfdir}/logrotate.d/passenger %{_mandir}/man1/* %{_mandir}/man8/* %files doc %doc %{_docdir}/%{name} %files -n mod_passenger %config(noreplace) %{_httpd_modconfdir}/*.conf %if "%{_httpd_modconfdir}" != "%{_httpd_confdir}" %config(noreplace) %{_httpd_confdir}/*.conf %endif %doc doc/Users?guide?Apache.txt %{_httpd_moddir}/mod_passenger.so
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Contact
Support
@OBShq
The Open Build Service is an
openSUSE project
.
Log In
Places
Places
All Projects
Status Monitor