quagga: drop recipe

Quagga is no longer maintained since 2018[1]. Its official repository is
not even available[2].
As an alternative, users can use FRRouting[3] which has been added to
meta-networking[4].

[1] https://github.com/Quagga/quagga
[2] https://git.savannah.gnu.org/cgit/quagga.git
[3] https://frrouting.org
[4] https://git.openembedded.org/meta-openembedded/tree/meta-networking/recipes-protocols/frr

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Yi Zhao 2023-03-05 15:26:48 +08:00 committed by Khem Raj
parent 80740b1d3c
commit 0b3e6c1973
17 changed files with 0 additions and 695 deletions

View File

@ -158,7 +158,6 @@ RDEPENDS:packagegroup-meta-networking-protocols = "\
openl2tp \
mdns \
nopoll \
quagga \
radiusclient-ng \
tsocks \
openlldp \

View File

@ -1,32 +0,0 @@
From 675b35b7ed416c837267e493b157167319e8f5fa Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 1 Sep 2022 11:01:53 -0700
Subject: [PATCH] configure: Check for readline() instead of main() in
libreadline
while checking for presense of libreadline, poke for a function which is
provided by libreadline, main is not provided by it, so modern compiler
toolchains may complain about it.
Upstream-Status: Submitted [https://github.com/Quagga/quagga/pull/9]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index ed279f48..d444ab4a 100755
--- a/configure.ac
+++ b/configure.ac
@@ -754,7 +754,7 @@ dnl [TODO] on Linux, and in [TODO] on Solaris.
)]
)]
)
- AC_CHECK_LIB(readline, main, LIBREADLINE="-lreadline $LIBREADLINE",,
+ AC_CHECK_LIB(readline, readline, LIBREADLINE="-lreadline $LIBREADLINE",,
"$LIBREADLINE")
if test $ac_cv_lib_readline_main = no; then
AC_MSG_ERROR([vtysh needs libreadline but was not found and usable on your system.])
--
2.37.3

View File

@ -1,15 +0,0 @@
[Unit]
Description=BGP routing daemon
BindTo=zebra.service
After=zebra.service
ConditionPathExists=@SYSCONFDIR@/quagga/bgpd.conf
[Service]
Type=forking
EnvironmentFile=-@SYSCONFDIR@/default/quagga
ExecStart=@SBINDIR@/bgpd -d $bgpd_options -f @SYSCONFDIR@/quagga/bgpd.conf
ExecStopPost=@base_bindir@/rm -rf /run/quagga/bgpd.pid
Restart=on-abort
[Install]
WantedBy=multi-user.target

View File

@ -1,14 +0,0 @@
[Unit]
Description=IS-IS routing daemon
BindTo=zebra.service
After=zebra.service
ConditionPathExists=@SYSCONFDIR@/quagga/isisd.conf
[Service]
Type=forking
EnvironmentFile=-@SYSCONFDIR@/default/quagga
ExecStart=@SBINDIR@/isisd -d $isisd_options -f /etc/quagga/isisd.conf
Restart=on-abort
[Install]
WantedBy=multi-user.target

View File

@ -1,15 +0,0 @@
[Unit]
Description=OSPF routing daemon for IPv6
BindTo=zebra.service
After=zebra.service
ConditionPathExists=@SYSCONFDIR@/quagga/ospf6d.conf
[Service]
Type=forking
EnvironmentFile=-@SYSCONFDIR@/default/quagga
ExecStart=@SBINDIR@/ospf6d -d $ospf6d_options -f @SYSCONFDIR@/quagga/ospf6d.conf
ExecStopPost=@base_bindir@/rm -rf /run/quagga/ospf6d.pid
Restart=on-abort
[Install]
WantedBy=multi-user.target

View File

@ -1,15 +0,0 @@
[Unit]
Description=OSPF routing daemon
BindTo=zebra.service
After=zebra.service
ConditionPathExists=@SYSCONFDIR@/quagga/ospfd.conf
[Service]
Type=forking
EnvironmentFile=-@SYSCONFDIR@/default/quagga
ExecStart=@SBINDIR@/ospfd -d $ospfd_options -f @SYSCONFDIR@/quagga/ospfd.conf
ExecStopPost=@base_bindir@/rm -rf /run/quagga/ospfd.pid
Restart=on-abort
[Install]
WantedBy=multi-user.target

View File

@ -1,12 +0,0 @@
# If this option is set the /etc/init.d/quagga script automatically loads
# the config via "vtysh -b" when the servers are started.
vtysh_enable=yes
# Bind all daemons to loopback only by default
zebra_options=" --daemon -A 127.0.0.1"
bgpd_options=" --daemon -A 127.0.0.1"
ospfd_options=" --daemon -A 127.0.0.1"
ospf6d_options="--daemon -A ::1"
ripd_options=" --daemon -A 127.0.0.1"
ripngd_options="--daemon -A ::1"
isisd_options=" --daemon -A 127.0.0.1"

View File

@ -1,200 +0,0 @@
#!/bin/sh
#
# /etc/init.d/quagga -- start/stop the Quagga routing daemons
#
# Based on debian version by Endre Hirling <endre@mail.elte.hu> and
# Christian Hammers <ch@debian.org>.
#
### BEGIN INIT INFO
# Provides: quagga
# Required-Start: $local_fs $network $remote_fs $syslog
# Required-Stop: $local_fs $network $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop the Quagga routing suite
# Description: Quagga is a routing suite for IP routing protocols like
# BGP, OSPF, RIP and others. This script contols the main
# daemon "quagga" as well as the individual protocol daemons.
### END INIT INFO
# NOTE: sbin must be before bin so we get the iproute2 ip and not the
# busybox ip command. The busybox one flushes all routes instead of just
# the dynamic routes
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/sbin
D_PATH=/usr/sbin
C_PATH=/etc/quagga
# Keep zebra first and do not list watchquagga!
DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd"
# Print the name of the pidfile.
pidfile()
{
echo "/var/run/quagga/$1.pid"
}
# Check if daemon is started by using the pidfile.
started()
{
[ -e `pidfile $1` ] && kill -0 `cat \`pidfile $1\`` 2> /dev/null && return 0
return 1
}
# Loads the config via vtysh -b if configured to do so.
vtysh_b ()
{
# Rember, that all variables have been incremented by 1 in convert_daemon_prios()
if [ "$vtysh_enable" = 2 -a -f $C_PATH/Quagga.conf ]; then
/usr/bin/vtysh -b
fi
}
# Check if the daemon is activated and if its executable and config files
# are in place.
# params: daemon name
# returns: 0=ok, 1=error
check_daemon()
{
# If the integrated config file is used the others are not checked.
if [ -r "$C_PATH/Quagga.conf" ]; then
return 0
fi
# check for config file
if [ ! -r "$C_PATH/$1.conf" ]; then
return 1
fi
return 0
}
# Starts the server if it's not alrady running according to the pid file.
# The Quagga daemons creates the pidfile when starting.
start()
{
if ! check_daemon $1; then echo -n " (!$1)"; return; fi
echo -n " $1"
start-stop-daemon \
--start \
--pidfile=`pidfile $1` \
--exec "$D_PATH/$1" \
-- \
`eval echo "$""$1""_options"`
}
# Stop the daemon given in the parameter, printing its name to the terminal.
stop()
{
if ! started "$1" ; then
echo -n " (!$1)"
return 0
else
PIDFILE=`pidfile $1`
PID=`cat $PIDFILE 2>/dev/null`
start-stop-daemon --stop --quiet --exec "$D_PATH/$1"
#
# Now we have to wait until $DAEMON has _really_ stopped.
#
if test -n "$PID" && kill -0 $PID 2>/dev/null; then
echo -n " (waiting) ."
cnt=0
while kill -0 $PID 2>/dev/null; do
cnt=`expr $cnt + 1`
if [ $cnt -gt 60 ]; then
# Waited 120 secs now, fail.
echo -n "Failed.. "
break
fi
sleep 2
echo -n "."
done
fi
echo -n " $1"
rm -f `pidfile $1`
fi
}
stop_all()
{
local daemon_list
daemon_list=${1:-$DAEMONS}
echo -n "Stopping Quagga daemons:"
for daemon_name in $daemon_list; do
stop "$daemon_name"
done
echo "."
}
start_all()
{
local daemon_list
daemon_list=${1:-$DAEMONS}
echo -n "Starting Quagga daemons:"
for daemon_name in $daemon_list; do
start "$daemon_name"
done
echo "."
}
status_all()
{
local daemon_list
daemon_list=${1:-$DAEMONS}
res=1
echo -n "quagga: "
for daemon_name in $daemon_list; do
if started "$daemon_name" ; then
id=`cat \`pidfile $daemon_name\``
echo -n "$daemon_name (pid $id) "
res=0
fi
done
if [ $res -eq 0 ]; then
echo "is running..."
else
echo "is stopped..."
fi
exit $res
}
#########################################################
# Main program #
#########################################################
# Load configuration
test -f /etc/default/quagga && . /etc/default/quagga
case "$1" in
start)
cd $C_PATH/
start_all $2
vtysh_b
;;
stop)
stop_all $2
echo "Removing all routes made by zebra."
ip route flush proto zebra
;;
status)
status_all $2
;;
restart|force-reload)
$0 stop $2
sleep 1
$0 start $2
;;
*)
echo "Usage: /etc/init.d/quagga {start|stop|restart|status|force-reload} [daemon]"
exit 1
;;
esac
exit 0

