Allow predictable sessions PAZ-1030
[pazpar2-moved-to-github.git] / pazpar2.spec
1 %define idmetaversion %(. ./IDMETA; echo $VERSION)
2 Name: pazpar2
3 Version: %{idmetaversion}
4 Release: 1.indexdata
5 License: GPL
6 Group: Applications/Internet
7 Vendor: Index Data ApS <info@indexdata.dk>
8 Source: pazpar2-%{version}.tar.gz
9 BuildRoot: %{_tmppath}/%{name}-%{version}-root
10 BuildRequires: libyaz5-devel >= 5.12.0
11 Packager: Adam Dickmeiss <adam@indexdata.dk>
12 URL: http://www.indexdata.com/pazpar2
13 Summary: pazpar2 daemon
14 Requires: libyaz5 >= 5.12.0
15 Requires: pazpar2-xsl
16
17 %description
18 Pazpar2 is a high-performance, user interface-independent, data
19 model-independent metasearching middleware featuring merging, relevance
20 ranking, record sorting, and faceted results.
21
22 %package -n pazpar2-js
23 Summary: pazpar2 JS
24 Group: Data
25 Requires: pazpar2
26
27 %post
28 for f in /usr/share/pazpar2/xsl/*.xsl; do
29         e=/etc/pazpar2/`basename $f`
30         if test -f $e; then
31                 if diff $e $f >/dev/null; then
32                         rm $e
33                 fi
34         fi
35 done
36 if [ $1 = 1 ]; then
37         /sbin/chkconfig --add pazpar2
38         /sbin/service pazpar2 start > /dev/null 2>&1
39 else
40         /sbin/service pazpar2 restart > /dev/null 2>&1
41 fi
42 %preun
43 if [ $1 = 0 ]; then
44         /sbin/service pazpar2 stop > /dev/null 2>&1
45         /sbin/chkconfig --del pazpar2
46 fi
47
48 %description -n pazpar2-js
49 This package includes the Java Script library pz2.js. It also adds an
50 Alias for Apache2 so that this library and other demo portals are
51 available.
52
53 %posttrans -n pazpar2-js
54 if [ -d /etc/httpd/conf.d ]; then
55         ln -sf /etc/pazpar2/ap2pazpar2-js.cfg /etc/httpd/conf.d/pazpar2-js.conf
56 fi
57 %preun -n pazpar2-js
58 if [ $1 = 0 ]; then
59         if [ -L /etc/httpd/conf.d/pazpar2-js.conf ]; then
60                 rm /etc/httpd/conf.d/pazpar2-js.conf
61         fi
62 fi
63 %package -n pazpar2-xsl
64 Summary: XSLTs for converting to pz2 format
65 Group: Data
66
67 %description -n pazpar2-xsl
68 This package includes XSLTs for converting from various input XML formats
69 to Pazpar2's internal XML format.
70
71 %package -n pazpar2-doc
72 Summary: pazpar2 documentation
73 Group: Data
74
75 %description -n pazpar2-doc
76 This package includes documentation for Pazpar2 - the metasearcher.
77
78 %prep
79 %setup
80
81 %build
82
83 CFLAGS="$RPM_OPT_FLAGS" \
84  ./configure --prefix=%{_prefix} --libdir=%{_libdir} --mandir=%{_mandir} \
85         --with-yaz=/usr/bin
86 make CFLAGS="$RPM_OPT_FLAGS"
87
88 %install
89 rm -fr ${RPM_BUILD_ROOT}
90 make install DESTDIR=${RPM_BUILD_ROOT}
91 mkdir -p ${RPM_BUILD_ROOT}/etc/pazpar2
92 mkdir -p ${RPM_BUILD_ROOT}/etc/pazpar2/settings
93 mkdir -p ${RPM_BUILD_ROOT}/etc/pazpar2/services-enabled
94 mkdir -p ${RPM_BUILD_ROOT}/etc/pazpar2/services-available
95 cp etc/server.xml ${RPM_BUILD_ROOT}/etc/pazpar2/
96 cp etc/default.xml ${RPM_BUILD_ROOT}/etc/pazpar2/services-available/
97 cp etc/services/*.xml ${RPM_BUILD_ROOT}/etc/pazpar2/services-available/
98 cp etc/settings/*.xml ${RPM_BUILD_ROOT}/etc/pazpar2/settings/
99 cp -r etc/settings/mkc ${RPM_BUILD_ROOT}/etc/pazpar2/settings
100 mkdir -p ${RPM_BUILD_ROOT}/usr/share/pazpar2/xsl
101 cp etc/xsl/*.xsl ${RPM_BUILD_ROOT}/usr/share/pazpar2/xsl
102 mkdir -p ${RPM_BUILD_ROOT}/etc/rc.d/init.d
103 install -m755 rpm/pazpar2.init ${RPM_BUILD_ROOT}/etc/rc.d/init.d/pazpar2
104 echo "Alias /pazpar2 /usr/share/pazpar2" >${RPM_BUILD_ROOT}/etc/pazpar2/ap2pazpar2-js.cfg
105 mkdir -p ${RPM_BUILD_ROOT}/etc/logrotate.d
106 install -m644 rpm/pazpar2.logrotate ${RPM_BUILD_ROOT}/etc/logrotate.d/pazpar2
107
108 %clean
109 rm -fr ${RPM_BUILD_ROOT}
110
111 %files
112 %defattr(-,root,root)
113 %doc README LICENSE NEWS
114 %{_sbindir}/pazpar2
115 %dir %{_sysconfdir}/pazpar2
116 %dir %{_sysconfdir}/pazpar2/settings
117 %dir %{_sysconfdir}/pazpar2/settings/mkc
118 %dir %{_sysconfdir}/pazpar2/services-enabled
119 %dir %{_sysconfdir}/pazpar2/services-available
120 %config %{_sysconfdir}/pazpar2/*.xml
121 %config %{_sysconfdir}/pazpar2/settings/*.xml
122 %config %{_sysconfdir}/pazpar2/settings/*/*.xml
123 %config %{_sysconfdir}/pazpar2/services-available/*.xml
124 %config %{_sysconfdir}/rc.d/init.d/pazpar2
125 %config(noreplace) /etc/logrotate.d/pazpar2
126 %{_mandir}/man5/pazpar2*
127 %{_mandir}/man7/pazpar2*
128 %{_mandir}/man8/pazpar2*
129
130 %files -n pazpar2-js
131 %defattr(-,root,root)
132 %{_datadir}/pazpar2/js/pz2.js
133 %config %{_sysconfdir}/pazpar2/ap2pazpar2-js.cfg
134
135 %files -n pazpar2-xsl
136 %defattr(-,root,root)
137 %{_datadir}/pazpar2/xsl
138
139 %files -n pazpar2-doc
140 %defattr(-,root,root)
141 %{_defaultdocdir}/pazpar2