aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/obs/lib/binpkg_rpm.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/obs/lib/binpkg_rpm.py')
-rw-r--r--scripts/obs/lib/binpkg_rpm.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/scripts/obs/lib/binpkg_rpm.py b/scripts/obs/lib/binpkg_rpm.py
new file mode 100644
index 0000000..b26623c
--- /dev/null
+++ b/scripts/obs/lib/binpkg_rpm.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python3
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright 2022 sysmocom - s.f.m.c. GmbH <info@sysmocom.de>
+import os
+import glob
+import lib.config
+
+
+def extract_source(srcdir, bindir):
+ tarball = glob.glob(f"{srcdir}/*.tar.*")[0]
+
+ print(f"extracting {os.path.basename(tarball)}")
+ lib.run_cmd(["tar", "-xf", tarball], cwd=bindir)
+
+ return glob.glob(f"{bindir}/*/")[0]
+
+
+def build(srcdir, jobs):
+ bindir = f"{lib.config.path_temp}/binpkg"
+ extractdir = extract_source(srcdir, bindir)
+
+ lib.set_cmds_verbose(True)
+
+ # install deps
+ lib.run_cmd(["apt-get", "-y", "build-dep", "."], cwd=extractdir)
+
+ print("running dpkg-buildpackage")
+ lib.run_cmd(["dpkg-buildpackage", "-us", "-uc", f"-j{jobs}"],
+ cwd=extractdir)