babeld: update to 1.13
[feed/routing.git] / bird1-openwrt / Makefile
1 # SPDX-License-Identifier: GPL-3.0-or-later
2 #
3 # Copyright (C) 2014-2017 Eloi Carbó <eloicaso@openmailbox.org>
4 # Copyright (C) 2022-2023 Roger Pueyo Centelles <roger.pueyo@guifi.net>
5 #
6
7 include $(TOPDIR)/rules.mk
8
9 BIRD1_PKG := bird1
10 BIRD1_IPV4_PKG := $(BIRD1_PKG)-ipv4
11 BIRD1_IPV6_PKG := $(BIRD1_PKG)-ipv6
12 BIRD4 := bird4
13 BIRD6 := bird6
14
15 PKG_NAME := $(BIRD1_PKG)-openwrt
16 PKG_IPV4_NAME := $(BIRD1_IPV4_PKG)-openwrt
17 PKG_IPV6_NAME := $(BIRD1_IPV6_PKG)-openwrt
18 PKG_VERSION := 0.3
19 PKG_RELEASE := 5
20 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
21 PKG_LICENSE := GPL-3.0-or-later
22
23 PKG_UCI_NAME := $(BIRD1_PKG)-uci
24 PKG_LUCI_NAME := $(BIRD1_PKG)-luci
25 PKG_IPV4_UCI_NAME := $(BIRD1_IPV4_PKG)-uci
26 PKG_IPV6_UCI_NAME := $(BIRD1_IPV6_PKG)-uci
27 PKG_IPV4_LUCI_NAME := luci-app-$(BIRD1_IPV4_PKG)
28 PKG_IPV6_LUCI_NAME := luci-app-$(BIRD1_IPV6_PKG)
29
30 include $(INCLUDE_DIR)/package.mk
31
32 define Build/Prepare
33 endef
34
35 define Build/Compile
36 endef
37
38 define Package/$(PKG_UCI_NAME)/Default
39 TITLE:=The BIRD UCI module (v1.6)
40 SECTION:=net
41 CATEGORY:=Network
42 SUBMENU:=Routing and Redirection
43 MAINTAINER:=Roger Pueyo Centelles <roger.pueyo@guifi.net>
44 URL:=https://github.com/openwrt/bird1-openwrt/
45 DEPENDS:=+libuci +uci
46 endef
47
48 define Package/$(PKG_LUCI_NAME)/Default
49 TITLE:=LuCI support for BIRD (v1.6)
50 SECTION:=luci
51 CATEGORY:=LuCI
52 SUBMENU:=3. Applications
53 MAINTAINER:=Roger Pueyo Centelles <roger.pueyo@guifi.net>
54 URL:=https://github.com/openwrt/bird1-openwrt/
55 DEPENDS:=+luci-base +luci-compat
56 endef
57
58 define Package/$(PKG_UCI_NAME)/description
59 $(BIRD1_PKG) UCI integration module
60 endef
61
62 define Package/$(PKG_LUCI_NAME)/description
63 $(BIRD1_PKG) application for LuCI
64 endef
65
66 define Package/$(PKG_IPV4_UCI_NAME)
67 $(call Package/$(PKG_UCI_NAME)/Default)
68 TITLE+= (IPv4)
69 DEPENDS+= +$(BIRD1_IPV4_PKG)
70 endef
71
72 define Package/$(PKG_IPV6_UCI_NAME)
73 $(call Package/$(PKG_UCI_NAME)/Default)
74 TITLE+= (IPv6)
75 DEPENDS+= +$(BIRD1_IPV6_PKG)
76 endef
77
78 define Package/$(PKG_IPV4_LUCI_NAME)
79 $(call Package/$(PKG_LUCI_NAME)/Default)
80 TITLE+= (IPv4)
81 DEPENDS+= +$(PKG_IPV4_UCI_NAME)
82 endef
83
84 define Package/$(PKG_IPV6_LUCI_NAME)
85 $(call Package/$(PKG_LUCI_NAME)/Default)
86 TITLE+= (IPv6)
87 DEPENDS+= +$(PKG_IPV6_UCI_NAME)
88 endef
89
90 define Package/$(PKG_IPV4_UCI_NAME)/conffiles
91 /etc/config/$(BIRD4)
92 endef
93
94 define Package/$(PKG_IPV6_UCI_NAME)/conffiles
95 /etc/config/$(BIRD6)
96 endef
97
98 define Package/$(PKG_IPV4_UCI_NAME)/install
99 $(INSTALL_DIR) $(1)/etc/$(BIRD4)/init.d
100 $(INSTALL_DIR) $(1)/etc/config
101 $(INSTALL_DIR) $(1)/etc/$(BIRD4)/filters
102 $(INSTALL_DIR) $(1)/etc/$(BIRD4)/functions
103 $(INSTALL_BIN) ./$(PKG_IPV4_NAME)/src/init.d/$(BIRD4)* $(1)/etc/$(BIRD4)/init.d/
104 $(CP) ./$(PKG_IPV4_NAME)/src/uci-defaults/* $(1)/etc/$(BIRD4)/init.d/
105 $(INSTALL_CONF) ./$(PKG_IPV4_NAME)/src/config/$(BIRD4) $(1)/etc/config/
106 endef
107
108 define Package/$(PKG_IPV6_UCI_NAME)/install
109 $(INSTALL_DIR) $(1)/etc/$(BIRD6)/init.d
110 $(INSTALL_DIR) $(1)/etc/config
111 $(INSTALL_DIR) $(1)/etc/$(BIRD6)/filters
112 $(INSTALL_DIR) $(1)/etc/$(BIRD6)/functions
113 $(INSTALL_BIN) ./$(PKG_IPV6_NAME)/src/init.d/$(BIRD6)* $(1)/etc/$(BIRD6)/init.d/
114 $(CP) ./$(PKG_IPV6_NAME)/src/uci-defaults/* $(1)/etc/$(BIRD6)/init.d/
115 $(INSTALL_CONF) ./$(PKG_IPV6_NAME)/src/config/$(BIRD6) $(1)/etc/config/
116 endef
117
118 define Package/$(PKG_IPV4_UCI_NAME)/postinst
119 #!/bin/sh
120 if [ -z "$${IPKG_INSTROOT}" ]; then
121 ( . /etc/$(BIRD4)/init.d/bird-uci-install-init.d $(BIRD4) ) && rm -f /etc/$(BIRD4)/init.d/bird-uci-install-init.d
122 ( . /etc/$(BIRD4)/init.d/99-relocate-filters $(BIRD4) ) && rm -f /etc/$(BIRD4)/init.d/99-relocate-filters
123 if [ -f /etc/sysupgrade.conf ] && ! grep $(BIRD4) /etc/sysupgrade.conf; then
124 echo /etc/config/$(BIRD4) >> /etc/sysupgrade.conf
125 echo /etc/$(BIRD4)/filters/ >> /etc/sysupgrade.conf
126 echo /etc/$(BIRD4)/functions/ >> /etc/sysupgrade.conf
127 fi
128 fi
129 endef
130
131 define Package/$(PKG_IPV6_UCI_NAME)/postinst
132 #!/bin/sh
133 if [ -z "$${IPKG_INSTROOT}" ]; then
134 ( . /etc/$(BIRD6)/init.d/bird-uci-install-init.d $(BIRD6) ) && rm -f /etc/$(BIRD6)/init.d/bird-uci-install-init.d
135 ( . /etc/$(BIRD6)/init.d/99-relocate-filters $(BIRD6) ) && rm -f /etc/$(BIRD6)/init.d/99-relocate-filters
136 if [ -f /etc/sysupgrade.conf ] && ! grep $(BIRD6) /etc/sysupgrade.conf; then
137 echo /etc/config/$(BIRD6) >> /etc/sysupgrade.conf
138 echo /etc/$(BIRD6)/filters/ >> /etc/sysupgrade.conf
139 echo /etc/$(BIRD6)/functions/ >> /etc/sysupgrade.conf
140 fi
141 fi
142 endef
143
144 $(eval $(call BuildPackage,$(PKG_IPV4_UCI_NAME)))
145 $(eval $(call BuildPackage,$(PKG_IPV6_UCI_NAME)))
146
147 define Package/$(PKG_IPV4_LUCI_NAME)/install
148 $(INSTALL_DIR) $(1)/usr/lib/lua/luci/controller/
149 $(INSTALL_DIR) $(1)/usr/lib/lua/luci/model/cbi/$(BIRD4)/
150 $(INSTALL_DIR) $(1)/usr/lib/lua/luci/view/$(BIRD4)/
151 $(CP) ./$(PKG_IPV4_NAME)/src/model/* $(1)/usr/lib/lua/luci/model/cbi/$(BIRD4)/
152 $(CP) ./$(PKG_IPV4_NAME)/src/controller/* $(1)/usr/lib/lua/luci/controller/
153 $(CP) ./$(PKG_IPV4_NAME)/src/view/* $(1)/usr/lib/lua/luci/view/$(BIRD4)/
154 endef
155
156 define Package/$(PKG_IPV6_LUCI_NAME)/install
157 $(INSTALL_DIR) $(1)/usr/lib/lua/luci/controller/
158 $(INSTALL_DIR) $(1)/usr/lib/lua/luci/model/cbi/$(BIRD6)/
159 $(INSTALL_DIR) $(1)/usr/lib/lua/luci/view/$(BIRD6)/
160 $(CP) ./$(PKG_IPV6_NAME)/src/model/* $(1)/usr/lib/lua/luci/model/cbi/$(BIRD6)/
161 $(CP) ./$(PKG_IPV6_NAME)/src/controller/* $(1)/usr/lib/lua/luci/controller/
162 $(CP) ./$(PKG_IPV6_NAME)/src/view/* $(1)/usr/lib/lua/luci/view/$(BIRD6)/
163 endef
164
165 $(eval $(call BuildPackage,$(PKG_IPV4_LUCI_NAME)))
166 $(eval $(call BuildPackage,$(PKG_IPV6_LUCI_NAME)))