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