mirror of
https://github.com/vyos/vyos-build.git
synced 2025-10-01 20:28:40 +02:00
Because of FRR bug 6062 (https://github.com/FRRouting/frr/issues/6062) frr-reload in frr 7.3.0 and 7.3.1 needs to be patched to work properly. without this patch frr-reload will allways compare against a blank/empty running configuration.
42 lines
1.3 KiB
Bash
Executable File
42 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
CWD=$(pwd)
|
|
set -e
|
|
|
|
FRR_SRC=frr
|
|
|
|
if [ ! -d ${FRR_SRC} ]; then
|
|
echo "FRR source directory does not exists, please 'git clone'"
|
|
exit 1
|
|
fi
|
|
|
|
# VyOS requires some small FRR Patches - apply them here
|
|
# It's easier to habe them here and make use of the upstream
|
|
# repository instead of maintaining a full Fork.
|
|
# Saving time/resources is essential :-)
|
|
cd ${FRR_SRC}
|
|
|
|
PATCH_DIR=${CWD}/patches
|
|
|
|
for patch in $(ls ${PATCH_DIR})
|
|
do
|
|
echo "I: Apply FRR patch: ${PATCH_DIR}/${patch}"
|
|
patch -p1 < ${PATCH_DIR}/${patch}
|
|
git add $(lsdiff ${PATCH_DIR}/${patch} | sed -e 's#^[ab]/##')
|
|
if [ -z "$(git config --list | grep -e user.name -e user.email)" ]; then
|
|
# if git user.name and user.email is not set, -c sets temorary user.name and
|
|
# user.email variables as these is not set in the build container by default.
|
|
git -c user.name="VyOS CI" -c user.email="ci@vyos.io" commit -m "Applied patch: ${patch}" --author "VyOS CI <ci@vyos.io>"
|
|
else
|
|
git commit -m "Applied patch: ${patch}" --author "VyOS CI <ci@vyos.io>"
|
|
fi
|
|
|
|
done
|
|
|
|
# Prepare FRR source for building
|
|
echo "I: Prepare FRR source for building"
|
|
./tools/tarsource.sh -V
|
|
|
|
# Build Debian FRR package
|
|
echo "I: Build Debian FRR Package"
|
|
dpkg-buildpackage -us -uc -Ppkg.frr.rtrlib
|