This commit integrates mfsBSD into the `release/Makefile`.
==== Test Results
Tested under 15.0-CURRENT. Completes without any error and produces
${OSRELEASE}-mfsbsd-se.{img|iso} at `${DESTDIR}/mfsbsdimages/`.
Behind the scene, the make process invokes mfsbsd-release, mfsbsd-image,
and mfsbsd-install consecutively. I've used two of my amd64 machines for
testing. Here's the script I used for testing:
```
lang=sh
#!/bin/sh
alias DATE="date '+%Y%m%d_%H%M'"
cd /usr/src
mkdir -p /logs_mfsbsd
time make buildworld -j12 \
> /logs_mfsbsd/buildWorld_$(DATE).log 2>&1
time make buildkernel -j6 \
>> /logs_mfsbsd/buildKernel_$(DATE).log 2>&1
cd ./release
COUNT=0
while [ $COUNT -lt 10 ]
do
time make release WITH_MFSBSD=1 \
> /logs_mfsbsd/release_$(DATE).log 2>&1
mkdir -p ./images
make install WITH_MFSBSD=1 DESTDIR=/usr/src/release/images \
> /logs_mfsbsd/install_$(DATE).log 2>&1
echo "--------------------------------------------------------------"
echo "> Completed at $(DATE)"
echo "--------------------------------------------------------------"
make mfsbsd-clean
COUNT=$(expr $COUNT + 1)
done
tail /logs_mfsbsd/install_*.log
```
Note that the testing script above iterates the build process 10 times.
It was because I had a bug in which the build process fails every other
time. Now it's fixed, but I just wanted to ensure that the bug is gone
and the build process completes successfully now.
==== Extra Testing
Coincidentally, one of the two machines used for testing did not have
internet access because there's no driver for the AQC113C ethernet
chipset available yet, but thanks to this, this showed me that the code
works equally well even without internet access.
In addition, this code was tested to ensure its compatibility with
`release/release.sh` as well. Here's my testing script for `release.sh`:
```
lang=sh
#!/bin/sh
cd /usr/src/release
cat ./release.conf.sample | sed \
-e 's/GITROOT="https:\/\/git.freebsd.org\/"/GITROOT="https:\/\/github.com\/soobinrho\/"/g' \
-e 's/GITSRC="src.git"/GITSRC="freebsd-src.git"/g' \
-e 's/GITPORTS="ports.git"/GITPORTS="freebsd-ports.git"/g' \
-e 's/SRCBRANCH="main"/SRCBRANCH="integrate-mfsBSD-building"/g' \
-e 's/#WITH_MFSBSD=/WITH_MFSBSD=1/g' \
> ./release.conf
./release.sh -c ./release.conf
ls -lh /scratch/R/mfsbsdimages
```
==== Acknowledgement
This series of commits was produced as a part of the mfsBSD integration
project, a Google Summer of Code 2023 project as described here:
https://wiki.freebsd.org/SummerOfCode2023Projects/IntegrateMfsBSDIntoTheReleaseBuildingTools
Sponsored by: Google, Inc. (GSoC 2023)
Signed-off-by: Soobin Rho <soobinrho@FreeBSD.org>