Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 44 additions & 38 deletions pazpar2.spec
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,50 @@ Source: pazpar2-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: libyaz5-devel >= 5.18.0
BuildRequires: pkgconfig
%if 0%{?rhel} >= 9
BuildRequires: systemd-rpm-macros
%else
BuildRequires: systemd
%endif
Packager: Adam Dickmeiss <adam@indexdata.dk>
URL: http://www.indexdata.com/pazpar2
URL: https://www.indexdata.com/pazpar2
Summary: pazpar2 daemon
Requires: libyaz5 >= 5.29.0
Requires: pazpar2-xsl

%description
Pazpar2 is a high-performance, user interface-independent, data
model-independent metasearching middleware featuring merging, relevance
ranking, record sorting, and faceted results.
# Use systemd macros for safe scriptlets
%{?systemd_requires}

%package -n pazpar2-xsl
Summary: XSLTs for converting to pz2 format
Group: Data

%package -n pazpar2-js
Summary: pazpar2 JS
Group: Data
Requires: pazpar2

%package -n pazpar2-doc
Summary: pazpar2 documentation
Group: Data

%description
Pazpar2 is a high-performance, user interface-independent, data
model-independent metasearching middleware featuring merging, relevance
ranking, record sorting, and faceted results.

%description -n pazpar2-xsl
This package includes XSLTs for converting from various input XML formats
to Pazpar2's internal XML format.

%description -n pazpar2-js
This package includes the Java Script library pz2.js. It also adds an
Alias for Apache2 so that this library and other demo portals are
available.

%description -n pazpar2-doc
This package includes documentation for Pazpar2 - the metasearcher.

%post
for f in /usr/share/pazpar2/xsl/*.xsl; do
e=/etc/pazpar2/`basename $f`
Expand All @@ -34,53 +62,31 @@ for f in /usr/share/pazpar2/xsl/*.xsl; do
fi
fi
done
if [ $1 = 1 ]; then
/usr/bin/systemctl daemon-reload > /dev/null 2>&1
/usr/bin/systemctl enable pazpar2 > /dev/null 2>&1
/usr/bin/systemctl start pazpar2 > /dev/null 2>&1
else
/usr/bin/systemctl restart pazpar2 > /dev/null 2>&1
fi
%preun
if [ $1 = 0 ]; then
/usr/bin/systemctl stop pazpar2 > /dev/null 2>&1
fi
%systemd_post pazpar2.service

%description -n pazpar2-js
This package includes the Java Script library pz2.js. It also adds an
Alias for Apache2 so that this library and other demo portals are
available.
%postun
%systemd_postun_with_restart pazpar2.service

%posttrans -n pazpar2-js
if [ -d /etc/httpd/conf.d ]; then
ln -sf /etc/pazpar2/ap2pazpar2-js.cfg /etc/httpd/conf.d/pazpar2-js.conf
fi

%preun
%systemd_preun pazpar2.service

%preun -n pazpar2-js
if [ $1 = 0 ]; then
if [ -L /etc/httpd/conf.d/pazpar2-js.conf ]; then
rm /etc/httpd/conf.d/pazpar2-js.conf
fi
fi
%package -n pazpar2-xsl
Summary: XSLTs for converting to pz2 format
Group: Data

%description -n pazpar2-xsl
This package includes XSLTs for converting from various input XML formats
to Pazpar2's internal XML format.

%package -n pazpar2-doc
Summary: pazpar2 documentation
Group: Data

%description -n pazpar2-doc
This package includes documentation for Pazpar2 - the metasearcher.

%prep

%setup

%build

CFLAGS="$RPM_OPT_FLAGS" \
./configure --prefix=%{_prefix} --libdir=%{_libdir} --mandir=%{_mandir} \
--with-yaz=pkg
Expand All @@ -104,8 +110,8 @@ cp etc/settings/*.xml ${RPM_BUILD_ROOT}/etc/pazpar2/settings/
cp -r etc/settings/mkc ${RPM_BUILD_ROOT}/etc/pazpar2/settings
mkdir -p ${RPM_BUILD_ROOT}/usr/share/pazpar2/xsl
cp etc/xsl/*.xsl ${RPM_BUILD_ROOT}/usr/share/pazpar2/xsl
mkdir -p ${RPM_BUILD_ROOT}/etc/systemd/system
install -m755 rpm/pazpar2.service ${RPM_BUILD_ROOT}/etc/systemd/system/pazpar2.service
mkdir -p ${RPM_BUILD_ROOT}/usr/lib/systemd/system
install -m644 rpm/pazpar2.service ${RPM_BUILD_ROOT}/usr/lib/systemd/system/pazpar2.service
mkdir -p ${RPM_BUILD_ROOT}/etc/sysconfig
install -m644 rpm/pazpar2.sysconfig ${RPM_BUILD_ROOT}/etc/sysconfig/pazpar2
echo "Alias /pazpar2 /usr/share/pazpar2" >${RPM_BUILD_ROOT}/etc/pazpar2/ap2pazpar2-js.cfg
Expand All @@ -130,8 +136,8 @@ rm -fr ${RPM_BUILD_ROOT}
%config %{_sysconfdir}/pazpar2/settings/*/*.xml
%config %{_sysconfdir}/pazpar2/services-available/*.xml
%config %{_sysconfdir}/sysconfig/pazpar2
%config %{_sysconfdir}/systemd/system/pazpar2.service
%config(noreplace) /etc/logrotate.d/pazpar2
/usr/lib/systemd/system/pazpar2.service
%{_mandir}/man1/pazpar2*
%{_mandir}/man5/pazpar2*
%{_mandir}/man7/pazpar2*
Expand Down
1 change: 0 additions & 1 deletion rpm/pazpar2.service
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ Type=simple
EnvironmentFile=/etc/sysconfig/pazpar2
Restart=on-abort
KillMode=process
PIDFile=${PP2_PID_FILE}
ExecStart=/bin/bash -ce "exec /usr/sbin/pazpar2 ${PP2_OPTIONS}"

[Install]
Expand Down
5 changes: 2 additions & 3 deletions rpm/pazpar2.sysconfig
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
PP2_USER=nobody
PP2_LOG=/var/log/pazpar2
PP2_PID_FILE=/var/run/pazpar2.pid
PP2_OPTIONS="-u ${PP2_USER} -l ${PP2_LOG} -f /etc/pazpar2/server.xml -p $PP2_PID_FILE"
PP2_LOG=/var/log/pazpar2.log
PP2_OPTIONS="-u ${PP2_USER} -l ${PP2_LOG} -f /etc/pazpar2/server.xml"