%global scl_name_prefix rh- %global scl_name_base nginx %global scl_name_version 110 %global scl %{scl_name_prefix}%{scl_name_base}%{scl_name_version} %{!?nfsmountable: %global nfsmountable 1} %scl_package %scl %{!?scl_perl:%global scl_perl rh-perl524} %{!?scl_prefix_perl:%global scl_prefix_perl %{scl_perl}-} # do not produce empty debuginfo package %global debug_package %{nil} %global nginx_perl_vendorarch %{_scl_root}%(eval "`%{_root_bindir}/perl -V:installvendorarch`"; echo $installvendorarch) %global nginx_perl_archlib %{_scl_root}%(eval "`%{_root_bindir}/perl -V:archlib`"; echo $archlib) Summary: Package that installs %scl Name: %scl_name Version: 1.10 Release: 8%{?dist} License: GPLv2+ Group: Applications/File Source0: README Source1: LICENSE Source2: README.7 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: scl-utils-build # Temporary work-around BuildRequires: iso-codes Requires: %{scl_prefix}nginx %description This is the main package for %scl Software Collection. %package runtime Summary: Package that handles %scl Software Collection. Requires: scl-utils Requires(post): policycoreutils-python libselinux-utils %description runtime Package shipping essential scripts to work with %scl Software Collection. %package build Summary: Package shipping basic build configuration Requires: scl-utils-build Requires: %{scl_prefix_perl}scldevel %description build Package shipping essential configuration macros to build %scl Software Collection. %package scldevel Summary: Package shipping development files for %scl Group: Development/Languages %description scldevel Package shipping development files, especially usefull for development of packages depending on %scl Software Collection. %prep %setup -c -T # copy the license file so %%files section sees it cp %{SOURCE0} . cp %{SOURCE1} . cp %{SOURCE2} . sed -i 's|%%{scl_name}|%{scl_name}|g' README.7 sed -i 's|%%{_scl_root}|%{_scl_root}|g' README.7 sed -i 's|%%{version}|%{version}|g' README.7 %if 0%{?rhel} >= 7 sed -i 's|%%{service_start}|systemctl start %{scl_name}-nginx|g' README.7 %else sed -i 's|%%{service_start}|service %{scl_name}-nginx start|g' README.7 %endif # Not required for now #export LIBRARY_PATH=%{_libdir}\${LIBRARY_PATH:+:\${LIBRARY_PATH}} #export LD_LIBRARY_PATH=%{_libdir}\${LD_LIBRARY_PATH:+:\${LD_LIBRARY_PATH}} cat <&/dev/null; then . scl_source enable %{scl_perl} fi export PATH=%{_bindir}:%{_sbindir}\${PATH:+:\${PATH}} export MANPATH=%{_mandir}:\${MANPATH} export PKG_CONFIG_PATH=%{_libdir}/pkgconfig\${PKG_CONFIG_PATH:+:\${PKG_CONFIG_PATH}} export PERL5LIB="%{nginx_perl_vendorarch}\${PERL5LIB:+:\${PERL5LIB}}" EOF # generate rpm macros file for depended collections cat << EOF | tee scldev %%scl_%{scl_name_base} %{scl} %%scl_prefix_%{scl_name_base} %{scl_prefix} EOF %build %install mkdir -p %{buildroot}%{_scl_scripts}/root install -m 644 enable %{buildroot}%{_scl_scripts}/enable install -D -m 644 scldev %{buildroot}%{_root_sysconfdir}/rpm/macros.%{scl_name_base}-scldevel mkdir -p -m 755 \ %{buildroot}%{_localstatedir}/run/ \ %{buildroot}%{nginx_perl_vendorarch} # install generated man page mkdir -p %{buildroot}%{_mandir}/man7/ install -m 644 README.7 %{buildroot}%{_mandir}/man7/%{scl_name}.7 %scl_install cat >> %{buildroot}%{_root_sysconfdir}/rpm/macros.%{scl}-config << EOF %%scl_package_override() %%{expand:%%global __perl_requires /usr/lib/rpm/perl.req.rh-perl524 \ %%global __perl_provides /usr/lib/rpm/perl.prov.rh-perl524 \ %%global __perl %{_scl_prefix}/%{scl_perl}/root/usr/bin/perl \ %%global _nginx_perl_vendorarch %{nginx_perl_vendorarch} \ } EOF # create directory for SCL register scripts mkdir -p %{buildroot}%{?_scl_scripts}/register.content mkdir -p %{buildroot}%{?_scl_scripts}/register.d cat </dev/null 2>&1 || : restorecon -R %{_scl_root} >/dev/null 2>&1 || : selinuxenabled && load_policy || : %files %files runtime %defattr(-,root,root) %doc README LICENSE %scl_files %dir %{_mandir}/man3 %dir %{_mandir}/man7 %dir %{_mandir}/man8 %{_mandir}/man7/%{scl_name}.* %dir %{_localstatedir}/run %dir %{nginx_perl_archlib} %dir %{nginx_perl_vendorarch} %attr(0755,root,root) %{?_scl_scripts}/register %attr(0755,root,root) %{?_scl_scripts}/deregister %{?_scl_scripts}/register.content %dir %{?_scl_scripts}/register.d %dir %{?_scl_scripts}/deregister.d %files build %defattr(-,root,root) %{_root_sysconfdir}/rpm/macros.%{scl}-config %files scldevel %defattr(-,root,root) %{_root_sysconfdir}/rpm/macros.%{scl_name_base}-scldevel %changelog * Thu Mar 23 2017 Joe Orton - 1.10-8 - own perl directories (#1434333) * Thu Mar 2 2017 Joe Orton - 1.10-7 - fix quoting in scl_package_override * Thu Mar 2 2017 Joe Orton - 1.10-6 - own man3 directory - fix Perl autoprov/autoreq * Wed Mar 1 2017 Joe Orton - 1.10-5 - define macro _nginx_perl_vendorarch in -config - set PERL5LIB in SCL env (#1421927) * Tue Feb 28 2017 Joe Orton - 1.10-4 - add Perl support (#1421927) * Thu Jan 19 2017 Joe Orton - 1.10-3 - require nginx * Wed Jan 18 2017 Joe Orton - 1.10-2 - improve wording in man page (#1264342) * Wed Jan 18 2017 Joe Orton - 1.10-1 - initial packaging