%global scl_name_base perl %global scl_name_version 516 %global scl %{scl_name_base}%{scl_name_version} %scl_package %scl %global install_scl 1 # do not produce empty debuginfo package %global debug_package %{nil} Summary: Package that installs %scl Name: %scl_name Version: 1.1 Release: 3%{?dist} License: GPLv2+ Source0: macro-build Source1: perl.prov.stack Source2: perl.req.stack Source3: perl.attr Source4: perllib.attr Source5: README Source6: LICENSE BuildRequires: help2man %if 0%{?install_scl} Requires: %{scl_prefix}perl %endif BuildRequires: scl-utils-build BuildRequires: iso-codes %description This is the main package for %scl Software Collection. %package runtime Summary: Package that handles %scl Software Collection Requires: scl-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: %{name}-scldevel = %{version}-%{release} %description build Package shipping essential configuration macros to build %scl Software Collection. %package scldevel Summary: Package shipping development files for %scl %description scldevel Package shipping development files, especially usefull for development of packages depending on %scl Software Collection. %prep %setup -c -T # This section generates README file from a template and creates man page # from that file, expanding RPM macros in the template file. cat >README <<'EOF' %{expand:%(cat %{SOURCE5})} EOF # copy the license file so %%files section sees it cp %{SOURCE6} . %build # generate a helper script that will be used by help2man cat >h2m_helper <<'EOF' #!/bin/bash [ "$1" == "--version" ] && echo "%{scl_name} %{version} Software Collection" || cat README EOF chmod a+x h2m_helper # generate the man page help2man -N --section 7 ./h2m_helper -o %{scl_name}.7 %install rm -rf %{buildroot} mkdir -p %{buildroot}%{_scl_scripts}/root cat >> %{buildroot}%{_scl_scripts}/enable << EOF export PATH=%{_bindir}\${PATH:+:\${PATH}} export LD_LIBRARY_PATH=%{_libdir}\${LD_LIBRARY_PATH:+:\${LD_LIBRARY_PATH}} export MANPATH=%{_mandir}:\${MANPATH} EOF %scl_install # Add the aditional macros to macros.%%{scl}-config cat %{SOURCE0} >> %{buildroot}%{_root_sysconfdir}/rpm/macros.%{scl}-config sed -i 's|@SCL@|%{scl}|g' %{buildroot}%{_root_sysconfdir}/rpm/macros.%{scl}-config cat >> %{buildroot}%{_root_sysconfdir}/rpm/macros.%{scl_name_base}-scldevel << EOF %%scl_%{scl_name_base} %{scl} %%scl_prefix_%{scl_name_base} %{scl_prefix} EOF install -D -m 755 %{SOURCE1} %{buildroot}%{_root_prefix}/lib/rpm/perl.prov.stack install -D -m 755 %{SOURCE2} %{buildroot}%{_root_prefix}/lib/rpm/perl.req.stack sed -i 's|__SCL_NAME__|%{scl}-perl|g' %{buildroot}%{_root_prefix}/lib/rpm/perl.prov.stack sed -i 's|__SCL_NAME__|%{scl}-perl|g' %{buildroot}%{_root_prefix}/lib/rpm/perl.req.stack %if ( 0%{?rhel} && 0%{?rhel} < 7 ) mkdir -p %{buildroot}/usr/lib/rpm/fileattrs/ install -m 644 %{SOURCE3} %{buildroot}%{_root_prefix}/lib/rpm/fileattrs/perl.attr install -m 644 %{SOURCE4} %{buildroot}%{_root_prefix}/lib/rpm/fileattrs/perllib.attr %endif # install generated man page mkdir -p %{buildroot}%{_mandir}/man7/ install -m 644 %{scl_name}.7 %{buildroot}%{_mandir}/man7/%{scl_name}.7 %files %files runtime -f filesystem %doc README LICENSE %scl_files %{_mandir}/man7/%{scl_name}.* %files build %{_root_sysconfdir}/rpm/macros.%{scl}-config %files scldevel %{_root_sysconfdir}/rpm/macros.%{scl_name_base}-scldevel %{_root_prefix}/lib/rpm/perl.req.stack %{_root_prefix}/lib/rpm/perl.prov.stack %if ( 0%{?rhel} && 0%{?rhel} < 7 ) %{_root_prefix}/lib/rpm/fileattrs/perl.attr %{_root_prefix}/lib/rpm/fileattrs/perllib.attr %endif %changelog * Fri Mar 28 2014 Jitka Plesnikova - 1.1-3 - Wrong macro in README - Resolves: rhbz#1061453 * Tue Mar 25 2014 Jitka Plesnikova - 1.1-2 - Use "-f filesystem" for files section of -runtime on RHEL 7 - Resolves: rhbz#1079938 * Mon Feb 17 2014 Jitka Plesnikova - 1.1-1 - Introduce README and LICENSE. - Change version to 1.1. - Resolves: rhbz#1061453 * Wed Feb 05 2014 Jitka Plesnikova - 1-21 - Update dependencies of sub-package build - Resolves: rhbz#1063206 * Mon Jan 20 2014 Jitka Plesnikova - 1-20 - Changed name of sub-package devel to scldevel - Added the file macros.%%{scl_name_base}-scldevel - Resolves: rhbz#1055580 * Mon Jan 20 2014 Jitka Plesnikova - 1-19 - Rebuilt against new scl-utils - Resolves: rhbz#1054726 * Tue Jan 14 2014 Jitka Plesnikova - 1-18 - Moved perl.(prov|req).stack and file*.attr to sub-package devel - Resolves: rhbz#1052183 * Wed Jan 08 2014 Jitka Plesnikova - 1-17 - Define macros for tests sub-package - Resolves: rhbz#1049366 * Mon Nov 25 2013 Jitka Plesnikova - 1-16 - Disable macro perl_bootstrap * Tue Nov 12 2013 Jitka Plesnikova - 1-15 - Enable macro perl_bootstrap * Mon Nov 04 2013 Jitka Plesnikova - 1-14 - Override %%__pkgconfig_path to solve problems with invalid perl provides * Wed Oct 30 2013 Jitka Plesnikova - 1-13 - Update %%scl_package_override * Wed Oct 30 2013 Jitka Plesnikova - 1-12 - Define %%prep section - Create macro-build * Mon Jun 17 2013 Jitka Plesnikova - 1-11 - Disable macro perl_bootstrap * Thu May 23 2013 Jitka Plesnikova - 1-10 - Update definition of MANPATH (rhbz#966388) * Tue May 21 2013 Jitka Plesnikova - 1-9 - Do not remove /opt/rh/perl516 to prevent removing of any user data * Mon May 13 2013 Jitka Plesnikova - 1-8 - Remove the directory /opt/rh/perl516 after uninstalling rpm (rhbz#956215) * Sun Apr 28 2013 Jitka Plesnikova - 1-7 - Remove extra colon from path definition * Thu Apr 25 2013 Jitka Plesnikova - 1-6 - Update setting of environment variable in the script enable * Wed Feb 6 2013 Jitka Plesnikova 1-5 - enable macro perl_bootstrap * Fri Oct 5 2012 Marcela Mašláňová 1-4 - update to new version of Perl 5.16 - package perl.{prov,req}.stack as executables * Mon Jul 23 2012 Marcela Mašláňová 1-3 - change permission from 700 to 644 on perl.{prov,req} * Tue Mar 6 2012 Marcela Mašláňová 1.2 - fix dependency on collection *-runtime * Tue Dec 06 2011 Marcela Mašláňová 1.1 - initial packaging of meta perl514 package