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
openSUSE Build Service is sponsored by