Mike Frysinger | e5670c8 | 2021-01-07 22:14:25 -0500 | [diff] [blame] | 1 | # This file declares various requirements for this version of repo. The |
| 2 | # launcher script will load it and check the constraints before trying to run |
| 3 | # us. This avoids issues of the launcher using an old version of Python (e.g. |
| 4 | # 3.5) while the codebase has moved on to requiring something much newer (e.g. |
| 5 | # 3.8). If the launcher tried to import us, it would fail with syntax errors. |
| 6 | |
| 7 | # This is a JSON file with line-level comments allowed. |
| 8 | |
| 9 | # Always keep backwards compatibility in mine. The launcher script is robust |
| 10 | # against missing values, but when a field is renamed/removed, it means older |
| 11 | # versions of the launcher script won't be able to enforce the constraint. |
| 12 | |
| 13 | # When requiring versions, always use lists as they are easy to parse & compare |
| 14 | # in Python. Strings would require futher processing to turn into a list. |
| 15 | |
| 16 | # Version constraints should be expressed in pairs: soft & hard. Soft versions |
| 17 | # are when we start warning users that their software too old and we're planning |
| 18 | # on dropping support for it, so they need to start planning system upgrades. |
| 19 | # Hard versions are when we refuse to work the tool. Users will be shown an |
| 20 | # error message before we abort entirely. |
| 21 | |
| 22 | # When deciding whether to upgrade a version requirement, check out the distro |
| 23 | # lists to see who will be impacted: |
| 24 | # https://gerrit.googlesource.com/git-repo/+/HEAD/docs/release-process.md#Project-References |
| 25 | |
| 26 | { |
| 27 | # The repo launcher itself. This allows us to force people to upgrade as some |
| 28 | # ignore the warnings about it being out of date, or install ancient versions |
| 29 | # to start with for whatever reason. |
| 30 | # |
| 31 | # NB: Repo launchers started checking this file with repo-2.12, so listing |
| 32 | # versions older than that won't make a difference. |
| 33 | "repo": { |
| 34 | "hard": [2, 11], |
| 35 | "soft": [2, 11] |
| 36 | }, |
| 37 | |
| 38 | # Supported Python versions. |
| 39 | # |
| 40 | # python-3.6 is in Ubuntu Bionic. |
Peter Kjellerstedt | a3b2edf | 2021-04-15 01:32:40 +0200 | [diff] [blame] | 41 | # python-3.7 is in Debian Buster. |
Mike Frysinger | e5670c8 | 2021-01-07 22:14:25 -0500 | [diff] [blame] | 42 | "python": { |
Peter Kjellerstedt | a3b2edf | 2021-04-15 01:32:40 +0200 | [diff] [blame] | 43 | "hard": [3, 6], |
Mike Frysinger | e5670c8 | 2021-01-07 22:14:25 -0500 | [diff] [blame] | 44 | "soft": [3, 6] |
| 45 | }, |
| 46 | |
| 47 | # Supported git versions. |
| 48 | # |
| 49 | # git-1.7.2 is in Debian Squeeze. |
| 50 | # git-1.7.9 is in Ubuntu Precise. |
| 51 | # git-1.9.1 is in Ubuntu Trusty. |
| 52 | # git-1.7.10 is in Debian Wheezy. |
| 53 | "git": { |
| 54 | "hard": [1, 7, 2], |
| 55 | "soft": [1, 9, 1] |
| 56 | } |
| 57 | } |