%define selinux_variants mls strict targeted %define modulename ladvd Name: ladvd Version: 1.1.2 Release: 15%{?dist} Summary: CDP/LLDP sender for UNIX License: ISC URL: http://www.blinkenlights.nl/software/ladvd/ Source0: https://github.com/sspans/ladvd/archive/v%{version}.tar.gz Source1: %{name}.conf.sysusers # 2016-11 TODO: rewrite selinux policy using CIL Source3: %{modulename}.te Source4: %{modulename}.fc Source5: %{modulename}.if # merged upstram https://github.com/sspans/ladvd/pull/42 Patch0: 0001-fix-_BSD_SOURCE-and-_SVID_SOURCE-are-deprecated-use-.patch Patch1: %{name}-0002-util.c-fix-for-undeclared-MAXPATHLEN.patch Recommends: %{name}-selinux BuildRequires: make BuildRequires: autoconf BuildRequires: automake BuildRequires: libevent-devel BuildRequires: libcap-ng-devel BuildRequires: libpcap-devel BuildRequires: libteam-devel BuildRequires: libtool BuildRequires: m4 BuildRequires: pkgconfig BuildRequires: systemd %{?systemd_requires} %description ladvd uses CDP / LLDP frames to inform switches about connected hosts, which simplifies Ethernet switch management. Every 30 seconds it will transmit CDP/ LLDP packets reflecting the current system state. Interfaces (bridge, bonding, wireless), capabilities (bridging, forwarding, wireless) and addresses (IPv4, IPv6) are detected dynamically. %package selinux Summary: SELinux policy module supporting %{name} BuildRequires: checkpolicy, selinux-policy-devel, hardlink %if "%{_selinux_policy_version}" != "" Requires: selinux-policy >= %{_selinux_policy_version} %endif Requires: %{name} = %{version}-%{release} Requires(post): /usr/sbin/semodule, /sbin/restorecon Requires(postun): /usr/sbin/semodule, /sbin/restorecon %description selinux SELinux policy module supporting %{name} %prep %setup -q %autopatch -p1 mkdir SELinux cp -p %{SOURCE3} %{SOURCE4} %{SOURCE5} SELinux %build autoreconf -fi %configure \ --with-user=ladvd \ --with-pid-dir=%{_rundir} make %{?_smp_mflags} cd SELinux for selinuxvariant in %{selinux_variants} do make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile mv %{modulename}.pp %{modulename}.pp.${selinuxvariant} make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean done cd - %install rm -rf %{buildroot} make install DESTDIR=%{buildroot} rm -rf %{buildroot}%{_docdir}/ladvd mkdir -p %{buildroot}%{_unitdir} install -m 0444 -D %{SOURCE1} %{buildroot}%{_sysusersdir}/%{name}.conf cd SELinux for selinuxvariant in %{selinux_variants} do install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant} install -p -m 644 %{modulename}.pp.${selinuxvariant} \ %{buildroot}%{_datadir}/selinux/${selinuxvariant}/%{modulename}.pp done cd - /usr/bin/hardlink -cv %{buildroot}%{_datadir}/selinux %pre %sysusers_create_package %{name} %{SOURCE1} %post %systemd_post %{name}.service %preun %systemd_preun %{name}.service %postun %systemd_postun_with_restart %{name}.service %post selinux for selinuxvariant in %{selinux_variants} do /usr/sbin/semodule -s ${selinuxvariant} -i \ %{_datadir}/selinux/${selinuxvariant}/%{modulename}.pp &> /dev/null || : done %postun selinux if [ $1 -eq 0 ] ; then for selinuxvariant in %{selinux_variants} do /usr/sbin/semodule -s ${selinuxvariant} -r %{modulename} &> /dev/null || : done fi %files %doc doc/README doc/TODO %license doc/LICENSE %{_sbindir}/%{name} %{_sbindir}/%{name}c %{_mandir}/man8/%{name}.8* %{_mandir}/man8/%{name}c.8* %{_unitdir}/%{name}.service %{_sysusersdir}/%{name}.conf %files selinux %doc SELinux/* %{_datadir}/selinux/*/%{modulename}.pp %changelog * Thu Jul 21 2022 Fedora Release Engineering - 1.1.2-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Thu Jan 20 2022 Fedora Release Engineering - 1.1.2-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Thu Jul 22 2021 Fedora Release Engineering - 1.1.2-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Fri May 28 2021 Tomasz Torcz - 1.1.2-12 - remove old trigerun * Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 1.1.2-12 - Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. * Tue Jan 26 2021 Fedora Release Engineering - 1.1.2-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Mon Sep 28 2020 Tomasz Torcz - 1.1.2-10 - rebuild for libevent soname change * Wed Aug 05 2020 Tomasz Torcz - 1.1.2-9 - further SELinux fixes (rhbz#1855163 and other stuff) * Tue Jul 28 2020 Fedora Release Engineering - 1.1.2-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jun 16 2020 Tomasz Torcz - 1.1.2-7 - fixes to SELinux policy from Milos Malik (rhbz#1834325) - /var/run → /run cleanup * Wed Jan 29 2020 Fedora Release Engineering - 1.1.2-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Thu Jul 25 2019 Fedora Release Engineering - 1.1.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Wed Jun 19 2019 Tomasz Torcz - 1.1.2-4 - fix FTBFS due to changed hardlink location (rhbz#1721950) * Fri Feb 01 2019 Fedora Release Engineering - 1.1.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Fri Jul 13 2018 Fedora Release Engineering - 1.1.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Fri Mar 16 2018 Tomasz Torcz - 1.1.2-1 - update to latest 1.1.2 (rhbz#1554568) - use newer sysuser create macro * Mon Feb 19 2018 Tomasz Torcz - 1.1.1-5 - rebuilt for libevent soname bump * Wed Feb 07 2018 Fedora Release Engineering - 1.1.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Thu Aug 03 2017 Fedora Release Engineering - 1.1.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 1.1.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Sat Jun 10 2017 Tomasz Torcz - 1.1.1-1 - bump to latest release (rhbz#1460436) * Fri Feb 10 2017 Fedora Release Engineering - 1.1.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Mon May 23 2016 Tomasz Torcz - 1.1.0-6 - enable on TUN/TAP devices; this way KVM virtual machines become visible by default. * Thu Feb 04 2016 Fedora Release Engineering - 1.1.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Thu Jul 30 2015 Tomasz Torcz - 1.1.0-4 - Fix ladvd SELinux policy. Removed wrong allow rules and replaced it with correct macros. Patch from Lukas Vrabec (fixes rhbz#1248395) * Wed Jun 17 2015 Fedora Release Engineering - 1.1.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Wed May 13 2015 Tomasz Torcz - 1.1.0-2 - use systemd-sysusers to create 'ladvd' user * Mon Apr 20 2015 Tomasz Torcz - 1.1.0-1 - new upstream version: https://github.com/sspans/ladvd/releases/tag/v1.1.0 - drop custom systemd unit, upstream was updated * Tue Oct 14 2014 Tomasz Torcz - 1.0.4-14 - replace tmpfiles snippet with RuntimeDirectory= * Sun Aug 17 2014 Fedora Release Engineering - 1.0.4-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 1.0.4-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Mon Oct 14 2013 Tomasz Torcz - 1.0.4-11 - further SELinux policy fixes (#1018493, #1018497, #1018502, #1018503, #1018504, #1018505, #1018506) * Tue Sep 17 2013 Tomasz Torcz - 1.0.4-10 - use macro for determining SELinux policy version * Tue Sep 17 2013 Tomasz Torcz - 1.0.4-9 - apply SELinux policy patch by Daniel J Walsh (#975959) * Mon Aug 19 2013 Ralf Corsépius - 1.0.4-8 - Address FTBFS, RHBZ#992031: - Fix typo in spec (Use %%_tmpfilesdir instead of ${_tmpfilesdir}). - Use %%{?systemd_requires} instead of %%{systemd_requires}. * Mon Aug 05 2013 Tomasz Torcz - 1.0.4-7 - add BR: systemd, as it not longer pulled by default (https://lists.fedoraproject.org/pipermail/devel/2013-August/187299.html) * Sat Aug 03 2013 Fedora Release Engineering - 1.0.4-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Tue Jul 30 2013 Tomasz Torcz - 1.0.4-5 - remove unnecessary parts for -selinux posts - selinux policy: allow /etc/passwd read to find out about unpriviledged user (#975959) - modernize tmpfiles snippets * Wed Apr 10 2013 Jon Ciesla - 1.0.4-4 - Migrate from fedora-usermgmt to guideline scriptlets. * Thu Feb 14 2013 Fedora Release Engineering - 1.0.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Mon Nov 12 2012 Tomasz Torcz - 1.0.4-2 - add m4 to buildreq - switch to systemd macros - remove chkconfig from fedora package * Wed Nov 07 2012 Tomasz Torcz - 1.0.4-1 - create chroot() dir on package install - update to vesion 1.0.4 * Thu Jul 19 2012 Fedora Release Engineering - 1.0.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Tue Feb 07 2012 Tomasz Torcz - 1.0.2-1 - new upstream version * Tue Jan 24 2012 Tomasz Torcz - 1.0.0-1 - version 1.0.0 - spec: - drop patch for GCC issue fixed upstream - drop BuildRoot: tag - unit file: - remove StandardOutput=syslog (it is default now) - add "-z" option, to have upstream switch name put in interface's ifAlias * Mon Aug 15 2011 Tomasz Torcz - 0.9.2-6 - remove sysconfig mention from unit file * Sat Aug 13 2011 Tomasz Torcz - 0.9.2-5 - place tmpfiles.d conf in /usr/lib/tmpfiles.d - drop SysV init script and sysconfig file * Fri May 6 2011 Tomasz Torcz - 0.9.2-4 - Fix systemd-related scriptlets (from Bill Nottingham): - since we install a systemd service file, run 'systemctl daemon-reload' - chkconfig without a level forwards to systemctl, which is not useful for SysV migrations. Pass an explicit level. * Sun Feb 13 2011 Tomasz Torcz - 0.9.2-3 - fix FTBFS caused by -Werror=unused-but-set-variable * Sun Feb 13 2011 Tomasz Torcz - 0.9.2-2 - provide systemd and tmpfiles integration bits * Sun Feb 13 2011 Tomasz Torcz - 0.9.2-1 - new upstream version 0.9.2 - package ladvdc - client command - simplify initscript, rely on protocol autodetection like upstream suggests - move homedir to /var/run/ladvd * Mon Feb 07 2011 Fedora Release Engineering - 0.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Wed Aug 26 2009 Andreas Thienemann - 0.8-1 - Rebase to new upstream release * Fri Jul 24 2009 Fedora Release Engineering - 0.6.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Wed Feb 25 2009 Fedora Release Engineering - 0.6.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Sat Oct 18 2008 Andreas Thienemann 0.6.1-2 - Added SElinux support package - Added patch to make it build on EL-4 - Added separate ladvd user * Sat Oct 18 2008 Andreas Thienemann 0.6.1-1 - Initial package