diff options
author | Christian Hesse <mail@eworm.de> | 2018-12-28 19:30:15 +0100 |
---|---|---|
committer | Christian Hesse <mail@eworm.de> | 2018-12-28 22:56:07 +0100 |
commit | ac2e6cfc618fa1e955dcdd49ce1ee6a86cac5b6e (patch) | |
tree | 2fb1e5b709364627306bce8aa637b2b683240526 /global-functions | |
parent | 30166cc2875a9b1ca1229ee9892f37234cc43418 (diff) |
global-functions: add $DownloadPackage
... and make script 'capsman-download-packages' use it.
Diffstat (limited to 'global-functions')
-rw-r--r-- | global-functions | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/global-functions b/global-functions index 041700c..6cd05ea 100644 --- a/global-functions +++ b/global-functions @@ -107,3 +107,28 @@ :return "unknown vendor"; } } + +# download package from upgrade server +:global DownloadPackage do={ + :local pkgname [ :tostr $1 ]; + :local pkgver [ :tostr $2 ]; + :local pkgarch [ :tostr $3 ]; + :local pkgdest [ :tostr $4 ]; + + :global CertificateAvailable; + + :if ([ :len $pkgname ] = 0) do={ return false; } + :if ([ :len $pkgver ] = 0) do={ :set pkgver [ / system package update get installed-version ]; } + :if ([ :len $pkgarch ] = 0) do={ :set pkgarch [ / system resource get architecture-name ]; } + + $CertificateAvailable "Let's Encrypt Authority X3" "letsencrypt"; + do { + :local pkgfile ($pkgname . "-" . $pkgver . "-" . $pkgarch . ".npk"); + / tool fetch mode=https check-certificate=yes-without-crl \ + ("https://upgrade.mikrotik.com/routeros/" . $pkgver . "/" . $pkgfile) \ + dst-path=($pkgdest . "/" . $pkgfile); + return true; + } on-error={ + return false; + } +} |