#!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; :local PackagePath [ / caps-man manager get package-path ]; :if ([ :pick $PackagePath 0 ] = "/") do={ :set PackagePath [ :pick $PackagePath 1 [ :len $PackagePath ] ]; } :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={ / caps-man remote-cap upgrade [ find where version!=$InstalledVersion ]; }