lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

Makefile (9236B)


      1 #
      2 # Copyright (C) 2014-2017 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
      3 #
      4 # This is free software, licensed under the GNU General Public License v2.
      5 # See /LICENSE for more information.
      6 #
      7 
      8 include $(TOPDIR)/rules.mk
      9 
     10 PKG_NAME:=knot
     11 PKG_VERSION:=2.3.3
     12 PKG_RELEASE:=1
     13 
     14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
     15 PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-dns/
     16 PKG_HASH:=a929bce3b957a81776b1db7b43b0e4473339bf16be8dbba5abb4b0593bf43c94
     17 
     18 PKG_MAINTAINER:=Daniel Salzman <daniel.salzman@nic.cz>
     19 PKG_LICENSE:=GPL-3.0 LGPL-2.0 0BSD MIT OLDAP-2.8
     20 
     21 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
     22 PKG_FIXUP:=autoreconf
     23 PKG_INSTALL:=1
     24 
     25 include $(INCLUDE_DIR)/package.mk
     26 
     27 define Package/knot-lib/Default
     28 	SECTION:=libs
     29 	CATEGORY:=Libraries
     30 	TITLE:=Knot DNS
     31 	URL:=https://www.knot-dns.cz
     32 endef
     33 
     34 define Package/knot/Default
     35 	SECTION:=net
     36 	CATEGORY:=Network
     37 	SUBMENU:=IP Addresses and Names
     38 	TITLE:=Knot DNS
     39 	URL:=https://www.knot-dns.cz
     40 	USERID:=knot=5353:knot=5353
     41 endef
     42 
     43 define Package/knot-libdnssec
     44 	$(call Package/knot-lib/Default)
     45 	TITLE+= DNSSEC library
     46 	DEPENDS=+libpthread +libgnutls +jansson
     47 endef
     48 
     49 define Package/knot-libknot
     50 	$(call Package/knot-lib/Default)
     51 	TITLE+= library
     52 	DEPENDS=+libpthread +knot-libdnssec
     53 endef
     54 
     55 define Package/knot-libzscanner
     56 	$(call Package/knot-lib/Default)
     57 	TITLE+= zone parser library
     58 	DEPENDS=+libpthread
     59 endef
     60 
     61 define Package/knot
     62 	$(call Package/knot/Default)
     63 	TITLE+= server
     64 	DEPENDS=+liburcu +libedit +knot-libdnssec +knot-libknot +knot-libzscanner
     65 endef
     66 
     67 define Package/knot-dig
     68 	$(call Package/knot/Default)
     69 	TITLE+= advanced DNS lookup utility
     70 	DEPENDS=+knot-libdnssec +knot-libknot
     71 endef
     72 
     73 define Package/knot-host
     74 	$(call Package/knot/Default)
     75 	TITLE+= simple DNS lookup utility
     76 	DEPENDS=+knot-libdnssec +knot-libknot
     77 endef
     78 
     79 define Package/knot-nsupdate
     80 	$(call Package/knot/Default)
     81 	TITLE+= dynamic DNS update utility
     82 	DEPENDS=+knot-libdnssec +knot-libknot +knot-libzscanner
     83 endef
     84 
     85 define Package/knot-nsec3hash
     86 	$(call Package/knot/Default)
     87 	TITLE+= simple NSEC3 hash utility
     88 	DEPENDS=+knot-libdnssec
     89 endef
     90 
     91 define Package/knot-zonecheck
     92 	$(call Package/knot/Default)
     93 	TITLE+= zonefile check utility
     94 	DEPENDS=+liburcu +knot-libdnssec +knot-libknot +knot-libzscanner
     95 endef
     96 
     97 define Package/knot-keymgr
     98 	$(call Package/knot/Default)
     99 	TITLE+= DNSSEC key management utility
    100 	DEPENDS=+liburcu +knot-libdnssec +knot-libknot +knot-libzscanner
    101 endef
    102 
    103 define Package/knot-tests
    104 	$(call Package/knot/Default)
    105 	TITLE+= tests
    106 	DEPENDS=+liburcu +libedit +knot-libdnssec +knot-libknot +knot-libzscanner
    107 endef
    108 
    109 define Package/knot-libdnssec/description
    110 	Knot DNS DNSSEC library.
    111 endef
    112 
    113 define Package/knot-libknot/description
    114 	Knot DNS library.
    115 endef
    116 
    117 define Package/knot-libdnssec/description
    118 	Knot DNS zone parser library.
    119 endef
    120 
    121 define Package/knot/description
    122 	High-performance authoritative-only DNS server.
    123 endef
    124 
    125 define Package/knot-dig/description
    126 	Knot DNS advanced DNS lookup utility.
    127 endef
    128 
    129 define Package/knot-host/description
    130 	Knot DNS simple DNS lookup utility.
    131 endef
    132 
    133 define Package/knot-nsupdate/description
    134 	Knot DNS dynamic DNS update utility.
    135 endef
    136 
    137 define Package/knot-nsec3hash/description
    138 	Knot DNS simple NSEC3 hash utility.
    139 endef
    140 
    141 define Package/knot-zonecheck/description
    142 	Knot DNS zonefile check utility.
    143 endef
    144 
    145 define Package/knot-keymgr/description
    146 	Knot DNS DNSSEC key management utility.
    147 endef
    148 
    149 define Package/knot-tests/description
    150 	Unit tests for the Knot DNS server and libraries.
    151 	Usage: /usr/share/knot/runtests.sh
    152 endef
    153 
    154 CONFIGURE_ARGS += 			\
    155 	--enable-recvmmsg=no		\
    156 	--disable-fastparser		\
    157 	--without-libidn		\
    158 	--with-rundir=/var/run/knot	\
    159 	--with-storage=/var/lib/knot	\
    160 	--with-configdir=/etc/knot	\
    161 	--with-timer-mapsize=50		\
    162 	--with-conf-mapsize=50
    163 
    164 TARGET_CFLAGS += -DPSELECT_COMPAT -DNDEBUG
    165 
    166 define Package/knot/conffiles
    167 /etc/knot/knot.conf
    168 endef
    169 
    170 define Build/Compile
    171 	$(MAKE) -C $(PKG_BUILD_DIR)
    172 	$(MAKE) -C $(PKG_BUILD_DIR)/libtap check
    173 	$(MAKE) -C $(PKG_BUILD_DIR)/src/dnssec/tests check-compile
    174 	$(MAKE) -C $(PKG_BUILD_DIR)/tests check-compile
    175 	$(MAKE) -C $(PKG_BUILD_DIR)/src/zscanner check-compile
    176 endef
    177 
    178 define Build/InstallDev
    179 	$(INSTALL_DIR)					$(1)/usr/lib
    180 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{a,so*}	$(1)/usr/lib/
    181 
    182 	$(INSTALL_DIR)						$(1)/usr/include/libknot
    183 	$(CP) $(PKG_INSTALL_DIR)/usr/include/libknot/*		$(1)/usr/include/libknot/
    184 
    185 	$(INSTALL_DIR)						$(1)/usr/include/dnssec
    186 	$(CP) $(PKG_INSTALL_DIR)/usr/include/dnssec/*		$(1)/usr/include/dnssec/
    187 
    188 	$(INSTALL_DIR)						$(1)/usr/include/zscanner
    189 	$(CP) $(PKG_INSTALL_DIR)/usr/include/zscanner/*		$(1)/usr/include/zscanner/
    190 
    191 	$(INSTALL_DIR)							$(1)/usr/lib/pkgconfig
    192 	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc	$(1)/usr/lib/pkgconfig/
    193 endef
    194 
    195 define Package/knot-libdnssec/install
    196 	$(INSTALL_DIR) 						$(1)/usr/lib
    197 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libdnssec.so.*		$(1)/usr/lib/
    198 endef
    199 
    200 define Package/knot-libknot/install
    201 	$(INSTALL_DIR) 						$(1)/usr/lib
    202 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libknot.so.*		$(1)/usr/lib/
    203 endef
    204 
    205 define Package/knot-libzscanner/install
    206 	$(INSTALL_DIR) 						$(1)/usr/lib
    207 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libzscanner.so.*	$(1)/usr/lib/
    208 endef
    209 
    210 define Package/knot/install
    211 	$(INSTALL_DIR) 						$(1)/usr/bin
    212 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/knotc	$(1)/usr/bin/
    213 	$(INSTALL_DIR) 						$(1)/usr/sbin
    214 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/knotd	$(1)/usr/sbin/
    215 
    216 	$(INSTALL_DIR) 							$(1)/etc/knot
    217 	$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/knot/knot.sample.conf	$(1)/etc/knot/knot.conf
    218 
    219 	$(INSTALL_DIR)				$(1)/etc/init.d
    220 	$(INSTALL_BIN) ./files/knotd.init	$(1)/etc/init.d/knotd
    221 endef
    222 
    223 define Package/knot-dig/install
    224 	$(INSTALL_DIR)						$(1)/usr/bin
    225 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kdig		$(1)/usr/bin/
    226 endef
    227 
    228 define Package/knot-host/install
    229 	$(INSTALL_DIR)						$(1)/usr/bin
    230 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/khost		$(1)/usr/bin/
    231 endef
    232 
    233 define Package/knot-nsupdate/install
    234 	$(INSTALL_DIR)						$(1)/usr/bin
    235 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/knsupdate	$(1)/usr/bin/
    236 endef
    237 
    238 define Package/knot-nsec3hash/install
    239 	$(INSTALL_DIR)						$(1)/usr/bin
    240 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/knsec3hash	$(1)/usr/bin/
    241 endef
    242 
    243 define Package/knot-zonecheck/install
    244 	$(INSTALL_DIR)						$(1)/usr/bin
    245 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kzonecheck	$(1)/usr/bin/
    246 endef
    247 
    248 define Package/knot-keymgr/install
    249 	$(INSTALL_DIR)						$(1)/usr/bin
    250 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/keymgr	$(1)/usr/bin/
    251 endef
    252 
    253 define Package/knot-tests/install
    254 	$(INSTALL_DIR) 						$(1)/usr/share/knot
    255 	$(INSTALL_BIN) ./files/runtests.sh			$(1)/usr/share/knot/
    256 
    257 	$(INSTALL_DIR) 						$(1)/usr/share/knot/tap
    258 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/libtap/runtests		$(1)/usr/share/knot/tap/
    259 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/libtap/tap/libtap.sh	$(1)/usr/share/knot/tap/
    260 
    261 	$(INSTALL_DIR)									$(1)/usr/share/knot/tests
    262 	find $(PKG_BUILD_DIR)/tests/.libs -maxdepth 1 -executable -type f | \
    263 		xargs -I{} basename {} | \
    264 		xargs -I{} $(INSTALL_BIN) -T $(PKG_BUILD_DIR)/tests/.libs/{}		$(1)/usr/share/knot/tests/test_{}
    265 
    266 	$(INSTALL_DIR)									$(1)/usr/share/knot/tests/dnssec
    267 	find $(PKG_BUILD_DIR)/src/dnssec/tests -maxdepth 1 -executable -type f | \
    268 		xargs -I{} basename {} | \
    269 		xargs -I{} $(INSTALL_BIN) -T $(PKG_BUILD_DIR)/src/dnssec/tests/{}	$(1)/usr/share/knot/tests/dnssec/test_{}
    270 
    271 	$(INSTALL_DIR)									$(1)/usr/share/knot/tests/contrib
    272 	find $(PKG_BUILD_DIR)/tests/contrib/.libs -maxdepth 1 -executable -type f | \
    273 		xargs -I{} basename {} | \
    274 		xargs -I{} $(INSTALL_BIN) -T $(PKG_BUILD_DIR)/tests/contrib/.libs/{}	$(1)/usr/share/knot/tests/contrib/{}
    275 
    276 	$(INSTALL_DIR)									$(1)/usr/share/knot/tests/libknot
    277 	find $(PKG_BUILD_DIR)/tests/libknot/.libs -maxdepth 1 -executable -type f | \
    278 		xargs -I{} basename {} | \
    279 		xargs -I{} $(INSTALL_BIN) -T $(PKG_BUILD_DIR)/tests/libknot/.libs/{}	$(1)/usr/share/knot/tests/libknot/{}
    280 
    281 	$(INSTALL_DIR)									$(1)/usr/share/knot/tests/modules
    282 	find $(PKG_BUILD_DIR)/tests/modules/.libs -maxdepth 1 -executable -type f | \
    283 		xargs -I{} basename {} | \
    284 		xargs -I{} $(INSTALL_BIN) -T $(PKG_BUILD_DIR)/tests/modules/.libs/{}	$(1)/usr/share/knot/tests/modules/test_{}
    285 
    286 	$(INSTALL_DIR)									$(1)/usr/share/knot/tests/utils
    287 	find $(PKG_BUILD_DIR)/tests/utils/.libs -maxdepth 1 -executable -type f | \
    288 		xargs -I{} basename {} | \
    289 		xargs -I{} $(INSTALL_BIN) -T $(PKG_BUILD_DIR)/tests/utils/.libs/{}	$(1)/usr/share/knot/tests/utils/{}
    290 
    291 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/zscanner/tests/.libs/zscanner-tool	$(1)/usr/share/knot/tests/
    292 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/zscanner/tests/unittests		$(1)/usr/share/knot/tests/test_zscanner
    293 	$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/zscanner/tests/TESTS		$(1)/usr/share/knot/tests/
    294 	cp -a $(PKG_BUILD_DIR)/src/zscanner/tests/data				$(1)/usr/share/knot/tests/
    295 endef
    296 
    297 $(eval $(call BuildPackage,knot-libdnssec))
    298 $(eval $(call BuildPackage,knot-libknot))
    299 $(eval $(call BuildPackage,knot-libzscanner))
    300 $(eval $(call BuildPackage,knot))
    301 $(eval $(call BuildPackage,knot-dig))
    302 $(eval $(call BuildPackage,knot-host))
    303 $(eval $(call BuildPackage,knot-nsupdate))
    304 $(eval $(call BuildPackage,knot-nsec3hash))
    305 $(eval $(call BuildPackage,knot-zonecheck))
    306 $(eval $(call BuildPackage,knot-keymgr))
    307 $(eval $(call BuildPackage,knot-tests))