General building from source questions

Started by DenverTech, October 21, 2020, 03:53:29 PM

Previous topic - Next topic
October 21, 2020, 03:53:29 PM Last Edit: October 21, 2020, 04:19:44 PM by DenverTech
I'm definitely finding some strong gaps in my knowledge here and haven't been able to find the answers. Hoping someone can point me in the right direction. I've been able to build without issue from the source. However, I'm trying to do a slimmed down version and having no luck figuring out the steps. Here are the steps as I understand it...can someone correct where I'm going wrong? Thanks in advance!

1) Download tools, "make update"
2) make base, make kernel, make ports, make plugins, make core, make nano *as of here, everything's good
3) I copy a config into a new folder (config/1.0) and then edit plugins.conf to comment out builds of some plugins I don't ever use.
4) This is where I get unclear. Franco's notes looked like I should just run "make nightly SETTINGS=config/1.0" but that fails.
5) I tried "make base VERSION=1.0 SRCVERSION=stable/20.7" and it has major problems along the way, hinting that I should have renamed the source. From this, I continue to get builds named 20.7, despite the VERSION tag.
6) I lastly tried, "make rename-base VERSION=1.0" to convert it over and build as if it were always called 1.0. This one gives me tar errors on "repacking base set" (specifically "tar option -f requires an argument") and then fails.

Can anyone give any pointers? My ultimate goal is to include a custom theme, disable builds and inclusion of a few plugins, and renumber the build (so I don't get confused whether I'm on stock or custom).

December 03, 2020, 09:58:42 PM #1 Last Edit: December 06, 2020, 09:47:36 AM by marcquark
i would also greatly appreciate a bit of a dumbed-down version of how to develop core and plugins.  the docs mention cloning into /root and using "make mount", is that still a viable option?

i'm looking for a way to quickly create changes in a branch derived from master and test them in a VM. once everything is okay, i'd like to push the branch to my forked repo and open a PR. i've so far done the following:

cloned tools into /usr/tools
cd tools
make update

that seems to have pulled master for all repos. i'm assuming i can just change origin to my fork and create my branch there.
but then how do i quickly build and deploy my changes? do i "make upgrade" once and then just repeat that for every change? will the build system automatically just rebuild (and reinstall?) the changed parts or does it go through a full rebuild every time?
also sometimes i'll have to deploy the changes to more than one VM. is that where "make upload" comes into play? what's the easiest way to upload to a 2nd, identical test installation on the same subnet (aka: SSH would be available without much hassle)

/edit: pardon my ignorance, it seems i found my answer in parts already: https://forum.opnsense.org/index.php?topic=18879.0
how would i go about plugins though?

/edit2: for anybody stumbling across this: you can simply cd into the respective plugin dir (e.g. cd /usr/plugins/net/frr) and then "make upgrade"