Package- and image building tool for Kupfer Linux. Documentation: https://kupfer.gitlab.io/kupferbootstrap
Find a file
InsanePrawn 11125e525f config: remove accidental scheme validation circumvention, improve errors, warn on config loading failure in main()
This will fail on values of the wrong type, but still warn about and allow unknown keys.
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
cache cache: move cache.py to new module cache/cli.py for uniformity 2022-11-09 20:19:04 +01:00
chroot implement explicit Optional type hints for =None parameters 2022-11-09 20:19:04 +01:00
config config: remove accidental scheme validation circumvention, improve errors, warn on config loading failure in main() 2022-11-09 20:19:04 +01:00
devices devices/test_deviceinfo.py: add test for deviceinfo python parser variant handling 2022-11-09 20:19:04 +01:00
distro implement explicit Optional type hints for =None parameters 2022-11-09 20:19:04 +01:00
docs docs: templates/command.rst: remove unnecessary $cmd.cmd_$cmd import as all cmds are moved to $cmd.cli.cmd_$cmd now. 2022-11-09 20:19:04 +01:00
exec implement explicit Optional type hints for =None parameters 2022-11-09 20:19:04 +01:00
flavours config: move code from __init__.py into cli.py 2022-11-09 20:19:04 +01:00
image implement explicit Optional type hints for =None parameters 2022-11-09 20:19:04 +01:00
local/bin Dockerfile: clean up pkgconfig-aarch64 leftover 2022-11-09 19:39:59 +01:00
net implement explicit Optional type hints for =None parameters 2022-11-09 20:19:04 +01:00
packages implement explicit Optional type hints for =None parameters 2022-11-09 20:19:04 +01:00
wrapper implement explicit Optional type hints for =None parameters 2022-11-09 20:19:04 +01:00
.gitignore .gitignore: add .coverage* 2022-11-09 20:19:04 +01:00
.gitlab-ci.yml .gitlab-ci.yml: pytest: install rsync and arch-install-scripts for cmd_build() 2022-11-09 20:19:04 +01:00
binfmt.py binfmt: fix up unnecessary shell and missing quoting at once 2022-11-09 20:19:04 +01:00
constants.py constants: switch archlinux x86 mirrors to https://geo.mirror.pkgbuild.com/$repo/os/$arch 2022-11-09 20:19:04 +01:00
dataclass.py dataclass: transform(): format types in error for wrong value type better 2022-11-09 20:19:04 +01:00
Dockerfile Dockerfile: clean up pkgconfig-aarch64 leftover 2022-11-09 19:39:59 +01:00
format.sh add shellscript for running pytest, shellcheck *.sh 2022-08-17 00:50:20 +02:00
generator.py implement explicit Optional type hints for =None parameters 2022-11-09 20:19:04 +01:00
integration_tests.py packages: clone_pkgbuilds() and friends: add discard_changes arg, use in integration_tests 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 config: remove accidental scheme validation circumvention, improve errors, warn on config loading failure in main() 2022-11-09 20:19:04 +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
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*(): use --git-dir=./.git to avoid "unsafe directory" issues 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: inject constants.WRAPPER_ENV_VAR into user env 2022-11-09 20:19:04 +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.