Blame SPECS/rubygem-sprockets.spec

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