]>
Commit | Line | Data |
---|---|---|
1 | # This .spec file is targeted for SuSE OBS. It relies on macro that | |
2 | # are not available on regular distributions. If you use directly | |
3 | # rpmbuild, be sure to use something like `--define 'rhel_version | |
4 | # 700'`. | |
5 | ||
6 | # Conditional build options, disable with "--without xxx" | |
7 | %bcond_without xml | |
8 | %bcond_without cdp | |
9 | %bcond_without edp | |
10 | %bcond_without sonmp | |
11 | %bcond_without fdp | |
12 | %bcond_without lldpmed | |
13 | %bcond_without dot1 | |
14 | %bcond_without dot3 | |
15 | %bcond_without custom | |
16 | %bcond_without snmp | |
17 | ||
18 | # On RHEL <= 6, compile with oldies | |
19 | # For SuSE, SLE11 with a recent SP comes with 3.0. SLE12 comes with 3.12. | |
20 | %if (0%{?rhel_version} > 0 && 0%{?rhel_version} < 700) || (0%{?centos_version} > 0 && 0%{?centos_version} < 700) | |
21 | %bcond_without oldies | |
22 | %else | |
23 | %bcond_with oldies | |
24 | %endif | |
25 | ||
26 | # On RHEL < 7, disable systemd | |
27 | # On SuSE < 12, disable systemd | |
28 | %if (0%{?rhel_version} > 0 && 0%{?rhel_version} < 700) || (0%{?centos_version} > 0 && 0%{?centos_version} < 700) || (0%{?suse_version} > 0 && 0%{?suse_version} < 1210) | |
29 | %bcond_with systemd | |
30 | %else | |
31 | %bcond_without systemd | |
32 | %endif | |
33 | ||
34 | # On RHEL < 7, use embedded libevent | |
35 | %if (0%{?rhel_version} > 0) || (0%{?centos_version} > 0 && 0%{?centos_version} < 700) || (0%{?suse_version} > 0 && 0%{?suse_version} < 1200) | |
36 | %bcond_with system_libevent | |
37 | %else | |
38 | %bcond_without system_libevent | |
39 | %endif | |
40 | ||
41 | %define lldpd_user _lldpd | |
42 | %define lldpd_group _lldpd | |
43 | %define lldpd_chroot /var/run/lldpd | |
44 | ||
45 | Summary: Implementation of IEEE 802.1ab (LLDP) | |
46 | Name: lldpd | |
47 | Version: 0.9.6 | |
48 | Release: 1%{?dist} | |
49 | License: MIT | |
50 | Group: System/Management | |
51 | URL: http://vincentbernat.github.com/lldpd/ | |
52 | Source0: http://media.luffy.cx/files/lldpd/%{name}-%{version}.tar.gz | |
53 | Source1: lldpd.init%{?suse_version:.suse} | |
54 | Source2: lldpd.sysconfig | |
55 | ||
56 | BuildRequires: pkgconfig | |
57 | %if %{with system_libevent} | |
58 | BuildRequires: libevent-devel | |
59 | %endif | |
60 | BuildRequires: readline-devel | |
61 | %if %{with snmp} | |
62 | BuildRequires: net-snmp-devel | |
63 | BuildRequires: openssl-devel | |
64 | %{!?suse_version:BuildRequires: lm_sensors-devel} | |
65 | %endif | |
66 | %if %{with xml} | |
67 | BuildRequires: libxml2-devel | |
68 | %endif | |
69 | %if %{with systemd} | |
70 | %if 0%{?suse_version} | |
71 | BuildRequires: systemd-rpm-macros | |
72 | %{?systemd_requires} | |
73 | %else | |
74 | Requires(post): systemd | |
75 | Requires(preun): systemd | |
76 | Requires(postun): systemd | |
77 | BuildRequires: systemd-units | |
78 | %endif | |
79 | %endif | |
80 | %if 0%{?suse_version} | |
81 | PreReq: %fillup_prereq %insserv_prereq pwdutils | |
82 | %else | |
83 | Requires(pre): /usr/sbin/groupadd /usr/sbin/useradd | |
84 | Requires(post): chkconfig | |
85 | Requires(preun): chkconfig | |
86 | Requires(preun): initscripts | |
87 | Requires(postun): initscripts | |
88 | %endif | |
89 | ||
90 | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release} | |
91 | ||
92 | %description | |
93 | This implementation provides LLDP sending and reception, supports VLAN | |
94 | and includes an SNMP subagent that can interface to an SNMP agent | |
95 | through AgentX protocol. | |
96 | ||
97 | LLDP is an industry standard protocol designed to supplant proprietary | |
98 | Link-Layer protocols such as Extreme EDP (Extreme Discovery Protocol) | |
99 | and CDP (Cisco Discovery Protocol). The goal of LLDP is to provide an | |
100 | inter-vendor compatible mechanism to deliver Link-Layer notifications | |
101 | to adjacent network devices. | |
102 | ||
103 | This daemon is also able to deal with CDP, FDP, SONMP and EDP | |
104 | protocol. It also handles LLDP-MED extension. | |
105 | ||
106 | %package devel | |
107 | Summary: Implementation of IEEE 802.1ab - Tools and header files for developers | |
108 | Group: Development/Libraries/C | |
109 | BuildRequires: pkgconfig | |
110 | Requires: lldpd = %{version}-%{release} | |
111 | ||
112 | %description devel | |
113 | This package is required to develop alternate clients for lldpd. | |
114 | ||
115 | LLDP is an industry standard protocol designed to supplant proprietary | |
116 | Link-Layer protocols such as Extreme EDP (Extreme Discovery Protocol) | |
117 | and CDP (Cisco Discovery Protocol). The goal of LLDP is to provide an | |
118 | inter-vendor compatible mechanism to deliver Link-Layer notifications | |
119 | to adjacent network devices. | |
120 | ||
121 | %prep | |
122 | %setup -q | |
123 | %build | |
124 | %configure \ | |
125 | %if %{with snmp} | |
126 | --with-snmp \ | |
127 | %endif | |
128 | %if %{with xml} | |
129 | --with-xml \ | |
130 | %endif | |
131 | %if %{with cdp} | |
132 | --enable-cdp \ | |
133 | %else | |
134 | --disable-cdp \ | |
135 | %endif | |
136 | %if %{with edp} | |
137 | --enable-edp \ | |
138 | %else | |
139 | --disable-edp \ | |
140 | %endif | |
141 | %if %{with sonmp} | |
142 | --enable-sonmp \ | |
143 | %else | |
144 | --disable-sonmp \ | |
145 | %endif | |
146 | %if %{with fdp} | |
147 | --enable-fdp \ | |
148 | %else | |
149 | --disable-fdp \ | |
150 | %endif | |
151 | %if %{with lldpmed} | |
152 | --enable-lldpmed \ | |
153 | %else | |
154 | --disable-lldpmed \ | |
155 | %endif | |
156 | %if %{with dot1} | |
157 | --enable-dot1 \ | |
158 | %else | |
159 | --disable-dot1 \ | |
160 | %endif | |
161 | %if %{with dot3} | |
162 | --enable-dot3 \ | |
163 | %else | |
164 | --disable-dot3 \ | |
165 | %endif | |
166 | %if %{with custom} | |
167 | --enable-custom \ | |
168 | %else | |
169 | --disable-custom \ | |
170 | %endif | |
171 | %if %{with oldies} | |
172 | --enable-oldies \ | |
173 | %else | |
174 | --disable-oldies \ | |
175 | %endif | |
176 | --with-privsep-user=%lldpd_user \ | |
177 | --with-privsep-group=%lldpd_group \ | |
178 | --with-privsep-chroot=%lldpd_chroot \ | |
179 | %if %{without systemd} | |
180 | --with-systemdsystemunitdir=no \ | |
181 | %else | |
182 | --with-systemdsystemunitdir=%{_unitdir} \ | |
183 | %endif | |
184 | --with-sysusersdir=no \ | |
185 | --prefix=%{_usr} \ | |
186 | --localstatedir=%{_localstatedir} \ | |
187 | --sysconfdir=%{_sysconfdir} \ | |
188 | --libdir=%{_libdir} \ | |
189 | --docdir=%{_docdir}/lldpd \ | |
190 | --enable-pie | |
191 | ||
192 | [ -f %{_includedir}/net-snmp/agent/struct.h ] || touch src/struct.h | |
193 | make %{?_smp_mflags} | |
194 | ||
195 | %install | |
196 | make install DESTDIR=$RPM_BUILD_ROOT | |
197 | %if %{without systemd} | |
198 | install -d $RPM_BUILD_ROOT/%{_initrddir} | |
199 | install -m755 %{SOURCE1} $RPM_BUILD_ROOT/%{_initrddir}/lldpd | |
200 | %endif | |
201 | %if 0%{?suse_version} | |
202 | mkdir -p ${RPM_BUILD_ROOT}/var/adm/fillup-templates | |
203 | install -m700 %{SOURCE2} ${RPM_BUILD_ROOT}/var/adm/fillup-templates/sysconfig.lldpd | |
204 | %else | |
205 | install -d $RPM_BUILD_ROOT/etc/sysconfig | |
206 | install -m644 %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/lldpd | |
207 | %endif | |
208 | ||
209 | %pre | |
210 | # Create lldpd user/group | |
211 | if getent group %lldpd_group >/dev/null 2>&1 ; then : ; else \ | |
212 | %{_sbindir}/groupadd -r %lldpd_group > /dev/null 2>&1 || exit 1 ; fi | |
213 | if getent passwd %lldpd_user >/dev/null 2>&1 ; then : ; else \ | |
214 | %{_sbindir}/useradd -g %lldpd_group -M -r -s /sbin/nologin \ | |
215 | -c "LLDP daemon" -d %lldpd_chroot %lldpd_user 2> /dev/null \ | |
216 | || exit 1 ; fi | |
217 | %if 0%{?suse_version} >= 1210 && %{with systemd} | |
218 | %service_add_pre lldpd.service | |
219 | %endif | |
220 | ||
221 | %if 0%{?suse_version} | |
222 | # Service management for SuSE | |
223 | ||
224 | %if 0%{?suse_version} >= 1210 && %{with systemd} | |
225 | %post | |
226 | %service_add_post lldpd.service | |
227 | %{fillup_only} | |
228 | %preun | |
229 | %service_del_preun lldpd.service | |
230 | %postun | |
231 | %service_del_postun lldpd.service | |
232 | %else | |
233 | %post | |
234 | /sbin/ldconfig | |
235 | %{fillup_and_insserv lldpd} | |
236 | %postun | |
237 | /sbin/ldconfig | |
238 | %restart_on_update lldpd | |
239 | %insserv_cleanup | |
240 | %preun | |
241 | %stop_on_removal lldpd | |
242 | %endif | |
243 | ||
244 | %else | |
245 | %if %{without systemd} | |
246 | # Service management for Redhat/CentOS without systemd | |
247 | ||
248 | %post | |
249 | /sbin/ldconfig | |
250 | /sbin/chkconfig --add lldpd | |
251 | %postun | |
252 | /sbin/ldconfig | |
253 | if [ "$1" -ge "1" ]; then | |
254 | /sbin/service lldpd condrestart >/dev/null 2>&1 || : | |
255 | fi | |
256 | %preun | |
257 | if [ "$1" = "0" ]; then | |
258 | /sbin/service lldpd stop > /dev/null 2>&1 | |
259 | /sbin/chkconfig --del lldpd | |
260 | fi | |
261 | ||
262 | %else | |
263 | # Service management for Redhat/CentOS with systemd | |
264 | ||
265 | %post | |
266 | /sbin/ldconfig | |
267 | %systemd_post lldpd.service | |
268 | ||
269 | %preun | |
270 | %systemd_preun lldpd.service | |
271 | ||
272 | %postun | |
273 | %systemd_postun_with_restart lldpd.service | |
274 | /sbin/ldconfig | |
275 | ||
276 | %endif | |
277 | %endif | |
278 | ||
279 | %clean | |
280 | rm -rf $RPM_BUILD_ROOT | |
281 | ||
282 | %files | |
283 | %defattr(-,root,root,-) | |
284 | %dir %{_docdir}/lldpd | |
285 | %doc %{_docdir}/lldpd/NEWS | |
286 | %doc %{_docdir}/lldpd/LICENSE | |
287 | %doc %{_docdir}/lldpd/ChangeLog | |
288 | %doc %{_docdir}/lldpd/README.md | |
289 | %doc %{_docdir}/lldpd/CONTRIBUTE.md | |
290 | %{_sbindir}/lldpd | |
291 | %{_sbindir}/lldpctl | |
292 | %{_sbindir}/lldpcli | |
293 | %{_libdir}/liblldpctl.so.* | |
294 | %{_datadir}/zsh | |
295 | %{_datadir}/bash-completion | |
296 | %doc %{_mandir}/man8/lldp* | |
297 | %config %{_sysconfdir}/lldpd.d | |
298 | %if %{without systemd} | |
299 | %config %attr(755,root,root) %{_initrddir}/lldpd | |
300 | %else | |
301 | %{_unitdir}/lldpd.service | |
302 | %endif | |
303 | %if 0%{?suse_version} | |
304 | %attr(644,root,root) %{_var}/adm/fillup-templates/sysconfig.lldpd | |
305 | %else | |
306 | %config(noreplace) %{_sysconfdir}/sysconfig/lldpd | |
307 | %endif | |
308 | ||
309 | %files devel | |
310 | %defattr(-,root,root) | |
311 | %{_libdir}/liblldpctl.so | |
312 | %{_libdir}/liblldpctl.a | |
313 | %{_libdir}/liblldpctl.la | |
314 | %{_libdir}/pkgconfig/lldpctl.pc | |
315 | %{_includedir}/lldpctl.h | |
316 | %{_includedir}/lldp-const.h | |
317 | ||
318 | %changelog | |
319 | * Sat Jan 21 2017 Vincent Bernat <bernat@luffy.cx> - 0.9.6-1 | |
320 | - New upstream version. | |
321 | ||
322 | * Fri Sep 30 2016 Vincent Bernat <bernat@luffy.cx> - 0.9.5-1 | |
323 | - New upstream version. | |
324 | ||
325 | * Fri Jun 17 2016 Vincent Bernat <bernat@luffy.cx> - 0.9.4-1 | |
326 | - New upstream version. | |
327 | ||
328 | * Sat May 21 2016 Vincent Bernat <bernat@luffy.cx> - 0.9.3-1 | |
329 | - New upstream version. | |
330 | ||
331 | * Sat Mar 19 2016 Vincent Bernat <bernat@luffy.cx> - 0.9.2-1 | |
332 | - New upstream version. | |
333 | ||
334 | * Sat Feb 20 2016 Vincent Bernat <bernat@luffy.cx> - 0.9.1-1 | |
335 | - New upstream version. | |
336 | ||
337 | * Fri Jan 01 2016 Vincent Bernat <bernat@luffy.cx> - 0.9.0-1 | |
338 | - New upstream version. | |
339 | - Do not rely on libnl3. | |
340 | ||
341 | * Sun Dec 27 2015 Vincent Bernat <bernat@luffy.cx> - 0.8.0-1 | |
342 | - New upstream version. | |
343 | - Use system libnl3 when possible. | |
344 | - Use system libevent when possible. | |
345 | ||
346 | * Wed Sep 09 2015 Vincent Bernat <bernat@luffy.cx> - 0.7.17-1 | |
347 | - New upstream version. | |
348 | ||
349 | * Fri Aug 07 2015 Vincent Bernat <bernat@luffy.cx> - 0.7.16-1 | |
350 | - New upstream version. | |
351 | ||
352 | * Wed May 20 2015 Vincent Bernat <bernat@luffy.cx> - 0.7.15-1 | |
353 | - New upstream version. | |
354 | ||
355 | * Sat Apr 04 2015 Vincent Bernat <bernat@luffy.cx> - 0.7.14-1 | |
356 | - New upstream version. | |
357 | ||
358 | * Tue Dec 30 2014 Vincent Bernat <bernat@luffy.cx> - 0.7.13-1 | |
359 | - New upstream version. | |
360 | ||
361 | * Sat Nov 22 2014 Vincent Bernat <bernat@luffy.cx> - 0.7.12-1 | |
362 | - New upstream version. | |
363 | - Completion for bash and zsh. | |
364 | ||
365 | * Wed Oct 08 2014 Vincent Bernat <bernat@luffy.cx> - 0.7.11-1 | |
366 | - New upstream version. | |
367 | - Completion for bash and zsh. | |
368 | ||
369 | * Mon Jul 21 2014 Vincent Bernat <bernat@luffy.cx> - 0.7.10-1 | |
370 | - New upstream version. | |
371 | ||
372 | * Wed May 28 2014 Vincent Bernat <bernat@luffy.cx> - 0.7.9-1 | |
373 | - New upstream version. | |
374 | ||
375 | * Sun Apr 13 2014 Vincent Bernat <bernat@luffy.cx> - 0.7.8-1 | |
376 | - New upstream version. | |
377 | ||
378 | * Sun Nov 10 2013 Vincent Bernat <bernat@luffy.cx> - 0.7.7-1 | |
379 | - New upstream version. | |
380 | ||
381 | * Fri Jul 12 2013 Vincent Bernat <bernat@luffy.cx> - 0.7.6-1 | |
382 | - New upstream version. | |
383 | ||
384 | * Sat Jun 22 2013 Vincent Bernat <bernat@luffy.cx> - 0.7.5-1 | |
385 | - New upstream version. | |
386 | ||
387 | * Sun May 12 2013 Vincent Bernat <bernat@luffy.cx> - 0.7.3-1 | |
388 | - New upstream version. | |
389 | ||
390 | * Fri Apr 19 2013 Vincent Bernat <bernat@luffy.cx> - 0.7.2-1 | |
391 | - New upstream version. | |
392 | ||
393 | * Sat Jan 12 2013 Vincent Bernat <bernat@luffy.cx> - 0.7.1-1 | |
394 | - New upstream version. | |
395 | ||
396 | * Sun Jan 06 2013 Vincent Bernat <bernat@luffy.cx> - 0.7.0-1 | |
397 | - New upstream version. | |
398 | - Requires readline-devel. | |
399 | - Ships lldpcli. | |
400 | ||
401 | * Thu Sep 27 2012 Vincent Bernat <bernat@luffy.cx> - 0.6.1-1 | |
402 | - New upstream version | |
403 | - Do not require libevent, use embedded copy. | |
404 | - Provide a -devel package. | |
405 | ||
406 | * Fri Jun 11 2010 Vincent Bernat <bernat@luffy.cx> - 0.5.1-1 | |
407 | - New upstream version | |
408 | - Define bcond_without and with macros if not defined to be compatible | |
409 | with RHEL | |
410 | - Requires useradd and groupadd | |
411 | - Adapt to make it work with SuSE | |
412 | - Provide an init script targetted at SuSE | |
413 | - Build require lm_sensors-devel on RHEL | |
414 | ||
415 | * Fri Mar 12 2010 Vincent Bernat <bernat@luffy.cx> - 0.5.0-1 | |
416 | - New upstream version | |
417 | - Add XML support | |
418 | ||
419 | * Tue May 19 2009 Vincent Bernat <bernat@luffy.cx> - 0.4.0-1 | |
420 | - Add variables | |
421 | - Enable SNMP support | |
422 | - Add _lldpd user creation | |
423 | - Add initscript | |
424 | - New upstream version | |
425 | ||
426 | * Mon May 18 2009 Dean Hamstead <dean.hamstead@optusnet.com.au> - 0.3.3-1 | |
427 | - Initial attempt |