1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
#disable LTO otherwise compilation fails on centos9
%global _lto_cflags %nil
%define idmetaversion %(. ./IDMETA; echo $VERSION)
Name: idzebra
%define namev idzebra-2.0
Version: %{idmetaversion}
Release: 1.indexdata
License: GPL
Group: Applications/Databases
Vendor: Index Data ApS <info@indexdata.dk>
Source: idzebra-%{version}.tar.gz
BuildRoot: %{_tmppath}/idzebra-%{version}-root
Packager: Adam Dickmeiss <adam@indexdata.dk>
Summary: High-performance, structured text indexing and retrieval engine.
URL: https://www.indexdata.com/zebra
BuildRequires: libyaz5-devel >= 5.29.0
BuildRequires: expat-devel, bzip2-devel, tcl, zlib-devel, pkgconfig
%if 0%{?rhel} >= 9
BuildRequires: systemd-rpm-macros
%else
BuildRequires: systemd
%endif
# Use systemd macros for safe scriptlets
%{?systemd_requires}
%description
Zebra is a high-performance, general-purpose structured text indexing
and retrieval engine. It reads structured records in a variety of input
formats (eg. email, XML, MARC) and allows access to them through exact
boolean search expressions and relevance-ranked free-text queries.
%package -n %{namev}
Summary: High-performance, structured text indexing and retrival engine.
Group: Applications/Databases
Requires: lib%{namev}-modules = %{version}
%description -n %{namev}
Zebra is a high-performance, general-purpose structured text indexing
and retrieval engine. It reads structured records in a variety of input
formats (eg. email, XML, MARC) and allows access to them through exact
boolean search expressions and relevance-ranked free-text queries.
%package -n lib%{namev}
Summary: Zebra libraries
Group: Libraries
Requires: libyaz5 bzip2-libs
%description -n lib%{namev}
Libraries for the Zebra search engine.
%package -n lib%{namev}-modules
Summary: Zebra modules
Group: Libraries
Requires: lib%{namev} = %{version} expat tcl
%description -n lib%{namev}-modules
Modules for the Zebra search engine.
%package -n lib%{namev}-devel
Summary: Zebra development libraries
Group: Development/Libraries
Requires: lib%{namev} = %{version} libyaz5-devel bzip2-devel
%description -n lib%{namev}-devel
Development libraries for the Zebra search engine.
%prep
%setup
%build
CFLAGS="$RPM_OPT_FLAGS" \
./configure --prefix=/usr --libdir=%{_libdir} --mandir=%{_mandir}\
--enable-shared --with-yaz=pkg
%if %{?make_build:1}%{!?make_build:0}
%make_build
%else
make -j4 CFLAGS="$RPM_OPT_FLAGS"
%endif
%install
rm -fr ${RPM_BUILD_ROOT}
make install DESTDIR=${RPM_BUILD_ROOT}
rm ${RPM_BUILD_ROOT}/%{_libdir}/*.la
rm ${RPM_BUILD_ROOT}/%{_bindir}/zebraidx
rm ${RPM_BUILD_ROOT}/%{_mandir}/man1/zebraidx.*
rm ${RPM_BUILD_ROOT}/%{_bindir}/zebrasrv
rm ${RPM_BUILD_ROOT}/%{_mandir}/man8/zebrasrv.*
rm ${RPM_BUILD_ROOT}/%{_mandir}/man1/idzebra-config.*
mkdir -p ${RPM_BUILD_ROOT}/etc/idzebra
mkdir -p ${RPM_BUILD_ROOT}/etc/sysconfig
install -m 644 rpm/zebrasrv.sysconfig ${RPM_BUILD_ROOT}/etc/sysconfig/zebrasrv
mkdir -p ${RPM_BUILD_ROOT}/usr/lib/systemd/system
install -m 644 rpm/zebrasrv.service ${RPM_BUILD_ROOT}/usr/lib/systemd/system/zebrasrv.service
mkdir -p ${RPM_BUILD_ROOT}/etc/logrotate.d
install -m 644 rpm/zebrasrv.logrotate ${RPM_BUILD_ROOT}/etc/logrotate.d/zebrasrv
%clean
rm -fr ${RPM_BUILD_ROOT}
%files -n %{namev}
%defattr(-,root,root)
%doc README.md LICENSE.zebra NEWS
%config /usr/share/idzebra-2.0/tab
%{_bindir}/zebrasrv-*
%{_bindir}/zebraidx-*
%{_bindir}/idzebra-abs2dom*
/usr/share/doc/idzebra-2.0
%{_mandir}/*/zebraidx-*
%{_mandir}/*/zebrasrv-*
%{_mandir}/*/idzebra-abs2dom*
/usr/share/idzebra-2.0-examples
/usr/lib/systemd/system/zebrasrv.service
%dir %{_sysconfdir}/idzebra
%config(noreplace) /etc/sysconfig/zebrasrv
%config /etc/logrotate.d/zebrasrv
%files -n lib%{namev}
%{_libdir}/*.so.*
%files -n lib%{namev}-modules
%{_libdir}/idzebra-2.0/modules/*
%files -n lib%{namev}-devel
%{_bindir}/idzebra-config-*
%{_includedir}/idzebra-2.0
%{_libdir}/*.so
%{_libdir}/*.a
%{_mandir}/*/idzebra-config-*
%{_datadir}/aclocal/*.m4
%{_libdir}/pkgconfig/*.pc
%post -n lib%{namev}
/sbin/ldconfig
%postun -n lib%{namev}
/sbin/ldconfig
%post -n %{namev}
%systemd_post zebrasrv.service
%preun -n %{namev}
%systemd_preun zebrasrv.service
%postun -n %{namev}
%systemd_postun_with_restart zebrasrv.service
|