mirror of
https://github.com/containers/bootc.git
synced 2026-02-05 06:45:13 +01:00
Let's ensure these directories exist by default, because we want people to drop things there - and having to create the directory in derived images invites typos. Signed-off-by: Colin Walters <walters@verbum.org>
57 lines
2.0 KiB
Makefile
57 lines
2.0 KiB
Makefile
prefix ?= /usr
|
|
|
|
SOURCE_DATE_EPOCH ?= $(shell git log -1 --pretty=%ct)
|
|
# https://reproducible-builds.org/docs/archives/
|
|
TAR_REPRODUCIBLE = tar --mtime="@${SOURCE_DATE_EPOCH}" --sort=name --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime
|
|
|
|
all:
|
|
cargo build --release
|
|
|
|
install:
|
|
install -D -m 0755 -t $(DESTDIR)$(prefix)/bin target/release/bootc
|
|
install -d -m 0755 $(DESTDIR)$(prefix)/lib/bootc-experimental/bound-images.d
|
|
install -d -m 0755 $(DESTDIR)$(prefix)/lib/bootc/kargs.d
|
|
install -d -m 0755 $(DESTDIR)$(prefix)/lib/systemd/system-generators/
|
|
ln -f $(DESTDIR)$(prefix)/bin/bootc $(DESTDIR)$(prefix)/lib/systemd/system-generators/bootc-systemd-generator
|
|
install -d $(DESTDIR)$(prefix)/lib/bootc/install
|
|
# Support installing pre-generated man pages shipped in source tarball, to avoid
|
|
# a dependency on pandoc downstream. But in local builds these end up in target/man,
|
|
# so we honor that too.
|
|
for d in man target/man; do \
|
|
if test -d $$d; then \
|
|
install -D -m 0644 -t $(DESTDIR)$(prefix)/share/man/man5 $$d/*.5; \
|
|
install -D -m 0644 -t $(DESTDIR)$(prefix)/share/man/man8 $$d/*.8; \
|
|
fi; \
|
|
done
|
|
install -D -m 0644 -t $(DESTDIR)/$(prefix)/lib/systemd/system systemd/*.service systemd/*.timer
|
|
|
|
install-with-tests: install
|
|
install -D -m 0755 target/release/tests-integration $(DESTDIR)$(prefix)/bin/bootc-integration-tests
|
|
|
|
bin-archive: all
|
|
$(MAKE) install DESTDIR=tmp-install && $(TAR_REPRODUCIBLE) --zstd -C tmp-install -cf target/bootc.tar.zst . && rm tmp-install -rf
|
|
|
|
test-bin-archive: all
|
|
$(MAKE) install-with-tests DESTDIR=tmp-install && $(TAR_REPRODUCIBLE) --zstd -C tmp-install -cf target/bootc.tar.zst . && rm tmp-install -rf
|
|
|
|
test-tmt:
|
|
cargo xtask test-tmt
|
|
|
|
# Checks extra rust things (formatting and select clippy lints)
|
|
validate-rust:
|
|
cargo fmt -- --check -l
|
|
cargo clippy -- -D clippy::correctness -D clippy::suspicious
|
|
.PHONY: validate-rust
|
|
|
|
validate: validate-rust
|
|
ruff check
|
|
.PHONY: validate
|
|
|
|
vendor:
|
|
cargo xtask $@
|
|
.PHONY: vendor
|
|
|
|
package-rpm:
|
|
cargo xtask $@
|
|
.PHONY: package-rpm
|