aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/obs/lib/binpkg_deb.py
blob: b26623c8c7064d69dc6e424098f5d9ea109dc888 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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)