- make deb
Bash scripting in Makefile guide:
1. Either set .ONESHELL:
(applies for all recipes) or write a single line
(by escaping with backslash at the end of the line)
2. Start every line with @ or it will print the line.
(with .ONESHELL:
or if you’re escaping that applies ONLY to the first line)
3. Use ${VAR} to use makefile variables and $$VAR for runtime/bash variables
4. Instead of $(cmd) for subshells you need to run $(shell eval “cmd”)
5. You can’t pass arguments. ie: make run build
will run make run
, then make build
What you should do instead is to set override the vars make run VAR=build
rm -rf dist/ulauncher_deb || true
(shell eval “command -v dpkg-buildpackage”)
tar --strip-components=1 -xvf dist/ulauncher-${VERSION}.tar.gz --one-top-level=dist/ulauncher_deb
tar --transform 's|^\.|ulauncher|' --exclude-vcs --exclude-ignore-recursive=.tarignore -zcf dist/ulauncher-${VERSION}.tar.gz .
if [ -z “$(FORCE)” ] && [ -d data/preferences ] && [ -z $(shell eval “find preferences-src -newer data/preferences -print -quit”) ] ;
exec D O C K E R B I N r u n − − r m − i t − v " {DOCKER_BIN} run \ --rm \ -it \ -v " DOCKERBINrun −−rm −it −v"{PWD}:/src/ulauncher V O L S U F F I X " − v " VOL_SUFFIX" \ -v " VOLSUFFIX" −v"HOME/.bash_history:/home/ulauncher/.bash_historyKaTeX parse error: Can't use function '$' in math mode at position 66: …\ "docker.io/$̲{DOCKER_IMAGE}"…SHELL_CMD";
apt update
apt install debhelper dh-python python3-all
3. dpkg -i *.dev
4. dpkt -r *