Commit 8bbf167e authored by John Ericson's avatar John Ericson
Browse files

freebsd: Include more version info and update

We want to know the minor versions.

We want to know the patch versions too, where possible. We get those
either from the branch when it is the form `RELEASE-p<patch>`, or from
the tag when its in the form `release/<major>.<minor>.<patch>`.
parent 944b1056
Loading
Loading
Loading
Loading
+20 −2
Original line number Diff line number Diff line
@@ -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<patch>`, 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:
+41 −18
Original line number Diff line number Diff line
{
  "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"
    }
  }
}