What is up, people of the multiverse?
I've merged Kupferbootstrap and PKGBUILDs merge requests into dev
!
I consider this v0.2.0rc0.
This release will take some manual intervention to update!
The eagle-eyed among you might spot some barely edited paragraphs from the last post in here.
Coming up: both how to migrate to main
to stay on v0.1.5 and how to migrate to dev
for the new v0.2.0rc0.
sudo
to escalate when necessary.
This mostly means that pkgbuilds.git
will now be usable with regular git, inside and outside of Docker, also from your regular terminal.kupferbootstrap
now works well without the Docker wrapper on Arch Linux hosts, with one little caveat: it might install qemu-user-static and binfmt-qemu on your host.-W / --no-wrapper
flag or set type = "none"
in the [wrapper]
section of your KBS config.--no-wrapper
also makes the net ssh
and packages sideload
commands much more useful, since ssh-agent passthrough into Docker isn't implemented.-w / --force-wrapper
flag to force KBS to wrap in docker even when it hasn't yet or wouldn't have decided that it needs to wrap..srcinfo_meta.json
), because even a lot of parallel calls to makepkg --printsrcinfo
take kinda long if you run them every. single. execution. of KBS.prepare()
sources or not (srcinfo_initialised.json
)_mode=
is no longer necessary to build a PKGBUILD, making it easier to locally drop in 3rd party PKGBUILDs. kupferbootstrap packages check
will still fail on this though, so that we keep it explicit in our official Kupfer pkgbuilds.git._mode=
, we've introduced a new optional _nodeps=true
option in PKGBUILDs, to mark a package only needs their makedepends
during build time, speeding up builds of packages such as metapackages or configs.kupferbootstrap devices
and Kupferbootstrap flavours
respectively.kupfer-config
, a simple script to enable a bunch of services en masse, as specified by a number of packaged files, user overrideable. I'll write up some more info on it in a future post.* on gitlab.com public CI runners (flaky) or bring your own runner (preferred)
So, without further ado, let me present you with your two options:
main
branch (if you're unsure, read the linked instructions on how to change branches - you'll see what you have).main
, you will have to do this anyway, but more things might change along the way, dev
is short for development after all.
main
branch#If you want to remain on v0.1.5 for now, just follow the instructions in the last blog post
dev
branch#Once v0.2rc0 has hit dev
, the procedure for updating is similar, however, you should take some steps first:
sudo rm -rf ~/.cache/kupfer/pkgbuilds/*/*/{src,pkg}
chown
some things to your normal user and group:
sudo chown -R "$(whoami):$(id -g)" ~/.cache/kupfer/{packages,images,jumpdrive,pkgbuilds}
nano ~/.config/kupfer/kupferbootstrap.toml
.
kupferbootstrap config init -N
now and reopen the file.
[pkgbuilds]
section, set git_branch
to "dev"
[pacman]
section, set repo_branch
to "dev"
cd
) into your kupferbootstrap
directory, then run the following commands:
requirements.txt
are installed. Either consult the AUR or [create a venv and] run pip install -r requirements.txt
pkgbuilds
directory (~/.cache/kupfer/pkgbuilds
by default) and run the commands from the last step here too.If all of that succeeded, back up and regenerate your config, just in case: cp ~/.config/kupfer/kupferbootstrap.toml{,.premigration} && kupferbootstrap config init -N
Run kupferbootstrap packages update --discard-changes
.
Your repository should be on the dev
branch and already up to date.
pacman.conf
, e.g. sudo nano /etc/pacman.conf
, best done from a PC with SSH./dev/
, not /main/
, like so:
Change this for all the Kupfer repos.sudo pacman -Syu kupfer-config
.flavour-barebone
, flavour-debug-shell
, flavour-phosh
, or flavour-gnome
.sudo kupfer-config apply
. New since rc2: Also run sudo kupfer-config --user apply
It should be as simple as that. Yes, really.