# # Copyright (C) 2008-2018 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # include $(TOPDIR)/rules.mk PKG_NAME:=ddns-scripts PKG_VERSION:=2.8.2 PKG_RELEASE:=70 PKG_LICENSE:=GPL-2.0 include $(INCLUDE_DIR)/package.mk define Package/ddns-scripts/Default SECTION:=net CATEGORY:=Network SUBMENU:=IP Addresses and Names PKGARCH:=all endef define Package/ddns-scripts $(call Package/ddns-scripts/Default) TITLE:=Dynamic DNS Client scripts (with IPv6 support) DEPENDS:=+ddns-scripts-services endef define Package/ddns-scripts/description Dynamic DNS Client scripts (with IPv6 support) A highly configurable set of scripts for doing dynamic dns updates. - IPv6 support - DNS server support - Glue Record support (require BIND host or KNOT host) - DNS requests via TCP - Proxy server support - log file support - support to run once Version: $(PKG_VERSION)-$(PKG_RELEASE) Info : https://openwrt.org/docs/guide-user/services/ddns/client endef define Package/ddns-scripts/conffiles /etc/config/ddns endef define Package/ddns-scripts-services $(call Package/ddns-scripts/Default) TITLE:=Common ddns providers PROVIDES:=ddns-scripts_service endef define Package/ddns-scripts-services/description Dynamic DNS Client definitions for supported services endef define Package/ddns-scripts-utils $(call Package/ddns-scripts/Default) TITLE:=Utility scripts for ddns configs DEPENDS:=ddns-scripts endef define Package/ddns-scripts-utils/description Dynamic DNS Client utility scripts for config files endef define Package/ddns-scripts-luadns $(call Package/ddns-scripts/Default) TITLE:=Extension for LuaDNS API v1 DEPENDS:=ddns-scripts +curl endef define Package/ddns-scripts-luadns/description Dynamic DNS Client scripts extension for LuaDNS API v1 (require curl) endef define Package/ddns-scripts-cloudflare $(call Package/ddns-scripts/Default) TITLE:=Extension for cloudflare.com API v4 DEPENDS:=ddns-scripts +curl PROVIDES:=ddns-scripts_cloudflare.com-v4 endef define Package/ddns-scripts-cloudflare/description Dynamic DNS Client scripts extension for cloudflare.com API v4 (require curl) endef define Package/ddns-scripts-gcp $(call Package/ddns-scripts/Default) TITLE:=Extension for Google Cloud DNS API v1 DEPENDS:=ddns-scripts +curl +openssl-util endef define Package/ddns-scripts-gcp/description Dynamic DNS Client scripts extension for Google Cloud DNS API v1 (requires curl) endef define Package/ddns-scripts-freedns $(call Package/ddns-scripts/Default) TITLE:=Extension for freedns.42.pl DEPENDS:=ddns-scripts +curl PROVIDES:=ddns-scripts_freedns_42_pl endef define Package/ddns-scripts-freedns/description Dynamic DNS Client scripts extension for 'freedns.42.pl'. endef define Package/ddns-scripts-godaddy $(call Package/ddns-scripts/Default) TITLE:=Extension for godaddy.com API v1 DEPENDS:=ddns-scripts +curl PROVIDES:=ddns-scripts_godaddy.com-v1 endef define Package/ddns-scripts-godaddy/description Dynamic DNS Client scripts extension for 'godaddy.com API v1'. endef define Package/ddns-scripts-digitalocean $(call Package/ddns-scripts/Default) TITLE:=Extention for digitalocean.com API v2 DEPENDS:=ddns-scripts +curl PROVIDES:=ddns-scripts_digitalocean.com-v2 endef define Package/ddns-scripts-digitalocean/description Dynamic DNS Client scripts extension for digitalocean.com API v2. The script directly updates a DNS record using the DO API. It requires: 'option dns_server' to be set to the server to be used by nsupdate. 'option domain' the dns domain to update the record for (eg. A-record: home.) 'option username' the dns record name to update (eg. A-record: .example.com) 'option param_opt' the id of the dns record to update (check using chrome inspector in the DO dns tab) 'option password' the api token generated in the DO panel endef define Package/ddns-scripts-dnspod $(call Package/ddns-scripts/Default) TITLE:=Extension for dnspod.cn API DEPENDS:=ddns-scripts +curl endef define Package/ddns-scripts-dnspod/description Dynamic DNS Client scripts extension for dnspod.cn API (require curl) endef define Package/ddns-scripts-dnspod-v3 $(call Package/ddns-scripts/Default) TITLE:=Extension for dnspod.tencentcloudapi.com (aka: dnspod.cn) API v3 DEPENDS:=ddns-scripts +curl +openssl-util endef define Package/ddns-scripts-dnspod-v3/description Dynamic DNS Client scripts extension for dnspod.tencentcloudapi.com API v3 (require curl) endef define Package/ddns-scripts-noip $(call Package/ddns-scripts/Default) TITLE:=Extension for no-ip.com DEPENDS:=ddns-scripts PROVIDES:=ddns-scripts_no-ip_com endef define Package/ddns-scripts-noip/description Dynamic DNS Client scripts extension for 'no-ip.com'. endef define Package/ddns-scripts-ns1 $(call Package/ddns-scripts/Default) TITLE:=NS1 API DEPENDS:=ddns-scripts +curl endef define Package/ddns-scripts-ns1/description Dynamic DNS Client scripts extension for 'ns1.com'. It requires: 'option username' to be a valid zone for ns1.com 'option password' to be a valid API key for ns1.com endef define Package/ddns-scripts-nsupdate $(call Package/ddns-scripts/Default) TITLE:=Extension for using bind nsupdate. DEPENDS:=ddns-scripts +bind-client PROVIDES:=ddns-scripts_nsupdate endef define Package/ddns-scripts-nsupdate/description Dynamic DNS Client scripts extension for direct updates using bind nsupdate The script directly updates a PowerDNS (or maybe bind server) via nsupdate from bind-client package. It requires: 'option dns_server' to be set to the server to be used by nsupdate. 'option username' should be set to the key name and 'option password' to the base64 encoded shared secret. endef define Package/ddns-scripts-route53 $(call Package/ddns-scripts/Default) TITLE:=Extension for route53 API v1 DEPENDS:=ddns-scripts +curl +openssl-util PROVIDES:=ddns-scripts_route53-v1 endef define Package/ddns-scripts-route53/description Dynamic DNS Client scripts extension for Amazon AWS 'route53 API v1'. Note: You must also install ca-certificate or ca-bundle. It requires: 'option username' to be a valid AWS access key id 'option password' to be the matching AWS secret key id 'option domain' to contain the hosted zone ID endef define Package/ddns-scripts-cnkuai $(call Package/ddns-scripts/Default) TITLE:=CnKuai API DEPENDS:=ddns-scripts +curl +giflib-utils PROVIDES:=ddns-scripts_cnkuai_cn endef define Package/ddns-scripts-cnkuai/description Dynamic DNS Client scripts extension for 'cnkuai.cn'. It requires: 'option username' to be a valid CnKuai control panel id 'option password' to be the matching CnKuai control panel password 'option domain' to contain the domain endef define Package/ddns-scripts-gandi $(call Package/ddns-scripts/Default) TITLE:=Gandi API DEPENDS:=ddns-scripts +curl endef define Package/ddns-scripts-gandi/description Dynamic DNS Client scripts extension for 'gandi.net'. It requires: 'option username' to be a valid subdomain for gandi.net 'option password' to be a valid API key for gandi.net endef define Package/ddns-scripts-pdns $(call Package/ddns-scripts/Default) TITLE:=PowerDNS API DEPENDS:=ddns-scripts +curl endef define Package/ddns-scripts-pdns/description Dynamic DNS Client scripts extension for 'PowerDNS' via API. It requires: 'option param_opt(Optional Parameter)' to be a valid root URL for the PowerDNS webserver 'option username' to be a valid subdomain for the PowerDNS domain 'option password' to be a valid API key for the PowerDNS webserver endef define Package/ddns-scripts-scaleway $(call Package/ddns-scripts/Default) TITLE:=Extension for Scaleway DNS API DEPENDS:=ddns-scripts +curl endef define Package/ddns-scripts-scaleway/description Dynamic DNS Client scripts extension for Scaleway. Parameters: 'option username' The zone in which the RR is to be set 'option password' The Scaleway API token with sufficient access rights 'option domain' The domain to be updated 'option param_opt' (Optional) The TTL of the RR endef define Package/ddns-scripts-transip $(call Package/ddns-scripts/Default) TITLE:=Extension for TransIP API DEPENDS:=ddns-scripts +curl +openssl-util +!BUSYBOX_CONFIG_MKTEMP:coreutils-mktemp endef define Package/ddns-scripts-transip/description Dynamic DNS Client scripts extension for 'transip.nl'. Note: You must also install ca-certificate or ca-bundle. It requires: 'option username' to be a valid username for transip.nl 'option password' to be a valid matching private key 'option domain' to contain the base domain 'option param_enc' to contain the name of the DNS record to update 'option param_opt' to contain the TTL of the DNS record to update endef define Package/ddns-scripts-one $(call Package/ddns-scripts/Default) TITLE:=Extension for one.com Control Panel DEPENDS:=ddns-scripts +curl endef define Package/ddns-scripts-one/description Dynamic DNS Client scripts extension for 'one.com'. It requires: 'option username' to be a valid Email for one.com Control Panel 'option password' to be the matching one.com Control Panel password 'option domain' to contain the domain / subdomain endef define Package/ddns-scripts-porkbun $(call Package/ddns-scripts/Default) TITLE:=Extension for porkbun.com API v3 DEPENDS:=ddns-scripts +curl PROVIDES:=ddns-scripts_porkbun.com-v3 endef define Package/ddns-scripts-porkbun/description Dynamic DNS Client scripts extension for porkbun.com API v3 (require curl) It requires: 'option username' to be a Porkbun API key 'option password' to be the corresponding Porkbun API secret key 'option domain' to be the FQDN for which to configure DDNS endef define Package/ddns-scripts-huaweicloud $(call Package/ddns-scripts/Default) TITLE:=Extension for huaweicloud.com API DEPENDS:=ddns-scripts +curl +openssl-util endef define Package/ddns-scripts-huaweicloud/description Dynamic DNS Client scripts extension for huaweicloud.com API (require curl and openssl) endef define Build/Configure endef define Build/Compile endef define Package/ddns-scripts/install $(INSTALL_DIR) $(1)/etc/hotplug.d/iface $(INSTALL_DATA) ./files/etc/hotplug.d/iface/ddns \ $(1)/etc/hotplug.d/iface/95-ddns $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/etc/init.d/ddns \ $(1)/etc/init.d/ddns $(INSTALL_DIR) $(1)/etc/config $(INSTALL_CONF) ./files/etc/config/ddns \ $(1)/etc/config/ddns $(INSTALL_DIR) $(1)/usr/share/ddns echo "$(PKG_VERSION)-$(PKG_RELEASE)" > $(1)/usr/share/ddns/version $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_DATA) ./files/usr/lib/ddns/dynamic_dns_functions.sh \ $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/dynamic_dns_lucihelper.sh \ $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/dynamic_dns_updater.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) ./files/usr/bin/ddns.sh \ $(1)/usr/bin/ddns $(INSTALL_DIR) $(1)/etc/uci-defaults $(INSTALL_DATA) ./files/etc/uci-defaults/50-ddns-migrate-retry-count \ $(1)/etc/uci-defaults/ endef define Package/ddns-scripts/postinst #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns enabled /etc/init.d/ddns start fi exit 0 endef define Package/ddns-scripts/prerm #!/bin/sh if [ -n "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop /etc/init.d/ddns disable fi exit 0 endef define Package/ddns-scripts-services/install $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/* \ $(1)/usr/share/ddns/default # Remove special services rm $(1)/usr/share/ddns/default/luadns.com-v1.json rm $(1)/usr/share/ddns/default/cloudflare.com-v4.json rm $(1)/usr/share/ddns/default/cloud.google.com-v1.json rm $(1)/usr/share/ddns/default/freedns.42.pl.json rm $(1)/usr/share/ddns/default/godaddy.com-v1.json rm $(1)/usr/share/ddns/default/digitalocean.com-v2.json rm $(1)/usr/share/ddns/default/dnspod.cn.json rm $(1)/usr/share/ddns/default/dnspod.cn-v3.json rm $(1)/usr/share/ddns/default/no-ip.com.json rm $(1)/usr/share/ddns/default/bind-nsupdate.json rm $(1)/usr/share/ddns/default/route53-v1.json rm $(1)/usr/share/ddns/default/cnkuai.cn.json rm $(1)/usr/share/ddns/default/gandi.net.json rm $(1)/usr/share/ddns/default/pdns.json rm $(1)/usr/share/ddns/default/scaleway.com.json rm $(1)/usr/share/ddns/default/transip.nl.json rm $(1)/usr/share/ddns/default/ns1.com.json rm $(1)/usr/share/ddns/default/one.com.json rm $(1)/usr/share/ddns/default/porkbun.com-v3.json rm $(1)/usr/share/ddns/default/huaweicloud.com.json endef define Package/ddns-scripts-utils/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./samples/slaac_sample.sh \ $(1)/usr/lib/ddns/slaac.sh $(INSTALL_BIN) ./samples/getlocalip_sample.sh \ $(1)/usr/lib/ddns/getlocalip.sh endef define Package/ddns-scripts-luadns/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_luadns_v1.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/luadns.com-v1.json \ $(1)/usr/share/ddns/default/ endef define Package/ddns-scripts-luadns/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-cloudflare/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_cloudflare_com_v4.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/cloudflare.com-v4.json \ $(1)/usr/share/ddns/default/ endef define Package/ddns-scripts-cloudflare/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-gcp/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_gcp_v1.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/cloud.google.com-v1.json \ $(1)/usr/share/ddns/default/ endef define Package/ddns-scripts-gcp/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-freedns/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_freedns_42_pl.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/freedns.42.pl.json \ $(1)/usr/share/ddns/default endef define Package/ddns-scripts-freedns/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-godaddy/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_godaddy_com_v1.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/godaddy.com-v1.json \ $(1)/usr/share/ddns/default endef define Package/ddns-scripts-godaddy/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-digitalocean/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_digitalocean_com_v2.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/digitalocean.com-v2.json \ $(1)/usr/share/ddns/default endef define Package/ddns-scripts-digitalocean/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-dnspod/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_dnspod_cn.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/dnspod.cn.json \ $(1)/usr/share/ddns/default/ endef define Package/ddns-scripts-dnspod/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-dnspod-v3/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_dnspod_cn_v3.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/dnspod.cn-v3.json \ $(1)/usr/share/ddns/default/ endef define Package/ddns-scripts-dnspod-v3/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-noip/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_no-ip_com.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/no-ip.com.json \ $(1)/usr/share/ddns/default endef define Package/ddns-scripts-noip/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-ns1/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_ns1_com.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/ns1.com.json \ $(1)/usr/share/ddns/default endef define Package/ddns-scripts-ns1/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-nsupdate/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_nsupdate.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/bind-nsupdate.json \ $(1)/usr/share/ddns/default endef define Package/ddns-scripts-nsupdate/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-route53/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_route53_v1.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/route53-v1.json \ $(1)/usr/share/ddns/default endef define Package/ddns-scripts-route53/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-cnkuai/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_cnkuai_cn.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/cnkuai.cn.json \ $(1)/usr/share/ddns/default endef define Package/ddns-scripts-cnkuai/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-gandi/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_gandi_net.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/gandi.net.json \ $(1)/usr/share/ddns/default endef define Package/ddns-scripts-gandi/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-pdns/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_pdns.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/pdns.json \ $(1)/usr/share/ddns/default endef define Package/ddns-scripts-pdns/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-scaleway/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_scaleway_com.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/scaleway.com.json \ $(1)/usr/share/ddns/default endef define Package/ddns-scripts-scaleway/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-transip/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_transip_nl.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/transip.nl.json \ $(1)/usr/share/ddns/default endef define Package/ddns-scripts-transip/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-one/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_one_com.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/one.com.json \ $(1)/usr/share/ddns/default endef define Package/ddns-scripts-one/prerm #!/bin/sh if [-z "${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-porkbun/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_porkbun_v3.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/porkbun.com-v3.json \ $(1)/usr/share/ddns/default/ endef define Package/ddns-scripts-porkbun/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef define Package/ddns-scripts-huaweicloud/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_huaweicloud_com.sh \ $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/share/ddns/default $(INSTALL_DATA) ./files/usr/share/ddns/default/huaweicloud.com.json \ $(1)/usr/share/ddns/default/ endef define Package/ddns-scripts-huaweicloud/prerm #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then /etc/init.d/ddns stop fi exit 0 endef $(eval $(call BuildPackage,ddns-scripts)) $(eval $(call BuildPackage,ddns-scripts-services)) $(eval $(call BuildPackage,ddns-scripts-utils)) $(eval $(call BuildPackage,ddns-scripts-luadns)) $(eval $(call BuildPackage,ddns-scripts-cloudflare)) $(eval $(call BuildPackage,ddns-scripts-gcp)) $(eval $(call BuildPackage,ddns-scripts-freedns)) $(eval $(call BuildPackage,ddns-scripts-godaddy)) $(eval $(call BuildPackage,ddns-scripts-digitalocean)) $(eval $(call BuildPackage,ddns-scripts-dnspod)) $(eval $(call BuildPackage,ddns-scripts-dnspod-v3)) $(eval $(call BuildPackage,ddns-scripts-noip)) $(eval $(call BuildPackage,ddns-scripts-nsupdate)) $(eval $(call BuildPackage,ddns-scripts-route53)) $(eval $(call BuildPackage,ddns-scripts-cnkuai)) $(eval $(call BuildPackage,ddns-scripts-gandi)) $(eval $(call BuildPackage,ddns-scripts-pdns)) $(eval $(call BuildPackage,ddns-scripts-scaleway)) $(eval $(call BuildPackage,ddns-scripts-transip)) $(eval $(call BuildPackage,ddns-scripts-ns1)) $(eval $(call BuildPackage,ddns-scripts-one)) $(eval $(call BuildPackage,ddns-scripts-porkbun)) $(eval $(call BuildPackage,ddns-scripts-huaweicloud))