232 lines
8.2 KiB
RPMSpec
232 lines
8.2 KiB
RPMSpec
%{!?_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}}
|
||
%{!?_httpd_modconfdir: %{expand: %%global _httpd_modconfdir %%{_sysconfdir}/httpd/conf.d}}
|
||
%{!?_httpd_moddir: %{expand: %%global _httpd_moddir %%{_libdir}/httpd/modules}}
|
||
%{!?ruby_vendorlibdir: %global ruby_vendorlibdir %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["vendorlibdir"]')}
|
||
%{!?ruby_vendorarchdir: %global ruby_vendorarchdir %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["vendorarchdir"]')}
|
||
%global passenger_ruby_libdir %{ruby_vendorlibdir}
|
||
|
||
Name:passenger
|
||
Summary: Phusion Passenger application server
|
||
Version: 6.0.17
|
||
Release: 3
|
||
License: Boost and BSD and MIT and zlib
|
||
URL: https://www.phusionpassenger.com
|
||
|
||
Source: http://github.com/phusion/passenger/archive/refs/tags/release-6.0.17.tar.gz
|
||
Source10: passenger.logrotate
|
||
Source11: passenger-selinux.te
|
||
Source100: apache-passenger.conf.in
|
||
Source101: apache-passenger-module.conf
|
||
Source102: passenger.tmpfiles
|
||
|
||
Requires: rubygems rubygem(rack) rubygem(rake) ruby(release)
|
||
|
||
BuildRequires: gcc, gcc-c++ httpd-devel ruby ruby-devel rubygems rubygems-devel
|
||
BuildRequires: rubygem(rake) >= 0.8.1 rubygem(rack) zlib-devel pcre-devel
|
||
BuildRequires: openssl-devel libcurl-devel jsoncpp-devel perl
|
||
|
||
Provides: bundled(boost) = 1.81.0
|
||
|
||
Obsoletes: rubygem-passenger < %{version}-%{release}
|
||
Provides: rubygem-passenger = %{version}-%{release}
|
||
Provides: rubygem-passenger%{?_isa} = %{version}-%{release}
|
||
|
||
Obsoletes: rubygem-passenger-devel < %{version}-%{release}
|
||
Obsoletes: rubygem-passenger-native < %{version}-%{release}
|
||
Obsoletes: rubygem-passenger-native-libs < %{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
|
||
BuildRequires: httpd-devel
|
||
Requires: httpd-mmn = %{_httpd_mmn}
|
||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||
|
||
%description -n mod_passenger
|
||
This package contains the pluggable Apache server module for Phusion Passenger®.
|
||
|
||
%package devel
|
||
Summary: Phusion Passenger development files
|
||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||
Provides: bundled(boost-devel) = %{bundled_boost_version}
|
||
|
||
%description devel
|
||
This package contains development files for Phusion Passenger®. Installing this
|
||
package allows it to compile native extensions for non-standard Ruby interpreters,
|
||
and allows Passenger Standalone to use a different Nginx core version.
|
||
|
||
%package help
|
||
Summary: Phusion Passenger documentation
|
||
Requires: %{name} = %{version}-%{release}
|
||
Obsoletes: rubygem-passenger-doc < %{version}-%{release}
|
||
Provides: rubygem-passenger-doc = %{version}-%{release}
|
||
Obsoletes: %{name}-doc < %{version}-%{release}
|
||
Provides: %{name}-doc = %{version}-%{release}
|
||
BuildArch: noarch
|
||
|
||
%description help
|
||
This package contains documentation files for Phusion Passenger®.
|
||
|
||
%prep
|
||
%autosetup -n %{name}-release-%{version}
|
||
|
||
%build
|
||
%ifarch loongarch64 riscv64
|
||
%configure || :
|
||
%endif
|
||
export EXTRA_CFLAGS="${CFLAGS:-%optflags} -Wno-deprecated"
|
||
export EXTRA_CXXFLAGS="${CXXFLAGS:-%optflags} -Wno-deprecated"
|
||
export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -fPIE -pie -fPIC"
|
||
export EXTRA_CXX_LDFLAGS="${EXTRA_CXX_LDFLAGS} -fPIE -pie -fPIC"
|
||
|
||
export EXTRA_CFLAGS=`echo "$EXTRA_CFLAGS" | sed 's|-O2||g'`
|
||
export EXTRA_CXXFLAGS=`echo "$EXTRA_CXXFLAGS" | sed 's|-O2||g'`
|
||
export OPTIMIZE=yes
|
||
|
||
export CACHING=false
|
||
|
||
export CCACHE_COMPRESS=1
|
||
export CCACHE_COMPRESSLEVEL=3
|
||
|
||
export LANG=en_US.UTF-8
|
||
export LANGUAGE=en_US.UTF-8
|
||
export LC_ALL=en_US.UTF-8
|
||
|
||
rake -m fakeroot \
|
||
NATIVE_PACKAGING_METHOD=rpm \
|
||
FS_PREFIX=%{_prefix} \
|
||
FS_BINDIR=%{_bindir} \
|
||
FS_SBINDIR=%{_sbindir} \
|
||
FS_DATADIR=%{_datadir} \
|
||
FS_LIBDIR=%{_libdir} \
|
||
FS_DOCDIR=%{_docdir} \
|
||
RUBYLIBDIR=%{ruby_vendorlibdir} \
|
||
RUBYARCHDIR=%{ruby_vendorarchdir} \
|
||
APACHE2_MODULE_PATH=%{_httpd_moddir}/mod_passenger.so
|
||
|
||
|
||
%install
|
||
export LANG=en_US.UTF-8
|
||
export LANGUAGE=en_US.UTF-8
|
||
export LC_ALL=en_US.UTF-8
|
||
|
||
%{__rm} -rf %{buildroot}
|
||
%{__mkdir} %{buildroot}
|
||
%{__cp} -a pkg/fakeroot/* %{buildroot}/
|
||
|
||
%{__mkdir_p} %{buildroot}%{_httpd_confdir} %{buildroot}%{_httpd_modconfdir}
|
||
%{__sed} -e 's|@PASSENGERROOT@|%{_datadir}/passenger/phusion_passenger/locations.ini|g' %{SOURCE100} > passenger.conf
|
||
%{__sed} -i -e '/^# *Require all granted/d' passenger.conf
|
||
|
||
./dev/install_scripts_bootstrap_code.rb --ruby %{passenger_ruby_libdir} \
|
||
%{buildroot}%{_bindir}/* \
|
||
%{buildroot}%{_sbindir}/* \
|
||
`find %{buildroot} -name rack_handler.rb`
|
||
|
||
%if "%{_httpd_modconfdir}" == "%{_httpd_confdir}"
|
||
%{__cat} %{SOURCE101} passenger.conf > passenger-combined.conf
|
||
touch -r %{SOURCE100} passenger-combined.conf
|
||
%{__install} -pm 0644 passenger-combined.conf %{buildroot}%{_httpd_confdir}/passenger.conf
|
||
%else
|
||
touch -r %{SOURCE100} passenger.conf
|
||
%{__install} -pm 0644 passenger.conf %{buildroot}%{_httpd_confdir}/passenger.conf
|
||
%{__install} -pm 0644 %{SOURCE101} %{buildroot}%{_httpd_modconfdir}/10-passenger.conf
|
||
touch -r %{SOURCE101} %{buildroot}%{_httpd_modconfdir}/10-passenger.conf
|
||
%endif
|
||
|
||
%{__mkdir_p} %{buildroot}%{_localstatedir}/log/passenger-analytics
|
||
%{__mkdir_p} %{buildroot}%{_localstatedir}/run/passenger-instreg
|
||
%{__mkdir_p} %{buildroot}%{_usr}/lib/tmpfiles.d
|
||
%{__install} -m 644 -p %{SOURCE102} \
|
||
%{buildroot}%{_usr}/lib/tmpfiles.d/passenger.conf
|
||
|
||
%{__mkdir_p} %{buildroot}%{_sysconfdir}/logrotate.d
|
||
%{__install} -pm 0644 %{SOURCE10} %{buildroot}%{_sysconfdir}/logrotate.d/passenger
|
||
|
||
%{__mkdir_p} %{buildroot}%{_mandir}/man1
|
||
%{__mkdir_p} %{buildroot}%{_mandir}/man8
|
||
%{__cp} man/*.1 %{buildroot}%{_mandir}/man1
|
||
%{__cp} man/*.8 %{buildroot}%{_mandir}/man8
|
||
|
||
%{__chmod} +x %{buildroot}%{_datadir}/passenger/helper-scripts/wsgi-loader.py
|
||
|
||
find %{buildroot}%{_bindir} %{buildroot}%{_datadir}/passenger/helper-scripts/ -type f | xargs sed -i 's|^#!/usr/bin/env ruby$|#!/usr/bin/ruby|'
|
||
sed -i 's|^#!/usr/bin/env python$|#!/usr/bin/python3|' %{buildroot}%{_datadir}/passenger/helper-scripts/wsgi-loader.py
|
||
|
||
%files
|
||
%doc LICENSE CONTRIBUTORS CHANGELOG
|
||
%{_bindir}/*
|
||
%exclude %{_bindir}/%{name}-install-*-module
|
||
%{_sbindir}/*
|
||
%{_usr}/lib/tmpfiles.d/passenger.conf
|
||
%{_datadir}/passenger/helper-scripts
|
||
%{_datadir}/passenger/templates
|
||
%{_datadir}/passenger/standalone_default_root
|
||
%{_datadir}/passenger/node
|
||
%{_datadir}/passenger/*.types
|
||
%{_datadir}/passenger/*.crt
|
||
%{_datadir}/passenger/*.pem
|
||
%{_datadir}/passenger/*.p12
|
||
%dir %{_localstatedir}/log/passenger-analytics
|
||
%dir %attr(755, root, root) %{_localstatedir}/run/passenger-instreg
|
||
%{_sysconfdir}/logrotate.d/passenger
|
||
%{passenger_ruby_libdir}/*
|
||
%{_libdir}/passenger/support-binaries
|
||
%{ruby_vendorarchdir}/passenger_native_support.so
|
||
|
||
%files devel
|
||
%{_datadir}/passenger/ngx_http_passenger_module
|
||
%{_datadir}/passenger/ruby_extension_source
|
||
%{_datadir}/passenger/include
|
||
%{_libdir}/%{name}/common
|
||
%exclude %{_libdir}/%{name}/nginx_dynamic
|
||
|
||
%files -n mod_passenger
|
||
%config(noreplace) %{_httpd_modconfdir}/*.conf
|
||
%if "%{_httpd_modconfdir}" != "%{_httpd_confdir}"
|
||
%config(noreplace) %{_httpd_confdir}/*.conf
|
||
%endif
|
||
%{_httpd_moddir}/mod_passenger.so
|
||
|
||
%files help
|
||
%{_docdir}/%{name}/*
|
||
%{_mandir}/*/*
|
||
|
||
%changelog
|
||
* Wed Jul 05 2023 wujie <wujie@nj.iscas.ac.cn> - 6.0.17-3
|
||
- fix riscv configure
|
||
|
||
* Wed Jun 07 2023 chenchen <chen_aka_jan@163.com> - 6.0.17-2
|
||
- add PIE compiler option
|
||
|
||
* Mon Apr 17 2023 Ge Wang <wang--ge@126.com> - 6.0.17-1
|
||
- update to version 6.0.17
|
||
|
||
* Tue Dec 13 2022 huajingyun <huajingyun@loongson.cn> - 6.0.8-5
|
||
- fix passenger build error for loongarch64
|
||
|
||
* Sat Sep 10 2022 yangchenguang <yangchenguang@uniontech.com> - 6.0.8-4
|
||
- fix passenger load error
|
||
|
||
* Mon Apr 25 2022 caodongxia<caodongxia@h-partners.com> - 6.0.8-3
|
||
- add buildRequires to resolve compilation failure
|
||
|
||
* Tue Oct 19 2021 zhangweiguo <zhangweiguo2@huawei.com> - 6.0.8-2
|
||
- add rake option -m
|
||
|
||
* Tue Aug 10 2021 yixiangzhike <zhangxingliang3@huawei.com> - 6.0.8-1
|
||
- update version to 6.0.8
|
||
|
||
* Sat Jan 23 2021 zoulin <zoulin13@huawei.com> - 6.0.7-1
|
||
- update version to 6.0.7
|
||
|
||
* Wed Mar 4 2020 openEuler Buildteam <buildteam@openeuler.org> - 6.0.4-2
|
||
- Package Init
|