{ "versions" : [ { "platform" : "darwin90x86", "minor" : "2", "major" : "2016", "build" : "1598668" }, { "platform" : "darwin90x86_64", "minor" : "2", "major" : "2016", "build" : "1598668" }, { "platform" : "linux26x86", "minor" : "2", "major" : "2016", "build" : "1598668" }, { "platform" : "linux26x86_64", "minor" : "2", "major" : "2016", "build" : "1598668" }, { "platform" : "ntx64", "minor" : "2", "major" : "2016", "build" : "1598668" }, { "platform" : "ntx86", "minor" : "2", "major" : "2016", "build" : "1598668" }, { "platform" : "darwin90x86", "minor" : "1", "major" : "2017", "build" : "1738874" }, { "platform" : "darwin90x86_64", "minor" : "1", "major" : "2017", "build" : "1738874" }, { "platform" : "linux26x86", "minor" : "1", "major" : "2017", "build" : "1738874" }, { "platform" : "linux26x86_64", "minor" : "1", "major" : "2017", "build" : "1738874" }, { "platform" : "ntx64", "minor" : "1", "major" : "2017", "build" : "1738874" }, { "platform" : "ntx86", "minor" : "1", "major" : "2017", "build" : "1738874" }, { "platform" : "darwin90x86", "minor" : "2", "major" : "2017", "build" : "1856030" }, { "platform" : "darwin90x86_64", "minor" : "2", "major" : "2017", "build" : "1856030" }, { "platform" : "linux26x86", "minor" : "2", "major" : "2017", "build" : "1856030" }, { "platform" : "linux26x86_64", "minor" : "2", "major" : "2017", "build" : "1856030" }, { "platform" : "ntx64", "minor" : "2", "major" : "2017", "build" : "1856030" }, { "platform" : "ntx86", "minor" : "2", "major" : "2017", "build" : "1856030" }, { "platform" : "darwin90x86", "minor" : "1", "major" : "2018", "build" : "1957529" }, { "platform" : "darwin90x86_64", "minor" : "1", "major" : "2018", "build" : "1957529" }, { "platform" : "linux26x86", "minor" : "1", "major" : "2018", "build" : "1957529" }, { "platform" : "linux26x86_64", "minor" : "1", "major" : "2018", "build" : "1957529" }, { "platform" : "ntx64", "minor" : "1", "major" : "2018", "build" : "1957529" }, { "platform" : "ntx86", "minor" : "1", "major" : "2018", "build" : "1957529" }, { "platform" : "linux26x86", "minor" : "2", "major" : "2018", "build" : "2055532" }, { "platform" : "linux26x86_64", "minor" : "2", "major" : "2018", "build" : "2055532" }, { "platform" : "macosx1010x86_64", "minor" : "2", "major" : "2018", "build" : "2055532" }, { "platform" : "ntx64", "minor" : "2", "major" : "2018", "build" : "2055532" }, { "platform" : "ntx86", "minor" : "2", "major" : "2018", "build" : "2055532" }, { "platform" : "linux26x86", "minor" : "1", "major" : "2019", "build" : "2135798" }, { "platform" : "linux26x86_64", "minor" : "1", "major" : "2019", "build" : "2135798" }, { "platform" : "macosx1010x86_64", "minor" : "1", "major" : "2019", "build" : "2135798" }, { "platform" : "ntx64", "minor" : "1", "major" : "2019", "build" : "2135798" }, { "platform" : "ntx86", "minor" : "1", "major" : "2019", "build" : "2135798" }, { "platform" : "linux26x86", "minor" : "2", "major" : "2019", "build" : "2224541" }, { "platform" : "linux26x86_64", "minor" : "2", "major" : "2019", "build" : "2224541" }, { "platform" : "macosx1010x86_64", "minor" : "2", "major" : "2019", "build" : "2224541" }, { "platform" : "ntx64", "minor" : "2", "major" : "2019", "build" : "2224541" }, { "platform" : "ntx86", "minor" : "2", "major" : "2019", "build" : "2224541" }, { "platform" : "linux26x86", "minor" : "1", "major" : "2020", "build" : "2298664" }, { "platform" : "linux26x86_64", "minor" : "1", "major" : "2020", "build" : "2298664" }, { "platform" : "macosx1010x86_64", "minor" : "1", "major" : "2020", "build" : "1953492" }, { "platform" : "macosx1015x86_64", "minor" : "1", "major" : "2020", "build" : "2298664" }, { "platform" : "ntx64", "minor" : "1", "major" : "2020", "build" : "2298664" }, { "platform" : "ntx86", "minor" : "1", "major" : "2020", "build" : "2298664" }, { "platform" : "linux26x86", "minor" : "2", "major" : "2020", "build" : "2387343" }, { "platform" : "linux26x86_64", "minor" : "2", "major" : "2020", "build" : "2387343" }, { "platform" : "macosx1015x86_64", "minor" : "2", "major" : "2020", "build" : "2387343" }, { "platform" : "ntx64", "minor" : "2", "major" : "2020", "build" : "2387343" }, { "platform" : "ntx86", "minor" : "2", "major" : "2020", "build" : "2387343" }, { "platform" : "linux26x86", "minor" : "1", "major" : "2021", "build" : "2452965" }, { "platform" : "linux26x86_64", "minor" : "1", "major" : "2021", "build" : "2452965" }, { "platform" : "macosx1015x86_64", "minor" : "1", "major" : "2021", "build" : "2452965" }, { "platform" : "ntx64", "minor" : "1", "major" : "2021", "build" : "2452965" }, { "platform" : "ntx86", "minor" : "1", "major" : "2021", "build" : "2452965" }, { "platform" : "linux26x86", "minor" : "2", "major" : "2021", "build" : "2536545" }, { "platform" : "linux26x86_64", "minor" : "2", "major" : "2021", "build" : "2536545" }, { "platform" : "macosx1015x86_64", "minor" : "2", "major" : "2021", "build" : "2536545" }, { "platform" : "ntx64", "minor" : "2", "major" : "2021", "build" : "2536545" }, { "platform" : "ntx86", "minor" : "2", "major" : "2021", "build" : "2410559" }, { "platform" : "ntx86", "minor" : "1", "major" : "2022", "build" : "2409226" }, { "platform" : "linux26x86", "minor" : "2", "major" : "2022", "build" : "2531894" }, { "platform" : "linux26x86_64", "minor" : "2", "major" : "2022", "build" : "2531894" }, { "platform" : "macosx1015x86_64", "minor" : "2", "major" : "2022", "build" : "2531894" }, { "platform" : "ntx64", "minor" : "2", "major" : "2022", "build" : "2531894" }, { "platform" : "linux26x86_64", "minor" : "1", "major" : "2023", "build" : "2576871" }, { "platform" : "macosx1015x86_64", "minor" : "1", "major" : "2023", "build" : "2576871" }, { "platform" : "ntx64", "minor" : "1", "major" : "2023", "build" : "2576871" }, { "platform" : "linux26x86_64", "minor" : "2", "major" : "2023", "build" : "2578891" }, { "platform" : "macosx1015x86_64", "minor" : "2", "major" : "2023", "build" : "2578891" }, { "platform" : "macosx12arm64", "minor" : "2", "major" : "2023", "build" : "2578891" }, { "platform" : "ntx64", "minor" : "2", "major" : "2023", "build" : "2578891" }, { "platform" : "linux26aarch64", "minor" : "1", "major" : "2024", "build" : "2596294" }, { "platform" : "linux26x86_64", "minor" : "1", "major" : "2024", "build" : "2596294" }, { "platform" : "macosx1015x86_64", "minor" : "1", "major" : "2024", "build" : "2596294" }, { "platform" : "macosx12arm64", "minor" : "1", "major" : "2024", "build" : "2596294" }, { "platform" : "ntx64", "minor" : "1", "major" : "2024", "build" : "2596294" } ] }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 30320 | C. Thomas Tyler |
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 |