2 # Copyright (C) 2012-2013 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 include $(TOPDIR
)/rules.mk
10 PKG_SOURCE_VERSION
:=ee10da8c7bf6a79b14f60ca697592501e520d4bb
11 PKG_VERSION
:=2014-06-12-$(PKG_SOURCE_VERSION
)
15 PKG_SOURCE_URL
:=git
://github.com
/sbyx
/hnetd.git
16 PKG_MAINTAINER
:=Steven Barth
<cyrus@openwrt.org
>
18 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.bz2
19 PKG_SOURCE_SUBDIR
:=$(PKG_NAME
)-$(PKG_VERSION
)
21 include $(INCLUDE_DIR
)/package.mk
22 include $(INCLUDE_DIR
)/cmake.mk
24 # Spammy debug builds for now
25 CMAKE_OPTIONS
+= -DL_LEVEL
=7
28 CMAKE_OPTIONS
+= -DBACKEND
=openwrt
33 TITLE
:=HNCP Homenet daemon
34 URL
:=https
://github.com
/sbyx
/hnetd
35 DEPENDS
:=+odhcpd
+odhcp6c
+netifd
39 define Package
/hnet-full
42 TITLE
:=HNCP Homenet metapackage
43 URL
:=https
://github.com
/sbyx
/hnetd
48 DEPENDS
+=+ohybridproxy
49 # Distributed PCP support
50 DEPENDS
+=+miniupnpd
+minimalist-pcproxy
53 define Package
/luci-app-hnet
56 SUBMENU
:=3. Applications
57 TITLE
:=HNCP Homenet configuration and visualization
58 DEPENDS
:=+hnetd
+luci-mod-admin-core
61 define Package
/hnetd
/description
62 This package provides a daemon which implementats distributed
prefix assignment
63 and service discovery for a home network consisting of multiple routers
64 connected to multiple service providers. It provides a netifd protocol
"hnet"
65 for use in
/etc
/config
/network.
68 define Package
/hnetd
/install
69 $(INSTALL_DIR
) $(1)/usr
/sbin
/
70 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hnetd
$(1)/usr
/sbin
/
71 $(INSTALL_DIR
) $(1)/lib
/netifd
/proto
72 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/openwrt
/hnet.sh
$(1)/lib
/netifd
/proto
73 ln
-s hnetd
$(1)/usr
/sbin
/hnet-call
74 $(INSTALL_DIR
) $(1)/etc
/init.d
75 $(INSTALL_BIN
) .
/files
/hnetd.init
$(1)/etc
/init.d
/hnetd
76 $(INSTALL_DIR
) $(1)/etc
/config
77 $(INSTALL_DATA
) .
/files
/hnet.config
$(1)/etc
/config
/hnet
78 $(INSTALL_BIN
) .
/files
/ohp-script
$(1)/usr
/sbin
/hnetd-ohp-script
79 $(INSTALL_BIN
) .
/files
/pcp-script
$(1)/usr
/sbin
/hnetd-pcp-script
80 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/generic
/hnetd-routing
$(1)/usr
/sbin
/hnetd-routing
81 $(INSTALL_DIR
) $(1)/etc
/uci-defaults
82 $(INSTALL_BIN
) .
/files
/hnetd.defaults
$(1)/etc
/uci-defaults
/x-hnetd.defaults
85 define Package
/hnet-full
/install
89 define Package
/luci-app-hnet
/install
90 $(INSTALL_DIR
) $(1)/usr
/lib
/lua
/luci
91 $(INSTALL_DIR
) $(1)/www
92 $(CP
) -R
$(PKG_BUILD_DIR
)/openwrt
/luci
/luasrc
/* $(1)/usr
/lib
/lua
/luci
/
93 $(CP
) -R
$(PKG_BUILD_DIR
)/openwrt
/luci
/htdocs
/* $(1)/www
/
96 define Package
/hnetd
/postinst
98 [ -n
"$${IPKG_INSTROOT}" ] ||
{
99 (.
/etc
/uci-defaults
/x-hnetd.defaults
) && rm -f
/etc
/uci-defaults
/x-hnetd.defaults
100 [ -x
/etc
/init.d
/dnsmasq
] && /etc
/init.d
/dnsmasq restart
101 /etc
/init.d
/hnetd enable
102 /etc
/init.d
/hnetd start
107 $(eval
$(call BuildPackage
,hnetd
))
108 $(eval
$(call BuildPackage
,hnet-full
))
109 $(eval
$(call BuildPackage
,luci-app-hnet
))