Factory/.obs/add_package.py
Nicolas Belouin cf3153e074 Sync metadata, revamp PR jobs
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
(cherry picked from commit d6d501ad99137d3d17d3950e48ea768f0c0848d6d48fbb0f3cf05769ea7285c0)
(cherry picked from commit 4d824b71cc20b0ab2b5292d78ac8d79c3046b48fa5b70a1c805252f32e491827)
(cherry picked from commit 0d3c83fca159371618bee443a192b3b78adc5465ace6a457e5100a0ca334e1d0)
(cherry picked from commit 5a73d61002b63c37b7c204a1d01bf712e892fee5bbcc41e83635c4b633215fa3)
(cherry picked from commit 34687fb5e96509bcd109122a5b4ea3dac33b1a7d0190a41ff7aa8fa61be968e3)
(cherry picked from commit 4a99805fde33bf70d8826d050e3eb8e1403dc3dd1feae7d5c08692e03c889317)
(cherry picked from commit 331f08255c04109ba40a9ee6c1cfe95f6e4202c734c33a6c818f70a3bd395171)
(cherry picked from commit 3dea69443d4b33dd453537e2ca5bd6b11bfbb58c818bca2f3b5095e5a7a8bc3e)
(cherry picked from commit d97e434fcef181dcfce05e1a633c1bd802ca369820cfb4fbfeac716cc7b4eea3)
(cherry picked from commit 9e41ee25d9dc356caf7484e62dc447402b4c235a454d4004709dfd7975d439a4)
(cherry picked from commit 8f20b3433e0a9f9a3222e561ecd43462828a6a40c76c2b957e4cd75a393b04d7)
2025-02-24 16:00:18 +01:00

47 lines
1.0 KiB
Python
Executable File

#!/usr/bin/env python3
import subprocess
import argparse
import os
import os.path
from common import PROJECT, REPOSITORY, BRANCH
def add_package_to_project(name: str):
package_meta = f"""<package name="{name}" project="{PROJECT}">
<title/>
<description/>
<scmsync>{REPOSITORY}?subdir={name}#{BRANCH}</scmsync>
</package>"""
p = subprocess.run(["osc", "meta", "pkg", "-F", "-", PROJECT, name], input=package_meta, encoding='utf-8' , stdout=subprocess.PIPE)
print(p.stdout)
print(p.stderr)
p.check_returncode()
def add_package(package_name: str):
if "/" in package_name:
print("invalid package name")
os.exit(1)
if not os.path.isdir(package_name):
print("package doesn't exist in this directory")
os.exit(1)
add_package_to_project(package_name)
def main():
parser = argparse.ArgumentParser(prog="add_package")
parser.add_argument("package")
args = parser.parse_args()
add_package(args.package)
print("Package created in OBS !")
if __name__ == '__main__':
main()