lede-packages-rs

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

Makefile (15796B)


      1 #
      2 # Copyright (C) 2008-2017 OpenWrt.org
      3 #
      4 # This is free software, licensed under the GNU General Public License v2.
      5 #
      6 
      7 include $(TOPDIR)/rules.mk
      8 
      9 PKG_NAME:=ddns-scripts
     10 # Version == major.minor.patch
     11 # increase on new functionality (minor) or patches (patch)
     12 PKG_VERSION:=2.7.6
     13 # Release == build
     14 # increase on changes of services files or tld_names.dat
     15 PKG_RELEASE:=14
     16 
     17 PKG_LICENSE:=GPL-2.0
     18 PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com>
     19 
     20 include $(INCLUDE_DIR)/package.mk
     21 
     22 # no default dependencies
     23 PKG_DEFAULT_DEPENDS=
     24 
     25 define Package/ddns-scripts/Default
     26     SECTION:=net
     27     CATEGORY:=Network
     28     SUBMENU:=IP Addresses and Names
     29     PKGARCH:=all
     30 endef
     31 
     32 ###### *************************************************************************
     33 define Package/ddns-scripts
     34     $(call Package/ddns-scripts/Default)
     35     TITLE:=Dynamic DNS Client scripts (with IPv6 support)
     36 endef
     37 # shown in LuCI package description
     38 define Package/ddns-scripts/description
     39     Dynamic DNS Client scripts (with IPv6 support) - Info: http://wiki.openwrt.org/doc/howto/ddns.client
     40 endef
     41 # shown in menuconfig <Help>
     42 define Package/ddns-scripts/config
     43 	help
     44 		A highly configurable set of scripts for doing dynamic dns updates.
     45 		  - IPv6 support
     46 		  - DNS server support
     47 		  - Glue Record support (require BIND host or KNOT host)
     48 		  - DNS requests via TCP
     49 		  - Proxy server support
     50 		  - log file support
     51 		  - support to run once
     52 		Version: $(PKG_VERSION)-$(PKG_RELEASE)
     53 		Info   : http://wiki.openwrt.org/doc/howto/ddns.client
     54 endef
     55 
     56 ###### *************************************************************************
     57 define Package/ddns-scripts_cloudflare
     58     $(call Package/ddns-scripts/Default)
     59     TITLE:=CloudFlare.com API v1 (deprecated)
     60     DEPENDS:=ddns-scripts
     61 endef
     62 define Package/ddns-scripts_cloudflare/description
     63     Dynamic DNS Client scripts extension for CloudFlare.com API-v1 (deprecated)
     64 endef
     65 
     66 ###### *************************************************************************
     67 define Package/ddns-scripts_cloudflare.com-v4
     68     $(call Package/ddns-scripts/Default)
     69     TITLE:=CloudFlare.com API v4 (require cURL)
     70     DEPENDS:=ddns-scripts +curl
     71 endef
     72 define Package/ddns-scripts_cloudflare.com-v4/description
     73     Dynamic DNS Client scripts extension for CloudFlare.com API-v4 (require/install cURL)
     74 endef
     75 
     76 ###### *************************************************************************
     77 define Package/ddns-scripts_godaddy.com-v1
     78     $(call Package/ddns-scripts/Default)
     79     TITLE:=GoDaddy.com (require cURL)
     80     DEPENDS:=ddns-scripts +curl
     81 endef
     82 define Package/ddns-scripts_godaddy.com-v1/description
     83     Dynamic DNS Client scripts extension for GoDaddy.com (require/install cURL)
     84 endef
     85 
     86 ###### *************************************************************************
     87 define Package/ddns-scripts_no-ip_com
     88     $(call Package/ddns-scripts/Default)
     89     TITLE:=DDNS extension for No-IP.com
     90     DEPENDS:=ddns-scripts
     91 endef
     92 define Package/ddns-scripts_no-ip_com/description
     93     Dynamic DNS Client scripts extension for No-IP.com
     94 endef
     95 
     96 ###### *************************************************************************
     97 define Package/ddns-scripts_nsupdate
     98     $(call Package/ddns-scripts/Default)
     99     TITLE:=DDNS extension using Bind nsupdate
    100     DEPENDS:=ddns-scripts +bind-client
    101 endef
    102 define Package/ddns-scripts_nsupdate/description
    103     Dynamic DNS Client scripts extension for direct updates using Bind nsupdate
    104 endef
    105 define Package/ddns-scripts_nsupdate/config
    106     help
    107 	The script directly updates a PowerDNS (or maybe bind server) via nsupdate
    108 	from bind-client package. It requires
    109 	"option dns_server" to be set to the server to be used by nsupdate.
    110 	"option username" should be set to the key name and
    111 	"option password" to the base64 encoded shared secret.
    112 
    113 endef
    114 
    115 ###### *************************************************************************
    116 define Build/Configure
    117 endef
    118 define Build/Compile
    119 	$(CP) ./files $(PKG_BUILD_DIR)
    120 	# ensure that VERSION inside dynamic_dns_functions.sh reflect PKG_VERSION of Makefile
    121 	$(SED) '/^VERSION=*/s/.*/VERSION="$(PKG_VERSION)-$(PKG_RELEASE)"/' $(PKG_BUILD_DIR)/files/dynamic_dns_functions.sh
    122 	# remove comments, white spaces and empty lines
    123 	for FILE in `find $(PKG_BUILD_DIR)/files -type f`; do \
    124 		$(SED) 's/^[[:space:]]*//' \
    125 		-e '/^#[[:space:]]\|^#$$$$/d' \
    126 		-e 's/[[:space:]]#[[:space:]].*$$$$//' \
    127 		-e 's/[[:space:]]*$$$$//' \
    128 		-e '/^\/\/[[:space:]]/d'	\
    129 		-e '/^[[:space:]]*$$$$/d'	$$$$FILE; \
    130 	done
    131 	# compress public_suffix_list.dat
    132 	gzip -f9 $(PKG_BUILD_DIR)/files/public_suffix_list.dat
    133 endef
    134 
    135 define Package/ddns-scripts/conffiles
    136 /etc/config/ddns
    137 endef
    138 
    139 ###### *************************************************************************
    140 define Package/ddns-scripts/preinst
    141 	#!/bin/sh
    142 	# if NOT run buildroot then stop service
    143 	[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
    144 	exit 0	# suppress errors
    145 endef
    146 define Package/ddns-scripts/install
    147 	$(INSTALL_DIR)  $(1)/etc/uci-defaults
    148 	$(INSTALL_BIN)  $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns
    149 	$(INSTALL_DIR)  $(1)/etc/hotplug.d/iface
    150 	$(INSTALL_BIN)  $(PKG_BUILD_DIR)/files/ddns.hotplug $(1)/etc/hotplug.d/iface/95-ddns
    151 	$(INSTALL_DIR)  $(1)/etc/init.d
    152 	$(INSTALL_BIN)  $(PKG_BUILD_DIR)/files/ddns.init $(1)/etc/init.d/ddns
    153 	$(INSTALL_DIR)  $(1)/etc/config
    154 	$(INSTALL_CONF) $(PKG_BUILD_DIR)/files/ddns.config $(1)/etc/config/ddns
    155 
    156 	$(INSTALL_DIR)  $(1)/etc/ddns
    157 	$(INSTALL_DATA) $(PKG_BUILD_DIR)/files/services* $(1)/etc/ddns
    158 
    159 	$(INSTALL_DIR)  $(1)/usr/lib/ddns
    160 	$(INSTALL_BIN)  $(PKG_BUILD_DIR)/files/dynamic_dns_*.sh $(1)/usr/lib/ddns
    161 endef
    162 define Package/ddns-scripts/postinst
    163 	#!/bin/sh
    164 	# if NOT run buildroot and PKG_UPGRADE then (re)start service if enabled
    165 	[ -z "$${IPKG_INSTROOT}" -a "$${PKG_UPGRADE}" = "1" ] && {
    166 		[ -x /etc/uci-defaults/ddns ] && \
    167 			/etc/uci-defaults/ddns && \
    168 				rm -f /etc/uci-defaults/ddns >/dev/null 2>&1
    169 		/etc/init.d/ddns enabled && \
    170 			/etc/init.d/ddns start >/dev/null 2>&1
    171 	}
    172 	exit 0	# suppress errors
    173 endef
    174 define Package/ddns-scripts/prerm
    175 	#!/bin/sh
    176 	# if run within buildroot exit
    177 	[ -n "$${IPKG_INSTROOT}" ] && exit 0
    178 	# stop running scripts
    179 	/etc/init.d/ddns stop
    180 	/etc/init.d/ddns disable
    181 	# clear LuCI indexcache
    182 	rm -f /tmp/luci-indexcache >/dev/null 2>&1
    183 	exit 0	# suppress errors
    184 endef
    185 
    186 ###### *************************************************************************
    187 define Package/ddns-scripts_cloudflare/preinst
    188 	#!/bin/sh
    189 	# if NOT run buildroot then stop service
    190 	[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
    191 	exit 0	# suppress errors
    192 endef
    193 define Package/ddns-scripts_cloudflare/install
    194 	$(INSTALL_DIR)  $(1)/etc/uci-defaults
    195 	$(INSTALL_BIN)  $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_cloudflare
    196 	$(INSTALL_DIR)  $(1)/usr/share
    197 	$(INSTALL_DATA) $(PKG_BUILD_DIR)/files/public_suffix_list.dat.gz $(1)/usr/share
    198 	$(INSTALL_DIR)  $(1)/usr/lib/ddns
    199 	$(INSTALL_BIN)  $(PKG_BUILD_DIR)/files/update_cloudflare_com_v1.sh $(1)/usr/lib/ddns
    200 endef
    201 define Package/ddns-scripts_cloudflare/postinst
    202 	#!/bin/sh
    203 	# remove old services file entries
    204 	/bin/sed -i '/cloudflare\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services		>/dev/null 2>&1
    205 	/bin/sed -i '/cloudflare\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6	>/dev/null 2>&1
    206 	# and create new
    207 	printf "%s\\t%s\\n" '"cloudflare.com-v1"' '"update_cloudflare_com_v1.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
    208 	printf "%s\\t%s\\n" '"cloudflare.com-v1"' '"update_cloudflare_com_v1.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
    209 	# on real system restart service if enabled
    210 	[ -z "$${IPKG_INSTROOT}" ] && {
    211 		[ -x /etc/uci-defaults/ddns_cloudflare ] && \
    212 			/etc/uci-defaults/ddns_cloudflare && \
    213 				rm -f /etc/uci-defaults/ddns_cloudflare >/dev/null 2>&1
    214 		/etc/init.d/ddns enabled && \
    215 			/etc/init.d/ddns start >/dev/null 2>&1
    216 	}
    217 	exit 0	# suppress errors
    218 endef
    219 define Package/ddns-scripts_cloudflare/prerm
    220 	#!/bin/sh
    221 	# if NOT run buildroot then stop service
    222 	[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop				>/dev/null 2>&1
    223 	# remove services file entries
    224 	/bin/sed -i '/cloudflare\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services		>/dev/null 2>&1
    225 	/bin/sed -i '/cloudflare\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6	>/dev/null 2>&1
    226 	exit 0	# suppress errors
    227 endef
    228 
    229 ###### *************************************************************************
    230 define Package/ddns-scripts_cloudflare.com-v4/preinst
    231 	#!/bin/sh
    232 	# if NOT run buildroot then stop service
    233 	[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
    234 	exit 0	# suppress errors
    235 endef
    236 define Package/ddns-scripts_cloudflare.com-v4/install
    237 	$(INSTALL_DIR) $(1)/etc/uci-defaults
    238 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_cloudflare.com-v4
    239 	$(INSTALL_DIR) $(1)/usr/lib/ddns
    240 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_cloudflare_com_v4.sh $(1)/usr/lib/ddns
    241 endef
    242 define Package/ddns-scripts_cloudflare.com-v4/postinst
    243 	#!/bin/sh
    244 	# remove old services file entries
    245 	/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services		>/dev/null 2>&1
    246 	/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6	>/dev/null 2>&1
    247 	# and create new
    248 	printf "%s\\t%s\\n" '"cloudflare.com-v4"' '"update_cloudflare_com_v4.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
    249 	printf "%s\\t%s\\n" '"cloudflare.com-v4"' '"update_cloudflare_com_v4.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
    250 	# on real system restart service if enabled
    251 	[ -z "$${IPKG_INSTROOT}" ] && {
    252 		[ -x /etc/uci-defaults/ddns_cloudflare.com-v4 ] && \
    253 			/etc/uci-defaults/ddns_cloudflare.com-v4 && \
    254 				rm -f /etc/uci-defaults/ddns_cloudflare.com-v4 >/dev/null 2>&1
    255 		/etc/init.d/ddns enabled && \
    256 			/etc/init.d/ddns start >/dev/null 2>&1
    257 	}
    258 	exit 0	# suppress errors
    259 endef
    260 define Package/ddns-scripts_cloudflare.com-v4/prerm
    261 	#!/bin/sh
    262 	# if NOT run buildroot then stop service
    263 	[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop				>/dev/null 2>&1
    264 	# remove services file entries
    265 	/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services		>/dev/null 2>&1
    266 	/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6	>/dev/null 2>&1
    267 	exit 0	# suppress errors
    268 endef
    269 
    270 ###### *************************************************************************
    271 define Package/ddns-scripts_godaddy.com-v1/preinst
    272 	#!/bin/sh
    273 	# if NOT run buildroot then stop service
    274 	[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
    275 	exit 0	# suppress errors
    276 endef
    277 define Package/ddns-scripts_godaddy.com-v1/install
    278 	$(INSTALL_DIR) $(1)/etc/uci-defaults
    279 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_godaddy.com-v1
    280 	$(INSTALL_DIR) $(1)/usr/lib/ddns
    281 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_godaddy_com_v1.sh $(1)/usr/lib/ddns
    282 endef
    283 define Package/ddns-scripts_godaddy.com-v1/postinst
    284 	#!/bin/sh
    285 	# remove old services file entries
    286 	/bin/sed -i '/godaddy\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services		>/dev/null 2>&1
    287 	/bin/sed -i '/godaddy\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6	>/dev/null 2>&1
    288 	# and create new
    289 	printf "%s\\t%s\\n" '"godaddy.com-v1"' '"update_godaddy_com_v1.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
    290 	printf "%s\\t%s\\n" '"godaddy.com-v1"' '"update_godaddy_com_v1.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
    291 	# on real system restart service if enabled
    292 	[ -z "$${IPKG_INSTROOT}" ] && {
    293 		[ -x /etc/uci-defaults/ddns_godaddy.com-v1 ] && \
    294 			/etc/uci-defaults/ddns_godaddy.com-v1 && \
    295 				rm -f /etc/uci-defaults/ddns_godaddy.com-v1 >/dev/null 2>&1
    296 		/etc/init.d/ddns enabled \
    297 			&& /etc/init.d/ddns start >/dev/null 2>&1
    298 	}
    299 	exit 0	# suppress errors
    300 endef
    301 define Package/ddns-scripts_godaddy.com-v1/prerm
    302 	#!/bin/sh
    303 	# if NOT run buildroot then stop service
    304 	[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop				>/dev/null 2>&1
    305 	# remove services file entries
    306 	/bin/sed -i '/godaddy\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services		>/dev/null 2>&1
    307 	/bin/sed -i '/godaddy\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6	>/dev/null 2>&1
    308 	exit 0	# suppress errors
    309 endef
    310 
    311 ###### *************************************************************************
    312 define Package/ddns-scripts_no-ip_com/preinst
    313 	#!/bin/sh
    314 	# if NOT run buildroot then stop service
    315 	[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
    316 	exit 0	# suppress errors
    317 endef
    318 define Package/ddns-scripts_no-ip_com/install
    319 	$(INSTALL_DIR) $(1)/etc/uci-defaults
    320 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_no-ip_com
    321 	$(INSTALL_DIR) $(1)/usr/lib/ddns
    322 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_no-ip_com.sh $(1)/usr/lib/ddns
    323 endef
    324 define Package/ddns-scripts_no-ip_com/postinst
    325 	#!/bin/sh
    326 	# remove old services file entries
    327 	/bin/sed -i '/no-ip\.com/d' $${IPKG_INSTROOT}/etc/ddns/services	>/dev/null 2>&1
    328 	# and create new
    329 	printf "%s\\t%s\\n" '"no-ip.com"' '"update_no-ip_com.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
    330 	# on real system restart service if enabled
    331 	[ -z "$${IPKG_INSTROOT}" ] && {
    332 		[ -x /etc/uci-defaults/ddns_no-ip_com ] && \
    333 			/etc/uci-defaults/ddns_no-ip_com && \
    334 				rm -f /etc/uci-defaults/ddns_no-ip_com >/dev/null 2>&1
    335 		/etc/init.d/ddns enabled && \
    336 			/etc/init.d/ddns start >/dev/null 2>&1
    337 	}
    338 	exit 0	# suppress errors
    339 endef
    340 define Package/ddns-scripts_no-ip_com/prerm
    341 	#!/bin/sh
    342 	# if NOT run buildroot then stop service
    343 	[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop		>/dev/null 2>&1
    344 	# remove services file entries
    345 	/bin/sed -i '/no-ip\.com/d' $${IPKG_INSTROOT}/etc/ddns/services	>/dev/null 2>&1
    346 	exit 0	# suppress errors
    347 endef
    348 
    349 ###### *************************************************************************
    350 define Package/ddns-scripts_nsupdate/preinst
    351 	#!/bin/sh
    352 	# if NOT run buildroot then stop service
    353 	[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
    354 	exit 0	# suppress errors
    355 endef
    356 define Package/ddns-scripts_nsupdate/install
    357 	$(INSTALL_DIR) $(1)/etc/uci-defaults
    358 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_nsupdate
    359 	$(INSTALL_DIR) $(1)/usr/lib/ddns
    360 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_nsupdate.sh $(1)/usr/lib/ddns
    361 endef
    362 define Package/ddns-scripts_nsupdate/postinst
    363 	#!/bin/sh
    364 	# remove old services file entries
    365 	/bin/sed -i '/bind-nsupdate/d' $${IPKG_INSTROOT}/etc/ddns/services	>/dev/null 2>&1
    366 	/bin/sed -i '/bind-nsupdate/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6	>/dev/null 2>&1
    367 	# and create new
    368 	printf "%s\\t%s\\n" '"bind-nsupdate"' '"update_nsupdate.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
    369 	printf "%s\\t%s\\n" '"bind-nsupdate"' '"update_nsupdate.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
    370 	# on real system restart service if enabled
    371 	[ -z "$${IPKG_INSTROOT}" ] && {
    372 		[ -x /etc/uci-defaults/ddns_nsupdate ] && \
    373 			/etc/uci-defaults/ddns_nsupdate && \
    374 				rm -f /etc/uci-defaults/ddns_nsupdate >/dev/null 2>&1
    375 		/etc/init.d/ddns enabled && \
    376 			/etc/init.d/ddns start >/dev/null 2>&1
    377 	}
    378 	exit 0	# suppress errors
    379 endef
    380 define Package/ddns-scripts_nsupdate/prerm
    381 	#!/bin/sh
    382 	# if NOT run buildroot then stop service
    383 	[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop			>/dev/null 2>&1
    384 	# remove services file entries
    385 	/bin/sed -i '/bind-nsupdate/d' $${IPKG_INSTROOT}/etc/ddns/services	>/dev/null 2>&1
    386 	/bin/sed -i '/bind-nsupdate/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6	>/dev/null 2>&1
    387 	exit 0	# suppress errors
    388 endef
    389 
    390 ###### *************************************************************************
    391 $(eval $(call BuildPackage,ddns-scripts))
    392 $(eval $(call BuildPackage,ddns-scripts_cloudflare))
    393 $(eval $(call BuildPackage,ddns-scripts_cloudflare.com-v4))
    394 $(eval $(call BuildPackage,ddns-scripts_godaddy.com-v1))
    395 $(eval $(call BuildPackage,ddns-scripts_no-ip_com))
    396 $(eval $(call BuildPackage,ddns-scripts_nsupdate))