Blame SPECS/rubygem-sprockets.spec

de1f04
%{?scl:%scl_package rubygem-%{gem_name}}
de1f04
%{!?scl:%global pkg_name %{name}}
de1f04
de1f04
# Generated from sprockets-2.4.5.gem by gem2rpm -*- rpm-spec -*-
de1f04
%global gem_name sprockets
de1f04
de1f04
# Fallback to rh-nodejs4 rh-nodejs4-scldevel is probably not available in
de1f04
# the buildroot.
de1f04
%{?scl:%{!?scl_nodejs:%global scl_nodejs rh-nodejs4}}
de1f04
%{?scl:%{!?scl_prefix_nodejs:%global scl_prefix_nodejs %{scl_nodejs}-}}
de1f04
de1f04
Name: %{?scl_prefix}rubygem-%{gem_name}
de1f04
Version: 3.7.1
dea975
Release: 2%{?dist}
de1f04
Summary: Rack-based asset packaging system
de1f04
Group: Development/Languages
de1f04
License: MIT
de1f04
URL: https://github.com/rails/sprockets
de1f04
Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
de1f04
# to get tests:
de1f04
# git clone https://github.com/rails/sprockets.git && cd sprockets/
de1f04
# git checkout v3.7.1 && tar czf sprockets-3.7.1-tests.tgz test/
de1f04
Source1: sprockets-%{version}-tests.tgz
de1f04
dea975
# Fix CVE-2018-3760: Path traversal in sprockets/server.rb:forbidden_request?()
dea975
# https://bugzilla.redhat.com/show_bug.cgi?id=1595901
dea975
# https://github.com/rails/sprockets/commit/9c34fa05900b968d74f08ccf40917848a7be9441
dea975
Patch0: rubygem-sprockets-3.7.2-CVE-2018-3760-Fix-Path-traversal-in-sprockets-server.patch
dea975
Patch1: rubygem-sprockets-3.7.2-CVE-2018-3760-Fix-Path-traversal-in-sprockets-server-tests.patch
dea975
de1f04
Requires: %{?scl_prefix_ruby}ruby(release)
de1f04
Requires: %{?scl_prefix_ruby}ruby(rubygems)
de1f04
Requires: %{?scl_prefix}rubygem(concurrent-ruby)
de1f04
Requires: %{?scl_prefix}rubygem(rack) > 1
de1f04
Requires: %{?scl_prefix}rubygem(rack) < 3
de1f04
BuildRequires: %{?scl_prefix_ruby}ruby(release)
de1f04
BuildRequires: %{?scl_prefix_ruby}rubygems-devel
de1f04
BuildRequires: %{?scl_prefix_ruby}ruby >= 1.9.3
de1f04
BuildRequires: %{?scl_prefix}rubygem(concurrent-ruby)
de1f04
BuildRequires: %{?scl_prefix}rubygem(coffee-script)
de1f04
BuildRequires: %{?scl_prefix}rubygem(ejs)
de1f04
BuildRequires: %{?scl_prefix}rubygem(execjs)
de1f04
BuildRequires: %{?scl_prefix_ruby}rubygem(minitest)
de1f04
BuildRequires: %{?scl_prefix}rubygem(nokogiri)
de1f04
BuildRequires: %{?scl_prefix}rubygem(rack-test)
de1f04
BuildRequires: %{?scl_prefix_ruby}rubygem(rake)
de1f04
BuildRequires: %{?scl_prefix}rubygem(sass)
de1f04
BuildRequires: %{?scl_prefix}rubygem(uglifier)
de1f04
BuildArch: noarch
de1f04
Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
de1f04
de1f04
# Explicitly require runtime subpackage, as long as older scl-utils do not generate it
de1f04
%{?scl:Requires: %{?scl_prefix}runtime}
de1f04
de1f04
BuildRequires: %{?scl_prefix_nodejs}nodejs
de1f04
de1f04
%description
de1f04
Sprockets is a Rack-based asset packaging system that concatenates and serves
de1f04
JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.
de1f04
de1f04
%package doc
de1f04
Summary: Documentation for %{pkg_name}
de1f04
Group: Documentation
de1f04
Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
de1f04
BuildArch: noarch
de1f04
de1f04
%description doc
de1f04
Documentation for %{pkg_name}.
de1f04
de1f04
%prep
de1f04
%setup -n %{pkg_name}-%{version} -q -c -T
de1f04
%{?scl:scl enable %{scl} - << \EOF}
de1f04
%gem_install -n %{SOURCE0}
de1f04
%{?scl:EOF}
de1f04
dea975
pushd .%{gem_instdir}
dea975
%patch0 -p1
dea975
popd
dea975
de1f04
%build
de1f04
de1f04
%install
de1f04
mkdir -p %{buildroot}%{gem_dir}
de1f04
cp -a .%{gem_dir}/* \
de1f04
        %{buildroot}%{gem_dir}/
de1f04
de1f04
de1f04
mkdir -p %{buildroot}%{_bindir}
de1f04
cp -a .%{_bindir}/* \
de1f04
        %{buildroot}%{_bindir}/
de1f04
de1f04
find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
de1f04
de1f04
# Run the test suite
de1f04
de1f04
%check
de1f04
pushd .%{gem_instdir}
de1f04
tar xzf %{SOURCE1}
de1f04
dea975
cat %{PATCH1} | patch -p1 -F 0
dea975
de1f04
# We don't enable rubygem(closure-compiler).
de1f04
# https://bugzilla.redhat.com/show_bug.cgi?id=1353473
de1f04
mv test/test_closure_compressor.rb{,.disabled}
de1f04
mv lib/sprockets/autoload/closure.rb{,.disabled}
de1f04
sed -i '/:Closure/ s/^/#/' lib/sprockets/autoload.rb
de1f04
de1f04
# We don't have rubygem(eco) yet.
de1f04
mv test/test_eco_processor.rb{,.disabled}
de1f04
mv lib/sprockets/autoload/eco.rb{,.disabled}
de1f04
sed -i '/:Eco/ s/^/#/' lib/sprockets/autoload.rb
de1f04
sed -i '/test "eco templates" do/,/^  end/ s/^/#/' test/test_environment.rb
de1f04
de1f04
# We don't have rubygem(yui-compressor) yet.
de1f04
# https://bugzilla.redhat.com/show_bug.cgi?id=725768
de1f04
mv test/test_yui_compressor.rb{,.disabled}
de1f04
mv lib/sprockets/autoload/yui.rb{,.disabled}
de1f04
sed -i '/:YUI/ s/^/#/' lib/sprockets/autoload.rb
de1f04
de1f04
# Required by TestPathUtils#test_find_upwards test.
de1f04
touch Gemfile
de1f04
de1f04
%{?scl:scl enable %{scl} %{scl_nodejs} - << \EOF}
de1f04
RUBYOPT=-Ilib:test ruby -e 'Dir.glob "./test/**/test_*.rb", &method(:require)'
de1f04
%{?scl:EOF}
de1f04
popd
de1f04
de1f04
%files
de1f04
# There is no %%license macro on RHEL6.
de1f04
# https://bugzilla.redhat.com/show_bug.cgi?id=1386246
de1f04
%{!?_licensedir:%global license %%doc}
de1f04
de1f04
%dir %{gem_instdir}
de1f04
%{_bindir}/sprockets
de1f04
%license %{gem_instdir}/LICENSE
de1f04
%{gem_instdir}/bin
de1f04
%{gem_libdir}
de1f04
%exclude %{gem_cache}
de1f04
%{gem_spec}
de1f04
de1f04
%files doc
de1f04
%doc %{gem_docdir}
de1f04
%doc %{gem_instdir}/CHANGELOG.md
de1f04
%doc %{gem_instdir}/README.md
de1f04
de1f04
%changelog
dea975
* Tue Jul 03 2018 Pavel Valena <pvalena@redhat.com> - 3.7.1-2
dea975
- Fix: Path traversal in sprockets server
dea975
Resolves: rhbz#1595903
dea975
Resolves: CVE-2018-3760
dea975
de1f04
* Fri Jan 13 2017 Jun Aruga <jaruga@redhat.com> - 3.7.1-1
de1f04
- Update to Sprockets 3.7.1.
de1f04
- Update scl_prefix_nodejs declaration to build with no-SCL environment.
de1f04
de1f04
* Wed Feb 17 2016 Pavel Valena <pvalena@redhat.com> - 3.2.0-4
de1f04
- Update to 3.2.0
de1f04
de1f04
* Tue Jan 27 2015 Josef Stribny <jstribny@redhat.com> - 2.12.3-3
de1f04
- Revert back to multi_json as it is now part of SCL
de1f04
de1f04
* Mon Jan 26 2015 Josef Stribny <jstribny@redhat.com> - 2.12.3-2
de1f04
- Fix: properly delete any multi_json mention in gemspec
de1f04
de1f04
* Mon Jan 26 2015 Josef Stribny <jstribny@redhat.com> - 2.12.3-1
de1f04
- Update to 2.12.3
de1f04
de1f04
* Mon Feb 17 2014 Josef Stribny <jstribny@redhat.com> - 2.8.2-3
de1f04
- Depend on scldevel(v8) virtual provide
de1f04
de1f04
* Tue Nov 26 2013 Josef Stribny <jstribny@redhat.com> - 2.8.2-2
de1f04
- Use v8 scl macro
de1f04
de1f04
* Wed Oct 16 2013 Josef Stribny <jstribny@redhat.com> - 2.8.2-1
de1f04
- Upgrade to version 2.8.2
de1f04
- Added rubygem-uglifier build dependency
de1f04
de1f04
* Wed Jun 12 2013 Josef Stribny <jstribny@redhat.com> - 2.4.5-3
de1f04
- Rebuild for https://fedoraproject.org/wiki/Features/Ruby_2.0.0
de1f04
de1f04
* Thu Jul 26 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 2.4.5-2
de1f04
- Imported from Fedora again.
de1f04
de1f04
* Wed Jul 18 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 2.4.5-1
de1f04
- Initial package