qubes-builder-devuan/Makefile.toml
Jacob Hrbek 1b05764ccf
Initial commit
Signed-off-by: Jacob Hrbek <kreyren@member.fsf.org>
2020-12-09 13:34:38 +01:00

90 lines
3.1 KiB
INI

# This is a cargo-make file used to manage the repository
# FIXME-VSCODIUM(Krey): Add configuration to install 'Even Better TOML' for this repository only
[config]
default_task_name = "default"
[env]
# FIXME-QA(Krey): Set this to the '$PWD/build'
# FIXME-QA(Krey): Duplicate code
BUILD = { value = "/home/user/Repositories/qubes-template-devuan/build", condition = { env_not_set = ["/home/user/Repositories/qubes-template-devuan/build"] } }
# DNM(Krey): Deduce why HOME is not available in tasks
HOME = "/home/user"
# Codename handling
devuan-stable-codename = "beowulf"
devuan-testing-codename = "chimaera"
# Command overrides
DEBOOTSTRAP = "debootstrap"
[tasks.build]
description = "Build all targets"
# DNM(Krey): This doesn't work -> Figure out how to get it to execute tasks prefixed with `build`
dependencies = [
"build-devuan-stable-minimal",
"build-devuan-testing-minimal"
]
# FIXME-CROSS(Krey): How can we builds this on Windows?
# FIXME-CROSS(Krey): How can we builds this on Darwin?
# FIXME-CROSS(Krey): How can we builds this on Redox?
# FIXME-CROSS(Krey): How can we builds this on FreeBSD?
[tasks.build-devuan-stable-minimal]
description = "Creates a devuan stable userland in build directory"
category = "core"
# FIXME-QA(Krey): Implement handling for privileged execution (https://github.com/sagiegurari/cargo-make/issues/501)
command = "${DEBOOTSTRAP}"
args = [
"--arch=amd64",
"--variant=minbase",
"--no-merged-usr",
# FIXME-QA(Krey): Expecting double-quottes that are not interpreted
"--cache-dir=${HOME}/.cache",
# DNM(Krey): On non-devuan systems we need devuan's GPG set, using no-check for testing
"--no-check-gpg",
"${devuan-stable-codename }",
"${BUILD}/devuan/${devuan-stable-codename }",
# FIXME-PRIVACY(Krey): Use tor here
"http://deb.devuan.org/merged"
]
# FIXME-QA(Krey): Duplicate code
# FIXME-CROSS(Krey): How can we builds this on Windows?
# FIXME-CROSS(Krey): How can we builds this on Darwin?
# FIXME-CROSS(Krey): How can we builds this on Redox?
# FIXME-CROSS(Krey): How can we builds this on FreeBSD?
[tasks.build-devuan-testing-minimal]
description = "Creates a devuan stable userland in build directory"
category = "core"
# FIXME-QA(Krey): Implement handling for privileged execution (https://github.com/sagiegurari/cargo-make/issues/501)
command = "debootstrap"
args = [
"--arch=amd64",
"--variant=minbase",
"--no-merged-usr",
# FIXME-QA(Krey): Expecting double-quottes that are not interpreted
"--cache-dir=${HOME}/.cache",
# DNM(Krey): On non-devuan systems we need devuan's GPG set, using no-check for testing
"--no-check-gpg",
"${devuan-stable-release}",
"${BUILD}/devuan/${devuan-stable-release}",
# FIXME-PRIVACY(Krey): Use The Onion Routing here
"http://deb.devuan.org/merged"
]
# DNM(Krey): Package for fedora-32 GNU/Linux
# DNM(Krey): Package for devuan GNU/Linux
# DNM(Krey): Package for enoch-based e.g. Argent Linux GNU/Linux
# DNM(Krey): Package for Arch GNU/Linux
# FIXME-CROSS(Krey): Translate in duckscript (https://github.com/sagiegurari/duckscript/issues/147)
[tasks.clean]
description = "Remove temporary directories"
script = '''
#!/bin/sh
[ ! -d "${BUILD}" ] || rm -r "${BUILD}"
'''