Change 30320

tom_tyler (C. Thomas Tyler)
C. Thomas Tyler committed this change into //guest/perforce_software/sdp/dev/helix_binaries under Review 30313
View Review
Download .zip
Added multi-platform support to include aarch64, and some modern OSX
variants.

Updated default Helix binary version to r24.1, which adds aarch64 builds.

Design Goals (achieved):
* No operational procedure changes requied, so users on existing platforms
don't need to learn new tricks.
* Changes to support multiple platforms/OS architectures are contained
entirely within the /p4/sdp/helix_binaries directory. The rest of the
SDP can remain blissfully unaware of platform specifics.

New capabilities:
* Uses 'uname' to detect current OS platform, mapping it to available Helix
builds for each binary.
* Uses 'jq' if available to parse P4*.json release list files to determine
if a build is available for the detected platform.
* Adds fallback logic.  For example, there is an aarch64 build for OSX 12+, but
not for x86_64. So if on OSX 12+ on x86_64, use the older-but-compatible
OSX 10.15 build for x86_64.
* Adds a new '-d' debug mode option, as the script gets complex.

New Files:
* Added P4*.json release list files to SDP package in /p4/sdp/helix_binaries.

These *.json files are updated as part of the Helix Core release process
for p4, p4d, p4broker, and p4p (and also P4V and others not relevant to
this script).

Bonus Content:
* Silently/harmlessly introduces as-yet-unused SDP_INSTALL_ROOT variable,
a prelude to future SDP refactoring.

Tested Platforms:
* linux26x86_64
* linux26aarch64
* macosx12arm64
* macosx12x86_64; exercises fallback to maxosx1015x86_64

#review-30313 @robert_cowham @mark_zinthefer @will_kreitzmann
  • Files 5
  • Comments 0
1 edited 4 added 0 deleted
P4.json#1
Loading...
P4Broker.json#1
Loading...
P4D.json#1
Loading...
P4Proxy.json#1
Loading...
get_helix_binaries.sh#15
Loading...
Tip: Use n and p to cycle through the changes.