Fix backslashes in SHIBSP_PREFIX variable by manually creating it during the script...
[shibboleth/sp.git] / shibboleth.spec.in
1 Name:           shibboleth
2 Summary:        Open source system for attribute-based Web SSO
3 Version:        @-VERSION-@
4 Release:        6
5 #Copyright:     Internet2
6 Group:          System Environment/Libraries
7 License:        Apache style
8 URL:            http://shibboleth.internet2.edu/
9 Source0:        http://shibboleth.internet2.edu/downloads/%{name}-%{version}.tar.gz
10 BuildRoot:      %{_tmppath}/%{name}-%{version}-root
11 BuildRequires:  openssl-devel
12 BuildRequires:  xerces%{?xercesver}-c-devel >= 2.8.0
13 BuildRequires:  xml-security-c-devel >= 1.4.0
14 BuildRequires:  zlib-devel, opensaml-devel >= 2.0
15 %{?_with_log4cpp:BuildRequires: log4cpp-devel >= 1.0}
16 %{!?_with_log4cpp:BuildRequires: log4shib-devel}
17 %{?_with_fastcgi:BuildRequires: fcgi-devel}
18 %if "%{_vendor}" == "redhat"
19 %{!?_without_builtinapache:BuildRequires: httpd-devel}
20 %endif
21 %if "%{_vendor}" == "suse"
22 %{!?_without_builtinapache:BuildRequires: apache2-devel}
23 %endif
24
25
26 %description
27 Shibboleth, a project of Internet2/MACE, is developing architectures,
28 policy structures, practical technologies, and an open source
29 implementation to support inter-institutional sharing of web resources
30 subject to access controls. In addition, Shibboleth will develop a
31 policy framework that will allow inter-operation within the higher
32 education community.
33
34 This package contains the shibboleth runtime library and apache module.
35
36 %package devel
37 Summary: Shibboleth development Headers
38 Group: Development/Libraries
39 Requires: %{name} = %{version}
40
41 %description devel
42 Shibboleth, a project of Internet2/MACE, is developing architectures,
43 policy structures, practical technologies, and an open source
44 implementation to support inter-institutional sharing of web resources
45 subject to access controls. In addition, Shibboleth will develop a
46 policy framework that will allow inter-operation within the higher
47 education community.
48
49 This package contains the headers and other necessary files to build
50 applications that use the shibboleth library.
51
52 %package docs
53 Summary: Shibboleth API Documentation
54 Group: Development/Libraries
55 Requires: %{name} = %{version}
56
57 %description docs
58 Shibboleth Library API documentation generated by doxygen.
59
60 %prep
61 %setup -q
62
63 %build
64 %configure %{?_without_odbc:--disable-odbc} %{?_without_adfs:--disable-adfs} %{?_with_fastcgi} %{?shib_options}
65 %{__make}
66
67 %install
68 [ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
69 %{__make} install NOKEYGEN=1 DESTDIR=$RPM_BUILD_ROOT
70
71 %if "%{_vendor}" == "suse"
72         %{__sed} -i "s/\/var\/log\/httpd/\/var\/log\/apache2/g" \
73                 $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/native.logger
74 %endif
75
76 %check || :
77 %{__make} check
78
79 %clean
80 [ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
81
82 %post
83 %ifnos solaris2.8 solaris2.9 solaris2.10
84 /sbin/ldconfig
85 %endif
86
87
88 # Plug the SP into Apache on a recognized system.
89 APACHE_CONFIG="no"
90 if [ -f $RPM_BUILD_ROOT/%{_libdir}/%{name}/mod_shib_13.so ] ; then
91         APACHE_CONFIG="apache.config"
92 fi
93 if [ -f $RPM_BUILD_ROOT/%{_libdir}/%{name}/mod_shib_20.so ] ; then
94         APACHE_CONFIG="apache2.config"
95 fi
96 if [ -f $RPM_BUILD_ROOT/%{_libdir}/%{name}/mod_shib_22.so ] ; then
97         APACHE_CONFIG="apache22.config"
98 fi
99 if [ "$APACHE_CONFIG" != "no" ] ; then
100         APACHE_CONFD="no"
101         if [ -d %{_sysconfdir}/httpd/conf.d ] ; then
102                 APACHE_CONFD="%{_sysconfdir}/httpd/conf.d"
103         fi
104         if [ -d %{_sysconfdir}/apache2/conf.d ] ; then
105                 APACHE_CONFD="%{_sysconfdir}/apache2/conf.d"
106         fi
107         if [ "$APACHE_CONFD" != "no" ] ; then
108                 if [ ! -f $APACHE_CONFD/shib.conf ] ; then
109 %if "%{_vendor}" == "suse"
110                     %{__sed} "s/\/usr\/doc\/%{name}/\/usr\/share\/doc\/packages\/%{name}/g" \
111                                 %{_sysconfdir}/%{name}/$APACHE_CONFIG \
112                                 > $APACHE_CONFD/shib.conf
113 %else
114                         %{__sed} "s/\/usr\/doc\/%{name}/\/usr\/share\/doc\/%{name}-@-VERSION-@/g" \
115                             %{_sysconfdir}/%{name}/$APACHE_CONFIG \
116                             > $APACHE_CONFD/shib.conf
117 %endif
118                 fi
119         fi
120 fi
121
122 # Install the shibd init.d scripts and service
123 %if "%{_vendor}" == "redhat"
124         if [ -d %{_sysconfdir}/init.d ] ; then
125                 if [ ! -f %{_sysconfdir}/init.d/shibd ] ; then
126                         %{__cp} -p %{_sysconfdir}/%{name}/shibd-%{_vendor} %{_sysconfdir}/init.d/shibd
127                         %{__chmod} 755 %{_sysconfdir}/init.d/shibd
128                         chkconfig --add shibd
129                 fi
130         fi
131 %endif
132
133 # Key generation
134 cd %{_sysconfdir}/%{name}
135 sh ./keygen.sh -b
136
137 %postun
138 %ifnos solaris2.8 solaris2.9 solaris2.10
139 /sbin/ldconfig
140 %endif
141
142 # delete the Apache configuration if we're being removed
143 [ "$1" = 0 ] || exit 0
144 [ -f %{_sysconfdir}/httpd/conf.d/shib.conf ] && \
145     %{__rm} -f %{_sysconfdir}/httpd/conf.d/shib.conf
146 [ -f %{_sysconfdir}/apache2/conf.d/shib.conf ] && \
147     %{__rm} -f %{_sysconfdir}/apache2/conf.d/shib.conf
148
149 # clear init.d state
150 %if "%{_vendor}" == "redhat"
151         chkconfig --del shibd
152         [ -f %{_sysconfdir}/init.d/shibd ] && \
153             %{__rm} -f %{_sysconfdir}/init.d/shibd
154 %endif
155
156 %files
157 %defattr(-,root,root,-)
158 %{_sbindir}/shibd
159 %{_bindir}/mdquery
160 %{_bindir}/resolvertest
161 %{_libdir}/libshibsp.so.*
162 %{_libdir}/libshibsp-lite.so.*
163 %dir %{_libdir}/%{name}
164 %{_libdir}/%{name}/*
165 %exclude %{_libdir}/%{name}/*.la
166 %dir %{_localstatedir}/log/%{name}
167 %dir %{_localstatedir}/run/%{name}
168 %dir %{_datadir}/xml/%{name}
169 %{_datadir}/xml/%{name}/*
170 %dir %{_sysconfdir}/%{name}
171 %config(noreplace) %{_sysconfdir}/%{name}/*.xml
172 %config(noreplace) %{_sysconfdir}/%{name}/*.html
173 %config(noreplace) %{_sysconfdir}/%{name}/*.logger
174 %{_sysconfdir}/%{name}/*.dist
175 %{_sysconfdir}/%{name}/apache*.config
176 %{_sysconfdir}/%{name}/shibd-redhat
177 %{_sysconfdir}/%{name}/shibd-debian
178 %{_sysconfdir}/%{name}/shibd-osx.plist
179 %{_sysconfdir}/%{name}/keygen.sh
180 %{_sysconfdir}/%{name}/*.xsl
181 %docdir %{_datadir}/doc/%{name}
182 %{_datadir}/doc/%{name}/CREDITS.txt
183 %{_datadir}/doc/%{name}/FASTCGI.LICENSE
184 %{_datadir}/doc/%{name}/LICENSE.txt
185 %{_datadir}/doc/%{name}/LOG4CPP.LICENSE
186 %{_datadir}/doc/%{name}/logo.jpg
187 %{_datadir}/doc/%{name}/main.css
188 %{_datadir}/doc/%{name}/NOTICE.txt
189 %{_datadir}/doc/%{name}/OPENSSL.LICENSE
190 %{_datadir}/doc/%{name}/README.txt
191 %{_datadir}/doc/%{name}/RELEASE.txt
192
193 %files devel
194 %defattr(-,root,root,-)
195 %{_includedir}
196 %{_libdir}/libshibsp.so
197 %{_libdir}/libshibsp-lite.so
198
199 %files docs
200 %defattr(644,root,root,755)
201 %doc %{_datadir}/doc/%{name}/api
202
203 %changelog
204 * Mon Mar 17 2008  Scott Cantor  <cantor.2@osu.edu>  - 2.0-6
205 - Official release.
206
207 * Fri Jan 18 2008  Scott Cantor  <cantor.2@osu.edu>  - 2.0-5
208 - Release candidate 1.
209
210 * Sun Oct 21 2007 Scott Cantor  <cantor.2@osu.edu>  - 2.0-4
211 - libexec -> lib/shibboleth changes
212 - Added doc subpackage
213
214 * Thu Aug 16 2007 Scott Cantor  <cantor.2@osu.edu>  - 2.0-3
215 - First public beta.
216
217 * Fri Jul 13 2007 Scott Cantor  <cantor.2@osu.edu>  - 2.0-2
218 - Second alpha release.
219
220 * Sun Jun 10 2007 Scott Cantor  <cantor.2@osu.edu>  - 2.0-1
221 - First alpha release.
222
223 * Mon Oct 2 2006 Scott Cantor   <cantor.2@osu.edu>  - 1.3-11
224 - Applied fix for secadv 20061002
225 - Fix for metadata loader loop
226
227 * Wed Jun 15 2006 Scott Cantor  <cantor.2@osu.edu>  - 1.3-10
228 - Applied fix for sec 20060615
229
230 * Fri Apr 15 2006 Scott Cantor  <cantor.2@osu.edu>  - 1.3-9
231 - Misc. patches, SuSE, Apache 2.2, gcc 4.1, and 64-bit support
232
233 * Mon Jan 9 2006 Scott Cantor  <cantor.2@osu.edu>  - 1.3-8
234 - Applied new fix for secadv 20060109
235
236 * Tue Nov 8 2005 Scott Cantor  <cantor.2@osu.edu>  - 1.3-7
237 - Applied new fix for secadv 20050901 plus rollup
238
239 * Fri Sep 23 2005 Scott Cantor  <cantor.2@osu.edu>  - 1.3-6
240 - Minor patches and default config changes
241 - pidfile patch
242 - Fix shib.conf creation
243 - Integrated init.d script
244 - Prevent replacement of config files
245
246 * Thu Sep 1 2005  Scott Cantor  <cantor.2@osu.edu>  - 1.3-5
247 - Applied fix for secadv 20050901 plus rollup of NSAPI fixes
248
249 * Sun Apr 24 2005  Scott Cantor  <cantor.2@osu.edu>  - 1.3-1
250 - Updated test programs and location of schemas.
251 - move siterefresh to to sbindir
252
253 * Fri Apr  1 2005  Derek Atkins  <derek@ihtfp.com>  - 1.3-1
254 - Add selinux-targeted-policy package
255 - move shar to sbindir
256
257 * Tue Oct 19 2004  Derek Atkins  <derek@ihtfp.com>  - 1.2-1
258 - Create SPEC file based on various versions in existence.