diff options
author | aredridel | 2010-02-22 00:05:54 (GMT) |
---|---|---|
committer | cvs2git | 2012-06-24 12:13:13 (GMT) |
commit | fe3eda58e66406d2e0d872e27b124c985e6d04f3 (patch) | |
tree | 032b18ea38e50947d59a7e252f976be6d8ab44b5 | |
download | 389-ds-base-fe3eda58e66406d2e0d872e27b124c985e6d04f3.zip 389-ds-base-fe3eda58e66406d2e0d872e27b124c985e6d04f3.tar.gz |
- added
Changed files:
389-ds-base.spec -> 1.1
-rw-r--r-- | 389-ds-base.spec | 263 |
1 files changed, 263 insertions, 0 deletions
diff --git a/389-ds-base.spec b/389-ds-base.spec new file mode 100644 index 0000000..3d63a53 --- /dev/null +++ b/389-ds-base.spec @@ -0,0 +1,263 @@ + +%define prerel .a1 + +Summary: 389 Directory Server (base) +Name: 389-ds-base +Version: 1.2.6 +Release: 1%{?prerel} +License: GPLv2 with exceptions +Group: Daemons +URL: http://directory.fedoraproject.org/ +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) + +BuildRequires: cyrus-sasl-devel +BuildRequires: db4.5-devel +BuildRequires: icu +BuildRequires: libicu-devel +BuildRequires: libnl-devel +BuildRequires: mozldap-devel +BuildRequires: nspr-devel +BuildRequires: nss-devel +BuildRequires: pcre-devel +BuildRequires: svrcore-devel +# The following are needed to build the snmp ldap-agent +BuildRequires: net-snmp-devel +%ifnarch sparc sparc64 ppc ppc64 s390 s390x +BuildRequires: lm_sensors-devel +%endif +BuildRequires: bzip2-devel +BuildRequires: openssl-devel +BuildRequires: tcp_wrappers +BuildRequires: zlib-devel +# The following are needed to build the SELinux policy +#BuildRequires: checkpolicy +#BuildRequires: policycoreutils +# the following is for the pam passthru auth plug-in +BuildRequires: pam-devel + +# the following are needed for some of our scripts +Requires: mozldap-tools +Requires: perl-Mozilla-LDAP + +# this is needed to setup SSL if you are not using the +# administration server package +Requires: nss-tools + +# these are not found by the auto-dependency method +# they are required to support the mandatory LDAP SASL mechs +Requires: cyrus-sasl-gssapi +Requires: cyrus-sasl-digest-md5 + +# this is needed for verify-db.pl +Requires: db4.5-utils + +# for the init script +Requires(post): /sbin/chkconfig +Requires(preun): /sbin/chkconfig +Requires(preun): /sbin/service + +Source0: http://directory.fedoraproject.org/sources/%{name}-%{version}%{?prerel}.tar.bz2 +# Source0-md5: aa9299aa66b09f89ed80dd0cfeebde55 + +%description +389 Directory Server is an LDAPv3 compliant server. The base package +includes the LDAP server and command line utilities for server +administration. + +%package devel +Summary: Development libraries for 389 Directory Server +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: mozldap-devel + +%description devel +Development Libraries and headers for the 389 Directory Server base +package. + +%if 0 +%package selinux +Summary: SELinux policy for 389 Directory Server +Group: Daemons +Requires: %{name} = %{version}-%{release} +Requires: selinux-policy + +%description selinux +SELinux policy for the 389 Directory Server base package. + +%package selinux-devel +Summary: Development interface for 389 Directory Server base SELinux policy +Group: Development/Libraries + +%description selinux-devel +SELinux policy interface for the 389 Directory Server base package. +%endif + +SELinux policy interface for the 389 Directory Server base package. +%prep +%setup -q -n %{name}-%{version}%{?prerel} + +%build +%configure \ + --enable-autobind \ + --without-kerberos \ + # --with-selinux + +# Generate symbolic info for debuggers +export XCFLAGS=$RPM_OPT_FLAGS + +%ifarch x86_64 ppc64 ia64 s390x sparc64 +export USE_64=1 +%endif + +%{__make} %{?_smp_mflags} + +%if 0 +# Build the SELinux policy module for each variant +cd selinux-built +for selinuxvariant in %{selinux_variants} +do +%{__make} NAME=${selinuxvariant} -f %{_datadir}/selinux/devel/Makefile + mv dirsrv.pp dirsrv.pp.${selinuxvariant} +%{__make} NAME=${selinuxvariant} -f %{_datadir}/selinux/devel/Makefile clean +done +cd - +%endif + +%install +rm -rf $RPM_BUILD_ROOT + +%{__make} DESTDIR="$RPM_BUILD_ROOT" install + +install -d $RPM_BUILD_ROOT/var/log/dirsrv +install -d $RPM_BUILD_ROOT/var/lib/dirsrv +install -d $RPM_BUILD_ROOT/var/lock/dirsrv +install -d $RPM_BUILD_ROOT%{_includedir}/dirsrv + +#remove libtool and static libs +rm -f $RPM_BUILD_ROOT%{_libdir}/dirsrv/*.a +rm -f $RPM_BUILD_ROOT%{_libdir}/dirsrv/*.la +rm -f $RPM_BUILD_ROOT%{_libdir}/dirsrv/plugins/*.a +rm -f $RPM_BUILD_ROOT%{_libdir}/dirsrv/plugins/*.la + +install -p ldap/servers/slapd/slapi-plugin.h $RPM_BUILD_ROOT%{_includedir}/dirsrv/ +install -p ldap/servers/plugins/replication/winsync-plugin.h $RPM_BUILD_ROOT%{_includedir}/dirsrv/ + +# make sure perl scripts have a proper shebang +sed -i -e 's|#{{PERL-EXEC}}|#!/usr/bin/perl|' $RPM_BUILD_ROOT%{_datadir}/dirsrv/script-templates/template-*.pl + +%if 0 +# Install the SELinux policy +cd selinux-built +for selinuxvariant in %{selinux_variants} +do + install -d $RPM_BUILD_ROOT%{_datadir}/selinux/${selinuxvariant} + install -p -m 644 dirsrv.pp.${selinuxvariant} \ + $RPM_BUILD_ROOT%{_datadir}/selinux/${selinuxvariant}/dirsrv.pp +done +cd - + +# Install the SELinux policy interface +cd selinux-built +install -d $RPM_BUILD_ROOT%{_datadir}/dirsrv-selinux +install -p dirsrv.if $RPM_BUILD_ROOT%{_datadir}/dirsrv-selinux/dirsrv.if +install -p dirsrv.te $RPM_BUILD_ROOT%{_datadir}/dirsrv-selinux/dirsrv.te +install -p dirsrv.fc $RPM_BUILD_ROOT%{_datadir}/dirsrv-selinux/dirsrv.fc +cd - +%endif + +%clean +rm -rf $RPM_BUILD_ROOT + +%post +/sbin/chkconfig --add dirsrv +/sbin/ldconfig +/sbin/chkconfig --add dirsrv-snmp +if [ ! -e %{_localstatedir}/run/dirsrv ]; then + mkdir %{_localstatedir}/run/dirsrv +end + +%preun +if [ $1 = 0 ]; then + %service dirsrv stop >/dev/null 2>&1 || : + /sbin/chkconfig --del dirsrv + %service dirsrv-snmp stop >/dev/null 2>&1 || : + /sbin/chkconfig --del dirsrv-snmp +fi + +%postun -p /sbin/ldconfig + +%if 0 +%post selinux +if [ "$1" -le "1" ] ; then # First install +for selinuxvariant in %{selinux_variants} +do + semodule -s ${selinuxvariant} -i %{_datadir}/selinux/${selinuxvariant}/dirsrv.pp 2>/dev/null || : +done +fixfiles -R %{name} restore || : +/sbin/service dirsrv condrestart > /dev/null 2>&1 || : +/sbin/service dirsrv-snmp condrestart > /dev/null 2>&1 || : +fi + +%preun selinux +if [ "$1" -lt "1" ]; then # Final removal +for selinuxvariant in %{selinux_variants} +do + semodule -s ${selinuxvariant} -r dirsrv 2>/dev/null || : +done +fixfiles -R %{name} restore || : +%service dirsrv condrestart > /dev/null 2>&1 || : +%service dirsrv-snmp condrestart > /dev/null 2>&1 || : +fi + +%postun selinux +if [ "$1" -ge "1" ]; then # Upgrade +for selinuxvariant in %{selinux_variants} +do + semodule -s ${selinuxvariant} -i %{_datadir}/selinux/${selinuxvariant}/dirsrv.pp 2>/dev/null || : +done +fi +%endif + +%files +%defattr(644,root,root,755) +%doc LICENSE EXCEPTION LICENSE.GPLv2 +%dir %{_sysconfdir}/dirsrv +%dir %{_sysconfdir}/dirsrv/schema +%config(noreplace)%{_sysconfdir}/dirsrv/schema/*.ldif +%dir %{_sysconfdir}/dirsrv/config +%config(noreplace)%{_sysconfdir}/dirsrv/config/slapd-collations.conf +%config(noreplace)%{_sysconfdir}/dirsrv/config/certmap.conf +%config(noreplace)%{_sysconfdir}/dirsrv/config/ldap-agent.conf +%config(noreplace)%{_sysconfdir}/dirsrv/config/template-initconfig +%config(noreplace)%verify(not md5 mtime size) /etc/sysconfig/dirsrv +%{_datadir}/dirsrv +%attr(754,root,root) /etc/rc.d/init.d/dirsrv +%attr(754,root,root) /etc/rc.d/init.d/dirsrv-snmp +%attr(755,root,root) %{_bindir}/* +%attr(755,root,root) %{_sbindir}/* +%dir %{_libdir}/dirsrv +%attr(755,root,root) %{_libdir}/dirsrv/*.so.* +%{_libdir}/dirsrv/perl +%dir %{_libdir}/dirsrv/plugins +%{_libdir}/dirsrv/plugins/*.so +%dir %{_localstatedir}/lib/dirsrv +%dir %{_localstatedir}/log/dirsrv +%dir %{_localstatedir}/lock/dirsrv +%{_mandir}/man1/* +%{_mandir}/man8/* + +%files devel +%defattr(644,root,root,755) +%{_includedir}/dirsrv +%{_libdir}/dirsrv/*.so + +%if 0 +%files selinux +%defattr(644,root,root,755) +%{_datadir}/selinux/*/dirsrv.pp + +%files selinux-devel +%defattr(644,root,root,755) +%{_datadir}/dirsrv-selinux + +%endif |