Blame SPECS/rh-ruby30.spec

1d29e3
%global scl_name_prefix rh-
1d29e3
%global scl_name_base ruby
1d29e3
%global scl_name_version 30
1d29e3
1d29e3
# Do not produce empty debuginfo package.
1d29e3
%global debug_package %{nil}
1d29e3
1d29e3
# Support SCL over NFS.
1d29e3
%global nfsmountable 1
1d29e3
1d29e3
# nfsmountable macro must be defined before defining the %%scl_package macro
1d29e3
%global scl %{scl_name_prefix}%{scl_name_base}%{scl_name_version}
1d29e3
%scl_package %scl
1d29e3
1d29e3
%{!?install_scl: %global install_scl 1}
1d29e3
1d29e3
Summary: Package that installs %scl
1d29e3
Name: %scl_name
1d29e3
Version: 3.7
1d29e3
Release: 2%{?dist}
1d29e3
License: GPLv2+
1d29e3
Source0: README
1d29e3
Source1: LICENSE
1d29e3
%if 0%{?install_scl}
1d29e3
Requires: %{scl_prefix}ruby
1d29e3
Requires: %{scl_prefix}rubygem-irb
1d29e3
%endif
1d29e3
BuildRequires: help2man
1d29e3
BuildRequires: scl-utils-build
1d29e3
1d29e3
%description
1d29e3
This is the main package for %scl Software Collection.
1d29e3
1d29e3
%package runtime
1d29e3
Summary: Package that handles %scl Software Collection.
1d29e3
Requires: scl-utils
1d29e3
1d29e3
%description runtime
1d29e3
Package shipping essential scripts to work with %scl Software Collection.
1d29e3
1d29e3
%package build
1d29e3
Summary: Package shipping basic build configuration
1d29e3
Requires: scl-utils-build
1d29e3
1d29e3
%description build
1d29e3
Package shipping essential configuration macros to build %scl Software Collection.
1d29e3
1d29e3
%package scldevel
1d29e3
Summary: Package shipping development files for %scl
1d29e3
1d29e3
%description scldevel
1d29e3
Package shipping development files, especially useful for development of
1d29e3
packages depending on %scl Software Collection.
1d29e3
1d29e3
%prep
1d29e3
%setup -T -c
1d29e3
1d29e3
# Expand macros used in README file.
1d29e3
cat > README << EOF
1d29e3
%{expand:%(cat %{SOURCE0})}
1d29e3
EOF
1d29e3
1d29e3
cp %{SOURCE1} .
1d29e3
1d29e3
%build
1d29e3
# Generate a helper script that will be used by help2man.
1d29e3
cat > h2m_help << 'EOF'
1d29e3
#!/bin/bash
1d29e3
[ "$1" == "--version" ] && echo "%{scl_name} %{version} Software Collection" || cat README
1d29e3
EOF
1d29e3
chmod a+x h2m_help
1d29e3
1d29e3
# Generate the man page from include.h2m and ./h2m_help --help output.
1d29e3
help2man -N --section 7 ./h2m_help -o %{scl_name}.7
1d29e3
1d29e3
%install
1d29e3
%scl_install
1d29e3
1d29e3
# Fix: install gem binaries to SCL PATH
1d29e3
# https://bugzilla.redhat.com/show_bug.cgi?id=1225496
1d29e3
perl -e 'while (<>) { if (/^([^=]*=["'\'']?)([^\$]*)(.*)/) { $pre = $1 ; $path = $2 ;
1d29e3
  $post = $3 ; ($newpath = $path) =~ s/usr/usr\/local/ ; $newpath =~ s/://g ;
1d29e3
  print "$pre$newpath:$path$post\n" }}' <<EOF >>%{buildroot}%{_scl_scripts}/enable
