blob: d7aea74eb1bb72206bf1a0b7f9273b87800cd705 (
plain)
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
|
#
## Copyright (C) 2016-2019 CZ.NIC z.s.p.o. (http://www.nic.cz/)
#
## This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
# #
#
include $(TOPDIR)/rules.mk
PKG_NAME:=updater-ng
PKG_SOURCE_URL:=https://gitlab.labs.nic.cz/turris/updater/updater.git
PKG_SOURCE_BRANCH:=master
PKG_MAINTAINER:=CZ.NIC <packaging@turris.cz>
HOST_BUILD_DEPENDS:=curl/host libevent2/host lua/host
PKG_BUILD_DEPENDS:=busybox
include $(INCLUDE_DIR)/autopkg-branch.mk
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
TITLE:=The next generation updater
DEPENDS:=+liblua +libuci-lua +libevent2 +usign +libcurl +ca-certificates
endef
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/usr/lib/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/libupdater.so $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/pkgupdate $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/pkgtransaction $(1)/usr/bin/
$(INSTALL_DIR) $(1)/etc/updater
$(INSTALL_CONF) $(PKG_BUILD_DIR)/src/pkgupdate/configs/conf.lua $(1)/etc/updater
$(INSTALL_DIR) $(1)/etc/updater/conf.d
$(INSTALL_CONF) ./files/turris.lua $(1)/etc/updater/conf.d/turris.lua
$(INSTALL_CONF) $(PKG_BUILD_DIR)/src/pkgupdate/configs/example.lua $(1)/etc/updater/conf.d/example.lua
$(INSTALL_DIR) $(1)/etc/updater/hook_preupdate
touch $(1)/etc/updater/hook_preupdate/.keep
$(INSTALL_DIR) $(1)/etc/updater/hook_postupdate
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/pkgupdate/hook_postupdate/update_alternatives.sh $(1)/etc/updater/hook_postupdate/20_update_alternatives.sh
$(INSTALL_DIR) $(1)/etc/updater/hook_reboot_required
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/pkgupdate/hook_reboot_required/50-create-notification.sh $(1)/etc/updater/hook_reboot_required/50-create-notification.sh
# Note: this file is not ever used as appropriate one is generated to medkit
# it is here only for reference and to make sure that it exists.
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) ./files/updater.config $(1)/etc/config/updater
endef
define Package/$(PKG_NAME)/conffiles
/etc/updater/conf.d/example.lua
/etc/config/updater
endef
define Build/Compile
$(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) NO_DOC=1 LUA_COMPILE:=no UPDATER_VERSION:=$(PKG_VERSION) BUSYBOX_EXEC=$(STAGING_DIR)/bin/busybox-static
endef
define Host/Compile
$(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) $(HOST_MAKE_FLAGS) NO_DOC=1 LUA_COMPILE:=no UPDATER_VERSION:=$(PKG_VERSION)
endef
define Host/Install
$(INSTALL_DIR) $(STAGING_DIR_HOST)/usr/lib/
$(INSTALL_BIN) $(HOST_BUILD_DIR)/lib/libupdater.so $(STAGING_DIR_HOST)/usr/lib/
$(INSTALL_DIR) $(STAGING_DIR_HOST)/usr/bin
$(INSTALL_BIN) $(HOST_BUILD_DIR)/bin/pkgupdate $(STAGING_DIR_HOST)/usr/bin/
$(INSTALL_BIN) $(HOST_BUILD_DIR)/bin/pkgtransaction $(STAGING_DIR_HOST)/usr/bin/
endef
$(eval $(call HostBuild))
$(eval $(call BuildPackage,$(PKG_NAME)))
|