]> git.ipfire.org Git - people/stevee/ipfire-3.x.git/blob - openldap/openldap.nm
nettle: Update to 3.4.1
[people/stevee/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.44
8 release = 1
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 automake
30 cyrus-sasl-devel
31 groff
32 # Cannot be built with libdb 6 and above
33 # because of an incompatibility with AGPL
34 libdb-devel < 6
35 libtool
36 libtool-devel
37 openssl-devel
38 pth-devel
39 shadow-utils
40 end
41
42 configure_options += \
43 --libexecdir=%{libdir} \
44 --with-threads=posix \
45 --disable-perl \
46 --enable-dynamic \
47 --enable-crypt \
48 --enable-modules \
49 --enable-rlookups \
50 --enable-backends=mod \
51 --enable-overlays=mod \
52 --enable-sql=no \
53 --enable-ndb=no \
54 --enable-hdb=yes \
55 --enable-monitor=yes \
56 --disable-static
57
58 prepare_cmds
59 %{create_user}
60 end
61
62 install_cmds
63 mv -v %{BUILDROOT}%{libdir}/slapd %{BUILDROOT}/usr/sbin/slapd
64 ln -svf slapd %{BUILDROOT}/usr/sbin/slapacl
65 ln -svf slapd %{BUILDROOT}/usr/sbin/slapadd
66 ln -svf slapd %{BUILDROOT}/usr/sbin/slapauth
67 ln -svf slapd %{BUILDROOT}/usr/sbin/slapcat
68 ln -svf slapd %{BUILDROOT}/usr/sbin/slapdn
69 ln -svf slapd %{BUILDROOT}/usr/sbin/slapindex
70 ln -svf slapd %{BUILDROOT}/usr/sbin/slappasswd
71 ln -svf slapd %{BUILDROOT}/usr/sbin/slapschema
72 ln -svf slapd %{BUILDROOT}/usr/sbin/slaptest
73
74 # Remove unneeded files.
75 rm -rvf %{BUILDROOT}%{sysconfidir}/slapd.{conf,ldif}
76 rm -rvf %{BUILDROOT}%{localstatedir}/openldap-data
77 rm -rvf %{BUILDROOT}%{localstatedir}/run
78
79 for LINK in lber ldap ldap_r; do
80 chmod -v 0755 %{BUILDROOT}%{libdir}/$(readlink %{BUILDROOT}%{libdir}/lib${LINK}.so)
81 done
82
83 # Install configuration file.
84 mkdir -pv %{BUILDROOT}%{datadir}/%{name}
85 cp -vf %{DIR_SOURCE}/openldap-conf.ldif \
86 %{BUILDROOT}%{datadir}/%{name}/
87
88 # Install ldapcert.sh script.
89 install -m 0755 %{DIR_SOURCE}/ldapcert.sh \
90 %{BUILDROOT}%{datadir}/%{name}/
91
92 # Create directoires.
93 mkdir -pv %{BUILDROOT}%{sysconfdir}/%{name}/slapd.d
94 mkdir -pv %{BUILDROOT}%{sysconfdir}/%{name}/certs
95 mkdir -pv %{BUILDROOT}/run/%{name}
96 mkdir -pv %{BUILDROOT}%{sharedstatedir}/ldap
97
98 # Fix permissions and ownerships.
99 chown -Rv ldap:ldap %{BUILDROOT}%{sysconfdir}/%{name}
100 chown ldap:ldap %{BUILDROOT}/run/%{name}
101 chown ldap:ldap %{BUILDROOT}%{sharedstatedir}/ldap
102 chmod 700 -Rv %{BUILDROOT}%{sharedstatedir}/ldap
103 end
104 end
105
106 create_user
107 getent group ldap >/dev/null || groupadd -r ldap
108 getent passwd ldap >/dev/null || useradd -r -g ldap \
109 -d /var/lib/ldap -s /sbin/nologin -c "OpenLDAP server" ldap
110 end
111
112 packages
113 package %{name}
114 prerequires
115 openssl
116 shadow-utils
117 end
118
119 script prein
120 %{create_user}
121 end
122
123 datafiles
124 %{sysconfdir}/%{name}/slapd.d
125 %{sysconfdir}/%{name}/certs
126 %{sharedstatedir}/ldap
127 end
128
129 script postin
130 systemctl daemon-reload >/dev/null 2>&1 || :
131 systemctl enable openldap.socket >/dev/null 2>&1 || :
132 end
133
134 script preun
135 systemctl --no-reload disable openldap.service >/dev/null 2>&1 || :
136 systemctl --no-reload disable openldap.socket >/dev/null 2>&1 || :
137 systemctl stop openldap.service >/dev/null 2>&1 || :
138 systemctl stop openldap.socket >/dev/null 2>&1 || :
139 end
140
141 script postun
142 systemctl daemon-reload >/dev/null 2>&1 || :
143 end
144
145 script postup
146 systemctl daemon-reload >/dev/null 2>&1 || :
147 systemctl try-restart openldap.service >/dev/null 2>&1 || :
148 end
149 end
150
151 package %{name}-libs
152 template LIBS
153 end
154
155 package %{name}-devel
156 template DEVEL
157 end
158
159 package %{name}-debuginfo
160 template DEBUGINFO
161 end
162 end