VOL-4874 - Fix local lint target use problems.
scripts/which_deployment_owns_device.sh
---------------------------------------
* Fix a few shellcheck complaints.
makefiles/lint/robot.mk
-----------------------
* Update target logic to use && -vs- ;
* semicolon use can mask errors.
makefiles/lint/python.mk
------------------------
* Update target logic to use && -vs- ;
* Removed pylint option --py3k, switch not suppored by newer interpreters.
makefiles/lint.mk
makefiles/lint/shell.mk
-----------------------
* Added a lint target to invoke shellcheck on sources.
Makefile
--------
* target:clean modified to remove generated sources.
* target:gendocs: unique $(LIBDIRS) and replace for loop with a simple mkdir -vp call.
* cosmetic indentation cleanup.
* modified vst_venv target to apply patches after virtualenv created.
* patches address failures caused by python 3.10+ requiring collections.abc
* Ignore exit status from 310_migration for now to avoid failing other jobs.
patches/lib/python3.10/site-packages/robot/utils/normalizing.py/patch
patches/lib/python3.10/site-packages/robot/utils/robottypes3.py/patch
---------------------------------------------------------------------
* Attempt to import the new collections.abc module for Mapping and
friends so python 3.10+ can be supported.
* Fall back to existing module import supported by python interpreters
v3.5 <=> v3.9.
patches/python_310_migration.sh
-------------------------------
* Self contained helper script used to generate and apply python 3.10+ patches.
Followup edits
--------------
* Added missing license blocks reported by jenkins.
* Updated lint checking to detect license errors so problems can be fixed prior to checkin.
* Add set -x debugging, not clear why pyenv patching failed.
Change-Id: I2b8515bb26874eb8b1564bec87353ea0c1485b61
diff --git a/patches/lib/python3.10/site-packages/robot/utils/normalizing.py/patch b/patches/lib/python3.10/site-packages/robot/utils/normalizing.py/patch
new file mode 100644
index 0000000..fc9ddd4
--- /dev/null
+++ b/patches/lib/python3.10/site-packages/robot/utils/normalizing.py/patch
@@ -0,0 +1,14 @@
+--- vault/lib/python3.10/site-packages/robot/utils/normalizing.py 2022-11-26 06:59:47.438751606 -0500
++++ vst_venv/lib/python3.10/site-packages/robot/utils/normalizing.py 2022-11-26 06:57:29.960476182 -0500
+@@ -13,10 +13,7 @@
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+
+-try: # python >= 3.10
+- from collections.abc import MutableMapping
+-except ImportError: # python 2x
+- from collections import MutableMapping
++from collections import MutableMapping
+
+ from .platform import IRONPYTHON, PY_VERSION, PY3
+ from .robottypes import is_dict_like, is_unicode