#!rsc # RouterOS script: capsman-download-packages # Copyright (c) 2018-2019 Christian Hesse <mail@eworm.de> # Michael Gisbers <michael@gisbers.de> # # download and cleanup packages for CAP installation from CAPsMAN :global DownloadPackage; :global CleanFilePath; :local PackagePath [ $CleanFilePath [ / caps-man manager get package-path ] ]; :local InstalledVersion [ / system package update get installed-version ]; :local Updated false; :foreach Package in=[ / file find where type=package \ package-version!=$InstalledVersion name~("^" . $PackagePath) ] do={ :local File [ / file get $Package ]; :if ($File->"package-architecture" = "mips") do={ :set ($File->"package-architecture") "mipsbe"; } :if ($File->"package-name" = "wireless@") do={ :set ($File->"package-name") "wireless"; } :if ([ $DownloadPackage ($File->"package-name") $InstalledVersion ($File->"package-architecture") $PackagePath ] = true) do={ :set Updated true; / file remove $Package; } } :if ($Updated = true) do={ :if ([ / system script print count-only where name="capsman-rolling-upgrade" ] > 0) do={ / system script run capsman-rolling-upgrade; } else={ / caps-man remote-cap upgrade [ find where version!=$InstalledVersion ]; } }