]>
Commit | Line | Data |
---|---|---|
e21765f5 ER |
1 | # TODO |
2 | # - merge with fedora-ds-admin.spec | |
fef0291e | 3 | # - apache2 only package? the apache deps seems overkill |
cc355b32 | 4 | |
5 | #%global selinux_variants mls targeted | |
6 | ||
e21765f5 ER |
7 | %define subver .a1 |
8 | %define rel 0.1 | |
05b4ed27 | 9 | Summary: 389 Administration Server (admin) |
10 | Name: 389-admin | |
11 | Version: 1.1.11 | |
e21765f5 ER |
12 | Release: 0%{?subver}.%{rel} |
13 | License: GPL v2 and ASL 2.0 | |
05b4ed27 | 14 | Group: Daemons |
15 | URL: http://directory.fedoraproject.org/ | |
e21765f5 ER |
16 | Source0: http://directory.fedoraproject.org/sources/%{name}-%{version}%{subver}.tar.bz2 |
17 | # Source0-md5: 2d5c5e2058429086bbced744590aba7f | |
18 | #Patch1: f11-httpd.patch | |
05b4ed27 | 19 | BuildRequires: 389-adminutil-devel |
20 | BuildRequires: apache-devel | |
21 | BuildRequires: apr-devel | |
22 | BuildRequires: apr-util-devel | |
23 | BuildRequires: cyrus-sasl-devel | |
24 | BuildRequires: icu | |
25 | BuildRequires: libicu-devel >= 4.2.1 | |
26 | BuildRequires: mozldap-devel | |
27 | BuildRequires: nspr-devel | |
28 | BuildRequires: nss-devel | |
29 | BuildRequires: svrcore-devel | |
e21765f5 | 30 | %if %{with selinux} |
cc355b32 | 31 | # The following are needed to build the SELinux policy |
05b4ed27 | 32 | BuildRequires: /usr/share/selinux/devel/Makefile |
33 | BuildRequires: 389-ds-base-selinux-devel | |
34 | BuildRequires: checkpolicy | |
35 | BuildRequires: selinux-policy-devel | |
cc355b32 | 36 | %endif |
05b4ed27 | 37 | Requires: 389-ds-base |
fef0291e ER |
38 | Requires: apache-mod_actions |
39 | Requires: apache-mod_alias | |
7e3fa3a3 | 40 | Requires: apache-mod_auth_basic |
41 | Requires: apache-mod_authn_file | |
fef0291e ER |
42 | Requires: apache-mod_authz_host |
43 | Requires: apache-mod_cache | |
44 | Requires: apache-mod_deflate | |
45 | Requires: apache-mod_dir | |
7e3fa3a3 | 46 | Requires: apache-mod_env |
7e3fa3a3 | 47 | Requires: apache-mod_expires |
7e3fa3a3 | 48 | Requires: apache-mod_headers |
fef0291e ER |
49 | Requires: apache-mod_log_config |
50 | Requires: apache-mod_mime_magic | |
51 | Requires: apache-mod_negotiation | |
52 | Requires: apache-mod_nss | |
53 | Requires: apache-mod_rewrite | |
7e3fa3a3 | 54 | Requires: apache-mod_setenvif |
fef0291e ER |
55 | Requires: apache-mod_unique_id |
56 | Requires: apache-mod_vhost_alias | |
cc355b32 | 57 | # the following are needed for some of our scripts |
05b4ed27 | 58 | Requires: nss-tools |
59 | Requires: perl-Mozilla-LDAP | |
cc355b32 | 60 | # for the init script |
e21765f5 ER |
61 | Requires(post,preun): /sbin/chkconfig |
62 | Requires: rc-scripts | |
63 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
cc355b32 | 64 | |
65 | %description | |
05b4ed27 | 66 | 389 Administration Server is an HTTP agent that provides management |
67 | features for 389 Directory Server. It provides some management web | |
68 | apps that can be used through a web browser. It provides the | |
69 | authentication, access control, and CGI utilities used by the console. | |
cc355b32 | 70 | |
e21765f5 | 71 | %package selinux |
05b4ed27 | 72 | Summary: SELinux policy for 389 Administration Server |
73 | Group: Daemons | |
74 | Requires: %{name} = %{version}-%{release} | |
75 | Requires: 389-ds-base-selinux | |
76 | Requires: selinux-policy | |
cc355b32 | 77 | |
e21765f5 | 78 | %description selinux |
cc355b32 | 79 | SELinux policy for the 389 Adminstration Server package. |
cc355b32 | 80 | |
81 | %prep | |
e21765f5 | 82 | %setup -q -n %{name}-%{version}%{subver} |
cc355b32 | 83 | #%patch1 |
84 | ||
85 | %build | |
86 | %{__aclocal} -I m4 | |
87 | %{__automake} | |
88 | %{__autoconf} | |
e21765f5 ER |
89 | export CFLAGS="%{rpmcflags} $(apu-1-config --includes)" |
90 | %configure \ | |
cc355b32 | 91 | --disable-rpath \ |
e21765f5 | 92 | %{?with_selinux:--with-selinux} |
cc355b32 | 93 | |
94 | %ifarch x86_64 ppc64 ia64 s390x sparc64 | |
95 | export USE_64=1 | |
96 | %endif | |
97 | ||
e21765f5 | 98 | %{__make} |
cc355b32 | 99 | |
e21765f5 | 100 | %if %{with selinux} |
cc355b32 | 101 | # Build the SELinux policy module for each variant |
102 | cd selinux-built | |
103 | cp %{_datadir}/dirsrv-selinux/dirsrv.if . | |
104 | cp %{_datadir}/dirsrv-selinux/dirsrv.te . | |
e21765f5 ER |
105 | for selinuxvariant in %{selinux_variants}; do |
106 | %{__make} NAME=${selinuxvariant} -f %{_datadir}/selinux/devel/Makefile | |
107 | mv dirsrv-admin.pp dirsrv-admin.pp.${selinuxvariant} | |
108 | %{__make} NAME=${selinuxvariant} -f %{_datadir}/selinux/devel/Makefile clean | |
cc355b32 | 109 | done |
110 | cd - | |
111 | %endif | |
112 | ||
113 | %install | |
05b4ed27 | 114 | rm -rf $RPM_BUILD_ROOT |
cc355b32 | 115 | |
e21765f5 ER |
116 | %{__make} install \ |
117 | DESTDIR=$RPM_BUILD_ROOT | |
cc355b32 | 118 | |
119 | # make console jars directory | |
05b4ed27 | 120 | install -d $RPM_BUILD_ROOT%{_datadir}/dirsrv/html/java |
cc355b32 | 121 | |
e21765f5 | 122 | # remove libtool and static libs |
cc355b32 | 123 | rm -f $RPM_BUILD_ROOT%{_libdir}/*.a |
124 | rm -f $RPM_BUILD_ROOT%{_libdir}/*.so | |
125 | rm -f $RPM_BUILD_ROOT%{_libdir}/*.la | |
126 | rm -f $RPM_BUILD_ROOT%{_libdir}/dirsrv/modules/*.a | |
127 | rm -f $RPM_BUILD_ROOT%{_libdir}/dirsrv/modules/*.la | |
128 | ||
e21765f5 | 129 | %if %{with selinux} |
cc355b32 | 130 | # Install the SELinux policy |
131 | cd selinux-built | |
e21765f5 ER |
132 | for selinuxvariant in %{selinux_variants}; do |
133 | install -d $RPM_BUILD_ROOT%{_datadir}/selinux/${selinuxvariant} | |
134 | install -p -m 644 dirsrv-admin.pp.${selinuxvariant} \ | |
135 | $RPM_BUILD_ROOT%{_datadir}/selinux/${selinuxvariant}/dirsrv-admin.pp | |
cc355b32 | 136 | done |
137 | cd - | |
138 | %endif | |
139 | ||
140 | %clean | |
141 | rm -rf $RPM_BUILD_ROOT | |
142 | ||
143 | %post | |
144 | /sbin/chkconfig --add dirsrv-admin | |
145 | /sbin/ldconfig | |
146 | ||
147 | %preun | |
e21765f5 ER |
148 | if [ "$1" = 0 ]; then |
149 | %service dirsrv-admin stop | |
150 | /sbin/chkconfig --del dirsrv-admin | |
cc355b32 | 151 | fi |
152 | ||
153 | %postun -p /sbin/ldconfig | |
154 | ||
e21765f5 | 155 | %if %{with selinux} |
cc355b32 | 156 | %post selinux |
e21765f5 ER |
157 | if [ "$1" -le "1" ]; then # First install |
158 | for selinuxvariant in %{selinux_variants}; do | |
159 | semodule -s ${selinuxvariant} -i %{_datadir}/selinux/${selinuxvariant}/dirsrv-admin.pp 2>/dev/null || : | |
160 | done | |
161 | fixfiles -R %{name} restore || : | |
162 | %service dirsrv-admin condrestart | |
cc355b32 | 163 | fi |
164 | ||
165 | %preun selinux | |
166 | if [ "$1" -lt "1" ]; then # Final removal | |
e21765f5 ER |
167 | for selinuxvariant in %{selinux_variants}; do |
168 | semodule -s ${selinuxvariant} -r dirsrv-admin 2>/dev/null || : | |
169 | done | |
170 | fixfiles -R %{name} restore || : | |
171 | %service dirsrv-admin condrestart | |
cc355b32 | 172 | fi |
173 | ||
174 | %postun selinux | |
175 | if [ "$1" -ge "1" ]; then # Upgrade | |
e21765f5 ER |
176 | for selinuxvariant in %{selinux_variants}; do |
177 | semodule -s ${selinuxvariant} -i %{_datadir}/selinux/${selinuxvariant}/dirsrv-admin.pp 2>/dev/null || : | |
178 | done | |
cc355b32 | 179 | fi |
180 | %endif | |
181 | ||
182 | %files | |
05b4ed27 | 183 | %defattr(644,root,root,755) |
cc355b32 | 184 | %doc LICENSE |
185 | %dir %{_sysconfdir}/dirsrv/admin-serv | |
186 | %config(noreplace)%{_sysconfdir}/dirsrv/admin-serv/*.conf | |
187 | %{_datadir}/dirsrv | |
05b4ed27 | 188 | %attr(754,root,root) /etc/rc.d/init.d/dirsrv-admin |
189 | %config(noreplace)%verify(not md5 mtime size) /etc/sysconfig/dirsrv-admin | |
190 | %attr(755,root,root) %{_sbindir}/* | |
191 | %attr(755,root,root) %{_libdir}/*.so.* | |
cc355b32 | 192 | %{_libdir}/dirsrv |
193 | %{_mandir}/man8/* | |
194 | ||
e21765f5 | 195 | %if %{with selinux} |
cc355b32 | 196 | %files selinux |
05b4ed27 | 197 | %defattr(644,root,root,755) |
cc355b32 | 198 | %{_datadir}/selinux/*/dirsrv-admin.pp |
199 | %endif |