hc
2024-08-13 72be3801e63d82671c9d90577a9efb3126a6aa37
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
################################################################################
#
# balena-engine
#
################################################################################
 
BALENA_ENGINE_VERSION = 19.03.14
BALENA_ENGINE_SITE = $(call github,balena-os,balena-engine,v$(BALENA_ENGINE_VERSION))
 
BALENA_ENGINE_LICENSE = Apache-2.0
BALENA_ENGINE_LICENSE_FILES = LICENSE
 
BALENA_ENGINE_DEPENDENCIES = host-pkgconf
BALENA_ENGINE_GOMOD = github.com/docker/docker
 
BALENA_ENGINE_LDFLAGS = \
   -X github.com/docker/cli/cli/version.Version=N/A \
   -X github.com/docker/cli/cli/version.GitCommit= \
   -X github.com/docker/cli/cli/version.BuildTime= \
   -X github.com/containerd/containerd/version.Version=N/A \
   -X github.com/opencontainers/runc.version=N/A
 
BALENA_ENGINE_TAGS = \
   cgo \
   exclude_graphdriver_zfs \
   autogen \
   no_buildkit \
   no_btrfs \
   no_cri \
   no_devmapper \
   no_zfs \
   exclude_disk_quota \
   exclude_graphdriver_btrfs \
   exclude_graphdriver_devicemapper
 
BALENA_ENGINE_BUILD_TARGETS = cmd/balena-engine
 
ifeq ($(BR2_INIT_SYSTEMD),y)
BALENA_ENGINE_DEPENDENCIES += systemd
BALENA_ENGINE_TAGS += journald
endif
 
define BALENA_ENGINE_RUN_AUTOGEN
   cd $(@D) && \
       VERSION=$(BALENA_ENGINE_VERSION) \
       PKG_CONFIG=$(PKG_CONFIG_HOST_BINARY) \
       $(TARGET_MAKE_ENV) \
       $(SHELL) hack/make/.go-autogen
endef
 
BALENA_ENGINE_POST_CONFIGURE_HOOKS += BALENA_ENGINE_RUN_AUTOGEN
 
define BALENA_ENGINE_INSTALL_INIT_SYSTEMD
   $(INSTALL) -D -m 644 $(@D)/contrib/init/systemd/balena-engine.service \
       $(TARGET_DIR)/usr/lib/systemd/system/balena-engine.service
   $(INSTALL) -D -m 644 $(@D)/contrib/init/systemd/balena-engine.socket \
       $(TARGET_DIR)/usr/lib/systemd/system/balena-engine.socket
endef
 
define BALENA_ENGINE_USERS
   - - balena-engine -1 * - - - balenaEngine daemon
endef
 
define BALENA_ENGINE_LINUX_CONFIG_FIXUPS
   $(call KCONFIG_ENABLE_OPT,CONFIG_POSIX_MQUEUE)
   $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS)
   $(call KCONFIG_ENABLE_OPT,CONFIG_MEMCG)
   $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_SCHED)
   $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_FREEZER)
   $(call KCONFIG_ENABLE_OPT,CONFIG_CPUSETS)
   $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_DEVICE)
   $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_CPUACCT)
   $(call KCONFIG_ENABLE_OPT,CONFIG_NAMESPACES)
   $(call KCONFIG_ENABLE_OPT,CONFIG_UTS_NS)
   $(call KCONFIG_ENABLE_OPT,CONFIG_IPC_NS)
   $(call KCONFIG_ENABLE_OPT,CONFIG_PID_NS)
   $(call KCONFIG_ENABLE_OPT,CONFIG_NET_NS)
   $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER)
   $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_ADVANCED)
   $(call KCONFIG_ENABLE_OPT,CONFIG_BRIDGE_NETFILTER)
   $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK)
   $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_ADDRTYPE)
   $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_CONNTRACK)
   $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_IPVS)
   $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_IPTABLES)
   $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_FILTER)
   $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_NAT)
   $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_TARGET_MASQUERADE)
   $(call KCONFIG_ENABLE_OPT,CONFIG_BRIDGE)
   $(call KCONFIG_ENABLE_OPT,CONFIG_DUMMY)
   $(call KCONFIG_ENABLE_OPT,CONFIG_MACVLAN)
   $(call KCONFIG_ENABLE_OPT,CONFIG_VXLAN)
   $(call KCONFIG_ENABLE_OPT,CONFIG_VETH)
   $(call KCONFIG_ENABLE_OPT,CONFIG_OVERLAY_FS)
   $(call KCONFIG_ENABLE_OPT,CONFIG_KEYS)
endef
 
define BALENA_ENGINE_INSTALL_SYMLINK
   ln -f -s balena-engine $(TARGET_DIR)/usr/bin/balena-engine-daemon
   ln -f -s balena-engine $(TARGET_DIR)/usr/bin/balena-engine-containerd
   ln -f -s balena-engine $(TARGET_DIR)/usr/bin/balena-engine-containerd-shim
   ln -f -s balena-engine $(TARGET_DIR)/usr/bin/balena-engine-containerd-ctr
   ln -f -s balena-engine $(TARGET_DIR)/usr/bin/balena-engine-runc
   ln -f -s balena-engine $(TARGET_DIR)/usr/bin/balena-engine-proxy
   $(if $(BR2_PACKAGE_TINI),ln -f -s tini $(TARGET_DIR)/usr/bin/balena-engine-init)
endef
BALENA_ENGINE_POST_INSTALL_TARGET_HOOKS += BALENA_ENGINE_INSTALL_SYMLINK
 
$(eval $(golang-package))