Files
dokku/contrib/update-deb-dependencies
Jose Diaz-Gonzalez 934a6b5cd5 feat: manage Dokku system dependencies in a single file
This will allow us to more quickly update a dependency by adding support so that downstream repos can auto-push updates to the main repo when there is a release.
2023-10-14 03:49:25 -04:00

33 lines
968 B
Python
Executable File

#!/usr/bin/env python3
import json
def main():
"""
updates the control file with the tested debian dependencies
"""
deps = {}
with open("contrib/dependencies.json", encoding="utf-8") as handle:
deps = json.load(handle)
control_lines = []
with open("debian/control", encoding="utf-8") as handle:
control_lines = [line for line in handle.readlines()]
for key in ["dependencies", "predependencies", "recommendations"]:
for dependency in deps[key]:
name = dependency["name"]
version = dependency["version"]
for i, line in enumerate(control_lines):
if name in line:
control_lines[i] = control_lines[i].replace(
name, f"{name} (>= {version})"
)
with open("debian/control", mode="w", encoding="utf-8") as handle:
handle.writelines(control_lines)
if __name__ == "__main__":
main()