#!rsc # RouterOS script: capsman-download-packages # Copyright (c) 2018-2019 Christian Hesse # Michael Gisbers # # requires: dont-require-permissions=yes # # 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 PackageName [ / file get $Package package-name ]; :local PackageArchitecture [ / file get $Package package-architecture ]; :if ($PackageArchitecture = "mips") do={ :set PackageArchitecture "mipsbe"; } :if ($PackageName = "wireless@") do={ :set PackageName "wireless"; } :if ([ $DownloadPackage $PackageName $InstalledVersion $PackageArchitecture $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 ]; } }