2 # - merge with fedora-ds-admin.spec
4 #%global selinux_variants mls targeted
8 Summary: 389 Administration Server (admin)
11 Release: 0%{?subver}.%{rel}
12 License: GPL v2 and ASL 2.0
14 URL: http://directory.fedoraproject.org/
15 Source0: http://directory.fedoraproject.org/sources/%{name}-%{version}%{subver}.tar.bz2
16 # Source0-md5: 2d5c5e2058429086bbced744590aba7f
17 #Patch1: f11-httpd.patch
18 BuildRequires: 389-adminutil-devel
19 BuildRequires: apache-devel
20 BuildRequires: apr-devel
21 BuildRequires: apr-util-devel
22 BuildRequires: cyrus-sasl-devel
24 BuildRequires: libicu-devel >= 4.2.1
25 BuildRequires: mozldap-devel
26 BuildRequires: nspr-devel
27 BuildRequires: nss-devel
28 BuildRequires: svrcore-devel
30 # The following are needed to build the SELinux policy
31 BuildRequires: /usr/share/selinux/devel/Makefile
32 BuildRequires: 389-ds-base-selinux-devel
33 BuildRequires: checkpolicy
34 BuildRequires: selinux-policy-devel
37 Requires: apache-mod_nss
38 # the following are needed for some of our scripts
40 Requires: perl-Mozilla-LDAP
42 Requires(post,preun): /sbin/chkconfig
44 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47 389 Administration Server is an HTTP agent that provides management
48 features for 389 Directory Server. It provides some management web
49 apps that can be used through a web browser. It provides the
50 authentication, access control, and CGI utilities used by the console.
53 Summary: SELinux policy for 389 Administration Server
55 Requires: %{name} = %{version}-%{release}
56 Requires: 389-ds-base-selinux
57 Requires: selinux-policy
60 SELinux policy for the 389 Adminstration Server package.
63 %setup -q -n %{name}-%{version}%{subver}
70 export CFLAGS="%{rpmcflags} $(apu-1-config --includes)"
73 %{?with_selinux:--with-selinux}
75 %ifarch x86_64 ppc64 ia64 s390x sparc64
82 # Build the SELinux policy module for each variant
84 cp %{_datadir}/dirsrv-selinux/dirsrv.if .
85 cp %{_datadir}/dirsrv-selinux/dirsrv.te .
86 for selinuxvariant in %{selinux_variants}; do
87 %{__make} NAME=${selinuxvariant} -f %{_datadir}/selinux/devel/Makefile
88 mv dirsrv-admin.pp dirsrv-admin.pp.${selinuxvariant}
89 %{__make} NAME=${selinuxvariant} -f %{_datadir}/selinux/devel/Makefile clean
95 rm -rf $RPM_BUILD_ROOT
98 DESTDIR=$RPM_BUILD_ROOT
100 # make console jars directory
101 install -d $RPM_BUILD_ROOT%{_datadir}/dirsrv/html/java
103 # remove libtool and static libs
104 rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
105 rm -f $RPM_BUILD_ROOT%{_libdir}/*.so
106 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
107 rm -f $RPM_BUILD_ROOT%{_libdir}/dirsrv/modules/*.a
108 rm -f $RPM_BUILD_ROOT%{_libdir}/dirsrv/modules/*.la
111 # Install the SELinux policy
113 for selinuxvariant in %{selinux_variants}; do
114 install -d $RPM_BUILD_ROOT%{_datadir}/selinux/${selinuxvariant}
115 install -p -m 644 dirsrv-admin.pp.${selinuxvariant} \
116 $RPM_BUILD_ROOT%{_datadir}/selinux/${selinuxvariant}/dirsrv-admin.pp
122 rm -rf $RPM_BUILD_ROOT
125 /sbin/chkconfig --add dirsrv-admin
129 if [ "$1" = 0 ]; then
130 %service dirsrv-admin stop
131 /sbin/chkconfig --del dirsrv-admin
134 %postun -p /sbin/ldconfig
138 if [ "$1" -le "1" ]; then # First install
139 for selinuxvariant in %{selinux_variants}; do
140 semodule -s ${selinuxvariant} -i %{_datadir}/selinux/${selinuxvariant}/dirsrv-admin.pp 2>/dev/null || :
142 fixfiles -R %{name} restore || :
143 %service dirsrv-admin condrestart
147 if [ "$1" -lt "1" ]; then # Final removal
148 for selinuxvariant in %{selinux_variants}; do
149 semodule -s ${selinuxvariant} -r dirsrv-admin 2>/dev/null || :
151 fixfiles -R %{name} restore || :
152 %service dirsrv-admin condrestart
156 if [ "$1" -ge "1" ]; then # Upgrade
157 for selinuxvariant in %{selinux_variants}; do
158 semodule -s ${selinuxvariant} -i %{_datadir}/selinux/${selinuxvariant}/dirsrv-admin.pp 2>/dev/null || :
164 %defattr(644,root,root,755)
166 %dir %{_sysconfdir}/dirsrv/admin-serv
167 %config(noreplace)%{_sysconfdir}/dirsrv/admin-serv/*.conf
169 %attr(754,root,root) /etc/rc.d/init.d/dirsrv-admin
170 %config(noreplace)%verify(not md5 mtime size) /etc/sysconfig/dirsrv-admin
171 %attr(755,root,root) %{_sbindir}/*
172 %attr(755,root,root) %{_libdir}/*.so.*
178 %defattr(644,root,root,755)
179 %{_datadir}/selinux/*/dirsrv-admin.pp