blob: cb55cd25430c29f1349a621d636398674c67e680 [file] [log] [blame]
Mike Frysingere5670c82021-01-07 22:14:25 -05001# 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 Kjellerstedta3b2edf2021-04-15 01:32:40 +020041 # python-3.7 is in Debian Buster.
Mike Frysingere5670c82021-01-07 22:14:25 -050042 "python": {
Peter Kjellerstedta3b2edf2021-04-15 01:32:40 +020043 "hard": [3, 6],
Mike Frysingere5670c82021-01-07 22:14:25 -050044 "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}