View File

@ -1,13 +0,0 @@
#
# The PAM configuration file for the quagga `vtysh' service
#
# This allows root to change user infomation without being
# prompted for a password
auth sufficient pam_rootok.so
# The standard Unix authentication modules, used with
# NIS (man nsswitch) as well as normal /etc/passwd and
# /etc/shadow entries.
auth include common-auth

View File

@ -1,15 +0,0 @@
[Unit]
Description=RIP routing daemon
BindTo=zebra.service
After=zebra.service
ConditionPathExists=@SYSCONFDIR@/quagga/ripd.conf
[Service]
Type=forking
EnvironmentFile=-@SYSCONFDIR@/default/quagga
ExecStart=@SBINDIR@/ripd -d $ripd_options -f @SYSCONFDIR@/quagga/ripd.conf
ExecStopPost=@base_bindir@/rm -rf /run/quagga/ripd.pid
Restart=on-abort
[Install]
WantedBy=multi-user.target

View File

@ -1,15 +0,0 @@
[Unit]
Description=RIP routing daemon for IPv6
BindTo=zebra.service
After=zebra.service
ConditionPathExists=@SYSCONFDIR@/quagga/ripngd.conf
[Service]
Type=forking
EnvironmentFile=-@SYSCONFDIR@/default/quagga
ExecStart=@SBINDIR@/ripngd -d $ripngd_options -f @SYSCONFDIR@/quagga/ripngd.conf
ExecStopPost=@base_bindir@/rm -rf /run/quagga/ripngd.pid
Restart=on-abort
[Install]
WantedBy=multi-user.target

