Makefile 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. include $(TOPDIR)/rules.mk
  3. PKG_NAME:=bird3
  4. PKG_VERSION:=3.0.1
  5. PKG_RELEASE:=1
  6. PKG_SOURCE:=bird-$(PKG_VERSION).tar.gz
  7. PKG_SOURCE_URL:=https://bird.network.cz/download/
  8. PKG_HASH:=8868403caa84e2554bb6e60adbe7c657e7bb7c4ac41910e398f35e236ba90fa1
  9. PKG_MAINTAINER:=Toke Høiland-Jørgensen <toke@toke.dk>, Nick Hainke <vincent@systemli.org>
  10. PKG_LICENSE:=GPL-2.0-or-later
  11. PKG_BUILD_DEPENDS:=ncurses readline
  12. PKG_BUILD_DIR:=$(BUILD_DIR)/bird-$(PKG_VERSION)
  13. include $(INCLUDE_DIR)/package.mk
  14. define Package/bird3/Default/description
  15. BIRD is an internet routing daemon which manages TCP/IP routing tables
  16. with support of modern routing protocols, easy to use configuration
  17. interface and powerful route filtering language. It is lightweight and
  18. efficient and therefore appropriate for small embedded routers.
  19. endef
  20. define Package/bird3
  21. TITLE:=The BIRD Internet Routing Daemon (v3)
  22. URL:=http://bird.network.cz/
  23. SECTION:=net
  24. CATEGORY:=Network
  25. SUBMENU:=Routing and Redirection
  26. DEPENDS:=+libpthread +libatomic
  27. CONFLICTS:=bird2
  28. endef
  29. define Package/bird3c
  30. TITLE:=The BIRD command-line client (v3)
  31. URL:=http://bird.network.cz/
  32. SECTION:=net
  33. CATEGORY:=Network
  34. SUBMENU:=Routing and Redirection
  35. DEPENDS:=+bird3 +libreadline +libncurses
  36. CONFLICTS:=bird2
  37. endef
  38. define Package/bird3cl
  39. TITLE:=The BIRD lightweight command-line client (v2)
  40. URL:=http://bird.network.cz/
  41. SECTION:=net
  42. CATEGORY:=Network
  43. SUBMENU:=Routing and Redirection
  44. DEPENDS:=+bird3
  45. CONFLICTS:=bird2
  46. endef
  47. define Package/bird3/description
  48. $(call Package/bird3/Default/description)
  49. BIRD supports OSPFv2, RIPv2, Babel and BGP protocols for IPv4 and
  50. OSPFv3, RIPng, Babel and BGP protocols for IPv6.
  51. In BGP, BIRD supports communities, multiprotocol extensions, MD5
  52. authentication, 32bit AS numbers and could act as a route server or a
  53. route reflector. BIRD also supports multiple RIBs, multiple kernel
  54. routing tables and redistribution between the protocols with a powerful
  55. configuration syntax.
  56. This is the 3.0 branch of Bird which is a multithreaded rewrite.
  57. endef
  58. define Package/bird3c/description
  59. $(call Package/bird3/Default/description)
  60. This is a BIRD command-line client. It is used to send commands to BIRD,
  61. commands can perform simple actions such as enabling/disabling of
  62. protocols, telling BIRD to show various information, telling it to show
  63. a routing table filtered by a filter, or asking BIRD to reconfigure.
  64. Unless you can't afford dependency on ncurses and readline, you
  65. should install BIRD command-line client together with BIRD.
  66. endef
  67. define Package/bird3cl/description
  68. $(call Package/bird3/Default/description)
  69. This is a BIRD lightweight command-line client. It is used to send commands
  70. to BIRD, commands can perform simple actions such as enabling/disabling of
  71. protocols, telling BIRD to show various information, telling it to show
  72. a routing table filtered by a filter, or asking BIRD to reconfigure.
  73. endef
  74. CONFIGURE_ARGS += --disable-libssh
  75. TARGET_LDFLAGS += -latomic
  76. define Package/bird3/conffiles
  77. /etc/bird.conf
  78. /etc/bird4.conf
  79. /etc/bird6.conf
  80. endef
  81. define Package/bird3/install
  82. $(INSTALL_DIR) $(1)/usr/sbin
  83. $(INSTALL_BIN) $(PKG_BUILD_DIR)/bird $(1)/usr/sbin/
  84. $(INSTALL_DIR) $(1)/etc
  85. $(INSTALL_DATA) $(PKG_BUILD_DIR)/doc/bird.conf.example $(1)/etc/bird.conf
  86. $(INSTALL_DIR) $(1)/etc/init.d
  87. $(INSTALL_BIN) ./files/bird.init $(1)/etc/init.d/bird
  88. endef
  89. define Package/bird3c/install
  90. $(INSTALL_DIR) $(1)/usr/sbin
  91. $(INSTALL_BIN) $(PKG_BUILD_DIR)/birdc $(1)/usr/sbin/
  92. endef
  93. define Package/bird3cl/install
  94. $(INSTALL_DIR) $(1)/usr/sbin
  95. $(INSTALL_BIN) $(PKG_BUILD_DIR)/birdcl $(1)/usr/sbin/
  96. endef
  97. $(eval $(call BuildPackage,bird3))
  98. $(eval $(call BuildPackage,bird3c))
  99. $(eval $(call BuildPackage,bird3cl))