diff --git a/rebase-scripts/analyse-missing-packages.py b/rebase-scripts/analyse-missing-packages.py index 3d5408116381c02b6a4fc8efe88b661924e85a53..9b0e1b3e713f512d88622f4543dd58bd9a64dd1b 100755 --- a/rebase-scripts/analyse-missing-packages.py +++ b/rebase-scripts/analyse-missing-packages.py @@ -52,7 +52,7 @@ class Analyser: return component - def analyse_package(self, package, target, debian, trigger_trivial = False): + def analyse_package(self, package, target, debian, trigger_trivial = False, label = None): logging.debug(f"Analysing {package}") package = RENAMED.get(package, package) logging.debug(f"Analysing {package}") @@ -67,6 +67,14 @@ class Analyser: for mr in project.mergerequests.list(iterator=True, lazy=True): if mr.target_branch == target and mr.state == 'opened': logging.info(f"{project.web_url} has an open MR - {mr.web_url}") + if label: + if label == "!": + mr.labels = [] + elif label.startswith("!") and label[1:] in mr.labels: + mr.labels.remove(label[1:]) + else: + mr.labels.append(label) + mr.save() return try: @@ -148,13 +156,16 @@ if __name__ == "__main__": default = 'debian/trixie', help = 'Debian upstream branch to use') parser.add_argument('--apertis-target-branch', - default = 'apertis/v2026dev0', + default = 'apertis/v2026dev2', help = 'Debian upstream branch to use') parser.add_argument('missing', help = "Be quiet and results as json") parser.add_argument('--group', default = 'pkg', help = 'Gitlab group were package are stored') + parser.add_argument('--label', + default = '', + help = 'Apply a label to the MR if present') args = parser.parse_args() logging.basicConfig(format='%(asctime)s %(message)s', @@ -166,4 +177,4 @@ if __name__ == "__main__": missing = open(args.missing); for l in missing.readlines(): package = l.rstrip(); - a.analyse_package(package, args.apertis_target_branch, args.debian_branch, args.trigger_trivial) + a.analyse_package(package, args.apertis_target_branch, args.debian_branch, args.trigger_trivial, args.label)