diff --git a/pkgs/os-specific/bsd/freebsd/update.py b/pkgs/os-specific/bsd/freebsd/update.py index cd20f67148fa..533a871a4b04 100755 --- a/pkgs/os-specific/bsd/freebsd/update.py +++ b/pkgs/os-specific/bsd/freebsd/update.py @@ -16,6 +16,7 @@ import typing import urllib.request _QUERY_VERSION_PATTERN = re.compile('^([A-Z]+)="(.+)"$') +_RELEASE_PATCH_PATTERN = re.compile('^RELEASE-p([0-9]+)$') BASE_DIR = os.path.dirname(os.path.abspath(__file__)) MIN_VERSION = packaging.version.Version("13.0.0") MAIN_BRANCH = "main" @@ -60,7 +61,16 @@ def query_version(repo: git.Repo) -> dict[str, typing.Any]: continue fields[m[1].lower()] = m[2] - fields["major"] = packaging.version.parse(fields["revision"]).major + parsed = packaging.version.parse(fields["revision"]) + fields["major"] = parsed.major + fields["minor"] = parsed.minor + + # Extract the patch number from `RELAESE-p`, which is used + # e.g. in the "releng" branches. + m = _RELEASE_PATCH_PATTERN.match(fields["branch"]) + if m is not None: + fields["patch"] = m[1] + return fields @@ -95,7 +105,7 @@ def handle_commit( "ref": ref_name, "refType": ref_type, "supported": ref_name in supported_refs, - "version": query_version(repo), + "version": version, } @@ -151,6 +161,14 @@ def main() -> None: result = handle_commit( repo, tag.commit, tag.name, "tag", supported_refs, old_versions ) + + # Hack in the patch version from parsing the tag, if we didn't + # get one from the "branch" field (from newvers). This is + # probably 0. + versionObj = result["version"] + if "patch" not in versionObj: + versionObj["patch"] = version.micro + versions[tag.name] = result for branch in repo.remote("origin").refs: diff --git a/pkgs/os-specific/bsd/freebsd/versions.json b/pkgs/os-specific/bsd/freebsd/versions.json index 736c4c3a3e3c..3f781b4eeaf2 100644 --- a/pkgs/os-specific/bsd/freebsd/versions.json +++ b/pkgs/os-specific/bsd/freebsd/versions.json @@ -1,14 +1,15 @@ { "main": { - "hash": "sha256-C5ucT9BK/eK8a9HNSDDi8S1uhpPmiqV22XEooxAqbPw=", + "hash": "sha256-3aUsD2yRqVvb12z2XPmhE5/u4d9bqyD2ZHH3xNmwYwU=", "ref": "main", "refType": "branch", - "rev": "125c4560bc70971b950d035cfcd2255b89984011", + "rev": "aa34b1d20e44141749ffdecf16908fc1e5db4db6", "supported": false, "version": { "branch": "CURRENT", "major": 15, - "reldate": "1500017", + "minor": 0, + "reldate": "1500018", "release": "15.0-CURRENT", "revision": "15.0", "type": "FreeBSD", @@ -24,6 +25,8 @@ "version": { "branch": "RELEASE", "major": 13, + "minor": 0, + "patch": 0, "reldate": "1300139", "release": "13.0-RELEASE", "revision": "13.0", @@ -40,6 +43,8 @@ "version": { "branch": "RELEASE", "major": 13, + "minor": 1, + "patch": 0, "reldate": "1301000", "release": "13.1-RELEASE", "revision": "13.1", @@ -56,6 +61,8 @@ "version": { "branch": "RELEASE", "major": 13, + "minor": 2, + "patch": 0, "reldate": "1302001", "release": "13.2-RELEASE", "revision": "13.2", @@ -72,6 +79,8 @@ "version": { "branch": "RELEASE", "major": 13, + "minor": 3, + "patch": 0, "reldate": "1303001", "release": "13.3-RELEASE", "revision": "13.3", @@ -88,6 +97,8 @@ "version": { "branch": "RELEASE", "major": 14, + "minor": 0, + "patch": 0, "reldate": "1400097", "release": "14.0-RELEASE", "revision": "14.0", @@ -104,6 +115,8 @@ "version": { "branch": "RELEASE-p13", "major": 13, + "minor": 0, + "patch": "13", "reldate": "1300139", "release": "13.0-RELEASE-p13", "revision": "13.0", @@ -120,6 +133,8 @@ "version": { "branch": "RELEASE-p9", "major": 13, + "minor": 1, + "patch": "9", "reldate": "1301000", "release": "13.1-RELEASE-p9", "revision": "13.1", @@ -136,6 +151,8 @@ "version": { "branch": "RELEASE-p11", "major": 13, + "minor": 2, + "patch": "11", "reldate": "1302001", "release": "13.2-RELEASE-p11", "revision": "13.2", @@ -144,19 +161,21 @@ } }, "releng/13.3": { - "hash": "sha256-huzUiMZHfyK/mgLD3hW+DaSGgAaTUIuM51xDp+IE3qE=", + "hash": "sha256-g3i9q9XihesdfQxGy3oC7IMGtbWaLNwFlNzbdvS/4ng=", "ref": "releng/13.3", "refType": "branch", - "rev": "7a0d63c9093222938f26cd63ff742e555168de77", + "rev": "be4f1894ef399f421bab451e8cf8557e27e5a948", "supported": true, "version": { - "branch": "RELEASE-p1", + "branch": "RELEASE-p2", "major": 13, + "minor": 3, + "patch": "2", "reldate": "1303001", - "release": "13.3-RELEASE-p1", + "release": "13.3-RELEASE-p2", "revision": "13.3", "type": "FreeBSD", - "version": "FreeBSD 13.3-RELEASE-p1" + "version": "FreeBSD 13.3-RELEASE-p2" } }, "releng/14.0": { @@ -168,6 +187,8 @@ "version": { "branch": "RELEASE-p6", "major": 14, + "minor": 0, + "patch": "6", "reldate": "1400097", "release": "14.0-RELEASE-p6", "revision": "14.0", @@ -176,15 +197,16 @@ } }, "stable/13": { - "hash": "sha256-XateLKKs2A/HCP9Lx/nBm1cybB3otrbeXQvyCL40S0M=", + "hash": "sha256-ItC8haDdxMSZt1thpCrn8p0xxvs7Uqh/uNo1OwMalj8=", "ref": "stable/13", "refType": "branch", - "rev": "e0a58ef24a3baf5ed4cc09a798b9fe2d85408052", + "rev": "825cb4c850f2b97cfd1b24ed421d7938bf37eee7", "supported": true, "version": { "branch": "STABLE", "major": 13, - "reldate": "1303502", + "minor": 3, + "reldate": "1303503", "release": "13.3-STABLE", "revision": "13.3", "type": "FreeBSD", @@ -192,19 +214,20 @@ } }, "stable/14": { - "hash": "sha256-tIKnK/SYBDk9UnE5AfhjeDpqHnzspYbor0678ye/mrs=", + "hash": "sha256-iAj75IXJi4Oium6BqFvsyQipDP2crBZIGg0Dac8Zf1g=", "ref": "stable/14", "refType": "branch", - "rev": "ab872ab0bf195e872ed8d955aab3b2a537a230cd", + "rev": "a3b8266f5420601e231bc08c5402d9a4929fbdc0", "supported": true, "version": { - "branch": "STABLE", + "branch": "PRERELEASE", "major": 14, - "reldate": "1400510", - "release": "14.0-STABLE", - "revision": "14.0", + "minor": 1, + "reldate": "1400511", + "release": "14.1-PRERELEASE", + "revision": "14.1", "type": "FreeBSD", - "version": "FreeBSD 14.0-STABLE" + "version": "FreeBSD 14.1-PRERELEASE" } } }