76e680a
%define gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
76e680a
%define gemname rack
76e680a
%define geminstdir %{gemdir}/gems/%{gemname}-%{version}
76e680a
76e680a
Name:           rubygem-%{gemname}
76e680a
Summary:        Common API for connecting web frameworks, web servers and layers of software
d58a4bb
Version:        1.0.0
153bdc4
Release:        1%{?dist}
76e680a
Group:          Development/Languages
76e680a
License:        MIT
76e680a
URL:            http://rubyforge.org/projects/%{gemname}/
76e680a
Source0:        http://gems.rubyforge.org/gems/%{gemname}-%{version}.gem
76e680a
76e680a
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
76e680a
Requires:       rubygems
76e680a
Requires:       ruby(abi) = 1.8
76e680a
BuildRequires:  rubygems
76e680a
BuildArch:      noarch
76e680a
Provides:       rubygem(%{gemname}) = %{version}
76e680a
76e680a
%description
76e680a
Rack provides a common API for connecting web frameworks,
76e680a
web servers and layers of software in between
76e680a
76e680a
%prep
76e680a
76e680a
%build
76e680a
76e680a
%install
76e680a
rm -rf %{buildroot}
76e680a
mkdir -p %{buildroot}%{gemdir}
76e680a
gem install --local --install-dir %{buildroot}/%{gemdir} \
76e680a
            --force %{SOURCE0}
76e680a
153bdc4
# Remove backup files
153bdc4
find %{buildroot}/%{geminstdir} -type f -name "*~" -delete
153bdc4
153bdc4
# Delete zero-length files
153bdc4
find %{buildroot}/%{geminstdir} -type f -size 0c -exec rm -rvf {} \;
153bdc4
153bdc4
# Fix anything executable that does not have a shebang
153bdc4
for file in `find %{buildroot}/%{geminstdir} -type f -perm /a+x`; do
153bdc4
    [ -z "`head -n 1 $file | grep \"^#!/\"`" ] && chmod -v 644 $file
153bdc4
done
153bdc4
153bdc4
# Find files with a shebang that do not have executable permissions
153bdc4
for file in `find %{buildroot}/%{geminstdir} -type f ! -perm /a+x -name "*.rb"`; do
153bdc4
    [ ! -z "`head -n 1 $file | grep \"^#!/\"`" ] && chmod -v 755 $file
153bdc4
done
153bdc4
153bdc4
# Find files that have non-standard-executable-perm
153bdc4
find %{buildroot}/%{geminstdir} -type f -perm /g+wx -exec chmod -v g-w {} \;
153bdc4
153bdc4
# Find files that are not readable
153bdc4
find %{buildroot}/%{geminstdir} -type f ! -perm /go+r -exec chmod -v go+r {} \;
76e680a
76e680a
# Move %{gemdir}/bin/rackup to %{_bindir}
76e680a
mkdir -p %{buildroot}/%{_bindir}
76e680a
mv %{buildroot}/%{gemdir}/bin/rackup %{buildroot}/%{_bindir}
76e680a
rm -rf %{buildroot}/%{gemdir}/bin/
76e680a
76e680a
%clean
76e680a
rm -rf %{buildroot}
76e680a
76e680a
%files
76e680a
%defattr(-, root, root, -)
76e680a
%dir %{geminstdir}
76e680a
%doc %{gemdir}/doc/%{gemname}-%{version}
76e680a
%doc %{geminstdir}/COPYING
76e680a
%doc %{geminstdir}/README
76e680a
%doc %{geminstdir}/RDOX
76e680a
%doc %{geminstdir}/Rakefile
76e680a
%doc %{geminstdir}/KNOWN-ISSUES
76e680a
%doc %{geminstdir}/SPEC
76e680a
%doc %{geminstdir}/example
76e680a
%doc %{geminstdir}/test
76e680a
%doc %{geminstdir}/contrib
d58a4bb
%{geminstdir}/%{gemname}.gemspec
76e680a
%{geminstdir}/lib
76e680a
%{geminstdir}/bin
76e680a
%{_bindir}/rackup
76e680a
%{gemdir}/cache/%{gemname}-%{version}.gem
76e680a
%{gemdir}/specifications/%{gemname}-%{version}.gemspec
76e680a
76e680a
%changelog
d58a4bb
* Sun Apr 26 2009 Jeroen van Meeuwen <kanarip@fedoraproject.org> - 1.0.0-1
d58a4bb
- New upstream version
d58a4bb
153bdc4
* Mon Mar 16 2009 Jeroen van Meeuwen <j.van.meeuwen@ogd.nl> - 0.9.1-1
153bdc4
- New upstream version
153bdc4
edd3cf4
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-3
edd3cf4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
edd3cf4
76e680a
* Sun Nov 09 2008 Jeroen van Meeuwen <j.van.meeuwen@ogd.nl> - 0.4.0-2
76e680a
- Remove unused macro (#470694)
76e680a
- Add ruby(abi) = 1.8 as required by package guidelines (#470694)
76e680a
- Move %%{gemdir}/bin/rackup to %%{_bindir} (#470694)
76e680a
76e680a
* Sat Nov 08 2008 Jeroen van Meeuwen <j.van.meeuwen@ogd.nl> - 0.4.0-1
76e680a
- Initial package