Package- and image building tool for Kupfer Linux. Documentation: https://kupfer.gitlab.io/kupferbootstrap
Find a file
2022-11-09 20:19:04 +01:00
.vscode Add formatting 2021-08-08 18:24:56 +02:00
bin Make main.py the main entrypoint again and call docker wrapper enforcement from cli() callback 2021-09-26 17:19:30 +02:00
chroot chroot.cmd_chroot(): call image.cmd_inspect() for type='rootfs' and clean up 2022-11-09 20:19:04 +01:00
config config: add listings of devices and flavours to config profile init aka prompt_profile() and --no-parse flag 2022-11-09 20:19:04 +01:00
distro distro.package: add Package.acquire() 2022-11-09 20:11:19 +01:00
docs docs: switch to copper-ish accent colours 2022-10-13 18:16:54 +02:00
exec exec: run_cmd() include cwd in debug log 2022-11-09 20:19:04 +01:00
local/bin Dockerfile: clean up pkgconfig-aarch64 leftover 2022-11-09 19:39:59 +01:00
packages packages.pkgbuild: add Pkgbuild.srcinfo_cache 2022-11-09 20:19:04 +01:00
wrapper wrapper/docker: create volume dirs ourselfes for better permissions and podman compat 2022-11-09 19:39:59 +01:00
.gitignore Initial commit 2021-08-04 18:36:37 +02:00
.gitlab-ci.yml pytest: move coverage flags from .gitlab-ci.yml to pytest.sh, add test_requirements.txt for pip 2022-11-09 20:19:04 +01:00
binfmt.py constants: add QEMU_ARCHES 2022-11-02 00:38:18 +01:00
boot.py boot: use get_profile_device.flash_pagesize for sector_size 2022-11-09 20:19:04 +01:00
cache.py use exec.file.{root_write_file,remove_file} where appropiate 2022-08-16 02:35:40 +02:00
constants.py packages: parse_pkgbuilds: cache makepkg --printsrcinfo output to SRCINFO, tie to PKGBUILD checksum in srcinfo_meta.json 2022-11-09 20:19:04 +01:00
dataclass.py dataclass: DataClass.tranform(): handle Optional dict/Munch items 2022-11-09 20:19:04 +01:00
Dockerfile Dockerfile: clean up pkgconfig-aarch64 leftover 2022-11-09 19:39:59 +01:00
fastboot.py small cleanups 2022-02-20 19:23:28 +01:00
flash.py image,flash: get sector size from deviceinfo 2022-11-09 20:11:20 +01:00
format.sh add shellscript for running pytest, shellcheck *.sh 2022-08-17 00:50:20 +02:00
forwarding.py ssh: make alloc_tty=True default for run_ssh_command() 2022-08-16 15:50:14 +02:00
generator.py chroot.mount_pacman_cache(): use /var/cache/pacman/pkg to avoid problems while pacstrapping, adjust pacman.conf generator 2022-11-09 20:19:04 +01:00
image.py image.cmd_build(): parse deviceinfo only after building the packages 2022-11-09 20:19:04 +01:00
LICENSE LICENSE: Add GPLv3 as was decided ages ago on Matrix. 2022-02-28 04:26:08 +01:00
logger.py logger.setup_logging(): add log_setup parameter to disable log output from setup 2022-08-15 06:17:26 +02:00
main.py global: refactor to use config.{file,runtime}.$member instead of config.file["$member"] 2022-11-09 19:39:59 +01:00
pytest.sh pytest: move coverage flags from .gitlab-ci.yml to pytest.sh, add test_requirements.txt for pip 2022-11-09 20:19:04 +01:00
README.md readme: point to online kupfer docs, use full config init instead of non-interactive 2022-11-09 20:19:04 +01:00
requirements.txt requirements.txt: add setuptools required by munch 2022-11-09 19:39:59 +01:00
setup.cfg Add formatting 2021-08-08 18:24:56 +02:00
ssh.py global: refactor to use config.{file,runtime}.$member instead of config.file["$member"] 2022-11-09 19:39:59 +01:00
telnet.py Add help strings to all click CMDs 2022-02-13 19:57:04 +01:00
test_requirements.txt pytest: move coverage flags from .gitlab-ci.yml to pytest.sh, add test_requirements.txt for pip 2022-11-09 20:19:04 +01:00
tox.ini tox.ini: specify maximum line length 2022-08-08 02:49:16 +02:00
typecheck.sh typecheck.sh: show error codes 2022-11-02 00:38:18 +01:00
utils.py utils.git(): default cwd to None instead of "." 2022-11-09 20:19:04 +01:00
version.txt Initial commit 2021-08-04 18:36:37 +02:00
wrapper_su_helper.py wrapper_su_helper.py: use su -P to allocate a pseudo-TTY 2022-11-09 19:39:59 +01:00

kupferbootstrap

Kupfer Linux bootstrapping tool - drives pacstrap, makepkg, chroot, mkfs and fastboot, just to name a few.

Documentation

Detailed docs for the main branch are available online at https://kupfer.gitlab.io/kupferbootstrap/

You can also build and view the docs locally:

cd docs/ && \
make && \
make serve

This will run a webserver on localhost:9999. Access it like firefox http://localhost:9999/

Installation

Install Docker, Python 3 with the libraries from requirements.txt and put bin/ into your PATH. Then use kupferbootstrap.

Quickstart

  1. Initialize config with defaults, configure your device and flavour: kupferbootstrap config init
  2. Build an image and packages along the way: kupferbootstrap image build

Development

Put dev into version.txt to always rebuild kupferboostrap from this directory and use kupferbootstrap as normal.