1
1
# APK
2
- export PACKAGER_PRIVKEY ?= $(CURDIR)/../../key.rsa
2
+
3
+
4
+ ifeq ($(CI),)
5
+ export PACKAGER_PRIVKEY_DIR ?= /packages/apk
6
+ export PACKAGER ?=
[email protected]
7
+ export PACKAGER_PRIVKEY ?= $(PACKAGER_PRIVKEY_DIR)/$(PACKAGER).rsa
8
+ export PACKAGER_PUBKEY ?= $(APK_PACKAGES_PATH)/$(PACKAGER).rsa.pub
9
+ export PACKAGER_PUBKEY_INSTALLED ?= /etc/apk/keys/$(PACKAGER).rsa.pub
10
+
11
+ $(PACKAGER_PRIVKEY) localkey:
12
+ openssl genrsa -out $(PACKAGER_PRIVKEY) 2048
13
+
14
+ $(PACKAGER_PUBKEY): $(PACKAGER_PRIVKEY)
15
+ mkdir -p $(APK_PACKAGES_PATH)
16
+ chmod 777 $(APK_PACKAGES_PATH)
17
+ openssl rsa -in $(PACKAGER_PRIVKEY) -pubout > $(PACKAGER_PUBKEY)
18
+
19
+ $(PACKAGER_PUBKEY_INSTALLED): $(PACKAGER_PUBKEY)
20
+ chmod 666 $(PACKAGER_PRIVKEY) $(PACKAGER_PUBKEY)
21
+ cp $(PACKAGER_PUBKEY) $(PACKAGER_PUBKEY_INSTALLED)
22
+
23
+ endif
24
+
3
25
export APK_TEMPLATE_PATH ?= ../../apk/templates/
4
26
export APK_BUILD_TEMPLATE ?= APKBUILD.github-binary
5
27
export APK_PACKAGES_PATH ?= /tmp/packages
@@ -26,23 +48,31 @@ apk/build:
26
48
cd $(APK_TMP_DIR) && \
27
49
sudo -E -H -u nobody abuild -c -r -P $(APK_PACKAGES_PATH)
28
50
51
+ apk/testinstall:
52
+ @echo '* Verify package can be installed:'
53
+ apk add --virtual buildtest $(APK_PACKAGE)
54
+ @echo '* Verify package can be uninstalled:'
55
+ apk del buildtest
56
+
29
57
apk/clean:
30
58
@find $(APK_PACKAGES_PATH) -type f -name APKINDEX.tar.gz -delete
59
+ apk del buildtest || true
31
60
rm -rf $(APK_TMP_DIR)
32
61
mkdir -p $(APK_TMP_DIR)
33
62
34
63
apk/reset:
64
+ apk del buildtest || true
35
65
rm -rf $(APK_PACKAGE)
36
66
37
67
.PHONY : apk
38
- apk: $(APK_PACKAGE)
68
+ apk: $(PACKAGER_PRIVKEY) $(PACKAGER_PUBKEY_INSTALLED) $( APK_PACKAGE)
39
69
@exit 0
40
70
41
71
# Rebuild the `.apk` when it's older than the Makefile, VERSION, or RELEASE files
42
72
$(APK_PACKAGE): Makefile VERSION RELEASE
43
73
@echo "Building $@"
44
74
ls -l $@ Makefile VERSION RELEASE || true
45
- $(MAKE) info apk/prepare apk/checksum apk/build apk/clean
75
+ $(MAKE) info apk/prepare apk/checksum apk/build apk/testinstall apk/ clean
46
76
47
77
package/prepare::
48
78
@exit 0
0 commit comments