3 #%global selinux_variants mls targeted
5 Summary: 389 Administration Server (admin)
9 License: GPLv2 and ASL 2.0
11 URL: http://directory.fedoraproject.org/
12 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
14 BuildRequires: 389-adminutil-devel
15 BuildRequires: apache-devel
16 BuildRequires: apr-devel
17 BuildRequires: apr-util-devel
18 BuildRequires: cyrus-sasl-devel
20 BuildRequires: libicu-devel >= 4.2.1
21 BuildRequires: mozldap-devel
22 BuildRequires: nspr-devel
23 BuildRequires: nss-devel
24 BuildRequires: svrcore-devel
27 # The following are needed to build the SELinux policy
28 BuildRequires: /usr/share/selinux/devel/Makefile
29 BuildRequires: 389-ds-base-selinux-devel
30 BuildRequires: checkpolicy
31 BuildRequires: selinux-policy-devel
35 Requires: apache-mod_nss
36 # the following are needed for some of our scripts
38 Requires: perl-Mozilla-LDAP
41 Requires(post): /sbin/chkconfig
42 Requires(preun): /sbin/chkconfig
43 Requires(preun): /sbin/service
45 Source0: http://directory.fedoraproject.org/sources/%{name}-%{version}%{prerel}.tar.bz2
46 # Source0-md5: 2d5c5e2058429086bbced744590aba7f
47 #Patch1: f11-httpd.patch
50 389 Administration Server is an HTTP agent that provides management
51 features for 389 Directory Server. It provides some management web
52 apps that can be used through a web browser. It provides the
53 authentication, access control, and CGI utilities used by the console.
57 Summary: SELinux policy for 389 Administration Server
59 Requires: %{name} = %{version}-%{release}
60 Requires: 389-ds-base-selinux
61 Requires: selinux-policy
64 SELinux policy for the 389 Adminstration Server package.
67 SELinux policy for the 389 Adminstration Server package.
69 %setup -q -n %{name}-%{version}%{prerel}
76 %configure CFLAGS="%rpmcflags `apu-1-config --includes`" \
80 %ifarch x86_64 ppc64 ia64 s390x sparc64
87 # Build the SELinux policy module for each variant
89 cp %{_datadir}/dirsrv-selinux/dirsrv.if .
90 cp %{_datadir}/dirsrv-selinux/dirsrv.te .
91 for selinuxvariant in %{selinux_variants}
93 %{__make} NAME=${selinuxvariant} -f %{_datadir}/selinux/devel/Makefile
94 mv dirsrv-admin.pp dirsrv-admin.pp.${selinuxvariant}
95 %{__make} NAME=${selinuxvariant} -f %{_datadir}/selinux/devel/Makefile clean
101 rm -rf $RPM_BUILD_ROOT
103 %{__make} DESTDIR="$RPM_BUILD_ROOT" install
105 # make console jars directory
106 install -d $RPM_BUILD_ROOT%{_datadir}/dirsrv/html/java
108 #remove libtool and static libs
109 rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
110 rm -f $RPM_BUILD_ROOT%{_libdir}/*.so
111 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
112 rm -f $RPM_BUILD_ROOT%{_libdir}/dirsrv/modules/*.a
113 rm -f $RPM_BUILD_ROOT%{_libdir}/dirsrv/modules/*.la
116 # Install the SELinux policy
118 for selinuxvariant in %{selinux_variants}
120 install -d $RPM_BUILD_ROOT%{_datadir}/selinux/${selinuxvariant}
121 install -p -m 644 dirsrv-admin.pp.${selinuxvariant} \
122 $RPM_BUILD_ROOT%{_datadir}/selinux/${selinuxvariant}/dirsrv-admin.pp
128 rm -rf $RPM_BUILD_ROOT
131 /sbin/chkconfig --add dirsrv-admin
136 %service dirsrv-admin stop >/dev/null 2>&1 || :
137 /sbin/chkconfig --del dirsrv-admin
140 %postun -p /sbin/ldconfig
144 if [ "$1" -le "1" ] ; then # First install
145 for selinuxvariant in %{selinux_variants}
147 semodule -s ${selinuxvariant} -i %{_datadir}/selinux/${selinuxvariant}/dirsrv-admin.pp 2>/dev/null || :
149 fixfiles -R %{name} restore || :
150 /sbin/service dirsrv-admin condrestart > /dev/null 2>&1 || :
154 if [ "$1" -lt "1" ]; then # Final removal
155 for selinuxvariant in %{selinux_variants}
157 semodule -s ${selinuxvariant} -r dirsrv-admin 2>/dev/null || :
159 fixfiles -R %{name} restore || :
160 %service dirsrv-admin condrestart > /dev/null 2>&1 || :
164 if [ "$1" -ge "1" ]; then # Upgrade
165 for selinuxvariant in %{selinux_variants}
167 semodule -s ${selinuxvariant} -i %{_datadir}/selinux/${selinuxvariant}/dirsrv-admin.pp 2>/dev/null || :
173 %defattr(644,root,root,755)
175 %dir %{_sysconfdir}/dirsrv/admin-serv
176 %config(noreplace)%{_sysconfdir}/dirsrv/admin-serv/*.conf
178 %attr(754,root,root) /etc/rc.d/init.d/dirsrv-admin
179 %config(noreplace)%verify(not md5 mtime size) /etc/sysconfig/dirsrv-admin
180 %attr(755,root,root) %{_sbindir}/*
181 %attr(755,root,root) %{_libdir}/*.so.*
187 %defattr(644,root,root,755)
188 %{_datadir}/selinux/*/dirsrv-admin.pp