summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Shalygin2023-08-07 19:02:30 +0700
committerKonstantin Shalygin2023-08-07 19:02:30 +0700
commitd38981030c378cf1c481d1c1c6e2736a3e70ee64 (patch)
tree651b57d6818b50ac4588eb776b56f6cbdb38202f
parent873be470427f08d697dc6138199ad84738d485db (diff)
downloadaur-d38981030c378cf1c481d1c1c6e2736a3e70ee64.tar.gz
Remove legacy patches
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD31
-rw-r--r--frr-init-functions428
-rw-r--r--frr_9.0_Archlinux.patch137
4 files changed, 12 insertions, 592 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f379f5a97fcc..306c7ab20814 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = frr
pkgdesc = FRRouting (quagga fork) supports BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM, LDP, BFD, VRRP, NHRP and EIGRP
pkgver = 9.0
- pkgrel = 1
+ pkgrel = 2
url = https://frrouting.org
arch = x86_64
arch = aarch64
@@ -33,17 +33,15 @@ pkgbase = frr
conflicts = babeld
conflicts = quagga_cumulus
backup = etc/frr/frr.conf
- backup = etc/frr/daemons.conf
+ backup = etc/frr/daemons
backup = etc/frr/vtysh.conf
source = https://github.com/FRRouting/frr/archive/frr-9.0.tar.gz
source = frr.sysusers
source = frr.tmpfiles
source = frr_9.0_Archlinux.patch
- source = frr-init-functions
sha256sums = e818ef119ee924da0cf43d58c9eee01090f59a7b7240b989b7f529dc7d44de54
sha256sums = 9371cc0522d13621c623b5da77719052bdebdceb7ffdbdc06fc32a2f07118e7e
sha256sums = 6f8dd86ef9c600763faead3052908531e8dc8ef67058e6f7f8da01bf0fe4eb89
- sha256sums = 8635d4141f0e64eaee69eefc78afd7e9cf814f708e88d1a0e6886e1d7d9b455d
- sha256sums = e6e2592a8b0b18f7f173186fb4ebf23e642b3d912179f0bb36251962ca64cd7a
+ sha256sums = f4964d2138496ec883e149cf888d7b6456b0e3eea01e494a1e834475568749f7
pkgname = frr
diff --git a/PKGBUILD b/PKGBUILD
index d982617c522a..9f75970ddf1e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@
pkgname='frr'
pkgver='9.0'
-pkgrel='1'
+pkgrel='2'
pkgdesc='FRRouting (quagga fork) supports BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM, LDP, BFD, VRRP, NHRP and EIGRP'
arch=('x86_64' 'aarch64' 'armv7h')
url="https://frrouting.org"
@@ -17,23 +17,24 @@ optdepends=('rsyslog: syslog support')
conflicts=('quagga' 'babeld' 'quagga_cumulus')
provides=('quagga' 'quagga_cumulus')
backup=("etc/${pkgname}/${pkgname}.conf"
- "etc/${pkgname}/daemons.conf"
+ "etc/${pkgname}/daemons"
"etc/${pkgname}/vtysh.conf")
source=("https://github.com/FRRouting/${pkgname}/archive/${pkgname}-${pkgver}.tar.gz"
"${pkgname}.sysusers"
"${pkgname}.tmpfiles"
- "${pkgname}_${pkgver}_Archlinux.patch"
- "${pkgname}-init-functions")
+ "${pkgname}_${pkgver}_Archlinux.patch")
sha256sums=('e818ef119ee924da0cf43d58c9eee01090f59a7b7240b989b7f529dc7d44de54'
'9371cc0522d13621c623b5da77719052bdebdceb7ffdbdc06fc32a2f07118e7e'
'6f8dd86ef9c600763faead3052908531e8dc8ef67058e6f7f8da01bf0fe4eb89'
- '8635d4141f0e64eaee69eefc78afd7e9cf814f708e88d1a0e6886e1d7d9b455d'
- 'e6e2592a8b0b18f7f173186fb4ebf23e642b3d912179f0bb36251962ca64cd7a')
+ 'f4964d2138496ec883e149cf888d7b6456b0e3eea01e494a1e834475568749f7')
prepare() {
cd "${pkgname}-${pkgname}-${pkgver}"
patch -p1 -i "../${pkgname}_${pkgver}_Archlinux.patch"
+ # RPKI hacks from SPEC
+ sed -i -e 's/^\(bgpd_options=\)\(.*\)\(".*\)/\1\2 -M rpki\3/' "tools/etc/${pkgname}/daemons"
+
autoreconf -fvi
./configure \
--prefix="/usr" \
@@ -55,7 +56,7 @@ prepare() {
build() {
cd "${pkgname}-${pkgname}-${pkgver}"
- make
+ make -j4
}
check() {
@@ -67,7 +68,6 @@ package() {
cd "${pkgname}-${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
- install -Dm0444 "../frr-init-functions" "${pkgdir}/usr/bin/"
install -Dm0644 "../${pkgname}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
install -Dm0644 "../${pkgname}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
@@ -83,7 +83,7 @@ package() {
popd
pushd "tools/etc"
- install -Dm0644 "${pkgname}/daemons" "${pkgdir}/etc/${pkgname}/daemons.conf"
+ install -Dm0644 "${pkgname}/daemons" "${pkgdir}/etc/${pkgname}/daemons"
install -Dm0644 "iproute2/rt_protos.d/${pkgname}.conf" "${pkgdir}/etc/iproute2/rt_protos.d/${pkgname}.conf"
install -Dm0644 "${pkgname}/${pkgname}.conf" "${pkgdir}/etc/${pkgname}/${pkgname}.conf"
install -Dm0644 "${pkgname}/vtysh.conf" "${pkgdir}/etc/${pkgname}/vtysh.conf"
@@ -91,17 +91,4 @@ package() {
popd
chown -R 177:177 "${pkgdir}/etc/frr"
-
- pushd "${pkgdir}/usr/bin"
- for file in "${pkgname}" frr-reload frrcommon.sh frrinit.sh watchfrr.sh
- do
- sed -ri 's|/lib/lsb/init-functions|/usr/bin/frr-init-functions|g' "${file}"
- done
- sed -ri 's|C_PATH/daemons\"|C_PATH/daemons.conf\"|g' "frrcommon.sh"
- sed -ri 's|load_old_config \"\$C_PATH/daemons.conf\"|load_old_config \"\$C_PATH/daemons\"|g' "frrcommon.sh"
- popd
-
- pushd "${pkgdir}/usr/lib/systemd/system"
- sed -ri 's|frrinit.sh|frr|g' "${pkgname}.service"
- popd
}
diff --git a/frr-init-functions b/frr-init-functions
deleted file mode 100644
index d41c98312c32..000000000000
--- a/frr-init-functions
+++ /dev/null
@@ -1,428 +0,0 @@
-# /lib/lsb/init-functions for Debian -*- shell-script -*-
-#
-#Copyright (c) 2002-08 Chris Lawrence
-#All rights reserved.
-#
-#Redistribution and use in source and binary forms, with or without
-#modification, are permitted provided that the following conditions
-#are met:
-#1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#3. Neither the name of the author nor the names of other contributors
-# may be used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-#THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-#IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-#WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-#ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
-#LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-#CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-#SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-#BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-#WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-#OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-#EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-start_daemon () {
- local force nice pidfile exec args OPTIND
- force=""
- nice=0
- pidfile=/dev/null
-
- OPTIND=1
- while getopts fn:p: opt ; do
- case "$opt" in
- f) force="force";;
- n) nice="$OPTARG";;
- p) pidfile="$OPTARG";;
- esac
- done
-
- shift $(($OPTIND - 1))
- if [ "$1" = '--' ]; then
- shift
- fi
-
- exec="$1"; shift
-
- args="--start --nicelevel $nice --quiet --oknodo"
- if [ "$force" ]; then
- /sbin/start-stop-daemon $args \
- --chdir "$PWD" --startas $exec --pidfile /dev/null -- "$@"
- elif [ $pidfile ]; then
- /sbin/start-stop-daemon $args \
- --chdir "$PWD" --exec $exec --oknodo --pidfile "$pidfile" -- "$@"
- else
- /sbin/start-stop-daemon $args --chdir "$PWD" --exec $exec -- "$@"
- fi
-}
-
-pidofproc () {
- local pidfile base status specified pid OPTIND
- pidfile=
- specified=
-
- OPTIND=1
- while getopts p: opt ; do
- case "$opt" in
- p) pidfile="$OPTARG"
- specified="specified"
- ;;
- esac
- done
- shift $(($OPTIND - 1))
- if [ $# -ne 1 ]; then
- echo "$0: invalid arguments" >&2
- return 4
- fi
-
- base=${1##*/}
- if [ ! "$specified" ]; then
- pidfile="/var/run/$base.pid"
- fi
-
- if [ -n "${pidfile:-}" -a -r "$pidfile" ]; then
- read pid < "$pidfile"
- if [ -n "${pid:-}" ]; then
- if $(kill -0 "${pid:-}" 2> /dev/null); then
- echo "$pid" || true
- return 0
- elif ps "${pid:-}" >/dev/null 2>&1; then
- echo "$pid" || true
- return 0 # program is running, but not owned by this user
- else
- return 1 # program is dead and /var/run pid file exists
- fi
- fi
- fi
- if [ -n "$specified" ]; then
- if [ -e "$pidfile" -a ! -r "$pidfile" ]; then
- return 4 # pidfile exists, but unreadable, return unknown
- else
- return 3 # pidfile specified, but contains no PID to test
- fi
- fi
- if [ -x /bin/pidof ]; then
- status="0"
- /bin/pidof -o %PPID -x $1 || status="$?"
- if [ "$status" = 1 ]; then
- return 3 # program is not running
- fi
- return 0
- fi
- return 4 # Unable to determine status
-}
-
-# start-stop-daemon uses the same algorithm as "pidofproc" above.
-killproc () {
- local pidfile sig status base name_param is_term_sig OPTIND
- pidfile=
- name_param=
- is_term_sig=
-
- OPTIND=1
- while getopts p: opt ; do
- case "$opt" in
- p) pidfile="$OPTARG";;
- esac
- done
- shift $(($OPTIND - 1))
-
- base=${1##*/}
- if [ ! $pidfile ]; then
- name_param="--name $base --pidfile /var/run/$base.pid"
- else
- name_param="--pidfile $pidfile"
- fi
-
- sig=$(echo ${2:-} | sed -e 's/^-\(.*\)/\1/')
- sig=$(echo $sig | sed -e 's/^SIG\(.*\)/\1/')
- if [ "$sig" = 15 ] || [ "$sig" = TERM ]; then
- is_term_sig="terminate_signal"
- fi
- status=0
- if [ ! "$is_term_sig" ]; then
- if [ -n "$sig" ]; then
- /sbin/start-stop-daemon --stop --signal "$sig" \
- --quiet $name_param || status="$?"
- else
- /sbin/start-stop-daemon --stop \
- --retry 5 \
- --quiet $name_param || status="$?"
- fi
- else
- /sbin/start-stop-daemon --stop --quiet \
- --oknodo $name_param || status="$?"
- fi
- if [ "$status" = 1 ]; then
- if [ -z "$sig" ]; then
- return 0
- fi
- return 3 # program is not running
- fi
-
- if [ "$status" = 0 ] && [ "$is_term_sig" ] && [ "$pidfile" ]; then
- pidofproc -p "$pidfile" "$1" >/dev/null || rm -f "$pidfile"
- fi
- return 0
-}
-
-# Return LSB status
-status_of_proc () {
- local pidfile daemon name status OPTIND
-
- pidfile=
- OPTIND=1
- while getopts p: opt ; do
- case "$opt" in
- p) pidfile="$OPTARG";;
- esac
- done
- shift $(($OPTIND - 1))
-
- if [ -n "$pidfile" ]; then
- pidfile="-p $pidfile"
- fi
- daemon="$1"
- name="$2"
-
- status="0"
- pidofproc $pidfile $daemon >/dev/null || status="$?"
- if [ "$status" = 0 ]; then
- log_success_msg "$name is running"
- return 0
- elif [ "$status" = 4 ]; then
- log_failure_msg "could not access PID file for $name"
- return $status
- else
- log_failure_msg "$name is not running"
- return $status
- fi
-}
-
-log_use_fancy_output () {
- TPUT=/usr/bin/tput
- EXPR=/usr/bin/expr
- if [ -t 1 ] &&
- [ "x${TERM:-}" != "x" ] &&
- [ "x${TERM:-}" != "xdumb" ] &&
- [ -x $TPUT ] && [ -x $EXPR ] &&
- $TPUT hpa 60 >/dev/null 2>&1 &&
- $TPUT setaf 1 >/dev/null 2>&1
- then
- [ -z $FANCYTTY ] && FANCYTTY=1 || true
- else
- FANCYTTY=0
- fi
- case "$FANCYTTY" in
- 1|Y|yes|true) true;;
- *) false;;
- esac
-}
-
-log_success_msg () {
- if [ -n "${1:-}" ]; then
- log_begin_msg $@
- fi
- log_end_msg 0
-}
-
-log_failure_msg () {
- if [ -n "${1:-}" ]; then
- log_begin_msg $@ "..."
- fi
- log_end_msg 1 || true
-}
-
-log_warning_msg () {
- if [ -n "${1:-}" ]; then
- log_begin_msg $@ "..."
- fi
- log_end_msg 255 || true
-}
-
-#
-# NON-LSB HELPER FUNCTIONS
-#
-# int get_lsb_header_val (char *scriptpathname, char *key)
-get_lsb_header_val () {
- if [ ! -f "$1" ] || [ -z "${2:-}" ]; then
- return 1
- fi
- LSB_S="### BEGIN INIT INFO"
- LSB_E="### END INIT INFO"
- sed -n "/$LSB_S/,/$LSB_E/ s/# $2: \(.*\)/\1/p" $1
-}
-
-# If the currently running init daemon is upstart, return zero; if the
-# calling init script belongs to a package which also provides a native
-# upstart job, it should generally exit non-zero in this case.
-init_is_upstart()
-{
- if [ -x /sbin/initctl ] && /sbin/initctl version 2>/dev/null | /bin/grep -q upstart; then
- return 0
- fi
- return 1
-}
-
-# int log_begin_message (char *message)
-log_begin_msg () {
- log_begin_msg_pre "$@"
- if [ -z "${1:-}" ]; then
- return 1
- fi
- echo -n "$@" || true
- log_begin_msg_post "$@"
-}
-
-# Sample usage:
-# log_daemon_msg "Starting GNOME Login Manager" "gdm"
-#
-# On Debian, would output "Starting GNOME Login Manager: gdm"
-# On Ubuntu, would output " * Starting GNOME Login Manager..."
-#
-# If the second argument is omitted, logging suitable for use with
-# log_progress_msg() is used:
-#
-# log_daemon_msg "Starting remote filesystem services"
-#
-# On Debian, would output "Starting remote filesystem services:"
-# On Ubuntu, would output " * Starting remote filesystem services..."
-
-log_daemon_msg () {
- if [ -z "${1:-}" ]; then
- return 1
- fi
- log_daemon_msg_pre "$@"
-
- if [ -z "${2:-}" ]; then
- echo -n "$1:" || true
- return
- fi
-
- echo -n "$1: $2" || true
- log_daemon_msg_post "$@"
-}
-
-# #319739
-#
-# Per policy docs:
-#
-# log_daemon_msg "Starting remote file system services"
-# log_progress_msg "nfsd"; start-stop-daemon --start --quiet nfsd
-# log_progress_msg "mountd"; start-stop-daemon --start --quiet mountd
-# log_progress_msg "ugidd"; start-stop-daemon --start --quiet ugidd
-# log_end_msg 0
-#
-# You could also do something fancy with log_end_msg here based on the
-# return values of start-stop-daemon; this is left as an exercise for
-# the reader...
-#
-# On Ubuntu, one would expect log_progress_msg to be a no-op.
-log_progress_msg () {
- if [ -z "${1:-}" ]; then
- return 1
- fi
- echo -n " $@" || true
-}
-
-
-# int log_end_message (int exitstatus)
-log_end_msg () {
- # If no arguments were passed, return
- if [ -z "${1:-}" ]; then
- return 1
- fi
-
- local retval
- retval=$1
-
- log_end_msg_pre "$@"
-
- # Only do the fancy stuff if we have an appropriate terminal
- # and if /usr is already mounted
- if log_use_fancy_output; then
- RED=$( $TPUT setaf 1)
- YELLOW=$( $TPUT setaf 3)
- NORMAL=$( $TPUT op)
- else
- RED=''
- YELLOW=''
- NORMAL=''
- fi
-
- if [ $1 -eq 0 ]; then
- echo "." || true
- elif [ $1 -eq 255 ]; then
- /bin/echo -e " ${YELLOW}(warning).${NORMAL}" || true
- else
- /bin/echo -e " ${RED}failed!${NORMAL}" || true
- fi
- log_end_msg_post "$@"
- return $retval
-}
-
-log_action_msg () {
- log_action_msg_pre "$@"
- echo "$@." || true
- log_action_msg_post "$@"
-}
-
-log_action_begin_msg () {
- log_action_begin_msg_pre "$@"
- echo -n "$@..." || true
- log_action_begin_msg_post "$@"
-}
-
-log_action_cont_msg () {
- echo -n "$@..." || true
-}
-
-log_action_end_msg () {
- local end
- log_action_end_msg_pre "$@"
- if [ -z "${2:-}" ]; then
- end="."
- else
- end=" ($2)."
- fi
-
- if [ $1 -eq 0 ]; then
- echo "done${end}" || true
- else
- if log_use_fancy_output; then
- RED=$( $TPUT setaf 1)
- NORMAL=$( $TPUT op)
- /bin/echo -e "${RED}failed${end}${NORMAL}" || true
- else
- echo "failed${end}" || true
- fi
- fi
- log_action_end_msg_post "$@"
-}
-
-# Pre&Post empty function declaration, to be overriden from /lib/lsb/init-functions.d/*
-log_daemon_msg_pre () { :; }
-log_daemon_msg_post () { :; }
-log_begin_msg_pre () { :; }
-log_begin_msg_post () { :; }
-log_end_msg_pre () { :; }
-log_end_msg_post () { :; }
-log_action_msg_pre () { :; }
-log_action_msg_post () { :; }
-log_action_begin_msg_pre () { :; }
-log_action_begin_msg_post () { :; }
-log_action_end_msg_pre () { :; }
-log_action_end_msg_post () { :; }
-
-# Include hooks from other packages in /lib/lsb/init-functions.d
-for hook in $(run-parts --lsbsysinit --list /lib/lsb/init-functions.d 2>/dev/null); do
- [ -r $hook ] && . $hook || true
-done
-
-FANCYTTY=
-[ -e /etc/lsb-base-logging.sh ] && . /etc/lsb-base-logging.sh || true
diff --git a/frr_9.0_Archlinux.patch b/frr_9.0_Archlinux.patch
index b567776a5652..cfe0dd5d7f0e 100644
--- a/frr_9.0_Archlinux.patch
+++ b/frr_9.0_Archlinux.patch
@@ -1,140 +1,3 @@
-diff -Naupr frr-frr-9.0_orig/lib/table.h frr-frr-9.0/lib/table.h
---- frr-frr-9.0_orig/lib/table.h 2023-08-04 02:30:29.000000000 +0700
-+++ frr-frr-9.0/lib/table.h 2023-08-07 16:36:22.229312970 +0700
-@@ -229,7 +229,7 @@ extern void route_table_iter_cleanup(rou
- /* Lock node. */
- static inline struct route_node *route_lock_node(struct route_node *node)
- {
-- (*(unsigned *)&node->lock)++;
-+ node->lock+=1;
- return node;
- }
-
-@@ -237,7 +237,7 @@ static inline struct route_node *route_l
- static inline void route_unlock_node(struct route_node *node)
- {
- assert(node->lock > 0);
-- (*(unsigned *)&node->lock)--;
-+ node->lock-=1;
-
- if (node->lock == 0)
- route_node_delete(node);
-diff -Naupr frr-frr-9.0_orig/tools/etc/frr/daemons frr-frr-9.0/tools/etc/frr/daemons
---- frr-frr-9.0_orig/tools/etc/frr/daemons 2023-08-04 02:30:29.000000000 +0700
-+++ frr-frr-9.0/tools/etc/frr/daemons 2023-08-07 16:36:22.229312970 +0700
-@@ -32,35 +32,33 @@ bfdd=no
- fabricd=no
- vrrpd=no
- pathd=no
--
- #
- # If this option is set the /etc/init.d/frr script automatically loads
- # the config via "vtysh -b" when the servers are started.
- # Check /etc/pam.d/frr if you intend to use "vtysh"!
- #
- vtysh_enable=yes
--zebra_options=" -A 127.0.0.1 -s 90000000"
--mgmtd_options=" -A 127.0.0.1"
--bgpd_options=" -A 127.0.0.1"
--ospfd_options=" -A 127.0.0.1"
--ospf6d_options=" -A ::1"
--ripd_options=" -A 127.0.0.1"
--ripngd_options=" -A ::1"
--isisd_options=" -A 127.0.0.1"
--pimd_options=" -A 127.0.0.1"
--pim6d_options=" -A ::1"
--ldpd_options=" -A 127.0.0.1"
--nhrpd_options=" -A 127.0.0.1"
--eigrpd_options=" -A 127.0.0.1"
--babeld_options=" -A 127.0.0.1"
--sharpd_options=" -A 127.0.0.1"
--pbrd_options=" -A 127.0.0.1"
--staticd_options="-A 127.0.0.1"
--bfdd_options=" -A 127.0.0.1"
--fabricd_options="-A 127.0.0.1"
--vrrpd_options=" -A 127.0.0.1"
--pathd_options=" -A 127.0.0.1"
--
-+zebra_options=" -A 127.0.0.1 -s 90000000 -d -f /etc/frr/zebra.conf"
-+mgmtd_options=" -A 127.0.0.1 -d -f /etc/frr/mgmtd.conf"
-+bgpd_options=" -A 127.0.0.1 -d -f /etc/frr/bgpd.conf"
-+ospfd_options=" -A 127.0.0.1 -d -f /etc/frr/ospfd.conf"
-+ospf6d_options=" -A ::1 -d -f /etc/frr/ospf6d.conf"
-+ripd_options=" -A 127.0.0.1 -d -f /etc/frr/ripd.conf"
-+ripngd_options=" -A ::1 -d -f /etc/frr/ripngd.conf"
-+isisd_options=" -A 127.0.0.1 -d -f /etc/frr/isisd.conf"
-+pimd_options=" -A 127.0.0.1 -d -f /etc/frr/pimd.conf"
-+pim6d_options=" -A ::1 -d -f /etc/frr/pim6d.conf"
-+ldpd_options=" -A 127.0.0.1 -d -f /etc/frr/ldpd.conf"
-+nhrpd_options=" -A 127.0.0.1 -d -f /etc/frr/nhrdp.conf"
-+eigrpd_options=" -A 127.0.0.1 -d -f /etc/frr/eigrpd.conf"
-+babeld_options=" -A 127.0.0.1 -d -f /etc/frr/babeld.conf"
-+sharpd_options=" -A 127.0.0.1 -d -f /etc/frr/sharpd.conf"
-+pbrd_options=" -A 127.0.0.1 -d -f /etc/frr/pbrd.conf"
-+staticd_options="-A 127.0.0.1 -d -f /etc/frr/staticd.conf"
-+bfdd_options=" -A 127.0.0.1 -d -f /etc/frr/bfdd.conf"
-+fabricd_options="-A 127.0.0.1 -d -f /etc/frr/fabricd.conf"
-+vrrpd_options=" -A 127.0.0.1 -d -f /etc/frr/vrrpd.conf"
-+pathd_options=" -A 127.0.0.1 -d -f /etc/frr/pathd.conf"
-
- # If you want to pass a common option to all daemons, you can use the
- # "frr_global_options" variable.
-diff -Naupr frr-frr-9.0_orig/tools/frrcommon.sh.in frr-frr-9.0/tools/frrcommon.sh.in
---- frr-frr-9.0_orig/tools/frrcommon.sh.in 2023-08-04 02:30:29.000000000 +0700
-+++ frr-frr-9.0/tools/frrcommon.sh.in 2023-08-07 16:36:22.229312970 +0700
-@@ -307,7 +307,7 @@ load_old_config() {
- [ -s "$oldcfg" ] || return 0
- grep -v '^[[:blank:]]*\(#\|$\)' "$oldcfg" > /dev/null || return 0
-
-- log_warning_msg "Reading deprecated $oldcfg. Please move its settings to $C_PATH/daemons and remove it."
-+ log_warning_msg "Reading deprecated $oldcfg. Please move its settings to $C_PATH/daemons.conf and remove it."
-
- # save off settings from daemons for the OR below
- for dmn in $DAEMONS; do eval "_new_$dmn=\${$dmn:-no}"; done
-@@ -318,8 +318,8 @@ load_old_config() {
- for dmn in $DAEMONS; do eval "test \$_new_$dmn != no && $dmn=\$_new_$dmn; unset _new_$dmn"; done
- }
-
--[ -r "$C_PATH/daemons" ] || {
-- log_failure_msg "cannot run $@: $C_PATH/daemons does not exist"
-+[ -r "$C_PATH/daemons.conf" ] || {
-+ log_failure_msg "cannot run $@: $C_PATH/daemons.conf does not exist"
- exit 1
- }
- . "$C_PATH/daemons"
-diff -Naupr frr-frr-9.0_orig/tools/frr.in frr-frr-9.0/tools/frr.in
---- frr-frr-9.0_orig/tools/frr.in 2023-08-04 02:30:29.000000000 +0700
-+++ frr-frr-9.0/tools/frr.in 2023-08-07 16:36:22.229312970 +0700
-@@ -29,7 +29,7 @@ FRR_DEFAULT_PROFILE="@DFLT_NAME@" # trad
- # See /usr/share/doc/frr/README.Debian.gz for further information.
- # Keep zebra first and do not list watchfrr!
- DAEMONS="mgmtd zebra bgpd ripd ripngd ospfd ospf6d isisd babeld pimd pim6d ldpd nhrpd eigrpd sharpd pbrd staticd bfdd fabricd vrrpd pathd"
--MAX_INSTANCES=5
-+MAX_INSTANCES=1024
- RELOAD_SCRIPT="$D_PATH/frr-reload.py"
-
- if [ -e /lib/lsb/init-functions ]; then
-@@ -495,10 +495,8 @@ check_status()
- #########################################################
-
- # Config broken but script must exit silently.
--[ ! -r "$C_PATH/daemons" ] && exit 0
--
-+[ ! -r "$C_PATH/daemons.conf" ] && exit 0
- # Load configuration
--. "$C_PATH/daemons"
- if [ -e "$C_PATH/daemons.conf" ]; then
- . "$C_PATH/daemons.conf"
- fi
-@@ -518,7 +516,7 @@ if test -z "$frr_profile"; then
- fi
- test -n "$frr_profile" && frr_global_options="$frr_global_options -F $frr_profile"
-
--MAX_INSTANCES=${MAX_INSTANCES:=5}
-+MAX_INSTANCES=${MAX_INSTANCES:=1024}
-
- # Set priority of un-startable daemons to 'no' and substitute 'yes' to '0'
- convert_daemon_prios
diff -Naupr frr-frr-9.0_orig/tools/frr-reload frr-frr-9.0/tools/frr-reload
--- frr-frr-9.0_orig/tools/frr-reload 2023-08-04 02:30:29.000000000 +0700
+++ frr-frr-9.0/tools/frr-reload 2023-08-07 16:36:22.229312970 +0700