1d29e3
export PATH=%{_bindir}\${PATH:+:\${PATH}}
1d29e3
export LD_LIBRARY_PATH=%{_libdir}\${LD_LIBRARY_PATH:+:\${LD_LIBRARY_PATH}}
1d29e3
export MANPATH=%{_mandir}:\$MANPATH
1d29e3
export PKG_CONFIG_PATH=%{_libdir}/pkgconfig\${PKG_CONFIG_PATH:+:\${PKG_CONFIG_PATH}}
1d29e3
# For SystemTap.
1d29e3
export XDG_DATA_DIRS=%{_datadir}:\${XDG_DATA_DIRS:-/usr/local/share:/usr/share}
1d29e3
EOF
1d29e3
1d29e3
cat >> %{buildroot}%{_root_sysconfdir}/rpm/macros.%{scl_name_base}-scldevel << EOF
1d29e3
%%scl_%{scl_name_base} %{scl}
1d29e3
%%scl_prefix_%{scl_name_base} %{scl_prefix}
1d29e3
EOF
1d29e3
1d29e3
# Install generated man page.
1d29e3
mkdir -p %{buildroot}%{_mandir}/man7/
1d29e3
install -p -m 644 %{scl_name}.7 %{buildroot}%{_mandir}/man7/
1d29e3
1d29e3
# Create directory for pkgconfig files, originally provided by pkgconfig
1d29e3
# package, but not for SCL.
1d29e3
mkdir -p %{buildroot}%{_libdir}/pkgconfig
1d29e3
1d29e3
# Create directory for license files (rhbz#1420233).
1d29e3
%{?_licensedir:mkdir -p %{buildroot}%{_licensedir}}
1d29e3
1d29e3
%files
1d29e3
1d29e3
%files runtime
1d29e3
%doc README LICENSE
1d29e3
%scl_files
1d29e3
%{?_licensedir:%dir %{_licensedir}}
1d29e3
# Own the manual directories (rhbz#1073458, rhbz#1072319).
1d29e3
%dir %{_mandir}/man1
1d29e3
%dir %{_mandir}/man5
1d29e3
%dir %{_mandir}/man7
1d29e3
%dir %{_libdir}/pkgconfig
1d29e3
%{_mandir}/man7/%{scl_name}.*
1d29e3
1d29e3
%files build
1d29e3
%{_root_sysconfdir}/rpm/macros.%{scl}-config
1d29e3
1d29e3
%files scldevel
1d29e3
%{_root_sysconfdir}/rpm/macros.%{scl_name_base}-scldevel
1d29e3
1d29e3
%changelog
1d29e3
* Thu Apr 01 2021 Jun Aruga <jaruga@redhat.com> - 3.7-2
1d29e3
- Add explicit IRB dependency.
1d29e3
  Related: rhbz#1921719
1d29e3
- Fix a typo in the scldevel description.
1d29e3
  Related: rhbz#1903661
1d29e3
1d29e3
* Wed Dec 16 2020 Jun Aruga <jaruga@redhat.com> - 3.7-1
1d29e3
- Update to 3.0.
1d29e3
  Resolves: rhbz#1903661
1d29e3
1d29e3
* Thu Jan 30 2020 Jun Aruga <jaruga@redhat.com> - 2.7-2
1d29e3
- Update to 2.7.
1d29e3
1d29e3
* Mon Jan 07 2019 Vít Ondruch <vondruch@redhat.com> - 2.6-1
1d29e3
- Update to 2.6.
1d29e3
1d29e3
* Fri Jan 05 2018 Jun Aruga <jaruga@redhat.com> - 2.5-2
1d29e3
- Update to 2.5.
1d29e3
1d29e3
* Tue Feb 28 2017 Vít Ondruch <vondruch@redhat.com> - 2.4-2
1d29e3
- Own the license directory.
1d29e3
  Resolves: rhbz#1420233
1d29e3
1d29e3
* Tue Dec 13 2016 Vít Ondruch <vondruch@redhat.com> - 2.4-1
1d29e3
- Initial package