View File

@ -1,3 +0,0 @@
# <type> <owner> <group> <mode> <path> <linksource>
d quagga quagga 0755 /var/run/quagga none
d quagga quagga 0755 /var/log/quagga none

View File

@ -1,12 +0,0 @@
# Watchquagga configuration
#watch_daemons="zebra bgpd ospfd ospf6d ripd ripngd"
watch_daemons="zebra"
# To enable restarts when multiple daemons are being used, uncomment this line (but first be sure to edit
# the WATCH_DAEMONS line to reflect the daemons you are actually using):
#watch_options="-Az -b_ -r/etc/init.d/quagga_restart_%s -s/etc/init.d/quagga_start_%s -k/etc/init.d/quagga_stop_%s"
# Since we are using one quagga daemon for now, use the following line. If using
# multiple daemons, comment the line below and uncoment the line mentioned
# above.
watch_options="-z -b_ -r/etc/init.d/quagga_restart_%s"

View File

@ -1,64 +0,0 @@
#!/bin/sh
#
### BEGIN INIT INFO
# Provides: watchquagga
# Required-Start: $local_fs $network $remote_fs $syslog
# Required-Stop: $local_fs $network $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop the Quagga watchdog
### END INIT INFO
PATH=/bin:/usr/bin:/sbin:/usr/sbin
# Load configuration
test -f /etc/default/watchquagga && . /etc/default/watchquagga
# Check that there are daemons to be monitored.
[ -z "$watch_daemons" ] && exit 0
pidfile="/var/run/quagga/watchquagga.pid"
case "$1" in
start)
echo -n "Starting quagga watchdog daemon: watchquagga"
start-stop-daemon --start \
--pidfile $pidfile \
--exec /usr/sbin/watchquagga \
-- -d $watch_options $watch_daemons
echo "."
;;
stop)
echo -n "Stopping quagga watchdog daemon: watchquagga"
start-stop-daemon --stop --quiet \
--pidfile $pidfile
echo "."
;;
status)
echo -n "watchquagga "
res=1
[ -e $pidfile ] && kill -0 `cat $pidfile` 2> /dev/null
if [ $? -eq 0 ]; then
echo "(pid `cat $pidfile`) is running..."
res=0
else
echo "is stopped..."
fi
exit $res
;;
restart|force-reload)
$0 stop $2
sleep 1
$0 start $2
;;
*)
echo "Usage: /etc/init.d/watchquagga {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0

