podman

Форк
0
71 строка · 2.3 Кб
1
SHELL := bash
2

3
ARCH ?= aarch64
4
ifeq ($(ARCH), aarch64)
5
	GOARCH:=arm64
6
else
7
	GOARCH:=$(ARCH)
8
endif
9
GVPROXY_VERSION ?= 0.7.3
10
VFKIT_VERSION ?= 0.5.1
11
GVPROXY_RELEASE_URL ?= https://github.com/containers/gvisor-tap-vsock/releases/download/v$(GVPROXY_VERSION)/gvproxy-darwin
12
VFKIT_RELEASE_URL ?= https://github.com/crc-org/vfkit/releases/download/v$(VFKIT_VERSION)/vfkit-unsigned
13
PACKAGE_DIR ?= out/packaging
14
TMP_BIN ?= tmp-bin
15
PACKAGE_ROOT ?= root
16
PKG_NAME := podman-installer-macos-$(GOARCH).pkg
17

18
default: pkginstaller
19

20
podman_version:
21
	make -B -C ../../ test/version/version
22

23
$(TMP_BIN)/gvproxy:
24
	mkdir -p $(TMP_BIN)
25
	cd $(TMP_BIN) && curl -sLo gvproxy $(GVPROXY_RELEASE_URL)
26

27
$(TMP_BIN)/vfkit:
28
	mkdir -p $(TMP_BIN)
29
	cd $(TMP_BIN) && curl -sLo vfkit $(VFKIT_RELEASE_URL)
30

31
packagedir: podman_version package_root Distribution welcome.html
32
	mkdir -p $(PACKAGE_DIR)
33
	cp -r Resources $(PACKAGE_DIR)/
34
	cp welcome.html $(PACKAGE_DIR)/Resources/
35
	cp Distribution $(PACKAGE_DIR)/
36
	cp -r scripts $(PACKAGE_DIR)/
37
	cp -r $(PACKAGE_ROOT) $(PACKAGE_DIR)/
38
	cp package.sh $(PACKAGE_DIR)/
39
	cd $(PACKAGE_DIR) && pkgbuild --analyze --root ./root component.plist
40
	../../test/version/version > $(PACKAGE_DIR)/VERSION
41
	echo -n $(ARCH) > $(PACKAGE_DIR)/ARCH
42
	cp ../../LICENSE $(PACKAGE_DIR)/Resources/LICENSE.txt
43
	cp vfkit.entitlements $(PACKAGE_DIR)/
44

45
package_root: clean-pkgroot $(TMP_BIN)/gvproxy $(TMP_BIN)/vfkit
46
	mkdir -p $(PACKAGE_ROOT)/podman/bin
47
	cp $(TMP_BIN)/gvproxy $(PACKAGE_ROOT)/podman/bin/
48
	cp $(TMP_BIN)/vfkit $(PACKAGE_ROOT)/podman/bin/
49
	chmod a+x $(PACKAGE_ROOT)/podman/bin/*
50
	# Leaving for future considerations
51
	# mkdir $(PACKAGE_ROOT)/podman/config
52
	# cp ../../pkg/machine/ocipull/policy.json $(PACKAGE_ROOT)/podman/config/policy.json
53

54
%: %.in podman_version
55
	@sed -e 's/__VERSION__/'$(shell ../../test/version/version)'/g' $< >$@
56

57
pkginstaller: packagedir
58
	cd $(PACKAGE_DIR) && ./package.sh ..
59

60
_notarize: pkginstaller
61
	xcrun notarytool submit --apple-id $(NOTARIZE_USERNAME) --password $(NOTARIZE_PASSWORD) --team-id=$(NOTARIZE_TEAM) -f json --wait out/$(PKG_NAME)
62

63
notarize: _notarize
64
	xcrun stapler staple out/$(PKG_NAME)
65

66
.PHONY: clean clean-pkgroot
67
clean:
68
	rm -rf $(TMP_BIN) $(PACKAGE_ROOT) $(PACKAGE_DIR) out Distribution welcome.html ../../test/version/version
69

70
clean-pkgroot:
71
	rm -rf $(PACKAGE_ROOT) $(PACKAGE_DIR) Distribution welcome.html
72

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.