X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=packer%2FMakefile;h=6a94be0f9e0d02181e9add275313f76ce12e7284;hp=e3b57f9352e4db6132005b6ce533d93cc77d1ea7;hb=refs%2Fheads%2Fmaster;hpb=45b4746a0ac2eebe631be0466fc62741c32744f8 diff --git a/packer/Makefile b/packer/Makefile index e3b57f9..8a79a1e 100644 --- a/packer/Makefile +++ b/packer/Makefile @@ -1,28 +1,49 @@ -compile: fake-uname.so - GRML_DEBOOTSTRAP_VERSION=latest +GRML_DEBOOTSTRAP_LOCAL_PATH=$(shell pwd)/local_dir -fake-uname.so: - gcc -shared -fPIC -ldl fake-uname.c -o fake-uname.so +CFLAGS ?= -ggdb -O2 -Wall -Wextra -Wno-unused-parameter +CFLAGS += -fPIC -fvisibility=hidden +LDLIBS ?= +LDLIBS += -ldl -# Debian 9 -stretch: fake-uname.so - packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) debian64.json +PLUGIN = fake-uname.so -# Debian 8 -jessie: fake-uname.so - packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) debian64.json +$(PLUGIN): fake-uname.c + $(CC) $(CFLAGS) $(LDFLAGS) $< $(LDLIBS) -o $@ -shared + +UNAME_CHECK = LD_PRELOAD="$(CURDIR)/$(PLUGIN)" uname + +check: $(PLUGIN) + echo "$(UNAME_CHECK)" + test "0.0.0" = "$(shell $(UNAME_CHECK) -r)" + test "1.2.3" = "$(shell UTS_RELEASE="1.2.3" $(UNAME_CHECK) -r)" + +install: + cd .. && make DESTDIR=packer/local_dir install -# Debian 7 -wheezy: fake-uname.so - packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) debian64.json +clean: + $(RM) *.o *.so + rm -rf local_dir -# Debian 6.0 -squeeze: fake-uname.so - packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) debian64.json +# Debian 12 +bookworm: clean fake-uname.so install + packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) -var grml_debootstrap_local_path=$(GRML_DEBOOTSTRAP_LOCAL_PATH) debian64.json -# Debian 5.0 -lenny: fake-uname.so - packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) debian64.json +# Debian 11 +bullseye: clean fake-uname.so install + packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) -var grml_debootstrap_local_path=$(GRML_DEBOOTSTRAP_LOCAL_PATH) debian64.json + +# Debian 10 +buster: clean fake-uname.so install + packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) -var grml_debootstrap_local_path=$(GRML_DEBOOTSTRAP_LOCAL_PATH) debian64.json + +# Debian 9 +stretch: clean fake-uname.so install + packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) -var grml_debootstrap_local_path=$(GRML_DEBOOTSTRAP_LOCAL_PATH) debian64.json + +# Debian 8 +jessie: clean fake-uname.so install + packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) -var grml_debootstrap_local_path=$(GRML_DEBOOTSTRAP_LOCAL_PATH) debian64.json -.PHONY: compile stretch jessie wheezy squeeze lenny +.PHONY: compile bullseye buster stretch jessie +.NOTPARALLEL: