1 # SPDX-License-Identifier: GPL-2.0-only
3 include $(TOPDIR
)/rules.mk
7 PKG_RELEASE
:=$(AUTORELEASE
)
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
:=c03f1763b855e32cc2384eca9560e9609c96d9b01ef5375f28765cee18005112
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
19 PKG_CONFIG_DEPENDS
+= \
20 CONFIG_ALFRED_NEEDS_lua \
21 CONFIG_ALFRED_NEEDS_libgps \
22 CONFIG_PACKAGE_ALFRED_VIS \
23 CONFIG_PACKAGE_ALFRED_BATHOSTS \
24 CONFIG_PACKAGE_ALFRED_GPSD
26 include $(INCLUDE_DIR
)/package.mk
31 TITLE
:=A.L.F.R.E.D.
- Almighty Lightweight Fact Remote Exchange Daemon
32 URL
:=https
://www.open-mesh.org
/
33 DEPENDS
:= +libc @IPV6
+libnl-tiny
+librt \
34 +ALFRED_NEEDS_lua
:lua \
35 +ALFRED_NEEDS_libgps
:libgps
38 define Package
/alfred
/description
39 alfred is a user space daemon for distributing arbitrary local information
40 over the mesh
/network in a decentralized fashion. This data can be anything
41 which appears to be useful
- originally designed to replace the batman-adv
42 visualization
(vis
), you may distribute hostnames
, phone books
, administration
43 information
, DNS information
, the local weather forecast ...
45 alfred runs
as daemon in the background of the system. A user may insert
46 information by using the alfred binary on the command line
, or use special
47 programs to communicate with alfred
(done via unix sockets
). alfred then takes
48 care of distributing the local information to other alfred servers on other
49 nodes. This is done via IPv6 link-local multicast
, and does not require any
50 configuration. A user can request data from alfred
, and will receive the
51 information available from
all alfred servers in the network.
54 define Package
/alfred
/conffiles
58 define Package
/alfred
/config
59 source
"$(SOURCE)/Config.in"
63 CONFIG_ALFRED_VIS
=$(if
$(CONFIG_PACKAGE_ALFRED_VIS
),y
,n
) \
64 CONFIG_ALFRED_GPSD
=$(if
$(CONFIG_PACKAGE_ALFRED_GPSD
),y
,n
) \
65 CONFIG_ALFRED_CAPABILITIES
=n \
66 LIBNL_NAME
="libnl-tiny" \
67 LIBNL_GENL_NAME
="libnl-tiny" \
68 REVISION
="$(PKG_VERSION)-openwrt-$(PKG_RELEASE)"
70 TARGET_CFLAGS
+= -ffunction-sections
-fdata-sections
-flto
71 TARGET_LDFLAGS
+= -Wl
,--gc-sections
-fuse-linker-plugin
73 define Package
/alfred
/install
74 $(INSTALL_DIR
) $(1)/usr
/sbin
75 cp
-fpR
$(PKG_BUILD_DIR
)/alfred
$(1)/usr
/sbin
/
76 [ "x$(CONFIG_PACKAGE_ALFRED_VIS)" == "xy" ] && cp
-fpR
$(PKG_BUILD_DIR
)/vis
/batadv-vis
$(1)/usr
/sbin
/ ; true
77 [ "x$(CONFIG_PACKAGE_ALFRED_GPSD)" == "xy" ] && cp
-fpR
$(PKG_BUILD_DIR
)/gpsd
/alfred-gpsd
$(1)/usr
/sbin
/ ; true
78 $(INSTALL_DIR
) $(1)/etc
/init.d
79 $(INSTALL_BIN
) .
/files
/alfred.init
$(1)/etc
/init.d
/alfred
80 $(INSTALL_DIR
) $(1)/etc
/config
81 $(INSTALL_DATA
) .
/files
/alfred.config
$(1)/etc
/config
/alfred
82 $(INSTALL_DIR
) $(1)/etc
/alfred
83 [ "x$(CONFIG_PACKAGE_ALFRED_BATHOSTS)" == "xy" ] && $(INSTALL_BIN
) .
/files
/bat-hosts.lua
$(1)/etc
/alfred
/bat-hosts.lua
; true
86 $(eval
$(call BuildPackage
,alfred
))