lifi/Justfile

38 lines
1.1 KiB
Makefile
Raw Permalink Normal View History

2025-07-31 23:12:56 -06:00
alias dev := devcontainer
alias t := transaction
workdir := `pwd`
basename := `basename $(pwd)`
dockerfile := '.devcontainer/Dockerfile'
container := basename + '-devcontainer'
uid := `id -u`
gid := `id -g`
image := container + '-img'
ssh_key := env('HOME') + '/.ssh/id_rsa.pub'
# for use in dev container
build:
mkdir -p build
cd build && cmake .. && make
# test a transaction
transaction:
docker exec -u root -it {{container}} dnf reinstall libdnf5 --setopt=pluginpath=build/src \
--setopt=pluginconfpath=src -y
clean:
docker container stop {{container}} || :
docker container rm {{container}} || :
docker image rm {{image}} || :
rm -rf build
# (re)start Docker dev container
devcontainer:
(docker container ls --all | grep -q {{container}} && docker container stop {{container}} \
&& docker container rm {{container}}) || :
docker build --secret id=key,src={{ssh_key}} --build-arg UID={{uid}} --build-arg GID={{gid}} \
--build-arg BASENAME={{basename}} -t {{image}} -f {{dockerfile}} .
docker container create --name {{container}} -v {{workdir}}:/volume/{{basename}} \
-p 2222:2222 {{image}}
docker container start {{container}}