VOL-5160 - Repo triage build for release branching.

Makefile
makefiles
---------
  o Copy in library makefiles from repo:onf-make.
  o Selectively enable constants and library logic.
  o Cleanup and refactoring effort is needed to enable bulk docker and lint
    targets but that effort is deferred to a separate jira ticket.

VERSION
-------
  o Change *-dev branch to a release version to exercise all pipeline
    job steps (including task publish if any).

build/package/Dockerfile
cmd/bbsim-sadis-server.go
deployments/bbsim-sadis-server.yaml
internal/core/common.go
internal/core/sadis_if.go
internal/core/server.go
internal/core/store.go
internal/core/store_test.go
internal/core/watcher.go
internal/utils/config.go
internal/utils/utils.go
-----------------------
  o Update copyright notice.

Change-Id: I86c89354cb62eda41971bc2c00603d1894977d5c
diff --git a/makefiles/patches/include.mk b/makefiles/patches/include.mk
new file mode 100644
index 0000000..47e6612
--- /dev/null
+++ b/makefiles/patches/include.mk
@@ -0,0 +1,67 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# 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.
+# -----------------------------------------------------------------------
+
+include $(ONF_MAKEDIR)/patches/help.mk
+
+patch-gather-args += --exclude=Makefile
+patch-gather-args += --exclude-dir=vault
+patch-gather-args += --exclude-dir=makefiles
+patch-gather-args += --exclude-dir=staging
+patch-gather-args += --exclude-dir=patches
+
+# patch-gather-args += -e 'from collections import'
+patch-gather-args += '-e' 'from collections import Mapping'
+patch-gather-args += '-e' 'from collections import MutableMapping'
+
+# Defined by [Mm]akefile or makefiles/virtualenv.mk
+venv-name   ?= $(error $(MAKE) venv-name= is required)
+
+PATCH_PATH  ?= $(error $(MAKE) PATCH_PATH= is required)
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+patch-gather:
+	grep -r $(patch-gather-args)
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+patch-diff:
+	$(HIDE)diff -qr staging $(venv-name) \
+	    | awk '{print "# diff -Naur "$$2" "$$4}' \
+	    | tee $@.log
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+patch-create:
+	mkdir -p patches/$(PATCH_PATH)
+	diff -Naur staging/$(PATCH_PATH) $(venv-name)/$(PATCH_PATH) | tee patches/$(PATCH_PATH)/patch
+	exit 1
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+patch-init:
+	find "$(venv-name)" -name '__pycache__' -type d -print0 \
+	    | xargs -I'{}' --null --no-run-if-empty $(RM) -r {}
+	mkdir -p staging
+	rsync -rv --checksum "$(venv-name)/." "staging/."
+	@echo "Modify files beneath staging/ to create a patch source"
+
+# [SEE ALSO]
+# ---------------------------------------------------------------------------
+# https://bobbyhadz.com/blog/python-importerror-cannot-import-name-mapping-from-collections
+# ---------------------------------------------------------------------------
+# [EOF]