summaryrefslogtreecommitdiffstats
path: root/requirements.json
Commit message (Collapse)AuthorAgeFilesLines
* git: raise hard version to 1.9.1Mike Frysinger2024-05-011-3/+1
| | | | | | | | | | | | | | | | | | Debian 7 Wheezy went EOL in May 2018. We don't need to carry support for that anymore as there have been 5 major releases since. Ubuntu Precise went EOL in Apr 2019 (including the extended support phase). That means we can bump the required git version from 1.7.9 to 1.9.1. git-1.7.9 was released in 2012 while git-1.9.1 was released in 2014. So that shouldn't be a problem either. And we've been warning people using git versions older than 1.9.1 for 3 years now that they need to upgrade. Change-Id: Ifbbf72f51010b0a944c2785895d1b605333f9146 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/415637 Reviewed-by: Josip Sokcevic <sokcevic@google.com> Tested-by: Mike Frysinger <vapier@google.com> Commit-Queue: Mike Frysinger <vapier@google.com>
* git: raise soft version to 2.7.4Mike Frysinger2024-03-201-1/+5
| | | | | | | | | | | | | | | | | git-1.9.1 was released in 2014 while git-2.7.4 was released in 2016. Debian Stretch was released in 2017 and Ubuntu Xenial was released in 2016 which are plenty old at this point. Both of those include at least git-2.7.4. We will start warning users of Debian Jessie (released in 2015 & EOL in 2020) and Ubuntu Trusty (released in 2014 & EOL Apr 2024) that they will need to upgrade. Change-Id: I6be3809bc45968fdcb02cad3f7daf75ded1bb5b1 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/415137 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Josip Sokcevic <sokcevic@google.com> Commit-Queue: Mike Frysinger <vapier@google.com>
* git: raise hard version to 1.7.9Mike Frysinger2024-03-201-3/+3
| | | | | | | | | | | | | | | | | | Debian 6 Squeeze went EOL in Feb 2016. We don't need to carry support for that anymore as there have been 6 major releases since. That means we can bump the required git version from 1.7.2 to 1.7.9. Ubuntu Precise shipped with the latter. git-1.7.2 was released in 2010 while git-1.7.9 was released in 2012. So that shouldn't be a problem either. And we've been warning people using git versions older than 1.9.1 for 3 years now that they need to upgrade. Change-Id: I7712f110ea158297b489b8379b112c6700b21a46 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/415097 Reviewed-by: Josip Sokcevic <sokcevic@google.com> Tested-by: Mike Frysinger <vapier@google.com> Commit-Queue: Mike Frysinger <vapier@google.com>
* Drop support for Python 3.5Peter Kjellerstedt2021-06-031-2/+2
| | | | | | | | | | | | | | | | | | | Running repo with Python 3.5 fails due to the use of the encoding parameter to subprocess.run(). There are also f-strings being used in some of the tests. This drops support for these systems: * Ubuntu Xenial: released Apr 2016, EOS Apr 2021, EOL Apr 2024 * Debian Stretch: released Jun 2017, EOL Jun 2022 So the minimum required distros now are: * Ubuntu Bionic: released Apr 2018 w/Python 3.6 * Debian Buster: released Jul 2019 w/Python 3.7 Change-Id: I1144f7ab6f882b10cac0131982df081fe4ac44f9 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/303363 Reviewed-by: Mike Frysinger <vapier@google.com> Tested-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
* launcher: add a requirements framework to declare version dependenciesMike Frysinger2021-01-191-0/+57
Currently we don't have a way for the checked out repo version to declare the version of tools it needs before we start running it. For somethings, like git, it's not a big deal as it can handle all the asserts itself. But for things like Python, it's impossible to reliably check before executing. We're in this state now: - we've been allowing Python 3.4, so the launcher accepts it - the repo codebase starts using Python 3.6 features - launcher tries to import us but hits syntax errors - user is left confused and assuming new repo is broken because they're seeing syntax errors This scenario is playing out with old launchers that still accept Python 2, and will continue to play out as time goes on and we want to require newer versions of Python 3. Lets create a JSON file to declare all these system requirements. That file format is extremely stable, so loading & parsing from even ancient versions of Python shouldn't be a problem. Then the launcher can read these settings and check the system state before attempting to execute any code. If the tools are too old, it can clearly diagnose & display information to the user as to the real problem (and not emit tracebacks or syntax errors). We have a couple of different tool version checks already (git, python, ssh) and can harmonize them in a single place. This also allows us to assert a reverse dependency if the need ever comes up: force the user to upgrade their `repo` launcher before we'll let them run us. Even though the launcher warns whenever a newer release is available, some users seem to ignore that, or they don't use repo that often (on the scale of years), and their upgrade jump is so dramatic that they fall back into the syntax error pit. Hopefully by the end of the year we can assume enough people have upgraded their launcher such that we can delete all of the duplicate version checks in the codebase. But until then, we'll keep them to maintain coverage. Change-Id: I5c12bbffdfd0a8ce978f39aa7f4674026fe9f4f8 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/293003 Reviewed-by: Michael Mortensen <mmortensen@google.com> Tested-by: Mike Frysinger <vapier@google.com>