ebtables/ebtables.spec
wzx eb27c9245e Add sw64 architecture
Signed-off-by: wzx <wuzx1226@qq.com>
2022-11-03 18:48:51 +08:00

167 lines
5.4 KiB
RPMSpec

Name: ebtables
Version: 2.0.11
Release: 6
Summary: A filtering tool for a Linux-based bridging firewall
License: GPLv2+
URL: http://ebtables.sourceforge.net/
Source0: http://ftp.netfilter.org/pub/ebtables/ebtables-%{version}.tar.gz
Source2: ebtables.systemd
Source3: ebtables.service
Source4: ebtables-config
Patch0001: bugifx-Fix-string-case-option-can-not-work.patch
Patch0002: bugfix-Fix-ebt_print_error-for-prints-null.patch
BuildRequires: systemd libtool
BuildRequires: chrpath
Requires: systemd %{_sbindir}/update-alternatives
Conflicts: setup < 2.10.4-1
%description
The ebtables program is a filtering tool for a Linux-based bridging firewall.It enables transparent filtering of network traffic passing through a Linux bridge.The filtering possibilities are limited to link layer filtering and some basic filtering on higher network layers.
The ebtables tool can be combined with the other Linux filtering tools to make a bridging firewall that is also capable of filtering these higher network layers. This is enabled through the bridge-netfilter architecture which is a part of the standard Linux kernel.
%package help
Summary: help documents for ebtables
%description help
Help package contains some doc and man help files for ebtables.
%prep
%autosetup -n %{name}-%{version} -p1
f=THANKS; iconv -f iso-8859-1 -t utf-8 $f -o $f.utf8 ; mv $f.utf8 $f
%build
./autogen.sh
%ifarch sw_64
./configure --mandir=/usr/share/man --bindir=/usr/sbin --sbindir=/usr/sbin --libdir=/lib/ebtables --sysconfdir=/etc
%else
./configure --mandir=/usr/share/man --bindir=/usr/sbin --sbindir=/usr/sbin --libdir=/lib64/ebtables --sysconfdir=/etc
%endif
%make_build CFLAGS="${RPM_OPT_FLAGS}" LIBDIR="/%{_lib}/ebtables" BINDIR="%{_sbindir}" MANDIR="%{_mandir}" LDFLAGS="${RPM_LD_FLAGS} -Wl,-z,now"
%install
install -d %{buildroot}{%{_initrddir},%{_unitdir},%{_libexecdir},%{_sysconfdir}/sysconfig}
install -p %{SOURCE3} %{buildroot}%{_unitdir}/
install -p -D -m 600 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/ebtables-config
chmod -x %{buildroot}%{_unitdir}/*.service
install -m0755 %{SOURCE2} %{buildroot}%{_libexecdir}/ebtables
%make_install LIBDIR="/%{_lib}/ebtables" BINDIR="%{_sbindir}" MANDIR="%{_mandir}"
touch %{buildroot}%{_sysconfdir}/sysconfig/{ebtables.nat,ebtables.filter,ebtables.broute}
# remove rpath or runpath
chrpath -d %{buildroot}%{_sbindir}/ebtablesd
chrpath -d %{buildroot}%{_sbindir}/ebtables-legacy
chrpath -d %{buildroot}%{_sbindir}/ebtables-legacy-restore
mkdir -p %{buildroot}/etc/ld.so.conf.d
echo "%{_libdir}/ebtables" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf
%post
%systemd_post ebtables.service
%?ldconfig
if [ "$(readlink -e %{_sbindir}/ebtables)" == %{_sbindir}/ebtables ] ; then
rm -f %{_sbindir}/ebtables
fi
%{_sbindir}/update-alternatives --install %{_sbindir}/ebtables ebtables %{_sbindir}/ebtables-legacy 10
if [ "$(readlink -e %{_sbindir}/ebtables-restore)" == %{_sbindir}/ebtables-restore ] ; then
rm -f %{_sbindir}/ebtables-restore
fi
%{_sbindir}/update-alternatives --install %{_sbindir}/ebtables-restore ebtables-restore %{_sbindir}/ebtables-legacy-restore 10
if [ "$(readlink -e %{_sbindir}/ebtables-save)" == %{_sbindir}/ebtables-save ] ; then
rm -f %{_sbindir}/ebtables-save
fi
%{_sbindir}/update-alternatives --install %{_sbindir}/ebtables-save ebtables-save %{_sbindir}/ebtables-legacy-save 10
%preun
%systemd_preun ebtables.service
%postun
%systemd_postun_with_restart ebtables.service
%?ldconfig
%files
%license COPYING
%{_unitdir}/ebtables.service
%{_libexecdir}/ebtables
/%{_lib}/ebtables/
%{_sbindir}/ebtables-*
%{_sbindir}/ebtables*
%exclude %{_initrddir}
%exclude %{_sysconfdir}/ethertypes
%config(noreplace) %{_sysconfdir}/sysconfig/ebtables-config
%config(noreplace) /etc/ld.so.conf.d/*
%ghost %{_sbindir}/ebtables
%ghost %{_sbindir}/ebtables-restore
%ghost %{_sbindir}/ebtables-save
%ghost %{_sysconfdir}/sysconfig/{ebtables.filter,ebtables.nat,ebtables.broute}
%files help
%doc ChangeLog THANKS
%doc %{_mandir}/man8/ebtables-legacy.8*
%changelog
* Thu Nov 3 wuzx<wuzx1226@qq.com> - 2.0.11-6
- Type:feature
- CVE:NA
- SUG:NA
- DESC:change lib64 to lib when in sw64 architecture
* Mon Jul 04 2022 gaihuiying <eaglegai@163.com> - 2.0.11-5
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix ebtables-config file access permisson
fix ebt_print_error for prints null
* Thu Mar 24 2022 wangxiaopeng <wangxiaopeng7@huawei.com> - 2.0.11-4
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:del broken lib
* Tue Mar 09 2022 wangxiaopeng <wangxiaopeng7@huawei.com> - 2.0.11-3
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix string-icase can not work
* Tue Sep 07 2021 gaihuiying <gaihuiying1@huawei.com> - 2.0.11-2
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:remove runpath of ebtables
* Mon Jul 27 2020 openEuler Buildteam <buildteam@huawei.com> - 2.0.11-1
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:Upgrade to version 2.0.11
* Wed Jan 15 2020 openEuler Buildteam <buildteam@openeuler.org> - 2.0.10-32
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix build fail for firewalld
* Tue Jan 14 2020 zhangrui <zhangrui182@huawei.com> - 2.0.10-31
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix build fail for firewalld
* Thu Sep 24 2019 gaoguanghui <gaoguanghui1@huawei.com> - 2.0.10-30
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:this patch made future ebtables processes wait indefinitely for the lock to
become free
* Mon Sep 16 2019 yanzhihua <yanzhihua4@huawei.com> - 2.0.10-29
- Package init