File koha.spec of Package koha
#
# spec file for package koha
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: koha
Version: 3.08.05
Release: 0
License: GPL-2.0+
Summary: A full-featured open-source ILS (Integrated Library System)
Url: http://koha.sourceforge.net/
Group: Productivity/Networking/Web/Utilities
Source: %{name}-%{version}.tar.bz2
Source1: koha-rpmlintrc
BuildRequires: apache2
BuildRequires: fdupes
BuildRequires: gcc
# included in perl package
# BuildRequires: perl-Digest-MD5
BuildRequires: idzebra
BuildRequires: libyaz-devel
BuildRequires: make
BuildRequires: mysql
BuildRequires: perl
BuildRequires: perl-Algorithm-CheckDigits
BuildRequires: perl-Biblio-EndnoteStyle
BuildRequires: perl-CGI-Session-Serialize-yaml
BuildRequires: perl-Class-Accessor
BuildRequires: perl-Class-Factory-Util
BuildRequires: perl-DBD-mysql
BuildRequires: perl-DBI
BuildRequires: perl-Data-ICal
BuildRequires: perl-Data-Random
BuildRequires: perl-Date-Calc
BuildRequires: perl-Date-ICal
BuildRequires: perl-Date-Manip
BuildRequires: perl-Email-Date
BuildRequires: perl-Event
BuildRequires: perl-GD
BuildRequires: perl-GD-Barcode
BuildRequires: perl-HTML-Scrubber
BuildRequires: perl-HTML-Template
BuildRequires: perl-HTML-Template-Pro
BuildRequires: perl-Lingua-Stem
BuildRequires: perl-List-MoreUtils
BuildRequires: perl-MARC-Charset
BuildRequires: perl-MARC-Crosswalk-DublinCore
BuildRequires: perl-MARC-File-XML
BuildRequires: perl-MARC-Record
BuildRequires: perl-Mail-Sendmail
BuildRequires: perl-PDF-API2
BuildRequires: perl-PDF-Reuse
BuildRequires: perl-PDF-Reuse-Barcode
BuildRequires: perl-POE
BuildRequires: perl-PerlMagick
BuildRequires: perl-SMS-Send
BuildRequires: perl-Schedule-At
BuildRequires: perl-Text-CSV
BuildRequires: perl-Text-Iconv
BuildRequires: perl-XML-Dumper
BuildRequires: perl-XML-LibXML
BuildRequires: perl-XML-LibXSLT
BuildRequires: perl-XML-RSS
BuildRequires: perl-XML-SAX
BuildRequires: perl-YAML-Syck
BuildRequires: perl-ZOOM
BuildRequires: perl-ldap
Requires(pre): %insserv_prereq
Requires(pre): /bin/logger
Requires(pre): apache2
Requires(pre): coreutils
Requires(pre): grep
Requires(pre): mysql
Requires(pre): perl-XML-SAX
Requires(pre): pwdutils
%define nnmmsg logger -t %{name}/rpm
Requires(pre): sed
#Requires: libyaz-devel
Requires: libyaz
Requires: perl
Requires: perl-Algorithm-CheckDigits
Requires: perl-Biblio-EndnoteStyle
Requires: perl-CGI-Session-Serialize-yaml
Requires: perl-Class-Accessor
Requires: perl-Class-Factory-Util
Requires: perl-DBD-mysql
Requires: perl-DBI
Requires: perl-Data-ICal
Requires: perl-Data-Random
Requires: perl-Date-Calc
Requires: perl-Date-ICal
Requires: perl-Date-Manip
# included in perl package:
# Requires: perl-Digest-MD5
Requires: perl-Email-Date
Requires: perl-Event
Requires: perl-GD
Requires: perl-GD-Barcode
Requires: perl-HTML-Scrubber
Requires: perl-HTML-Template
Requires: perl-HTML-Template-Pro
Requires: perl-Lingua-Stem
Requires: perl-List-MoreUtils
Requires: perl-MARC-Charset
Requires: perl-MARC-Crosswalk-DublinCore
Requires: perl-MARC-File-XML
Requires: perl-MARC-Record
Requires: perl-Mail-Sendmail
Requires: perl-PDF-API2
Requires: perl-PDF-Reuse
Requires: perl-PDF-Reuse-Barcode
Requires: perl-POE
Requires: perl-PerlMagick
Requires: perl-SMS-Send
Requires: perl-Schedule-At
Requires: perl-Text-CSV
Requires: perl-Text-Iconv
Requires: perl-XML-Dumper
Requires: perl-XML-LibXML
Requires: perl-XML-LibXSLT
Requires: perl-XML-RSS
Requires: perl-YAML-Syck
Requires: perl-ZOOM
Requires: perl-ldap
BuildArch: noarch
AutoReqProv: off
%if 0%{?suse_version} > 1010
Recommends: idzebra
%else
Requires: idzebra
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# make our live easier: define some "variables"
%define installdir /srv/www/koha
%description
Koha is a full-featured open-source ILS (Integrated Library System).
In use worldwide, its development is steered by a growing community
of libraries collaborating to achieve their technology goals. Koha's
impressive feature set continues to evolve and expand to meet the
needs of its user base.
%prep
%setup -q
# patch
find . -name .cvsignore -exec rm {} \;
find . -type d -name CVS -exec rm -rf {} \;
find . -name .DS_Store -exec rm -rf {} \;
%build
# no need
%install
mkdir -p %{buildroot}%{installdir}
mkdir -p %{buildroot}%{_defaultdocdir}/%{name}/
cp -a * %{buildroot}%{installdir}/
# remove debian
rm -rf %{buildroot}%{installdir}/debian
# remove backup file
rm -rf %{buildroot}%{installdir}/C4/Auth_cas_servers.yaml.orig
# fix mod
for file in $(find %{buildroot}%{installdir}/ -type f); do
case "$file" in
*.pl|*.sh|*.py|*.PL|*.t|*unapi|*svc/bib)
test -f "$file" && chmod +x "$file"
;;
*)
test -f "$file" && chmod -x "$file"
;;
esac
done
# install docu
pushd %{buildroot}%{installdir}/
for file in INSTALL* LICENSE README ; do
cp -r $file %{buildroot}%{_defaultdocdir}/%{name}/
done
popd
%fdupes %{buildroot}%{installdir}/
%clean
rm -rf %{buildroot}
%pre
if [ ${1:-0} -gt 1 ]; then
: OK currently no jobs to do
else
if
getent group koha >/dev/null
then
: OK group koha already present
else
groupadd -r koha 2>/dev/null || :
%{nnmmsg} "Added group koha for package koha"
fi
if
id koha > /dev/null 2>&1
then
: OK user koha already present
else
useradd -r -o -g koha -s /bin/false -c "Koha User" -d "%{installdir}" koha 2> /dev/null || :
%{nnmmsg} "Added user koha for package koha"
fi
fi
%post
if [ ${1:-0} -gt 1 ]; then
: OK currently no jobs
else
BASHRC="%{installdir}/.bashrc"
if [ ! -f "$BASHRC" ]; then
echo "export KOHA_CONF=%{_sysconfdir}/%{name}/koha-conf.xml" > "$BASHRC"
echo "export PERL5LIB=%{_datadir}/%{name}/lib" >> "$BASHRC"
chown koha:koha "$BASHRC"
fi
# patch XML/SAX/ParserDetails.ini
if [ -f "%{perl_vendorlib}/XML/SAX/ParserDetails.ini" ]; then
cp "%perl_vendorlib/XML/SAX/ParserDetails.ini" "%{perl_vendorlib}/XML/SAX/ParserDetails.ini-$(date +"%Y%m%d-%H%M")"
sed -i "s|XML::SAX::PurePerl|XML::LibXML::SAX::Parser|g" "%{perl_vendorlib}/XML/SAX/ParserDetails.ini"
fi
fi
%{fillup_and_insserv -f -y apache2}
%postun
%restart_on_update apache2
%files
%defattr(-,root,root)
%doc %{_defaultdocdir}/%{name}
%dir %{installdir}
%{installdir}
%changelog