Makefile 18 KB

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