mirror of
https://git.proxmox.com/git/fwupd
synced 2025-06-13 13:27:47 +00:00
trivial: ci: debian: Use helper script to install dependencies instead. (#4906)
* trivial: ci: debian: Use helper script to install dependencies instead. Should fix building Debian stable containers Fixes: #4901 * trivial: debian: ci: only populate fwupd-doc if dependencies are met * trivial: ci: debian: generate control file using fwupd_setup_helpers
This commit is contained in:
parent
639493259d
commit
a19b6f23e5
@ -4,5 +4,6 @@ ENV CI_NETWORK true
|
|||||||
RUN echo fubar > /etc/machine-id
|
RUN echo fubar > /etc/machine-id
|
||||||
%%%ARCH_SPECIFIC_COMMAND%%%
|
%%%ARCH_SPECIFIC_COMMAND%%%
|
||||||
%%%INSTALL_DEPENDENCIES_COMMAND%%%
|
%%%INSTALL_DEPENDENCIES_COMMAND%%%
|
||||||
|
RUN apt install -yq --no-install-recommends python3-apt
|
||||||
WORKDIR /github/workspace
|
WORKDIR /github/workspace
|
||||||
CMD ["./contrib/ci/debian.sh"]
|
CMD ["./contrib/ci/debian.sh"]
|
||||||
|
@ -6,14 +6,12 @@
|
|||||||
#
|
#
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import xml.etree.ElementTree as etree
|
from fwupd_setup_helpers import get_build_dependencies
|
||||||
|
|
||||||
|
|
||||||
def parse_control_dependencies(requested_type):
|
def parse_control_dependencies(requested_type):
|
||||||
TARGET = os.getenv("OS")
|
TARGET = os.getenv("OS")
|
||||||
QUBES = os.getenv("QUBES")
|
QUBES = os.getenv("QUBES")
|
||||||
deps = []
|
|
||||||
dep = ""
|
|
||||||
|
|
||||||
if TARGET == "":
|
if TARGET == "":
|
||||||
print("Missing OS environment variable")
|
print("Missing OS environment variable")
|
||||||
@ -33,56 +31,7 @@ def parse_control_dependencies(requested_type):
|
|||||||
|
|
||||||
SUBOS = platform.machine()
|
SUBOS = platform.machine()
|
||||||
|
|
||||||
tree = etree.parse(os.path.join(os.path.dirname(sys.argv[0]), "dependencies.xml"))
|
return get_build_dependencies(OS, SUBOS), QUBES
|
||||||
root = tree.getroot()
|
|
||||||
for child in root:
|
|
||||||
if not "type" in child.attrib or not "id" in child.attrib:
|
|
||||||
continue
|
|
||||||
for distro in child:
|
|
||||||
if not "id" in distro.attrib:
|
|
||||||
continue
|
|
||||||
if distro.attrib["id"] != OS:
|
|
||||||
continue
|
|
||||||
control = distro.find("control")
|
|
||||||
if control is None:
|
|
||||||
continue
|
|
||||||
packages = distro.findall("package")
|
|
||||||
for package in packages:
|
|
||||||
if SUBOS:
|
|
||||||
if not "variant" in package.attrib:
|
|
||||||
continue
|
|
||||||
if package.attrib["variant"] != SUBOS:
|
|
||||||
continue
|
|
||||||
if package.text:
|
|
||||||
dep = package.text
|
|
||||||
else:
|
|
||||||
dep = child.attrib["id"]
|
|
||||||
if child.attrib["type"] == requested_type and dep:
|
|
||||||
version = control.find("version")
|
|
||||||
if version is not None:
|
|
||||||
dep = "%s %s" % (dep, version.text)
|
|
||||||
inclusions = control.findall("inclusive")
|
|
||||||
if inclusions:
|
|
||||||
for i in range(0, len(inclusions)):
|
|
||||||
prefix = ""
|
|
||||||
suffix = " "
|
|
||||||
if i == 0:
|
|
||||||
prefix = " ["
|
|
||||||
if i == len(inclusions) - 1:
|
|
||||||
suffix = "]"
|
|
||||||
dep = "%s%s%s%s" % (dep, prefix, inclusions[i].text, suffix)
|
|
||||||
exclusions = control.findall("exclusive")
|
|
||||||
if exclusions:
|
|
||||||
for i in range(0, len(exclusions)):
|
|
||||||
prefix = "!"
|
|
||||||
suffix = " "
|
|
||||||
if i == 0:
|
|
||||||
prefix = " [!"
|
|
||||||
if i == len(exclusions) - 1:
|
|
||||||
suffix = "]"
|
|
||||||
dep = "%s%s%s%s" % (dep, prefix, exclusions[i].text, suffix)
|
|
||||||
deps.append(dep)
|
|
||||||
return deps, QUBES
|
|
||||||
|
|
||||||
|
|
||||||
def update_debian_control(target):
|
def update_debian_control(target):
|
||||||
|
@ -71,7 +71,7 @@ with open("Dockerfile", "w") as wfd:
|
|||||||
if i < len(deps) - 1:
|
if i < len(deps) - 1:
|
||||||
wfd.write("\t%s \\\n" % deps[i])
|
wfd.write("\t%s \\\n" % deps[i])
|
||||||
else:
|
else:
|
||||||
wfd.write("\t%s \n" % deps[i])
|
wfd.write("\t%s || true\n" % deps[i])
|
||||||
elif line == "%%%ARCH_SPECIFIC_COMMAND%%%\n":
|
elif line == "%%%ARCH_SPECIFIC_COMMAND%%%\n":
|
||||||
if OS == "debian" and SUBOS == "s390x":
|
if OS == "debian" and SUBOS == "s390x":
|
||||||
# add sources
|
# add sources
|
||||||
|
@ -1 +0,0 @@
|
|||||||
usr/share/*doc
|
|
@ -63,6 +63,10 @@ override_dh_install:
|
|||||||
#install MSR conf if needed (depending on distro)
|
#install MSR conf if needed (depending on distro)
|
||||||
[ ! -d debian/tmp/usr/lib/modules-load.d ] || dh_install -pfwupd usr/lib/modules-load.d
|
[ ! -d debian/tmp/usr/lib/modules-load.d ] || dh_install -pfwupd usr/lib/modules-load.d
|
||||||
[ ! -d debian/tmp/lib/modules-load.d ] || dh_install -pfwupd lib/modules-load.d
|
[ ! -d debian/tmp/lib/modules-load.d ] || dh_install -pfwupd lib/modules-load.d
|
||||||
|
|
||||||
|
#install docs (maybe)
|
||||||
|
[ -d debian/usr/share/doc ] || dh_install -pfwupd-doc usr/share/doc
|
||||||
|
|
||||||
dh_missing -a --fail-missing
|
dh_missing -a --fail-missing
|
||||||
|
|
||||||
#this is placed in fwupd-tests
|
#this is placed in fwupd-tests
|
||||||
|
Loading…
Reference in New Issue
Block a user