%{!?ruby_sitelib: %define ruby_sitelib %(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']")}
%define rubyabi 1.8
%define repoid 29501
%define majorver 0.6.2
%undefine minorver
%define fedorarel 2
%define rel %{?minorver:0.}%{fedorarel}%{?minorver:.%minorver}
Name: alexandria
Version: %{majorver}
Release: %{rel}%{?dist}
Summary: Book collection manager
Group: Applications/Productivity
License: GPLv2+
URL: http://alexandria.rubyforge.org/
Source0: http://rubyforge.org/frs/download.php/%{repoid}/%{name}-%{version}%{?minorver}.tar.gz
Patch0: alexandria-0.6.2-rh427070.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: ruby(abi) = %{rubyabi}
BuildRequires: rubygem(rake)
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: intltool
BuildRequires: scrollkeeper
BuildRequires: ImageMagick
Requires: ruby
Requires: ruby(abi) = %{rubyabi}
Requires: ruby(amazon)
Requires: ruby(gettext-package)
Requires: ruby(imagesize)
Requires: ruby(mechanize)
Requires: ruby(revolution)
# ruby(zoom) -> rubygem(zoom) switch
#Requires: ruby(zoom)
Requires: rubygem(zoom) >= 0.3.0
Requires: ruby(marc)
Requires: ruby(gconf2)
Requires: ruby(gdkpixbuf2)
Requires: ruby(glib2)
Requires: ruby(gnome2)
Requires: ruby(libglade2)
Requires(post): scrollkeeper
Requires(postun): scrollkeeper
Requires(pre): GConf2
Requires(post): GConf2
Requires(preun): GConf2
%description
Alexandria is a GNOME application to help you manage your book collection.
%prep
%setup -q -n %{name}-%{majorver}%{?minorver}
%patch0 -p1 -b .rh427070
%build
rake build
%install
%{__rm} -rf $RPM_BUILD_ROOT
# disable scrollkeeper
%{__rm} -rf tmpbin
%{__mkdir} tmpbin
%{__ln_s} -f /bin/true tmpbin/scrollkeeper-update
%{__ln_s} -f /bin/true tmpbin/gconftool-2
%{__ln_s} -f /bin/true tmpbin/gtk-update-icon-cache
export PATH="$(pwd)/tmpbin:$PATH"
#export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
export PREFIX=$RPM_BUILD_ROOT%{_prefix}
rake install
%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/applications/
desktop-file-install \
--vendor fedora \
--dir $RPM_BUILD_ROOT%{_datadir}/applications/ \
--delete-original \
$RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
# create 64x64, 128x128 icon
for s in 64 128 ; do
%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/
convert -scale ${s}x${s} \
data/alexandria/icons/%{name}.png \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/%{name}.png
done
%{__mkdir_p} $RPM_BUILD_ROOT%{_sysconfdir}/gconf/schemas/
%{__install} -c -p -m 0644 schemas/%{name}.schemas \
$RPM_BUILD_ROOT%{_sysconfdir}/gconf/schemas/
%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/locale/
%{__cp} -pr data/locale/* $RPM_BUILD_ROOT%{_datadir}/locale/
# Clean up documents
%{__rm} -rf $RPM_BUILD_ROOT%{_defaultdocdir}
%find_lang %{name}
%clean
%{__rm} -rf $RPM_BUILD_ROOT
%pre
if [ "$1" -gt 1 ]; then
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
gconftool-2 --makefile-uninstall-rule \
%{_sysconfdir}/gconf/schemas/%{name}.schemas >/dev/null
fi
exit 0
%post
touch --no-create %{_datadir}/icons/hicolor/
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
%{_bindir}/scrollkeeper-update -q -o %{_datadir}/omf/%{name}
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
gconftool-2 --makefile-install-rule \
%{_sysconfdir}/gconf/schemas/%{name}.schemas > /dev/null
exit 0
%preun
if [ "$1" -eq 0 ]; then
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
gconftool-2 --makefile-uninstall-rule \
%{_sysconfdir}/gconf/schemas/%{name}.schemas > /dev/null
fi
exit 0
%postun
touch --no-create %{_datadir}/icons/hicolor/
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
%{_bindir}/scrollkeeper-update -q
exit 0
%files -f %{name}.lang
%defattr(-,root,root,-)
%doc COPYING
%doc ChangeLog
%doc INSTALL
%doc README*
%doc TODO
%doc doc/[A-Z]*
%doc doc/cuecat_support.rdoc
%{_mandir}/man1/%{name}.1*
%{_bindir}/%{name}
%{ruby_sitelib}/%{name}.rb
%{ruby_sitelib}/%{name}/
%{_sysconfdir}/gconf/schemas/%{name}.schemas
%{_datadir}/%{name}/
%{_datadir}/gnome/help/%{name}/
%{_datadir}/omf/%{name}/
%{_datadir}/applications/fedora-%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.*
%changelog
* Mon Dec 31 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.2-2
- Trial workaround patch for bug 427070
* Thu Dec 20 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.2-1
- 0.6.2
- Two patches for 0.6.2b2 are removed.
* Sun Dec 16 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.2-0.6.b2
- Pass exception when user don't use evolution for mailer.
- Fix crash when yelp is not installed.
- Add INSTALL to %%doc as this file contains some useful information.
* Wed Dec 12 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.2-0.3.b2
- Also require ruby(revolution)
* Tue Nov 13 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.2-0.2.b2
- Add more requires of ruby modules to support more function
* Sun Nov 4 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.2-0.1.b2
- And try 0.6.2 beta 2
* Fri Nov 2 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.2-0.1.b1
- Try 0.6.2 beta 1
* Fri May 11 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.1-3
- This time completely disable scrollkeeper-update
- Create 128x128 icon also
* Tue May 1 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.1-2
- Fix scriptlets typo
* Sun Apr 22 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.1-1
- Initial packaging