diff --git a/releases/debian.json b/releases/debian.json index 37ec142c..980d71eb 100644 --- a/releases/debian.json +++ b/releases/debian.json @@ -1,4 +1,5 @@ { + "10": "2019-07-06", "10.1": "2019-09-07", "10.10": "2021-06-19", "10.11": "2021-10-09", @@ -12,6 +13,7 @@ "10.7": "2020-12-05", "10.8": "2021-02-06", "10.9": "2021-03-27", + "11": "2021-08-14", "11.1": "2021-10-09", "11.2": "2021-12-18", "11.3": "2022-03-26", @@ -54,6 +56,7 @@ "5.0.7": "2010-11-27", "5.0.8": "2011-01-22", "5.0.9": "2011-10-01", + "6.0": "2011-02-06", "6.0.1": "2011-03-19", "6.0.10": "2014-07-19", "6.0.2": "2011-06-25", @@ -64,6 +67,7 @@ "6.0.7": "2013-02-23", "6.0.8": "2013-10-20", "6.0.9": "2014-02-15", + "7.0": "2013-05-04", "7.1": "2013-06-15", "7.10": "2016-04-02", "7.11": "2016-06-04", @@ -75,6 +79,7 @@ "7.7": "2014-10-18", "7.8": "2015-01-10", "7.9": "2015-09-05", + "8": "2015-04-25", "8.1": "2015-06-06", "8.10": "2017-12-09", "8.11": "2018-06-23", @@ -86,6 +91,7 @@ "8.7": "2017-01-14", "8.8": "2017-05-06", "8.9": "2017-07-22", + "9": "2017-06-17", "9.1": "2017-07-22", "9.10": "2019-09-07", "9.11": "2019-09-08", diff --git a/src/debian.py b/src/debian.py index 2095e30a..4e8f7e79 100644 --- a/src/debian.py +++ b/src/debian.py @@ -30,8 +30,30 @@ def clone_repository(): ret_code = call(f"git {git_opts} pull --depth 1 origin master", shell=True) exit(-ret_code) if ret_code < 0 else None +def extract_major_releases(releases): + child = subprocess.Popen( + f"grep -RhE -A 1 'Debian [0-9]+.+ released' {REPO_DIR}/english/News " + f"| cut -d '<' -f 2 " + f"| cut -d '>' -f 2 " + f"| grep -v -- '--'", + shell=True, stdout=subprocess.PIPE) + output = child.communicate()[0].decode('utf-8') -def extract_releases(): + is_release_line = True + version = None + for line in output.split('\n'): + if line: + if is_release_line: + version = line.split(" ")[1] + is_release_line = False + else: + date = line + print(f"{date} : {version}") + releases[version] = date + is_release_line = True + + +def extract_point_releases(releases): child = subprocess.Popen( f"grep -Rh -B 10 '' {REPO_DIR}/english/News " "| grep -Eo '(release_date>(.*)<|revision>(.*)<)' " @@ -42,7 +64,6 @@ def extract_releases(): shell=True, stdout=subprocess.PIPE) output = child.communicate()[0].decode('utf-8') - releases = {} for line in output.split('\n'): if line: parts = line.split(' ') @@ -51,17 +72,18 @@ def extract_releases(): print(f"{date} : {version}") releases[version] = date - return dict(sorted(releases.items())) - def main(): print(f"::group::{PRODUCT}") clone_repository() - releases = extract_releases() + + releases = {} + extract_major_releases(releases) + extract_point_releases(releases) print("::endgroup::") with open(f"releases/{PRODUCT}.json", "w") as f: - f.write(json.dumps(releases, indent=2)) + f.write(json.dumps(dict(sorted(releases.items())), indent=2)) if __name__ == '__main__':