# 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}" '''