]> git.ipfire.org Git - thirdparty/lldpd.git/blame - redhat/lldpd.spec
redhat: add completions for bash and zsh
[thirdparty/lldpd.git] / redhat / lldpd.spec
CommitLineData
edc4813f 1# configure options
53c653ea 2
2ceb9bb7
VB
3# Define with/without/bcond_without macros (needed for RHEL4)
4%define with() %{expand:%%{?with_%{1}:1}%%{!?with_%{1}:0}}
5%define bcond_without() %{expand:%%{!?_without_%{1}:%%global with_%{1} 1}}
7b166df3 6%define bcond_with() %{expand:%%{?_with_%{1}:%%global with_%{1} 1}}
2ceb9bb7 7
53c653ea 8# Conditional build options, disable with "--without xxx"
c3bab3ed 9%bcond_without xml
53c653ea
PK
10%bcond_without cdp
11%bcond_without edp
12%bcond_without sonmp
13%bcond_without fdp
14%bcond_without lldpmed
15%bcond_without dot1
16%bcond_without dot3
17
d0b88676
VB
18# On RHEL < 5, disable SNMP, Net-SNMP installation seems broken
19%if 0%{?rhel_version} > 0 && 0%{?rhel_version} < 500 || 0%{?centos_version} > 0 && 0%{?centos_version} < 500
7b166df3
VB
20%bcond_with snmp
21%else
22%bcond_without snmp
23%endif
24
edc4813f
VB
25%define lldpd_user _lldpd
26%define lldpd_group _lldpd
27%define lldpd_chroot /var/run/lldpd
28
d623a64a 29Summary: Implementation of IEEE 802.1ab (LLDP)
80530161 30Name: lldpd
62446808 31Version: 0.7.11
edc4813f
VB
32Release: 1%{?dist}
33License: MIT
80530161 34Group: System Environment/Daemons
bf74bdaf 35URL: http://vincentbernat.github.com/lldpd/
70943e34 36Source0: http://media.luffy.cx/files/lldpd/%{name}-%{version}.tar.gz
8e555861 37Source1: lldpd.init%{?suse_version:.suse}
26819154 38Source2: lldpd.sysconfig
edc4813f 39
68b375c3 40BuildRequires: pkgconfig
23e7fa38 41BuildRequires: readline-devel
53c653ea 42%if %{with snmp}
edc4813f 43BuildRequires: net-snmp-devel
20ffcb8e 44BuildRequires: openssl-devel
053d9978 45%{!?suse_version:BuildRequires: lm_sensors-devel}
edc4813f 46%endif
c3bab3ed
VB
47%if %{with xml}
48BuildRequires: libxml2-devel
c3bab3ed 49%endif
d623a64a
VB
50%if 0%{?suse_version}
51PreReq: %fillup_prereq %insserv_prereq pwdutils
8e555861 52%else
3336988a 53Requires(pre): /usr/sbin/groupadd /usr/sbin/useradd
8e555861
VB
54Requires(post): chkconfig
55Requires(preun): chkconfig
56Requires(preun): initscripts
57Requires(postun): initscripts
d623a64a 58%endif
80530161
VB
59
60BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
61
80530161 62%description
edc4813f
VB
63This implementation provides LLDP sending and reception, supports VLAN
64and includes an SNMP subagent that can interface to an SNMP agent
65through AgentX protocol.
80530161 66
edc4813f
VB
67LLDP is an industry standard protocol designed to supplant proprietary
68Link-Layer protocols such as Extreme EDP (Extreme Discovery Protocol)
69and CDP (Cisco Discovery Protocol). The goal of LLDP is to provide an
70inter-vendor compatible mechanism to deliver Link-Layer notifications
71to adjacent network devices.
80530161 72
edc4813f
VB
73This daemon is also able to deal with CDP, FDP, SONMP and EDP
74protocol. It also handles LLDP-MED extension.
80530161 75
b2160607
VB
76%package devel
77Summary: Implementation of IEEE 802.1ab - Tools and header files for developers
78Group: Development/Libraries
79Requires: lldpd = %{version}-%{release}
80
81%description devel
82This package is required to develop alternate clients for lldpd.
83
80530161 84%prep
edc4813f 85%setup -q
80530161 86%build
edc4813f 87%configure \
53c653ea 88%if %{with snmp}
edc4813f
VB
89 --with-snmp \
90%endif
c3bab3ed
VB
91%if %{with xml}
92 --with-xml \
93%endif
53c653ea 94%if %{with cdp}
edc4813f
VB
95 --enable-cdp \
96%else
97 --disable-cdp \
98%endif
53c653ea 99%if %{with edp}
edc4813f
VB
100 --enable-edp \
101%else
102 --disable-edp \
103%endif
53c653ea 104%if %{with sonmp}
edc4813f
VB
105 --enable-sonmp \
106%else
107 --disable-sonmp \
108%endif
53c653ea 109%if %{with fdp}
edc4813f
VB
110 --enable-fdp \
111%else
112 --disable-fdp \
113%endif
53c653ea 114%if %{with lldpmed}
edc4813f
VB
115 --enable-lldpmed \
116%else
117 --disable-lldpmed \
118%endif
53c653ea 119%if %{with dot1}
edc4813f
VB
120 --enable-dot1 \
121%else
122 --disable-dot1 \
123%endif
53c653ea 124%if %{with dot3}
edc4813f
VB
125 --enable-dot3 \
126%else
127 --disable-dot3 \
128%endif
129 --with-privsep-user=%lldpd_user \
130 --with-privsep-group=%lldpd_group \
131 --with-privsep-chroot=%lldpd_chroot \
82e23221 132 --with-systemdsystemunitdir=no \
a9f77488 133 --with-sysusersdir=no \
5cffb4e7
VB
134 --prefix=%{_usr} \
135 --localstatedir=%{_localstatedir} \
136 --sysconfdir=%{_sysconfdir} \
137 --libdir=%{_libdir} \
fdbe55a6 138 --docdir=%{_docdir}/lldpd
edc4813f 139
5cffb4e7 140[ -f %{_includedir}/net-snmp/agent/struct.h ] || touch src/struct.h
80530161
VB
141make %{?_smp_mflags}
142
143%install
80530161 144make install DESTDIR=$RPM_BUILD_ROOT
edc4813f 145install -d -m770 $RPM_BUILD_ROOT/%lldpd_chroot
8e555861
VB
146install -d $RPM_BUILD_ROOT/%{_initrddir}
147install -m755 %{SOURCE1} $RPM_BUILD_ROOT/%{_initrddir}/lldpd
d623a64a
VB
148%if 0%{?suse_version}
149mkdir -p ${RPM_BUILD_ROOT}/var/adm/fillup-templates
150install -m700 %{SOURCE2} ${RPM_BUILD_ROOT}/var/adm/fillup-templates/sysconfig.lldpd
151%else
3d6585f3 152install -d $RPM_BUILD_ROOT/etc/sysconfig
26819154 153install -m644 %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/lldpd
d623a64a 154%endif
edc4813f
VB
155
156%pre
157# Create lldpd user/group
158if getent group %lldpd_group >/dev/null 2>&1 ; then : ; else \
7b166df3 159 %{_sbindir}/groupadd -r %lldpd_group > /dev/null 2>&1 || exit 1 ; fi
edc4813f 160if getent passwd %lldpd_user >/dev/null 2>&1 ; then : ; else \
7b166df3 161 %{_sbindir}/useradd -g %lldpd_group -M -r -s /bin/false \
edc4813f
VB
162 -c "LLDP daemon" -d %lldpd_chroot %lldpd_user 2> /dev/null \
163 || exit 1 ; fi
80530161 164
d623a64a
VB
165%if 0%{?suse_version}
166# Service management for SuSE
167
3d6585f3 168%post
a5d1ce75 169/sbin/ldconfig
d623a64a
VB
170%{fillup_and_insserv lldpd}
171%postun
a5d1ce75 172/sbin/ldconfig
d623a64a
VB
173%restart_on_update lldpd
174%insserv_cleanup
175%preun
176%stop_on_removal lldpd
3d6585f3 177
d623a64a
VB
178%else
179# Service management for Redhat/Centos
180
181%post
a5d1ce75 182/sbin/ldconfig
d623a64a 183/sbin/chkconfig --add lldpd
3d6585f3 184%postun
a5d1ce75 185/sbin/ldconfig
3d6585f3 186if [ "$1" -ge "1" ]; then
f00bebf6 187 /sbin/service lldpd condrestart >/dev/null 2>&1 || :
3d6585f3 188fi
3d6585f3
VB
189%preun
190if [ "$1" = "0" ]; then
8e555861 191 /sbin/service lldpd stop > /dev/null 2>&1
3d6585f3
VB
192 /sbin/chkconfig --del lldpd
193fi
194
d623a64a
VB
195%endif
196
80530161
VB
197%clean
198rm -rf $RPM_BUILD_ROOT
199
200%files
201%defattr(-,root,root,-)
b2160607
VB
202%dir %{_docdir}/lldpd
203%doc %{_docdir}/lldpd/NEWS
7e431daf 204%doc %{_docdir}/lldpd/ChangeLog
b2160607 205%doc %{_docdir}/lldpd/README.md
03b0a190 206%doc %{_docdir}/lldpd/CONTRIBUTE.md
b2160607
VB
207%{_sbindir}/lldpd
208%{_sbindir}/lldpctl
c84c43ed 209%{_sbindir}/lldpcli
a5d1ce75 210%{_libdir}/liblldpctl.so.*
e202ae37
VB
211%{_datadir}/zsh/vendor-completions
212%{_sysconfdir}/bash_completion.d
b2160607 213%doc %{_mandir}/man8/lldp*
3d6585f3 214%dir %attr(750,root,root) %lldpd_chroot
c0e428ac 215%config %{_sysconfdir}/lldpd.d
b2160607 216%config %attr(755,root,root) %{_initrddir}/lldpd
d623a64a 217%if 0%{?suse_version}
5cffb4e7 218%attr(644,root,root) %{_var}/adm/fillup-templates/sysconfig.lldpd
d623a64a 219%else
5cffb4e7 220%config(noreplace) %{_sysconfdir}/sysconfig/lldpd
d623a64a 221%endif
80530161 222
b2160607
VB
223%files devel
224%defattr(-,root,root)
a5d1ce75
VB
225%{_libdir}/liblldpctl.so
226%{_libdir}/liblldpctl.a
227%{_libdir}/liblldpctl.la
b2160607
VB
228%{_libdir}/pkgconfig/lldpctl.pc
229%{_includedir}/lldpctl.h
230%{_includedir}/lldp-const.h
231
80530161 232%changelog
62446808
VB
233* Wed Oct 08 2014 Vincent Bernat <bernat@luffy.cx> - 0.7.11-1
234- New upstream version.
e202ae37 235- Completion for bash and zsh.
62446808 236
3620ee09
VB
237* Mon Jul 21 2014 Vincent Bernat <bernat@luffy.cx> - 0.7.10-1
238- New upstream version.
239
70943e34
VB
240* Wed May 28 2014 Vincent Bernat <bernat@luffy.cx> - 0.7.9-1
241- New upstream version.
242
412a1dad
VB
243* Sun Apr 13 2014 Vincent Bernat <bernat@luffy.cx> - 0.7.8-1
244- New upstream version.
245
d72c2c59
VB
246* Fri Nov 10 2013 Vincent Bernat <bernat@luffy.cx> - 0.7.7-1
247- New upstream version.
248
03b0a190
VB
249* Fri Jul 12 2013 Vincent Bernat <bernat@luffy.cx> - 0.7.6-1
250- New upstream version.
251
444c6862 252* Sat Jun 22 2013 Vincent Bernat <bernat@luffy.cx> - 0.7.5-1
6712d3ec
VB
253- New upstream version.
254
e91ca9d0
VB
255* Sun May 12 2013 Vincent Bernat <bernat@luffy.cx> - 0.7.3-1
256- New upstream version.
257
ef1ae4e7
VB
258* Fri Apr 19 2013 Vincent Bernat <bernat@luffy.cx> - 0.7.2-1
259- New upstream version.
260
a6c894e3
VB
261* Sat Jan 12 2013 Vincent Bernat <bernat@luffy.cx> - 0.7.1-1
262- New upstream version.
263
0eb9ad16
VB
264* Sun Jan 06 2013 Vincent Bernat <bernat@luffy.cx> - 0.7.0-1
265- New upstream version.
266- Requires readline-devel.
267- Ships lldpcli.
268
b2160607
VB
269* Wed Sep 27 2012 Vincent Bernat <bernat@luffy.cx> - 0.6.1-1
270- New upstream version
271- Do not require libevent, use embedded copy.
272- Provide a -devel package.
273
2ceb9bb7
VB
274* Fri Jun 11 2010 Vincent Bernat <bernat@luffy.cx> - 0.5.1-1
275- New upstream version
276- Define bcond_without and with macros if not defined to be compatible
277 with RHEL
8e555861 278- Requires useradd and groupadd
d623a64a 279- Adapt to make it work with SuSE
8e555861 280- Provide an init script targetted at SuSE
053d9978 281- Build require lm_sensors-devel on RHEL
2ceb9bb7 282
c3bab3ed
VB
283* Fri Mar 12 2010 Vincent Bernat <bernat@luffy.cx> - 0.5.0-1
284- New upstream version
285- Add XML support
286
3d6585f3
VB
287* Tue May 19 2009 Vincent Bernat <bernat@luffy.cx> - 0.4.0-1
288- Add variables
289- Enable SNMP support
290- Add _lldpd user creation
291- Add initscript
292- New upstream version
293
80530161
VB
294* Mon May 18 2009 Dean Hamstead <dean.hamstead@optusnet.com.au> - 0.3.3-1
295- Initial attempt