]> git.ipfire.org Git - people/ms/ipfire-3.x.git/blob - openldap/openldap.nm
Merge remote-tracking branch 'stevee/pam-update'
[people/ms/ipfire-3.x.git] / openldap / openldap.nm
1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
5
6 name = openldap
7 version = 2.4.32
8 release = 4
9
10 groups = System/Daemons
11 url = http://www.openldap.org/
12 license = OpenLDAP
13 summary = LDAP support libraries.
14
15 description
16 OpenLDAP is an open source suite of LDAP (Lightweight Directory Access
17 Protocol) applications and development tools. LDAP is a set of
18 protocols for accessing directory services over the Internet, similar
19 to the way DNS information is propagated over the Internet. The
20 openldap package contains configuration files, libraries, and
21 documentation for OpenLDAP.
22 end
23
24 source_dl = ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/
25 sources = %{thisapp}.tgz
26
27 build
28 requires
29 db4-devel
30 cyrus-sasl-devel
31 groff
32 libtool
33 libtool-devel
34 openssl-devel
35 pth-devel
36 shadow-utils
37 end
38
39 configure_options += \
40 --libexecdir=%{libdir} \
41 --sysconfdir=/etc \
42 --localstatedir=/var \
43 --with-threads=posix \
44 --disable-perl \
45 --enable-dynamic \
46 --enable-crypt \
47 --enable-modules \
48 --enable-rlookups \
49 --enable-backends=mod \
50 --enable-overlays=mod \
51 --enable-sql=no \
52 --enable-ndb=no \
53 --enable-hdb=yes \
54 --enable-monitor=yes \
55 --disable-static
56
57 prepare_cmds
58 %{create_user}
59 end
60
61 install_cmds
62 mv -v %{BUILDROOT}%{libdir}/slapd %{BUILDROOT}/usr/sbin/slapd
63 ln -svf slapd %{BUILDROOT}/usr/sbin/slapacl
64 ln -svf slapd %{BUILDROOT}/usr/sbin/slapadd
65 ln -svf slapd %{BUILDROOT}/usr/sbin/slapauth
66 ln -svf slapd %{BUILDROOT}/usr/sbin/slapcat
67 ln -svf slapd %{BUILDROOT}/usr/sbin/slapdn
68 ln -svf slapd %{BUILDROOT}/usr/sbin/slapindex
69 ln -svf slapd %{BUILDROOT}/usr/sbin/slappasswd
70 ln -svf slapd %{BUILDROOT}/usr/sbin/slapschema
71 ln -svf slapd %{BUILDROOT}/usr/sbin/slaptest
72
73 # Remove unneeded files.
74 rm -rvf %{BUILDROOT}%{sysconfidir}/slapd.{conf,ldif}
75 rm -rvf %{BUILDROOT}%{localstatedir}/openldap-data
76 rm -rvf %{BUILDROOT}%{localstatedir}/run
77
78 for LINK in lber ldap ldap_r; do
79 chmod -v 0755 %{BUILDROOT}%{libdir}/$(readlink %{BUILDROOT}%{libdir}/lib${LINK}.so)
80 done
81
82 # Install configuration file.
83 mkdir -pv %{BUILDROOT}%{datadir}/%{name}
84 cp -vf %{DIR_SOURCE}/openldap-conf.ldif \
85 %{BUILDROOT}%{datadir}/%{name}/
86
87 # Create directoires.
88 mkdir -pv %{BUILDROOT}%{sysconfdir}/%{name}/slapd.d
89 mkdir -pv %{BUILDROOT}/run/%{name}
90 mkdir -pv %{BUILDROOT}%{sharedstatedir}/ldap
91
92 # Fix permissions and ownerships.
93 chown -Rv ldap:ldap %{BUILDROOT}%{sysconfdir}/%{name}
94 chown ldap:ldap %{BUILDROOT}/run/%{name}
95 chown ldap:ldap %{BUILDROOT}%{sharedstatedir}/ldap
96 chmod 700 -Rv %{BUILDROOT}%{sharedstatedir}/ldap
97 end
98 end
99
100 create_user
101 getent group ldap >/dev/null || groupadd -r ldap
102 getent passwd ldap >/dev/null || useradd -r -g ldap \
103 -d /var/lib/ldap -s /sbin/nologin -c "OpenLDAP server" ldap
104 end
105
106 packages
107 package %{name}
108 prerequires += shadow-utils
109
110 script prein
111 %{create_user}
112 end
113
114 datafiles
115 %{sysconfdir}/%{name}/slapd.d
116 %{sharedstatedir}/ldap
117 end
118
119 script postin
120 systemctl daemon-reload >/dev/null 2>&1 || :
121 systemctl enable openldap.socket >/dev/null 2>&1 || :
122 end
123
124 script preun
125 systemctl --no-reload disable openldap.service >/dev/null 2>&1 || :
126 systemctl --no-reload disable openldap.socket >/dev/null 2>&1 || :
127 systemctl stop openldap.service >/dev/null 2>&1 || :
128 systemctl stop openldap.socket >/dev/null 2>&1 || :
129 end
130
131 script postun
132 systemctl daemon-reload >/dev/null 2>&1 || :
133 end
134
135 script postup
136 systemctl daemon-reload >/dev/null 2>&1 || :
137 systemctl try-restart openldap.service >/dev/null 2>&1 || :
138 end
139 end
140
141 package %{name}-libs
142 template LIBS
143 end
144
145 package %{name}-devel
146 template DEVEL
147 end
148
149 package %{name}-debuginfo
150 template DEBUGINFO
151 end
152 end