1 # SPDX-License-Identifier: GPL-3.0-or-later
3 # Copyright (C) 2014-2017 Eloi Carbó <eloicaso@openmailbox.org>
4 # Copyright (C) 2022-2023 Roger Pueyo Centelles <roger.pueyo@guifi.net>
7 include $(TOPDIR
)/rules.mk
10 BIRD1_IPV4_PKG
:= $(BIRD1_PKG
)-ipv4
11 BIRD1_IPV6_PKG
:= $(BIRD1_PKG
)-ipv6
15 PKG_NAME
:= $(BIRD1_PKG
)-openwrt
16 PKG_IPV4_NAME
:= $(BIRD1_IPV4_PKG
)-openwrt
17 PKG_IPV6_NAME
:= $(BIRD1_IPV6_PKG
)-openwrt
20 PKG_BUILD_DIR
:= $(BUILD_DIR
)/$(PKG_NAME
)
21 PKG_LICENSE
:= GPL-3.0
-or-later
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
)
30 include $(INCLUDE_DIR
)/package.mk
38 define Package
/$(PKG_UCI_NAME
)/Default
39 TITLE
:=The BIRD UCI module
(v1.6
)
42 SUBMENU
:=Routing and Redirection
43 MAINTAINER
:=Roger Pueyo Centelles
<roger.pueyo@guifi.net
>
44 URL
:=https
://github.com
/openwrt
/bird1-openwrt
/
48 define Package
/$(PKG_LUCI_NAME
)/Default
49 TITLE
:=LuCI support for BIRD
(v1.6
)
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
58 define Package
/$(PKG_UCI_NAME
)/description
59 $(BIRD1_PKG
) UCI integration module
62 define Package
/$(PKG_LUCI_NAME
)/description
63 $(BIRD1_PKG
) application for LuCI
66 define Package
/$(PKG_IPV4_UCI_NAME
)
67 $(call Package
/$(PKG_UCI_NAME
)/Default
)
69 DEPENDS
+= +$(BIRD1_IPV4_PKG
)
72 define Package
/$(PKG_IPV6_UCI_NAME
)
73 $(call Package
/$(PKG_UCI_NAME
)/Default
)
75 DEPENDS
+= +$(BIRD1_IPV6_PKG
)
78 define Package
/$(PKG_IPV4_LUCI_NAME
)
79 $(call Package
/$(PKG_LUCI_NAME
)/Default
)
81 DEPENDS
+= +$(PKG_IPV4_UCI_NAME
)
84 define Package
/$(PKG_IPV6_LUCI_NAME
)
85 $(call Package
/$(PKG_LUCI_NAME
)/Default
)
87 DEPENDS
+= +$(PKG_IPV6_UCI_NAME
)
90 define Package
/$(PKG_IPV4_UCI_NAME
)/conffiles
94 define Package
/$(PKG_IPV6_UCI_NAME
)/conffiles
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
/
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
/
118 define Package
/$(PKG_IPV4_UCI_NAME
)/postinst
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
131 define Package
/$(PKG_IPV6_UCI_NAME
)/postinst
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
144 $(eval
$(call BuildPackage
,$(PKG_IPV4_UCI_NAME
)))
145 $(eval
$(call BuildPackage
,$(PKG_IPV6_UCI_NAME
)))
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
)/
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
)/
165 $(eval
$(call BuildPackage
,$(PKG_IPV4_LUCI_NAME
)))
166 $(eval
$(call BuildPackage
,$(PKG_IPV6_LUCI_NAME
)))