Support file:// mirrors

Spawns a simple HTTP server to host the mirror.
Useful for testing mirror support or CI in chroot or bwrap modes.
This commit is contained in:
fosslinux 2025-01-12 12:54:31 +11:00
parent ce1522db64
commit 7d50a224c6
4 changed files with 59 additions and 10 deletions

View file

@ -12,7 +12,7 @@ import shutil
import subprocess
import sys
def run(*args, **kwargs):
def run(*args, cleanup=None, **kwargs):
"""A small wrapper around subprocess.run"""
arguments = [str(arg) for arg in args if arg is not None]
@ -23,6 +23,8 @@ def run(*args, **kwargs):
return subprocess.run(arguments, check=True, **kwargs)
except subprocess.CalledProcessError:
print("Bootstrapping failed")
if cleanup:
cleanup()
sys.exit(1)
def run_as_root(*args, **kwargs):