Closed keeshux closed 7 months ago
SwiftPM only allows major.minor.patch version syntax, but we need to avoid collisions.
E.g. OpenSSL 3.2.5 and script version 34 (0-99)
normalized_patch = (patch + 1) * 100 + script
-> 3.2.634
The +1 is necessary because e.g. 3.2.0 with script 34 would translate to 3.2.34, which collides with OpenSSL versioning.
In this scheme, the repo tag will be of the form:
which is reversible to infer the OpenSSL patch.
E.g. 3.2.434
So 3.2.434 is OpenSSL 3.2.3 with script version 34
SwiftPM only allows major.minor.patch version syntax, but we need to avoid collisions.
E.g. OpenSSL 3.2.5 and script version 34 (0-99)
normalized_patch = (patch + 1) * 100 + script
-> 3.2.634
The +1 is necessary because e.g. 3.2.0 with script 34 would translate to 3.2.34, which collides with OpenSSL versioning.
In this scheme, the repo tag will be of the form:
which is reversible to infer the OpenSSL patch.
E.g. 3.2.434
So 3.2.434 is OpenSSL 3.2.3 with script version 34