alfred: upgrade package to latest release 2019.4
[feed/routing.git] / alfred / Makefile
1 #
2 # Copyright (C) 2013 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=alfred
11 PKG_VERSION:=2019.4
12 PKG_RELEASE:=0
13 PKG_HASH:=b5525b396595004654335ac1ebf9de1aab90263e66d5bcc43fc8a708b56a18ea
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16 PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
17 PKG_LICENSE:=GPL-2.0-only MIT
18 PKG_LICENSE_FILES:=LICENSES/preferred/GPL-2.0 LICENSES/preferred/MIT
19
20 include $(INCLUDE_DIR)/package.mk
21
22 define Package/alfred
23 URL:=https://www.open-mesh.org/
24 SECTION:=net
25 CATEGORY:=Network
26 TITLE:=A.L.F.R.E.D. - Almighty Lightweight Fact Remote Exchange Daemon
27 DEPENDS:= +libc @IPV6 +libnl-tiny +librt \
28 +ALFRED_NEEDS_lua:lua \
29 +ALFRED_NEEDS_libgps:libgps
30 endef
31
32 define Package/alfred/description
33 alfred is a user space daemon for distributing arbitrary local information over
34 the mesh/network in a decentralized fashion. This data can be anything which
35 appears to be useful - originally designed to replace the batman-adv
36 visualization (vis), you may distribute hostnames, phone books, administration
37 information, DNS information, the local weather forecast ...
38
39 alfred runs as daemon in the background of the system. A user may insert
40 information by using the alfred binary on the command line, or use special
41 programs to communicate with alfred (done via unix sockets). alfred then takes
42 care of distributing the local information to other alfred servers on other
43 nodes. This is done via IPv6 link-local multicast, and does not require any
44 configuration. A user can request data from alfred, and will receive the
45 information available from all alfred servers in the network.
46 endef
47
48 define Package/alfred/conffiles
49 /etc/config/alfred
50 endef
51
52 define Package/alfred/config
53 source "$(SOURCE)/Config.in"
54 endef
55
56 MAKE_FLAGS += \
57 CONFIG_ALFRED_VIS=$(if $(CONFIG_PACKAGE_ALFRED_VIS),y,n) \
58 CONFIG_ALFRED_GPSD=$(if $(CONFIG_PACKAGE_ALFRED_GPSD),y,n) \
59 CONFIG_ALFRED_CAPABILITIES=n \
60 LIBNL_NAME="libnl-tiny" \
61 LIBNL_GENL_NAME="libnl-tiny" \
62 REVISION="openwrt-$(PKG_VERSION)-$(PKG_RELEASE)"
63
64 TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto
65 TARGET_LDFLAGS += -Wl,--gc-sections -fuse-linker-plugin
66
67 define Package/alfred/install
68 $(INSTALL_DIR) $(1)/usr/sbin
69 cp -fpR $(PKG_BUILD_DIR)/alfred $(1)/usr/sbin/
70 [ "x$(CONFIG_PACKAGE_ALFRED_VIS)" == "xy" ] && cp -fpR $(PKG_BUILD_DIR)/vis/batadv-vis $(1)/usr/sbin/ ; true
71 [ "x$(CONFIG_PACKAGE_ALFRED_GPSD)" == "xy" ] && cp -fpR $(PKG_BUILD_DIR)/gpsd/alfred-gpsd $(1)/usr/sbin/ ; true
72 $(INSTALL_DIR) $(1)/etc/init.d
73 $(INSTALL_BIN) ./files/alfred.init $(1)/etc/init.d/alfred
74 $(INSTALL_DIR) $(1)/etc/config
75 $(INSTALL_DATA) ./files/alfred.config $(1)/etc/config/alfred
76 $(INSTALL_DIR) $(1)/etc/alfred
77 [ "x$(CONFIG_PACKAGE_ALFRED_BATHOSTS)" == "xy" ] && $(INSTALL_BIN) ./files/bat-hosts.lua $(1)/etc/alfred/bat-hosts.lua ; true
78 endef
79
80 $(eval $(call BuildPackage,alfred))