1 # SPDX-License-Identifier: GPL-2.0-only
3 include $(TOPDIR
)/rules.mk
9 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
10 PKG_SOURCE_URL
:=https
://downloads.open-mesh.org
/batman
/releases
/batman-adv-
$(PKG_VERSION
)
11 PKG_HASH
:=821739e570fc3da9936e70075ec04a3caf3b847cc8702f13a0725e903e637b8d
13 PKG_MAINTAINER
:=Simon Wunderlich
<sw@simonwunderlich.de
>
14 PKG_LICENSE
:=GPL-2.0
-only MIT
15 PKG_LICENSE_FILES
:=LICENSES
/preferred
/GPL-2.0 LICENSES
/preferred
/MIT
17 include $(INCLUDE_DIR
)/package.mk
22 TITLE
:=A.L.F.R.E.D.
- Almighty Lightweight Fact Remote Exchange Daemon
23 URL
:=https
://www.open-mesh.org
/
24 DEPENDS
:= +libc @IPV6
+libnl-tiny
+librt \
25 +ALFRED_NEEDS_lua
:lua \
26 +ALFRED_NEEDS_libgps
:libgps
29 define Package
/alfred
/description
30 alfred is a user space daemon for distributing arbitrary local information
31 over the mesh
/network in a decentralized fashion. This data can be anything
32 which appears to be useful
- originally designed to replace the batman-adv
33 visualization
(vis
), you may distribute hostnames
, phone books
, administration
34 information
, DNS information
, the local weather forecast ...
36 alfred runs
as daemon in the background of the system. A user may insert
37 information by using the alfred binary on the command line
, or use special
38 programs to communicate with alfred
(done via unix sockets
). alfred then takes
39 care of distributing the local information to other alfred servers on other
40 nodes. This is done via IPv6 link-local multicast
, and does not require any
41 configuration. A user can request data from alfred
, and will receive the
42 information available from
all alfred servers in the network.
45 define Package
/alfred
/conffiles
49 define Package
/alfred
/config
50 source
"$(SOURCE)/Config.in"
54 CONFIG_ALFRED_VIS
=$(if
$(CONFIG_PACKAGE_ALFRED_VIS
),y
,n
) \
55 CONFIG_ALFRED_GPSD
=$(if
$(CONFIG_PACKAGE_ALFRED_GPSD
),y
,n
) \
56 CONFIG_ALFRED_CAPABILITIES
=n \
57 LIBNL_NAME
="libnl-tiny" \
58 LIBNL_GENL_NAME
="libnl-tiny" \
59 REVISION
="$(PKG_VERSION)-openwrt-$(PKG_RELEASE)"
61 TARGET_CFLAGS
+= -ffunction-sections
-fdata-sections
-flto
62 TARGET_LDFLAGS
+= -Wl
,--gc-sections
-fuse-linker-plugin
64 define Package
/alfred
/install
65 $(INSTALL_DIR
) $(1)/usr
/sbin
66 cp
-fpR
$(PKG_BUILD_DIR
)/alfred
$(1)/usr
/sbin
/
67 [ "x$(CONFIG_PACKAGE_ALFRED_VIS)" == "xy" ] && cp
-fpR
$(PKG_BUILD_DIR
)/vis
/batadv-vis
$(1)/usr
/sbin
/ ; true
68 [ "x$(CONFIG_PACKAGE_ALFRED_GPSD)" == "xy" ] && cp
-fpR
$(PKG_BUILD_DIR
)/gpsd
/alfred-gpsd
$(1)/usr
/sbin
/ ; true
69 $(INSTALL_DIR
) $(1)/etc
/init.d
70 $(INSTALL_BIN
) .
/files
/alfred.init
$(1)/etc
/init.d
/alfred
71 $(INSTALL_DIR
) $(1)/etc
/config
72 $(INSTALL_DATA
) .
/files
/alfred.config
$(1)/etc
/config
/alfred
73 $(INSTALL_DIR
) $(1)/etc
/alfred
74 [ "x$(CONFIG_PACKAGE_ALFRED_BATHOSTS)" == "xy" ] && $(INSTALL_BIN
) .
/files
/bat-hosts.lua
$(1)/etc
/alfred
/bat-hosts.lua
; true
77 $(eval
$(call BuildPackage
,alfred
))