rpms/rubygem-sqlite3-ruby/devel rubygem-sqlite3-ruby.spec,1.2,1.3
Mamoru Tasaka
mtasaka at fedoraproject.org
Mon Jun 15 15:22:10 UTC 2009
Author: mtasaka
Update of /cvs/extras/rpms/rubygem-sqlite3-ruby/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19729/rubygem-sqlite3-ruby/devel
Modified Files:
rubygem-sqlite3-ruby.spec
Log Message:
Complete ruby-sqlite3 -> rubygem-sqlite3-ruby switch
Index: rubygem-sqlite3-ruby.spec
===================================================================
RCS file: /cvs/extras/rpms/rubygem-sqlite3-ruby/devel/rubygem-sqlite3-ruby.spec,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- rubygem-sqlite3-ruby.spec 25 Feb 2009 22:06:00 -0000 1.2
+++ rubygem-sqlite3-ruby.spec 15 Jun 2009 15:21:40 -0000 1.3
@@ -1,66 +1,157 @@
-%define ruby_sitelib %(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']")
-%define gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
-%define gemname sqlite3-ruby
-%define geminstdir %{gemdir}/gems/%{gemname}-%{version}
+%global ruby_sitelib %(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']")
+%global gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
+%global gemname sqlite3-ruby
+%global geminstdir %{gemdir}/gems/%{gemname}-%{version}
%{!?ruby_sitearch: %define ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]')}
Summary: Allows Ruby scripts to interface with a SQLite3 database
Name: rubygem-%{gemname}
Version: 1.2.4
-Release: 2%{?dist}
+Release: 3%{?dist}
Group: Development/Languages
License: BSD
URL: http://sqlite-ruby.rubyforge.org/sqlite3
-# Source URL changes file ID every version; no macro's used in Source0 so that we
-# can copy paste the link
-Source0: http://rubyforge.org/frs/download.php/42056/sqlite3-ruby-1.2.4.tar.gz
+Source0: http://rubygems.rubyforge.org/gems/%{gemname}-%{version}.gem
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: rubygems
Requires: ruby(abi) = 1.8
-BuildRequires: rubygems
+BuildRequires: ruby(rubygems)
BuildRequires: ruby-devel
BuildRequires: sqlite-devel
-BuildRequires: rubygem-rake
-BuildRequires: zip
-Provides: rubygem(%{gemname}) = %{version}
+BuildRequires: rubygem(rake)
+Provides: rubygem(%{gemname}) = %{version}-%{release}
%description
SQLite3/Ruby is a module to allow Ruby scripts to interface with a SQLite3
database.
+%package -n ruby-sqlite3
+Summary: A Ruby interface for the SQLite database engine
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+Provides: ruby(sqlite3) = %{version}-%{release}
+
+%description -n ruby-sqlite3
+Database driver to access SQLite v.3 databases from Ruby.
+
%prep
-%setup -q -n %{gemname}-%{version}
+%setup -q -c -T
%build
-rake build package
+mkdir -p ./%{gemdir}
+export CONFIGURE_ARGS="--with-cflags='%{optflags}'"
+gem install \
+ --local \
+ --install-dir ./%{gemdir} \
+ -V --force \
+ %{SOURCE0}
+
+# Permission
+find . -name \*.rb -or -name \*.gem | xargs chmod 0644
%install
rm -rf %{buildroot}
+
mkdir -p %{buildroot}%{gemdir}
-gem install --local --install-dir %{buildroot}%{gemdir} \
- --force --rdoc pkg/%{gemname}-%{version}
+cp -a .%{gemdir}/* %{buildroot}%{gemdir}/
+
install -d -m0755 %{buildroot}%{ruby_sitearch}
-# .so built by gem install has install-dir embedded, which fails check-buildroot
-install -cpm 0755 ext/sqlite3_api/sqlite3_api.so %{buildroot}%{ruby_sitearch}
-rm -rf %{buildroot}%{geminstdir}/ext
-# even though we removed the lib/ directory from the svn sources, we still
-# need to remove the object files in lib/ so that check-buildroot doesn't complain
-rm -rf %{buildroot}%{geminstdir}/lib/*.so
+mv %{buildroot}%{geminstdir}/lib/sqlite3_api.so %{buildroot}%{ruby_sitearch}
+rm -rf %{buildroot}%{geminstdir}/ext/
+
+# The following method is completely copied from rubygem-gettext
+# spec file
+#
+# Create symlinks
+##
+## Note that before switching to gem %%{ruby_sitelib}/sqlite3
+## already existed as a directory, so this cannot be replaced
+## by symlink (cpio fails)
+## Similarly, all directories under %%{ruby_sitelib} cannot be
+## replaced by symlink
+#
+
+create_symlink_rec(){
+
+ORIGBASEDIR=$1
+TARGETBASEDIR=$2
+
+## First calculate relative path of ORIGBASEDIR
+## from TARGETBASEDIR
+TMPDIR=$TARGETBASEDIR
+BACKDIR=
+DOWNDIR=
+num=0
+nnum=0
+while true
+do
+ num=$((num+1))
+ TMPDIR=$(echo $TMPDIR | sed -e 's|/[^/][^/]*$||')
+ DOWNDIR=$(echo $ORIGBASEDIR | sed -e "s|^$TMPDIR||")
+ if [ x$DOWNDIR != x$ORIGBASEDIR ]
+ then
+ nnum=0
+ while [ $nnum -lt $num ]
+ do
+ BACKDIR="../$BACKDIR"
+ nnum=$((nnum+1))
+ done
+ break
+ fi
+done
+
+RELBASEDIR=$( echo $BACKDIR/$DOWNDIR | sed -e 's|//*|/|g' )
+
+## Next actually create symlink
+pushd %{buildroot}/$ORIGBASEDIR
+find . -type f | while read f
+do
+ DIRNAME=$(dirname $f)
+ BACK2DIR=$(echo $DIRNAME | sed -e 's|/[^/][^/]*|/..|g')
+ mkdir -p %{buildroot}${TARGETBASEDIR}/$DIRNAME
+ LNNAME=$(echo $BACK2DIR/$RELBASEDIR/$f | \
+ sed -e 's|^\./||' | sed -e 's|//|/|g' | \
+ sed -e 's|/\./|/|' )
+ ln -s -f $LNNAME %{buildroot}${TARGETBASEDIR}/$f
+done
+popd
+
+}
+
+create_symlink_rec %{geminstdir}/lib %{ruby_sitelib}
+
+%check
+# Requires mocha, not available on Fedora yet, disabling
+exit 0
%clean
rm -rf %{buildroot}
%files
%defattr(-, root, root, -)
-%doc LICENSE
%{ruby_sitearch}/sqlite3_api.so
-%{gemdir}/gems/%{gemname}-%{version}/
+
+%dir %{geminstdir}
+%doc %{geminstdir}/README.rdoc
+%doc %{geminstdir}/doc/
+%{geminstdir}/lib/
+%doc %{geminstdir}/test/
+
%doc %{gemdir}/doc/%{gemname}-%{version}
%{gemdir}/cache/%{gemname}-%{version}.gem
%{gemdir}/specifications/%{gemname}-%{version}.gemspec
+%files -n ruby-sqlite3
+%defattr(-,root,root,-)
+%{ruby_sitelib}/sqlite3.rb
+%{ruby_sitelib}/sqlite3/
+
%changelog
+* Tue Jun 16 2009 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 1.2.4-3
+- Create ruby-sqlite3 as subpackage (ref: #472621, #472622)
+- Use gem as source
+
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.2.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
More information about the fedora-extras-commits
mailing list