18ed11617dd9d2abfa3d8f330aa0ed1127e1751c
[shibboleth/cpp-sp.git] / shibboleth.spec.in
1 Name:           shibboleth
2 Summary:        Open source system to enable inter-institutional resource sharing
3 Version:        @-VERSION-@
4 Release:        9
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 Source1:        http://shibboleth.internet2.edu/downloads/%{name}-%{version}.tar.gz.asc
11 BuildRoot:      %{_tmppath}/%{name}-%{version}-root
12
13 BuildRequires:  openssl-devel, curl-devel >= 7.10.6, xerces-c-devel >= 2.6.1
14 BuildRequires:  xml-security-c-devel >= 1.1.0, log4cpp-devel >= 0.3.5
15 BuildRequires:  zlib-devel, opensaml-devel >= 1.1
16 %if "%{_vendor}" == "redhat"
17 BuildRequires:  httpd-devel
18 %endif
19 %if "%{_vendor}" == "suse"
20 BuildRequires:  apache2-devel
21 %endif
22
23
24 %description
25 Shibboleth, a project of Internet2/MACE, is developing architectures,
26 policy structures, practical technologies, and an open source
27 implementation to support inter-institutional sharing of web resources
28 subject to access controls. In addition, Shibboleth will develop a
29 policy framework that will allow inter-operation within the higher
30 education community.
31
32 This package contains the shibboleth runtime library and apache module.
33
34 %package devel
35 Summary: Shibboleth development Headers
36 Group: Development/Libraries
37 Requires: %{name} = %{version}
38
39 %description devel
40 Shibboleth, a project of Internet2/MACE, is developing architectures,
41 policy structures, practical technologies, and an open source
42 implementation to support inter-institutional sharing of web resources
43 subject to access controls. In addition, Shibboleth will develop a
44 policy framework that will allow inter-operation within the higher
45 education community.
46
47 This package contains the headers and other necessary files to build
48 applications that use the shibboleth library.
49
50 %package selinux-policy-targeted
51 Summary: SELinux policy targeted configuration for Shibboleth SP
52 Group: System Environment/Base
53 Requires: selinux-policy-targeted-sources
54
55 %description selinux-policy-targeted
56 Shibboleth, a project of Internet2/MACE, is developing architectures,
57 policy structures, practical technologies, and an open source
58 implementation to support inter-institutional sharing of web resources
59 subject to access controls. In addition, Shibboleth will develop a
60 policy framework that will allow inter-operation within the higher
61 education community.
62
63 This package contains the SELinux Policy (source) Configuration to
64 enable the Shibboleth SP to integrate into Apache HTTPD in Red Hat /
65 Fedora's Policy Targeted SELinux implementation.  It requires
66 rebuilding your policy, so you must have the policy-targeted-source
67 installed.
68
69 %prep
70 %setup -q
71
72 %build
73 # Default value is --enable-apache-20
74 # If no Apache macro exists, then add the default definition
75 %{!?_with_apache13: %{!?_with_apache20: %{!?_with_apache22: %define _with_apache20 1}}}
76 %configure %{?shib_options} %{?_with_apache13: --enable-apache-13} %{?_with_apache20: --enable-apache-20} %{?_with_apache22: --enable-apache-22}
77 make
78 make -C selinux
79
80 %install
81 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
82 rm -rf _docs
83
84 make install DESTDIR=$RPM_BUILD_ROOT
85 make -C selinux install DESTDIR=$RPM_BUILD_ROOT
86 mv $RPM_BUILD_ROOT/usr/doc/shibboleth _docs
87
88 find $RPM_BUILD_ROOT/%{_libexecdir} -type f -or -type l | grep \.so |
89   sed -e "s|$RPM_BUILD_ROOT||" | sort > rpm.filelist
90
91 %check || :
92 make check
93
94 %clean
95 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
96
97 %post
98 /sbin/ldconfig
99
100 # Plug the SP into Apache on a recognized system.
101 %{?_with_apache13: %define apache_config apache.config}
102 %{?_with_apache20: %define apache_config apache2.config}
103 %{?_with_apache22: %define apache_config apache22.config}
104 %if %{?apache_config:1}
105 APACHE_CONFD = "no"
106 if [ -d %{_sysconfdir}/httpd/conf.d ] ; then
107     APACHE_CONFD=%{_sysconfdir}/httpd/conf.d
108 else
109     if [ -d %{_sysconfdir}/apache2/conf.d ] ; then
110         APACHE_CONFD=%{_sysconfdir}/apache2/conf.d
111     fi
112 fi
113 if [ $APACHE_CONFD != "no" ] ; then 
114         if [ ! -f $APACHE_CONFD/shib.conf ] ; then
115                 sed "s/\/usr\/doc\/shibboleth/\/usr\/share\/doc\/shibboleth-@-VERSION-@/g" \
116                         %{_sysconfdir}/shibboleth/{?apache_config} \
117                         > $APACHE_CONFD/shib.conf
118         fi
119 fi
120 %endif
121
122 # Install the shibd init.d scripts and service
123 if [ -d %{_sysconfdir}/init.d ] ; then
124         if [ ! -f %{_sysconfdir}/init.d/shibd ] ; then
125                 cp -p %{_sysconfdir}/shibboleth/shibd %{_sysconfdir}/init.d/shibd
126                 chmod 755 %{_sysconfdir}/init.d/shibd
127                 chkconfig --add shibd
128         fi
129 fi
130
131 %postun
132 /sbin/ldconfig
133
134 # delete the Apache configuration if we're being removed
135 [ "$1" = 0 ] || exit 0
136 [ -f %{_sysconfdir}/httpd/conf.d/shib.conf ] && \
137     rm -f %{_sysconfdir}/httpd/conf.d/shib.conf
138 [ -f %{_sysconfdir}/apache2/conf.d/shib.conf ] && \
139     rm -f %{_sysconfdir}/apache2/conf.d/shib.conf
140
141 # clear init.d state
142 chkconfig --del shibd
143 [ -f %{_sysconfdir}/init.d/shibd ] && \
144     rm -f %{_sysconfdir}/init.d/shibd
145
146 %triggerin selinux-policy-targeted -- %{name}
147 restorecon %{_sbindir}/shibd
148
149 %triggerin selinux-policy-targeted -- selinux-policy-targeted-sources
150 cd %{_sysconfdir}/selinux/targeted/src/policy || exit 1
151 make -W install
152 make load
153 restorecon %{_sbindir}/shibd
154
155 %files -f rpm.filelist
156 %defattr(-,root,root,-)
157 %doc _docs/CREDITS.txt _docs/NOTICE.txt _docs/NEWS.txt _docs/logo.jpg
158 %doc _docs/main.css _docs/README.txt _docs/LICENSE.txt _docs/mysql-4.0.12.diff
159 %{_sbindir}/shibd
160 %{_sbindir}/siterefresh
161 %{_bindir}/shibtest
162 %{_libdir}/libshib.so.*
163 %{_libdir}/libshib-target.so.*
164 %dir /var/log/shibboleth
165 %dir %{_datadir}/xml/shibboleth
166 %{_datadir}/xml/shibboleth/*.xsd
167 %{_datadir}/xml/shibboleth/*.xsl
168 %dir %{_sysconfdir}/shibboleth
169 %config(noreplace) %{_sysconfdir}/shibboleth/*.xml
170 %config(noreplace) %{_sysconfdir}/shibboleth/*.html
171 %config(noreplace) %{_sysconfdir}/shibboleth/*.logger
172 %config %{_sysconfdir}/shibboleth/inqueue.pem
173 %config %{_sysconfdir}/shibboleth/sp-example.crt
174 %config %{_sysconfdir}/shibboleth/sp-example.key
175 %{_sysconfdir}/shibboleth/*.dist
176 %{_sysconfdir}/shibboleth/apache*.config
177 %{_sysconfdir}/shibboleth/shibd
178
179 %exclude %{_bindir}/posttest
180 %exclude %{_bindir}/test-client
181 %exclude %{_libexecdir}/*.la
182
183 %files devel
184 %defattr(-,root,root,-)
185 %{_includedir}
186 %{_libdir}/libshib.so
187 %{_libdir}/libshib-target.so
188
189 %files selinux-policy-targeted
190 %defattr(-,root,root,-)
191 %{_sysconfdir}/selinux/targeted/src/policy/file_contexts/program/*.fc
192 %{_sysconfdir}/selinux/targeted/src/policy/domains/program/*.te
193
194 %changelog
195 * Fri Apr 15 2006 Scott Cantor  <cantor.2@osu.edu>  - 1.3-9
196 - Misc. patches, SuSE, Apache 2.2, gcc 4.1, and 64-bit support
197
198 * Mon Jan 9 2006 Scott Cantor  <cantor.2@osu.edu>  - 1.3-8
199 - Applied new fix for secadv 20060109
200
201 * Tue Nov 8 2005 Scott Cantor  <cantor.2@osu.edu>  - 1.3-7
202 - Applied new fix for secadv 20050901 plus rollup
203
204 * Fri Sep 23 2005 Scott Cantor  <cantor.2@osu.edu>  - 1.3-6
205 - Minor patches and default config changes
206 - pidfile patch
207 - Fix shib.conf creation
208 - Integrated init.d script
209 - Prevent replacement of config files
210
211 * Thu Sep 1 2005  Scott Cantor  <cantor.2@osu.edu>  - 1.3-5
212 - Applied fix for secadv 20050901 plus rollup of NSAPI fixes
213
214 * Sun Apr 24 2005  Scott Cantor  <cantor.2@osu.edu>  - 1.3-1
215 - Updated test programs and location of schemas.
216 - move siterefresh to to sbindir
217
218 * Fri Apr  1 2005  Derek Atkins  <derek@ihtfp.com>  - 1.3-1
219 - Add selinux-targeted-policy package
220 - move shar to sbindir
221
222 * Tue Oct 19 2004  Derek Atkins  <derek@ihtfp.com>  - 1.2-1
223 - Create SPEC file based on various versions in existence.