1 # Copyright (C) 2014-2017 Eloi Carbo <eloicaso@openmailbox.org>
2 # Copyright (C) 2022 Roger Pueyo Centelles <roger.pueyo@guifi.net>
4 # This program is free software: you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation, either version 3 of the License, or
7 # (at your option) any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
18 include $(TOPDIR
)/rules.mk
21 BIRD1_IPV4_PKG
:= $(BIRD1_PKG
)-ipv4
22 BIRD1_IPV6_PKG
:= $(BIRD1_PKG
)-ipv6
26 PKG_NAME
:= $(BIRD1_PKG
)-openwrt
27 PKG_IPV4_NAME
:= $(BIRD1_IPV4_PKG
)-openwrt
28 PKG_IPV6_NAME
:= $(BIRD1_IPV6_PKG
)-openwrt
31 PKG_BUILD_DIR
:= $(BUILD_DIR
)/$(PKG_NAME
)
32 PKG_LICENSE
:= GPL-3.0
+
34 PKG_UCI_NAME
:= $(BIRD1_PKG
)-uci
35 PKG_LUCI_NAME
:= $(BIRD1_PKG
)-luci
36 PKG_IPV4_UCI_NAME
:= $(BIRD1_IPV4_PKG
)-uci
37 PKG_IPV6_UCI_NAME
:= $(BIRD1_IPV6_PKG
)-uci
38 PKG_IPV4_LUCI_NAME
:= luci-app-
$(BIRD1_IPV4_PKG
)
39 PKG_IPV6_LUCI_NAME
:= luci-app-
$(BIRD1_IPV6_PKG
)
41 include $(INCLUDE_DIR
)/package.mk
49 define Package
/$(PKG_UCI_NAME
)/Default
50 TITLE
:=The BIRD UCI module
(v1.6
)
53 SUBMENU
:=Routing and Redirection
54 MAINTAINER
:=Roger Pueyo Centelles
<roger.pueyo@guifi.net
>
55 URL
:=https
://github.com
/openwrt
/bird1-openwrt
/
59 define Package
/$(PKG_LUCI_NAME
)/Default
60 TITLE
:=LuCI support for BIRD
(v1.6
)
63 SUBMENU
:=3. Applications
64 MAINTAINER
:=Roger Pueyo Centelles
<roger.pueyo@guifi.net
>
65 URL
:=https
://github.com
/openwrt
/bird1-openwrt
/
66 DEPENDS
:=+luci-base
+luci-compat
69 define Package
/$(PKG_UCI_NAME
)/description
70 $(BIRD1_PKG
) UCI integration module
73 define Package
/$(PKG_LUCI_NAME
)/description
74 $(BIRD1_PKG
) application for LuCI
77 define Package
/$(PKG_IPV4_UCI_NAME
)
78 $(call Package
/$(PKG_UCI_NAME
)/Default
)
80 DEPENDS
+= +$(BIRD1_IPV4_PKG
)
83 define Package
/$(PKG_IPV6_UCI_NAME
)
84 $(call Package
/$(PKG_UCI_NAME
)/Default
)
86 DEPENDS
+= +$(BIRD1_IPV6_PKG
)
89 define Package
/$(PKG_IPV4_LUCI_NAME
)
90 $(call Package
/$(PKG_LUCI_NAME
)/Default
)
92 DEPENDS
+= +$(PKG_IPV4_UCI_NAME
)
95 define Package
/$(PKG_IPV6_LUCI_NAME
)
96 $(call Package
/$(PKG_LUCI_NAME
)/Default
)
98 DEPENDS
+= +$(PKG_IPV6_UCI_NAME
)
101 define Package
/$(PKG_IPV4_UCI_NAME
)/conffiles
105 define Package
/$(PKG_IPV6_UCI_NAME
)/conffiles
109 define Package
/$(PKG_IPV4_UCI_NAME
)/install
110 $(INSTALL_DIR
) $(1)/etc
/$(BIRD4
)/init.d
111 $(INSTALL_DIR
) $(1)/etc
/config
112 $(INSTALL_DIR
) $(1)/etc
/$(BIRD4
)/filters
113 $(INSTALL_DIR
) $(1)/etc
/$(BIRD4
)/functions
114 $(INSTALL_BIN
) .
/$(PKG_IPV4_NAME
)/src
/init.d
/$(BIRD4
)* $(1)/etc
/$(BIRD4
)/init.d
/
115 $(CP
) .
/$(PKG_IPV4_NAME
)/src
/uci-defaults
/* $(1)/etc
/$(BIRD4
)/init.d
/
116 $(INSTALL_CONF
) .
/$(PKG_IPV4_NAME
)/src
/config
/$(BIRD4
) $(1)/etc
/config
/
119 define Package
/$(PKG_IPV6_UCI_NAME
)/install
120 $(INSTALL_DIR
) $(1)/etc
/$(BIRD6
)/init.d
121 $(INSTALL_DIR
) $(1)/etc
/config
122 $(INSTALL_DIR
) $(1)/etc
/$(BIRD6
)/filters
123 $(INSTALL_DIR
) $(1)/etc
/$(BIRD6
)/functions
124 $(INSTALL_BIN
) .
/$(PKG_IPV6_NAME
)/src
/init.d
/$(BIRD6
)* $(1)/etc
/$(BIRD6
)/init.d
/
125 $(CP
) .
/$(PKG_IPV6_NAME
)/src
/uci-defaults
/* $(1)/etc
/$(BIRD6
)/init.d
/
126 $(INSTALL_CONF
) .
/$(PKG_IPV6_NAME
)/src
/config
/$(BIRD6
) $(1)/etc
/config
/
129 define Package
/$(PKG_IPV4_UCI_NAME
)/postinst
131 if
[ -z
"$${IPKG_INSTROOT}" ]; then
132 ( .
/etc
/$(BIRD4
)/init.d
/bird-uci-install-init.d
$(BIRD4
) ) && rm -f
/etc
/$(BIRD4
)/init.d
/bird-uci-install-init.d
133 ( .
/etc
/$(BIRD4
)/init.d
/99-relocate-filters
$(BIRD4
) ) && rm -f
/etc
/$(BIRD4
)/init.d
/99-relocate-filters
134 if
[ -f
/etc
/sysupgrade.conf
] && ! grep
$(BIRD4
) /etc
/sysupgrade.conf
; then
135 echo
/etc
/config
/$(BIRD4
) >> /etc
/sysupgrade.conf
136 echo
/etc
/$(BIRD4
)/filters
/ >> /etc
/sysupgrade.conf
137 echo
/etc
/$(BIRD4
)/functions
/ >> /etc
/sysupgrade.conf
142 define Package
/$(PKG_IPV6_UCI_NAME
)/postinst
144 if
[ -z
"$${IPKG_INSTROOT}" ]; then
145 ( .
/etc
/$(BIRD6
)/init.d
/bird-uci-install-init.d
$(BIRD6
) ) && rm -f
/etc
/$(BIRD6
)/init.d
/bird-uci-install-init.d
146 ( .
/etc
/$(BIRD6
)/init.d
/99-relocate-filters
$(BIRD6
) ) && rm -f
/etc
/$(BIRD6
)/init.d
/99-relocate-filters
147 if
[ -f
/etc
/sysupgrade.conf
] && ! grep
$(BIRD6
) /etc
/sysupgrade.conf
; then
148 echo
/etc
/config
/$(BIRD6
) >> /etc
/sysupgrade.conf
149 echo
/etc
/$(BIRD6
)/filters
/ >> /etc
/sysupgrade.conf
150 echo
/etc
/$(BIRD6
)/functions
/ >> /etc
/sysupgrade.conf
155 $(eval
$(call BuildPackage
,$(PKG_IPV4_UCI_NAME
)))
156 $(eval
$(call BuildPackage
,$(PKG_IPV6_UCI_NAME
)))
158 define Package
/$(PKG_IPV4_LUCI_NAME
)/install
159 $(INSTALL_DIR
) $(1)/usr
/lib
/lua
/luci
/controller
/
160 $(INSTALL_DIR
) $(1)/usr
/lib
/lua
/luci
/model
/cbi
/$(BIRD4
)/
161 $(INSTALL_DIR
) $(1)/usr
/lib
/lua
/luci
/view
/$(BIRD4
)/
162 $(CP
) .
/$(PKG_IPV4_NAME
)/src
/model
/* $(1)/usr
/lib
/lua
/luci
/model
/cbi
/$(BIRD4
)/
163 $(CP
) .
/$(PKG_IPV4_NAME
)/src
/controller
/* $(1)/usr
/lib
/lua
/luci
/controller
/
164 $(CP
) .
/$(PKG_IPV4_NAME
)/src
/view
/* $(1)/usr
/lib
/lua
/luci
/view
/$(BIRD4
)/
167 define Package
/$(PKG_IPV6_LUCI_NAME
)/install
168 $(INSTALL_DIR
) $(1)/usr
/lib
/lua
/luci
/controller
/
169 $(INSTALL_DIR
) $(1)/usr
/lib
/lua
/luci
/model
/cbi
/$(BIRD6
)/
170 $(INSTALL_DIR
) $(1)/usr
/lib
/lua
/luci
/view
/$(BIRD6
)/
171 $(CP
) .
/$(PKG_IPV6_NAME
)/src
/model
/* $(1)/usr
/lib
/lua
/luci
/model
/cbi
/$(BIRD6
)/
172 $(CP
) .
/$(PKG_IPV6_NAME
)/src
/controller
/* $(1)/usr
/lib
/lua
/luci
/controller
/
173 $(CP
) .
/$(PKG_IPV6_NAME
)/src
/view
/* $(1)/usr
/lib
/lua
/luci
/view
/$(BIRD6
)/
176 $(eval
$(call BuildPackage
,$(PKG_IPV4_LUCI_NAME
)))
177 $(eval
$(call BuildPackage
,$(PKG_IPV6_LUCI_NAME
)))