xref: /OK3568_Linux_fs/buildroot/package/mender/mender.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# mender
4#
5################################################################################
6
7MENDER_VERSION = 3.1.0
8MENDER_SITE = https://github.com/mendersoftware/mender/archive
9MENDER_SOURCE = $(MENDER_VERSION).tar.gz
10MENDER_LICENSE = Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC, MIT, OLDAP-2.8
11
12# Vendor license paths generated with:
13#    awk '{print $2}' LIC_FILES_CHKSUM.sha256 | grep vendor
14MENDER_LICENSE_FILES = \
15	LICENSE \
16	LIC_FILES_CHKSUM.sha256 \
17	vendor/github.com/mendersoftware/mender-artifact/LICENSE \
18	vendor/github.com/mendersoftware/openssl/LICENSE \
19	vendor/github.com/minio/sha256-simd/LICENSE \
20	vendor/github.com/mendersoftware/progressbar/LICENSE \
21	vendor/github.com/pkg/errors/LICENSE \
22	vendor/github.com/godbus/dbus/LICENSE \
23	vendor/github.com/klauspost/compress/LICENSE \
24	vendor/github.com/pmezard/go-difflib/LICENSE \
25	vendor/golang.org/x/crypto/LICENSE \
26	vendor/golang.org/x/sys/LICENSE \
27	vendor/github.com/bmatsuo/lmdb-go/LICENSE.md \
28	vendor/github.com/remyoudompheng/go-liblzma/LICENSE \
29	vendor/github.com/davecgh/go-spew/LICENSE \
30	vendor/github.com/klauspost/pgzip/LICENSE \
31	vendor/github.com/sirupsen/logrus/LICENSE \
32	vendor/github.com/stretchr/testify/LICENSE \
33	vendor/github.com/ungerik/go-sysfs/LICENSE \
34	vendor/github.com/urfave/cli/v2/LICENSE \
35	vendor/github.com/stretchr/objx/LICENSE \
36	vendor/github.com/konsorten/go-windows-terminal-sequences/LICENSE \
37	vendor/gopkg.in/yaml.v3/LICENSE \
38	vendor/github.com/mattn/go-isatty/LICENSE \
39	vendor/github.com/bmatsuo/lmdb-go/LICENSE.mdb.md
40
41MENDER_DEPENDENCIES = host-pkgconf openssl
42
43MENDER_LDFLAGS = -X github.com/mendersoftware/mender/conf.Version=$(MENDER_VERSION)
44
45MENDER_UPDATE_MODULES_FILES = \
46	directory \
47	script \
48	single-file \
49	$(if $(BR2_PACKAGE_DOCKER_CLI),docker) \
50	$(if $(BR2_PACKAGE_RPM),rpm)
51
52define MENDER_INSTALL_CONFIG_FILES
53	$(INSTALL) -d -m 755 $(TARGET_DIR)/etc/mender/scripts
54	echo -n "3" > $(TARGET_DIR)/etc/mender/scripts/version
55
56	$(INSTALL) -D -m 0644 $(MENDER_PKGDIR)/mender.conf \
57		$(TARGET_DIR)/etc/mender/mender.conf
58	$(INSTALL) -D -m 0644 $(MENDER_PKGDIR)/server.crt \
59		$(TARGET_DIR)/etc/mender/server.crt
60
61	$(INSTALL) -D -m 0755 $(@D)/support/mender-device-identity \
62		$(TARGET_DIR)/usr/share/mender/identity/mender-device-identity
63	$(foreach f,hostinfo network os rootfs-type, \
64		$(INSTALL) -D -m 0755 $(@D)/support/mender-inventory-$(f) \
65			$(TARGET_DIR)/usr/share/mender/inventory/mender-inventory-$(f)
66	)
67
68	$(INSTALL) -D -m 0755 $(MENDER_PKGDIR)/artifact_info \
69			$(TARGET_DIR)/etc/mender/artifact_info
70
71	$(INSTALL) -D -m 0755 $(MENDER_PKGDIR)/device_type \
72			$(TARGET_DIR)/etc/mender/device_type
73
74	mkdir -p $(TARGET_DIR)/var/lib
75	ln -snf /var/run/mender $(TARGET_DIR)/var/lib/mender
76	$(foreach f,$(MENDER_UPDATE_MODULES_FILES), \
77		$(INSTALL) -D -m 0755 $(@D)/support/modules/$(notdir $(f)) \
78			$(TARGET_DIR)/usr/share/mender/modules/v3/$(notdir $(f))
79	)
80endef
81
82MENDER_POST_INSTALL_TARGET_HOOKS += MENDER_INSTALL_CONFIG_FILES
83
84ifeq ($(BR2_PACKAGE_XZ),y)
85MENDER_DEPENDENCIES += xz
86else
87MENDER_TAGS += nolzma
88endif
89
90ifeq ($(BR2_PACKAGE_DBUS)$(BR2_PACKAGE_LIBGLIB2),yy)
91MENDER_DEPENDENCIES += libglib2
92define MENDER_INSTALL_DBUS_AUTHENTICATION_MANAGER_CONF
93	$(INSTALL) -D -m 0755 $(@D)/support/dbus/io.mender.AuthenticationManager.conf \
94		$(TARGET_DIR)/etc/dbus-1/system.d/io.mender.AuthenticationManager.conf
95
96	$(INSTALL) -D -m 0755 $(@D)/support/dbus/io.mender.UpdateManager.conf \
97		$(TARGET_DIR)/etc/dbus-1/system.d/io.mender.UpdateManager.conf
98endef
99MENDER_POST_INSTALL_TARGET_HOOKS += MENDER_INSTALL_DBUS_AUTHENTICATION_MANAGER_CONF
100else
101MENDER_TAGS += nodbus
102endif
103
104define MENDER_INSTALL_INIT_SYSTEMD
105	$(INSTALL) -D -m 0644 $(MENDER_PKGDIR)/mender-client.service \
106		$(TARGET_DIR)/usr/lib/systemd/system/mender-client.service
107endef
108
109define MENDER_INSTALL_INIT_SYSV
110	$(INSTALL) -D -m 755 $(MENDER_PKGDIR)/S42mender \
111		$(TARGET_DIR)/etc/init.d/S42mender
112endef
113
114$(eval $(golang-package))
115