Blame SPECS/rh-ror41.spec

0b8655
%global scl_name_prefix rh-
0b8655
%global scl_name_base ror
0b8655
%global scl_name_version 41
0b8655
0b8655
%global scl %{scl_name_prefix}%{scl_name_base}%{scl_name_version}
0b8655
0b8655
# Fallback to rh-ruby22. rh-ruby22-scldevel is probably not available in
0b8655
# the buildroot.
0b8655
%{!?scl_ruby:%global scl_ruby rh-ruby22}
0b8655
%{!?scl_prefix_ruby:%global scl_prefix_ruby %{scl_ruby}-}
0b8655
0b8655
# Do not produce empty debuginfo package.
0b8655
%global debug_package %{nil}
0b8655
0b8655
# Support SCL over NFS.
0b8655
%global nfsmountable 1
0b8655
0b8655
%{!?install_scl: %global install_scl 1}
0b8655
0b8655
%scl_package %scl
0b8655
0b8655
Summary: Package that installs %scl
0b8655
Name: %scl_name
0b8655
Version: 2.0
0b8655
Release: 6%{?dist}
0b8655
License: GPLv2+
0b8655
Source0: README
0b8655
Source1: LICENSE
0b8655
%if 0%{?install_scl}
0b8655
Requires: %{scl_prefix}rubygem-therubyracer
0b8655
Requires: %{scl_prefix}rubygem-sqlite3
0b8655
Requires: %{scl_prefix}rubygem-rails
0b8655
Requires: %{scl_prefix}rubygem-sass-rails
0b8655
Requires: %{scl_prefix}rubygem-coffee-rails
0b8655
Requires: %{scl_prefix}rubygem-jquery-rails
0b8655
Requires: %{scl_prefix}rubygem-sdoc
0b8655
Requires: %{scl_prefix}rubygem-turbolinks
0b8655
Requires: %{scl_prefix}rubygem-bcrypt
0b8655
Requires: %{scl_prefix}rubygem-uglifier
0b8655
Requires: %{scl_prefix}rubygem-jbuilder
0b8655
Requires: %{scl_prefix}rubygem-spring
0b8655
%endif
0b8655
BuildRequires: help2man
0b8655
BuildRequires: scl-utils-build
0b8655
BuildRequires: %{scl_prefix_ruby}scldevel
0b8655
BuildRequires: %{scl_prefix_ruby}rubygems-devel
0b8655
0b8655
%description
0b8655
This is the main package for %scl Software Collection.
0b8655
0b8655
%package runtime
0b8655
Summary: Package that handles %scl Software Collection.
0b8655
Requires: scl-utils
0b8655
# enable scriptlet depends on ruby executable.
0b8655
Requires: %{scl_prefix_ruby}ruby
0b8655
0b8655
%description runtime
0b8655
Package shipping essential scripts to work with %scl Software Collection.
0b8655
0b8655
%package build
0b8655
Summary: Package shipping basic build configuration
0b8655
Requires: scl-utils-build
0b8655
Requires: %{scl_runtime}
0b8655
Requires: %{scl_prefix_ruby}scldevel
0b8655
0b8655
%description build
0b8655
Package shipping essential configuration macros to build %scl Software Collection.
0b8655
0b8655
%package scldevel
0b8655
Summary: Package shipping development files for %scl
0b8655
Provides: scldevel(%{scl_name_base})
0b8655
0b8655
%description scldevel
0b8655
Package shipping development files, especially usefull for development of
0b8655
packages depending on %scl Software Collection.
0b8655
0b8655
%prep
0b8655
%setup -T -c
0b8655
0b8655
# Expand macros used in README file.
0b8655
cat > README << EOF
0b8655
%{expand:%(cat %{SOURCE0})}
0b8655
EOF
0b8655
0b8655
cp %{SOURCE1} .
0b8655
0b8655
%build
0b8655
# Generate a helper script that will be used by help2man.
0b8655
cat > h2m_help << 'EOF'
0b8655
#!/bin/bash
0b8655
[ "$1" == "--version" ] && echo "%{scl_name} %{version} Software Collection" || cat README
0b8655
EOF
0b8655
chmod a+x h2m_help
0b8655
0b8655
# Generate the man page from include.h2m and ./h2m_help --help output.
0b8655
help2man -N --section 7 ./h2m_help -o %{scl_name}.7
0b8655
0b8655
%install
0b8655
%scl_install
0b8655
0b8655
cat >> %{buildroot}%{_scl_scripts}/enable << EOF
0b8655
export PATH=%{_bindir}\${PATH:+:\${PATH}}
0b8655
export LD_LIBRARY_PATH=%{_libdir}\${LD_LIBRARY_PATH:+:\${LD_LIBRARY_PATH}}
0b8655
export MANPATH=%{_mandir}:\${MANPATH}
0b8655
export PKG_CONFIG_PATH=%{_libdir}/pkgconfig\${PKG_CONFIG_PATH:+:\${PKG_CONFIG_PATH}}
0b8655
export GEM_PATH=\${GEM_PATH:=%{gem_dir}:\`scl enable %{scl_ruby} -- ruby -e "print Gem.path.join(':')"\`}
0b8655
0b8655
. scl_source enable %{scl_ruby}
0b8655
EOF
0b8655
0b8655
cat >> %{buildroot}%{_root_sysconfdir}/rpm/macros.%{scl_name_base}-scldevel << EOF
0b8655
%%scl_%{scl_name_base} %{scl}
0b8655
%%scl_prefix_%{scl_name_base} %{scl_prefix}
0b8655
EOF
0b8655
0b8655
# Install generated man page.
0b8655
mkdir -p %{buildroot}%{_mandir}/man7/
0b8655
install -p -m 644 %{scl_name}.7 %{buildroot}%{_mandir}/man7/
0b8655
0b8655
scl enable %{scl_ruby} - << \EOF
0b8655
set -e
0b8655
0b8655
# Fake rh-ror41 SCL environment.
0b8655
# TODO: Is there a way how to leverage the enable scriptlet created above?
0b8655
GEM_PATH=%{gem_dir}:`ruby -e "print Gem.path.join(':')"` \
0b8655
X_SCLS=%{scl} \
0b8655
ruby -rfileutils > rubygems_filesystem.list << \EOR
0b8655
  # Create RubyGems filesystem.
0b8655
  Gem.ensure_gem_subdirectories '%{buildroot}%{gem_dir}'
0b8655
  FileUtils.mkdir_p File.join '%{buildroot}', Gem.default_ext_dir_for('%{gem_dir}')
0b8655
0b8655
  # Output the relevant directories.
0b8655
  Gem.default_dirs['%{scl}_system'.to_sym].each { |k, p| puts p }
0b8655
EOR
0b8655
EOF
0b8655
0b8655
%files
0b8655
0b8655
%files runtime -f rubygems_filesystem.list
0b8655
%doc README LICENSE
0b8655
%scl_files
0b8655
# Own the manual directories (rhbz#1080036, rhbz#1072319).
0b8655
%dir %{_mandir}/man1
0b8655
%dir %{_mandir}/man5
0b8655
%dir %{_mandir}/man7
0b8655
%{_mandir}/man7/%{scl_name}.*
0b8655
0b8655
%files build
0b8655
%{_root_sysconfdir}/rpm/macros.%{scl}-config
0b8655
0b8655
%files scldevel
0b8655
%{_root_sysconfdir}/rpm/macros.%{scl_name_base}-scldevel
0b8655
0b8655
0b8655
%changelog
0b8655
* Tue Mar 31 2015 Vít Ondruch <vondruch@redhat.com> - 2.0-6
0b8655
- A few spelling corrections in README and man pages.
0b8655
  Resolves: rhbz#1206175
0b8655
0b8655
* Tue Mar 10 2015 Vít Ondruch <vondruch@redhat.com> - 2.0-5
0b8655
- Rebuild to remove 'scls' direcotories created by scl-utils.
0b8655
  Resolves: rhbz#1200060
0b8655
0b8655
* Wed Feb 04 2015 Vít Ondruch <vondruch@redhat.com> - 2.0-4
0b8655
- Do not modify GEM_PATH once it is set outside of collection.
0b8655
0b8655
* Mon Feb 02 2015 Vít Ondruch <vondruch@redhat.com> - 2.0-3
0b8655
- enable scriptlet requires ruby executable.
0b8655
0b8655
* Tue Jan 27 2015 Josef Stribny <jstribny@redhat.com> - 2.0-2
0b8655
- Update the list of installed gems
0b8655
0b8655
* Tue Jan 13 2015 Vít Ondruch <vondruch@redhat.com> - 2.0-1
0b8655
- Update metapackage from ror40 to rh-ror41.
0b8655
0b8655
* Mon Mar 31 2014 Honza Horak <hhorak@redhat.com> - 1.1-4
0b8655
- Fix path typo in README
0b8655
  Related: #1063707
0b8655
0b8655
* Thu Mar 27 2014 Vít Ondruch <vondruch@redhat.com> - 1.1-3
0b8655
- Own RubyGems filesystem and manual directories.
0b8655
  Resolves: rhbz#1080036
0b8655
0b8655
* Thu Feb 13 2014 Honza Horak <hhorak@redhat.com> - 1.1-2
0b8655
- Fix grammar mistakes in README
0b8655
  Related: rhbz#1058613
0b8655
0b8655
* Tue Feb 11 2014 Vít Ondruch <vondruch@redhat.com> - 1.1-1
0b8655
- Add -build package dependency on scl-utils-build.
0b8655
  Resolves: rhbz#1058613
0b8655
- Add LICENSE, README and man page.
0b8655
  Resolves: rhbz#1063707
0b8655
0b8655
* Wed Jan 22 2014 Vít Ondruch <vondruch@redhat.com> - 1-3
0b8655
- Export GEM_PATH properly.
0b8655
0b8655
* Fri Jan 17 2014 Vít Ondruch <vondruch@redhat.com> - 1-2
0b8655
- Add -scldevel sub-package.
0b8655
- Automatically generate dependencies on -runtime package.
0b8655
0b8655
* Thu Jan 16 2014 Vít Ondruch <vondruch@redhat.com> - 1-1
0b8655
- Initial package.