View File

@ -1,16 +0,0 @@
[Unit]
Description=GNU Zebra routing manager
Wants=network.target
Before=network.target
ConditionPathExists=@SYSCONFDIR@/quagga/zebra.conf
[Service]
Type=forking
EnvironmentFile=-@SYSCONFDIR@/default/quagga
ExecStartPre=@BASE_SBINDIR@/ip route flush proto zebra
ExecStart=@SBINDIR@/zebra -d $zebra_options -f @SYSCONFDIR@/quagga/zebra.conf
ExecStopPost=@base_bindir@/rm -rf /run/quagga/zebra.pid
Restart=on-abort
[Install]
WantedBy=multi-user.target

View File

@ -1,243 +0,0 @@
SUMMARY = "BGP/OSPF/RIP routing daemon"
DESCRIPTION = "Quagga is a routing software suite, providing \
implementations of OSPFv2, OSPFv3, RIP v1 and v2, RIPv3 and BGPv4 for \
Unix platforms, particularly FreeBSD, Linux, Solaris and NetBSD. \
Quagga is a fork of GNU Zebra which was developed by Kunihiro \
Ishiguro. The Quagga tree aims to build a more involved community \
around Quagga than the current centralised model of GNU Zebra."
HOMEPAGE = "http://www.nongnu.org/quagga/"
SECTION = "net"
LICENSE = "GPL-2.0-only & LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=81bcece21748c91ba9992349a91ec11d \
file://COPYING.LIB;md5=01ef24401ded36cd8e5d18bfe947240c"
DEPENDS = "readline ncurses perl-native c-ares"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'snmp', 'net-snmp', '', d)}"
SNMP_CONF="${@bb.utils.contains('DISTRO_FEATURES', 'snmp', '--enable-snmp', '', d)}"
# the "ip" command from busybox is not sufficient (flush by protocol flushes all routes)
RDEPENDS:${PN} += "iproute2"
SRC_URI = "https://github.com/Quagga/quagga/releases/download/quagga-${PV}/quagga-${PV}.tar.gz \
file://quagga.init \
file://quagga.default \
file://watchquagga.init \
file://watchquagga.default \
file://volatiles.03_quagga \
file://quagga.pam \
file://bgpd.service \
file://isisd.service \
file://ospf6d.service \
file://ospfd.service \
file://ripd.service \
file://ripngd.service \
file://zebra.service \
"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
PACKAGECONFIG[cap] = "--enable-capabilities,--disable-capabilities,libcap"
PACKAGECONFIG[pam] = "--with-libpam, --without-libpam, libpam"
inherit autotools update-rc.d useradd systemd pkgconfig multilib_header update-alternatives
CFLAGS += "-fcommon"
SYSTEMD_PACKAGES = "${PN} ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd"
SYSTEMD_SERVICE:${PN}-bgpd = "bgpd.service"
SYSTEMD_SERVICE:${PN}-isisd = "isisd.service"
SYSTEMD_SERVICE:${PN}-ospf6d = "ospf6d.service"
SYSTEMD_SERVICE:${PN}-ospfd = "ospfd.service"
SYSTEMD_SERVICE:${PN}-ripd = "ripd.service"
SYSTEMD_SERVICE:${PN}-ripngd = "ripngd.service"
SYSTEMD_SERVICE:${PN} = "zebra.service"
EXTRA_OECONF = "--sysconfdir=${sysconfdir}/quagga \
--localstatedir=${localstatedir}/run/quagga \
--enable-exampledir=${docdir}/quagga/examples/ \
--enable-vtysh \
--enable-isisd \
${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '--enable-watchquagga', '--disable-watchquagga', d)} \
--enable-ospfclient=yes \
--enable-multipath=64 \
--enable-user=quagga \
--enable-group=quagga \
--enable-vty-group=quaggavty \
--enable-configfile-mask=0640 \
--enable-logfile-mask=0640 \
--enable-rtadv \
--enable-linux24-tcp-md5 \
ap_cv_cc_pie=no \
${SNMP_CONF}"
CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
do_install () {
# Install init script and default settings
install -m 0755 -d ${D}${sysconfdir}/default ${D}${sysconfdir}/init.d \
${D}${sysconfdir}/quagga ${D}${sysconfdir}/default/volatiles
install -m 0644 ${WORKDIR}/quagga.default ${D}${sysconfdir}/default/quagga
install -m 0644 ${WORKDIR}/watchquagga.default ${D}${sysconfdir}/default/watchquagga
install -m 0755 ${WORKDIR}/quagga.init ${D}${sysconfdir}/init.d/quagga
install -m 0755 ${WORKDIR}/watchquagga.init ${D}${sysconfdir}/init.d/watchquagga
install -m 0644 ${WORKDIR}/volatiles.03_quagga ${D}${sysconfdir}/default/volatiles/03_quagga
# Install sample configurations for the daemons
for f in bgpd vtysh isisd ospfd ripngd zebra ripd ospf6d; do
install -m 0640 ${S}/$f/$f.conf.sample ${D}${sysconfdir}/quagga/$f.conf.sample
done
for f in bgpd vtysh isisd ospfd ripngd zebra ripd ospf6d; do
touch ${D}${sysconfdir}/quagga/$f.conf
done
chown quagga:quaggavty ${D}${sysconfdir}/quagga
chown quagga:quagga ${D}${sysconfdir}/quagga/*.conf
chmod 750 ${D}${sysconfdir}/quagga
chmod 640 ${D}${sysconfdir}/quagga/*.conf
# Install quagga
oe_runmake install DESTDIR=${D} prefix=${prefix} \
sbindir=${sbindir} \
sysconfdir=${sysconfdir}/quagga \
localstatedir=${localstatedir}/run/quagga
# Fix hardcoded paths
sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/*
sed -i 's!/usr/bin/!${bindir}/!g' ${D}${sysconfdir}/init.d/quagga
sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/* ${D}${sysconfdir}/default/watchquagga
sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/* ${D}${sysconfdir}/default/volatiles/03_quagga
sed -i 's!^PATH=.*!PATH=${base_sbindir}:${sbindir}:${base_bindir}:${bindir}!' ${D}${sysconfdir}/init.d/*
sed -i 's!--with-libtool-sysroot=[^ "]*!!' ${D}${includedir}/quagga/version.h
oe_multilib_header quagga/version.h
# For PAM
for feature in ${DISTRO_FEATURES}; do
if [ "$feature" = "pam" ]; then
install -D -m 644 ${WORKDIR}/quagga.pam ${D}/${sysconfdir}/pam.d/quagga
break
fi
done
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${nonarch_libdir}/tmpfiles.d
echo "d /run/quagga 0755 quagga quagga -" \
> ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf
fi
# Remove sysinit script if sysvinit is not in DISTRO_FEATURES
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then
rm -rf ${D}${sysconfdir}/init.d/
rm -f ${D}${sysconfdir}/default/watchquagga
fi
install -d ${D}${systemd_unitdir}/system
for i in bgpd isisd ospf6d ospfd ripd ripngd zebra; do
install -m 0644 ${WORKDIR}/$i.service ${D}${systemd_unitdir}/system
done
sed -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
-e 's,@SYSCONFDIR@,${sysconfdir},g' \
-e 's,@SBINDIR@,${sbindir},g' \
-e 's,@base_bindir@,${base_bindir},g' \
-e 's,@localstatedir@,${localstatedir},g' \
-i ${D}${systemd_unitdir}/system/*.service
}
DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-systemctl-native', '', d)}"
pkg_postinst:${PN} () {
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd sysvinit', 'true', 'false', d)}; then
if [ -n "$D" ]; then
OPTS="--root=$D"
fi
systemctl $OPTS mask quagga.service
fi
}
# Split into a main package and separate per-protocol packages
PACKAGE_BEFORE_PN = "${PN}-ospfd ${PN}-ospf6d ${PN}-bgpd \
${PN}-ripd ${PN}-ripngd ${PN}-isisd \
${PN}-ospfclient ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${PN}-watchquagga', '', d)}"
RDEPENDS:${PN} += "${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd"
FILES:${PN}-ospfd = "${sbindir}/ospfd ${libdir}/libospf.so.*"
FILES:${PN}-ospf6d = "${sbindir}/ospf6d"
FILES:${PN}-bgpd = "${sbindir}/bgpd"
FILES:${PN}-ripd = "${sbindir}/ripd"
FILES:${PN}-ripngd = "${sbindir}/ripngd"
FILES:${PN}-isisd = "${sbindir}/isisd"
FILES:${PN}-ospfclient = "${sbindir}/ospfclient ${libdir}/libospfapiclient.so.*"
FILES:${PN}-watchquagga = "${sbindir}/watchquagga ${sysconfdir}/default/watchquagga \
${sysconfdir}/init.d/watchquagga"
FILES:${PN} += "${nonarch_libdir}/tmpfiles.d/*.conf"
# Indicate that the default files are configuration files
CONFFILES:${PN} = "${sysconfdir}/default/quagga \
${sysconfdir}/quagga/bgpd.conf \
${sysconfdir}/quagga/vtysh.conf \
${sysconfdir}/quagga/isisd.conf \
${sysconfdir}/quagga/ospfd.conf \
${sysconfdir}/quagga/ripngd.conf \
${sysconfdir}/quagga/zebra.conf \
${sysconfdir}/quagga/ripd.conf \
${sysconfdir}/quagga/ospf6d.conf \
"
CONFFILES:${PN}-watchquagga = "${sysconfdir}/default/watchquagga"
# Stop the names being rewritten due to the internal shared libraries
DEBIAN_NOAUTONAME:${PN}-ospfd = "1"
DEBIAN_NOAUTONAME:${PN}-ospfclient = "1"
# Main init script starts all deamons
# Seperate init script for watchquagga
INITSCRIPT_PACKAGES = "${PN} ${PN}-watchquagga"
INITSCRIPT_NAME:${PN} = "quagga"
INITSCRIPT_PARAMS:${PN} = "defaults 15 85"
INITSCRIPT_NAME:${PN}-watchquagga = "watchquagga"
INITSCRIPT_PARAMS:${PN}-watchquagga = "defaults 90 10"
# Add quagga's user and group
USERADD_PACKAGES = "${PN}"
GROUPADD_PARAM:${PN} = "--system quagga ; --system quaggavty"
USERADD_PARAM:${PN} = "--system --home ${localstatedir}/run/quagga/ -M -g quagga -G quaggavty --shell /bin/false quagga"
pkg_postinst:${PN} () {
if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
${sysconfdir}/init.d/populate-volatile.sh update
fi
}
# Stop apps before uninstall
pkg_prerm:${PN} () {
${sysconfdir}/init.d/quagga stop
}
pkg_prerm:${PN}-ospfd () {
${sysconfdir}/init.d/quagga stop ospfd
}
pkg_prerm:${PN}-ospf6d () {
${sysconfdir}/init.d/quagga stop ospf6d
}
pkg_prerm:${PN}-bgpd () {
${sysconfdir}/init.d/quagga stop bgpd
}
pkg_prerm:${PN}-ripd () {
${sysconfdir}/init.d/quagga stop ripd
}
pkg_prerm:${PN}-ripngd () {
${sysconfdir}/init.d/quagga stop ripngd
}
pkg_prerm:${PN}-isisd () {
${sysconfdir}/init.d/quagga stop isisd
}
ALTERNATIVE:${PN} = "pimd"
ALTERNATIVE_LINK_NAME[pimd] = "${sbindir}/pimd"

View File

@ -1,10 +0,0 @@
require quagga.inc
SRC_URI += "file://0001-configure-Check-for-readline-instead-of-main-in-libr.patch"
SRC_URI[md5sum] = "eced21b054d71c9e1b7c6ac43286a166"
SRC_URI[sha256sum] = "e364c082c3309910e1eb7b068bf39ee298e2f2f3f31a6431a5c115193bd653d3"
CVE_CHECK_IGNORE += "\
CVE-2016-4049 \
"