From 1a7db134068cc0ed6e599413090b18fa19743142 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 26 Oct 2018 11:23:55 +0000 Subject: [PATCH 1/6] json-c: New package Signed-off-by: Michael Tremer --- config/rootfiles/common/json-c | 21 +++++++++ lfs/json-c | 80 ++++++++++++++++++++++++++++++++++ make.sh | 2 + 3 files changed, 103 insertions(+) create mode 100644 config/rootfiles/common/json-c create mode 100644 lfs/json-c diff --git a/config/rootfiles/common/json-c b/config/rootfiles/common/json-c new file mode 100644 index 000000000..6be4bbe68 --- /dev/null +++ b/config/rootfiles/common/json-c @@ -0,0 +1,21 @@ +#usr/include/json-c +#usr/include/json-c/arraylist.h +#usr/include/json-c/bits.h +#usr/include/json-c/debug.h +#usr/include/json-c/json.h +#usr/include/json-c/json_c_version.h +#usr/include/json-c/json_config.h +#usr/include/json-c/json_inttypes.h +#usr/include/json-c/json_object.h +#usr/include/json-c/json_object_iterator.h +#usr/include/json-c/json_pointer.h +#usr/include/json-c/json_tokener.h +#usr/include/json-c/json_util.h +#usr/include/json-c/json_visit.h +#usr/include/json-c/linkhash.h +#usr/include/json-c/printbuf.h +#usr/lib/libjson-c.la +#usr/lib/libjson-c.so +usr/lib/libjson-c.so.4 +usr/lib/libjson-c.so.4.0.0 +#usr/lib/pkgconfig/json-c.pc diff --git a/lfs/json-c b/lfs/json-c new file mode 100644 index 000000000..51a20ccbf --- /dev/null +++ b/lfs/json-c @@ -0,0 +1,80 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2018 IPFire Team # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 0.13.1 + +THISAPP = json-c-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 04969ad59cc37bddd83741a08b98f350 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && ./configure --prefix=/usr --disable-static + cd $(DIR_APP) && make $(MAKETUNING) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index d8b7856cb..47e8f3fc1 100755 --- a/make.sh +++ b/make.sh @@ -1176,6 +1176,7 @@ buildipfire() { lfsmake2 libgcrypt lfsmake2 libassuan lfsmake2 nettle + lfsmake2 json-c lfsmake2 libevent lfsmake2 libevent2 lfsmake2 expat @@ -1555,6 +1556,7 @@ buildipfire() { lfsmake2 lua lfsmake2 dnsdist lfsmake2 bird + lfsmake2 frr lfsmake2 dmidecode lfsmake2 mcelog lfsmake2 rtpproxy From feaa3d91bdd88683a433287f8be9277691e09a4c Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 29 Oct 2018 11:43:04 +0000 Subject: [PATCH 2/6] frr: New package Signed-off-by: Michael Tremer --- config/rootfiles/packages/frr | 127 ++++++++++++++++++++++++++++++++++ lfs/frr | 106 ++++++++++++++++++++++++++++ 2 files changed, 233 insertions(+) create mode 100644 config/rootfiles/packages/frr create mode 100644 lfs/frr diff --git a/config/rootfiles/packages/frr b/config/rootfiles/packages/frr new file mode 100644 index 000000000..845fea3c4 --- /dev/null +++ b/config/rootfiles/packages/frr @@ -0,0 +1,127 @@ +#etc/frr +etc/frr/bgpd.conf.sample +etc/frr/bgpd.conf.sample2 +etc/frr/bgpd.conf.vnc.sample +etc/frr/ospfd.conf.sample +etc/frr/ripngd.conf.sample +etc/frr/staticd.conf.sample +etc/frr/vtysh.conf.sample +etc/frr/zebra.conf.sample +usr/bin/bgp_btoa +usr/bin/vtysh +#usr/include/frr +#usr/include/frr/bfd.h +#usr/include/frr/bitfield.h +#usr/include/frr/buffer.h +#usr/include/frr/checksum.h +#usr/include/frr/command.h +#usr/include/frr/command_graph.h +#usr/include/frr/command_match.h +#usr/include/frr/compiler.h +#usr/include/frr/csv.h +#usr/include/frr/debug.h +#usr/include/frr/distribute.h +#usr/include/frr/eigrpd +#usr/include/frr/eigrpd/eigrp_dump.h +#usr/include/frr/eigrpd/eigrp_topology.h +#usr/include/frr/eigrpd/eigrpd.h +#usr/include/frr/event_counter.h +#usr/include/frr/ferr.h +#usr/include/frr/fifo.h +#usr/include/frr/filter.h +#usr/include/frr/freebsd-queue.h +#usr/include/frr/frr_pthread.h +#usr/include/frr/frratomic.h +#usr/include/frr/frrstr.h +#usr/include/frr/getopt.h +#usr/include/frr/graph.h +#usr/include/frr/hash.h +#usr/include/frr/hook.h +#usr/include/frr/if.h +#usr/include/frr/if_rmap.h +#usr/include/frr/imsg.h +#usr/include/frr/ipaddr.h +#usr/include/frr/jhash.h +#usr/include/frr/json.h +#usr/include/frr/keychain.h +#usr/include/frr/lib_errors.h +#usr/include/frr/libfrr.h +#usr/include/frr/libospf.h +#usr/include/frr/linklist.h +#usr/include/frr/log.h +#usr/include/frr/logicalrouter.h +#usr/include/frr/md5.h +#usr/include/frr/memory.h +#usr/include/frr/memory_vty.h +#usr/include/frr/module.h +#usr/include/frr/monotime.h +#usr/include/frr/mpls.h +#usr/include/frr/network.h +#usr/include/frr/nexthop.h +#usr/include/frr/nexthop_group.h +#usr/include/frr/ns.h +#usr/include/frr/openbsd-queue.h +#usr/include/frr/openbsd-tree.h +#usr/include/frr/ospfd +#usr/include/frr/ospfd/ospf_api.h +#usr/include/frr/ospfd/ospf_asbr.h +#usr/include/frr/ospfd/ospf_dump.h +#usr/include/frr/ospfd/ospf_dump_api.h +#usr/include/frr/ospfd/ospf_ism.h +#usr/include/frr/ospfd/ospf_lsa.h +#usr/include/frr/ospfd/ospf_lsdb.h +#usr/include/frr/ospfd/ospf_nsm.h +#usr/include/frr/ospfd/ospf_opaque.h +#usr/include/frr/ospfd/ospfd.h +#usr/include/frr/pbr.h +#usr/include/frr/plist.h +#usr/include/frr/pqueue.h +#usr/include/frr/prefix.h +#usr/include/frr/privs.h +#usr/include/frr/ptm_lib.h +#usr/include/frr/pw.h +#usr/include/frr/qobj.h +#usr/include/frr/queue.h +#usr/include/frr/ringbuf.h +#usr/include/frr/route_types.h +#usr/include/frr/routemap.h +#usr/include/frr/sbuf.h +#usr/include/frr/sha256.h +#usr/include/frr/sigevent.h +#usr/include/frr/skiplist.h +#usr/include/frr/sockopt.h +#usr/include/frr/sockunion.h +#usr/include/frr/spf_backoff.h +#usr/include/frr/srcdest_table.h +#usr/include/frr/stream.h +#usr/include/frr/systemd.h +#usr/include/frr/table.h +#usr/include/frr/termtable.h +#usr/include/frr/thread.h +#usr/include/frr/vector.h +#usr/include/frr/version.h +#usr/include/frr/vlan.h +#usr/include/frr/vrf.h +#usr/include/frr/vrf_int.h +#usr/include/frr/vty.h +#usr/include/frr/vxlan.h +#usr/include/frr/wheel.h +#usr/include/frr/workqueue.h +#usr/include/frr/zassert.h +#usr/include/frr/zclient.h +#usr/include/frr/zebra.h +#usr/lib/libfrr.a +#usr/lib/libfrr.la +#usr/lib/libfrr.so +usr/lib/libfrr.so.0 +usr/lib/libfrr.so.0.0.0 +usr/sbin/bgpd +usr/sbin/frr +usr/sbin/frr-reload +usr/sbin/frr-reload.py +usr/sbin/ospfd +usr/sbin/rfptest +usr/sbin/ssd +usr/sbin/staticd +usr/sbin/watchfrr +usr/sbin/zebra diff --git a/lfs/frr b/lfs/frr new file mode 100644 index 000000000..756b87729 --- /dev/null +++ b/lfs/frr @@ -0,0 +1,106 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2018 IPFire Team # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 6.0 + +THISAPP = frr-$(VER) +DL_FILE = $(THISAPP).tar.xz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = frr +PAK_VER = 1 + +DEPS = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = d725c08e0093f58e5fcac0969c781813 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && ./configure \ + --prefix=/usr \ + --sysconfdir=/etc/frr \ + --localstatedir=/var/run/frr \ + --enable-user="frr" \ + --enable-group="frr" \ + --enable-vty-group="frrvty" \ + --enable-multipath=64 \ + --disable-doc \ + --disable-babeld \ + --disable-bfdd \ + --disable-eigrpd \ + --disable-irdp \ + --disable-isisd \ + --disable-ldpd \ + --disable-nhrpd \ + --disable-ospf6d \ + --disable-ospfapi \ + --disable-pbrd \ + --disable-pimd \ + --disable-ripd \ + --disable-ripngd + cd $(DIR_APP) && make $(MAKETUNING) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) + From a90f7faf78e8d7a4220d4be51f6eb1b3f726e657 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 30 Oct 2018 17:20:37 +0000 Subject: [PATCH 3/6] frr: Install users and make backup when package is installed/uinstalled Signed-off-by: Michael Tremer --- src/paks/frr/install.sh | 45 +++++++++++++++++++++++++++++++++++++++ src/paks/frr/uninstall.sh | 35 ++++++++++++++++++++++++++++++ src/paks/frr/update.sh | 26 ++++++++++++++++++++++ 3 files changed, 106 insertions(+) create mode 100644 src/paks/frr/install.sh create mode 100644 src/paks/frr/uninstall.sh create mode 100644 src/paks/frr/update.sh diff --git a/src/paks/frr/install.sh b/src/paks/frr/install.sh new file mode 100644 index 000000000..60d77a015 --- /dev/null +++ b/src/paks/frr/install.sh @@ -0,0 +1,45 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team . # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh + +if ! getent group frr &>/dev/null; then + groupadd -r frr +fi + +if ! getent group frrvty &>/dev/null; then + groupadd -r frrvty +fi + +if ! getent passwd frr &>/dev/null; then + useradd -r frr -g frr -s /bin/false -b /var/empty -G frrvty +fi + +# Extract files +extract_files + +# Restore any backups +restore_backup "${NAME}" + +# Start services +start_service "${NAME}" diff --git a/src/paks/frr/uninstall.sh b/src/paks/frr/uninstall.sh new file mode 100644 index 000000000..49e3fdd7d --- /dev/null +++ b/src/paks/frr/uninstall.sh @@ -0,0 +1,35 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team . # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh + +# Stop services +stop_service "${NAME}" + +# Create backup +extract_backup_includes +make_backup "${NAME}" + +# Remove all files +rm -rfv /etc/rc.d/rc*.d/*frr +remove_files diff --git a/src/paks/frr/update.sh b/src/paks/frr/update.sh new file mode 100644 index 000000000..89c40d0d7 --- /dev/null +++ b/src/paks/frr/update.sh @@ -0,0 +1,26 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team . # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +./uninstall.sh +./install.sh From ebd6fe2b50a4f51a93475fc33f385b5477480a43 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 30 Oct 2018 17:24:34 +0000 Subject: [PATCH 4/6] frr: Add initscript Signed-off-by: Michael Tremer --- config/rootfiles/packages/frr | 1 + lfs/frr | 4 +++ src/initscripts/packages/frr | 54 +++++++++++++++++++++++++++++++++++ src/paks/frr/install.sh | 7 +++++ 4 files changed, 66 insertions(+) create mode 100755 src/initscripts/packages/frr diff --git a/config/rootfiles/packages/frr b/config/rootfiles/packages/frr index 845fea3c4..5db055de6 100644 --- a/config/rootfiles/packages/frr +++ b/config/rootfiles/packages/frr @@ -7,6 +7,7 @@ etc/frr/ripngd.conf.sample etc/frr/staticd.conf.sample etc/frr/vtysh.conf.sample etc/frr/zebra.conf.sample +etc/rc.d/init.d/frr usr/bin/bgp_btoa usr/bin/vtysh #usr/include/frr diff --git a/lfs/frr b/lfs/frr index 756b87729..c90340fed 100644 --- a/lfs/frr +++ b/lfs/frr @@ -101,6 +101,10 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) --disable-ripngd cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install + + # Install initscript + $(call INSTALL_INITSCRIPT,frr) + @rm -rf $(DIR_APP) @$(POSTBUILD) diff --git a/src/initscripts/packages/frr b/src/initscripts/packages/frr new file mode 100755 index 000000000..9ebb5f85b --- /dev/null +++ b/src/initscripts/packages/frr @@ -0,0 +1,54 @@ +#!/bin/sh +######################################################################## +# Begin $rc_base/init.d/frr +# +# Description : FRRouting Suite +# +######################################################################## + +. /etc/sysconfig/rc +. ${rc_functions} + +DAEMONS="zebra bgpd ospfd staticd" + +case "${1}" in + start) + for daemon in ${DAEMONS}; do + if [ -f "/etc/frr/${daemon}.conf" ]; then + boot_mesg "Starting FRRouting ${daemon}..." + loadproc "/usr/sbin/${daemon}" --daemon + fi + done + ;; + + stop) + for daemon in ${DAEMONS}; do + boot_mesg "Stopping FRRouting ${daemon}..." + killproc "/usr/sbin/${daemon}" + done + ;; + + reload) + boot_mesg "Reloading FRRouting..." + reloadproc /usr/sbin/frr-reload + ;; + + restart) + ${0} stop + sleep 1 + ${0} start + ;; + + status) + for daemon in ${DAEMONS}; do + statusproc "/usr/sbin/${daemon}" + done + ;; + + *) + echo "Usage: ${0} {start|stop|reload|restart|status}" + exit 1 + ;; +esac + +# End $rc_base/init.d/frr diff --git a/src/paks/frr/install.sh b/src/paks/frr/install.sh index 60d77a015..7e0222246 100644 --- a/src/paks/frr/install.sh +++ b/src/paks/frr/install.sh @@ -43,3 +43,10 @@ restore_backup "${NAME}" # Start services start_service "${NAME}" + +# Enable autostart +ln -svf ../init.d/frr /etc/rc.d/rc0.d/K40frr +ln -svf ../init.d/frr /etc/rc.d/rc3.d/S50frr +ln -svf ../init.d/frr /etc/rc.d/rc6.d/K40frr + +exit 0 From e1def10e29c8fedcf9357c2a7919ff9e3b70611a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 30 Oct 2018 17:32:48 +0000 Subject: [PATCH 5/6] frr: Set configuration file permissions correctly Signed-off-by: Michael Tremer --- src/initscripts/packages/frr | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/initscripts/packages/frr b/src/initscripts/packages/frr index 9ebb5f85b..5fa4e9fa8 100755 --- a/src/initscripts/packages/frr +++ b/src/initscripts/packages/frr @@ -13,8 +13,17 @@ DAEMONS="zebra bgpd ospfd staticd" case "${1}" in start) + # Fix permissions of configuration directory + if [ -d "/etc/frr" ]; then + chown root.frr /etc/frr + chmod 775 /etc/frr + fi + for daemon in ${DAEMONS}; do if [ -f "/etc/frr/${daemon}.conf" ]; then + # Set permissions + chown frr.frr "/etc/frr/${daemon}.conf" + boot_mesg "Starting FRRouting ${daemon}..." loadproc "/usr/sbin/${daemon}" --daemon fi From 58e0aa18cca8e690e720376913fd71582689eb26 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 31 Oct 2018 09:30:20 +0000 Subject: [PATCH 6/6] frr: Add backup include file Signed-off-by: Michael Tremer --- config/backup/includes/frr | 1 + config/rootfiles/packages/frr | 1 + lfs/frr | 4 ++++ 3 files changed, 6 insertions(+) create mode 100644 config/backup/includes/frr diff --git a/config/backup/includes/frr b/config/backup/includes/frr new file mode 100644 index 000000000..ca74d4891 --- /dev/null +++ b/config/backup/includes/frr @@ -0,0 +1 @@ +/etc/frr diff --git a/config/rootfiles/packages/frr b/config/rootfiles/packages/frr index 5db055de6..8aafc7c6c 100644 --- a/config/rootfiles/packages/frr +++ b/config/rootfiles/packages/frr @@ -126,3 +126,4 @@ usr/sbin/ssd usr/sbin/staticd usr/sbin/watchfrr usr/sbin/zebra +var/ipfire/backup/addons/includes/frr diff --git a/lfs/frr b/lfs/frr index c90340fed..a14dc5981 100644 --- a/lfs/frr +++ b/lfs/frr @@ -102,6 +102,10 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install + # Install backup include + install -v -m 644 $(DIR_SRC)/config/backup/includes/frr \ + /var/ipfire/backup/addons/includes/frr + # Install initscript $(call INSTALL_INITSCRIPT,frr)