[skip-ci] ebtables: imported from CCR to build firewalld, #88

This commit is contained in:
Francesco Marinucci 2018-11-15 16:00:32 +01:00
parent 8db491bc13
commit 436558b27a
6 changed files with 133 additions and 0 deletions

53
ebtables/PKGBUILD Normal file
View File

@ -0,0 +1,53 @@
pkgname=ebtables
pkgver=2.0.10_4
pkgrel=3
pkgdesc='Ethernet bridge filtering utilities'
arch=('x86_64')
url='http://ebtables.sourceforge.net/'
license=('GPL2')
backup=("etc/$pkgname.conf" "etc/conf.d/$pkgname")
# ebtables segfault with --as-needed
options=('!buildflags')
install=$pkgname.install
source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-v${pkgver/_/-}.tar.gz"
"$pkgname.conf"
"$pkgname.rc"
"$pkgname.systemd"
"$pkgname.service")
md5sums=('506742a3d44b9925955425a659c1a8d0'
'c6f0838de4429af68d21b4d61f00db59'
'd0e340f2cefe91b1569c0e87c2a1288f'
'5a49ea09af202cb438c8a1b15abf9147'
'baf923443c3b16277e50d60d2e68f534')
build() {
cd $pkgname-v${pkgver/_/-}
make CFLAGS='-Wunused -Wall -Werror -Wno-error=unused-but-set-variable'
}
package() {
pushd $pkgname-v${pkgver/_/-}
make install \
DESTDIR="$pkgdir" \
LIBDIR=/usr/lib \
MANDIR=/usr/share/man \
BINDIR=/usr/sbin \
INITDIR=/etc/rc.d \
SYSCONFIGDIR=/etc
popd
# rm package ebtables rc.d scripts
rm "$pkgdir/etc/ebtables-config"
# install initscripts
install -Dm 755 $pkgname.rc "$pkgdir/etc/rc.d/$pkgname"
install -Dm 644 $pkgname.conf "$pkgdir/etc/conf.d/$pkgname"
# install systemd service
install -Dm 755 $pkgname.systemd \
"$pkgdir/usr/lib/systemd/scripts/$pkgname"
install -Dm 644 $pkgname.service \
"$pkgdir/usr/lib/systemd/system/$pkgname.service"
# default config file
install -Dm 644 /dev/null "$pkgdir/etc/$pkgname.conf"
}
# vim:set ts=2 sw=2 ft=sh et:

7
ebtables/ebtables.conf Normal file
View File

@ -0,0 +1,7 @@
# Configuration file used to load/save configuration.
CONFIG_FILE='/etc/ebtables.conf'
# Save configuration on stop/restart.
#SAVE_ON_STOP=yes
# vim:set ts=2 sw=2 ft=sh et:

View File

@ -0,0 +1,9 @@
## arg 1: the new package version
## arg 2: the old package version
post_upgrade() {
[ $(vercmp "$2" '2.0.10_4-1') -gt 0 ] || cat <<EOF
Config file have been moved to /etc/ebtables.conf and only support text format.
EOF
}
# vim:set ts=2 sw=2 ft=sh et:

31
ebtables/ebtables.rc Normal file
View File

@ -0,0 +1,31 @@
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
. /etc/conf.d/${0##*/}
case "$1" in
start)
stat_busy 'Loading ebtables rules'
ebtables-restore < "$CONFIG_FILE" &&
add_daemon ${0##*/} && stat_done || stat_die
;;
stop)
[[ $SAVE_ON_STOP =~ [yY][eE][sS] ]] && $0 save
status 'Clearing ebtables rules' ebtables -F && rm_daemon ${0##*/} || exit 1
;;
restart)
$0 stop
$0 start
;;
save)
stat_busy 'Saving ebtables rules'
ebtables-save > "$CONFIG_FILE" && stat_done || stat_die
;;
*)
echo "usage: ${0##*/} {start|stop|restart|save}" >&2
exit 1
;;
esac
# vim:set ts=2 sw=2 ft=sh et:

11
ebtables/ebtables.service Normal file
View File

@ -0,0 +1,11 @@
[Unit]
Description=Ethernet bridge table
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/lib/systemd/scripts/ebtables start
ExecStop=/usr/lib/systemd/scripts/ebtables stop
[Install]
WantedBy=multi-user.target

22
ebtables/ebtables.systemd Normal file
View File

@ -0,0 +1,22 @@
#!/bin/bash
. /etc/conf.d/ebtables
case $1 in
start)
ebtables-restore < "$CONFIG_FILE"
;;
stop)
[[ $SAVE_ON_STOP =~ [yY][eE][sS] ]] && $0 save
ebtables -F
;;
save)
ebtables-save > "$CONFIG_FILE"
;;
*)
echo "usage: ${0##*/} {start|stop|save}" >&2
exit 1
;;
esac
# vim:set ts=2 sw=2 ft=sh et: