[VOL-5009] - Update release notes

config.mk
makefiles/*
-----------
  o Refresh library makefiles from https://github.com/opencord/onf-make.
  o More lint targets added with exclusions in config.mk

makefiles/virtualenv.mk
patches/lib/python3.10/site-packages/robot/utils/normalizing.py/patch
patches/lib/python3.10/site-packages/robot/utils/robottypes3.py/patch
patches/python_310_migration.sh
---------------------------------------------------------------------
  o Continue normalizing virtualenv install directory.
  o Update patches to modify .venv VS vst_venv [, vdoc_venv, vfoo_venv, vbar_venv, ...)
  o virtualenv.mk now defines named targets for patching-up-to 3.10 installs.

release_notes/voltha_2.12.rst
-----------------------------
  o Update version string info.
  o Onos component table condensed and populated with versioned urls.
  o voltha components table is a WIP.

howto/release/repositories/
---------------------------
  o Begin capturing repo-specific activities for release.
  o Silly having to figure this out each release cycle.
  o Automation and release helper scripts can be found here:
    - https://github.com/joey-onf/voltha-release

sphinx_conf/exclude_patterns.py
-------------------------------
  o Roach squashing exercise, external repos pulled in as git-submodules.
  o New repository files appear as problems when running 'make reload'
  o Exclude files to squelch messages.

Change-Id: I7adf7b84498511f5cde1e43ad304f9e33283241e
diff --git a/makefiles/virtualenv.mk b/makefiles/virtualenv.mk
index fd178f3..775f56f 100644
--- a/makefiles/virtualenv.mk
+++ b/makefiles/virtualenv.mk
@@ -13,9 +13,9 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-## -----------------------------------------------------------------------
+# -----------------------------------------------------------------------
 # https://gerrit.opencord.org/plugins/gitiles/onf-make
-# ONF.makefile.version = 1.0
+# ONF.makefile.version = 1.2
 # -----------------------------------------------------------------------
 
 $(if $(DEBUG),$(warning ENTER))
@@ -28,10 +28,10 @@
 ##------------------##
 ##---]  LOCALS  [---##
 ##------------------##
-venv-name            ?= .venv#                            # default install directory
-venv-abs-path        := $(PWD)/$(venv-name)
-
-venv-activate-script := $(venv-name)/bin/activate#        # dependency
+venv-name             ?= .venv#                            # default install directory
+venv-abs-path         := $(PWD)/$(venv-name)
+venv-activate-bin     := $(venv-name)/bin
+venv-activate-script  := $(venv-activate-bin)/activate#    # dependency
 
 # Intent: activate= is a macro for accessing the virtualenv activation script#
 #  Usage: $(activate) && python
@@ -42,7 +42,7 @@
 ## Usage:
 ##    o place on the right side of colon as a target dependency
 ##    o When the script does not exist install the virtual env and display.
-## -----------------------------------------------------------------------
+## ----------------------------------------------------------------------
 $(venv-activate-script):
 	@echo
 	@echo "============================="
@@ -51,16 +51,23 @@
 	virtualenv -p python3 $(venv-name)
 	$(activate) && python -m pip install --upgrade pip
 	$(activate) && pip install --upgrade setuptools
-	$(activate) && { [[ -r requirements.txt ]] && python -m pip install -r requirements.txt; }
+	$(activate) && [[ -r requirements.txt ]] \
+	    && { python -m pip install -r requirements.txt; } \
+	    || { /bin/true; }
+
 	$(activate) && python --version
 
-ifndef NO_PYTHON_UPGRADE_PATCHING
-	@echo
-	@echo '** -----------------------------------------------------------------------'
-	@echo '** Applying python virtualenv patches as needed (v3.10+)'
-	@echo '** -----------------------------------------------------------------------'
-	./patches/python_310_migration.sh '--venv' '$(venv-name)' 'apply'
-endif
+## -----------------------------------------------------------------------
+## Intent: Explicit named installer target w/o dependencies.
+##         Makefile targets should depend on venv-activate-script.
+## -----------------------------------------------------------------------
+venv-activate-patched := $(venv-activate-script).patched
+venv-activate-patched : $(venv-activate-patched)
+$(venv-activate-patched) : $(venv-activate-script)
+	$(call banner-enter,Target $@)
+	$(onf-mk-top)/../patches/python_310_migration.sh
+	touch $@
+	$(call banner-leave,Target $@)
 
 ## -----------------------------------------------------------------------
 ## Intent: Explicit named installer target w/o dependencies.