diff options
Diffstat (limited to 'roundcubemail-bundled.php')
-rw-r--r-- | roundcubemail-bundled.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/roundcubemail-bundled.php b/roundcubemail-bundled.php new file mode 100644 index 0000000..c963e9e --- /dev/null +++ b/roundcubemail-bundled.php @@ -0,0 +1,48 @@ +<?php + +if (!isset($_SERVER['argv'][1])) { + echo "Missing arg\n"; + exit(1); +} +$pkgs = file_get_contents($_SERVER['argv'][1]); +if (!$pkgs) { + echo "can't read json file\n"; + exit(2); +} + +$pkgs = json_decode($pkgs, true); +if (!is_array($pkgs)) { + echo "can't decode json file\n"; + exit(3); +} + +if (isset($pkgs['packages'])) { + $res = []; + foreach($pkgs["packages"] as $pkg) { + $lic = implode(" and ", $pkg["license"]); + if (!isset($res[$lic])) $res[$lic] = []; + $res[$lic][] = sprintf("Provides: bundled(php-%s) = %s", str_replace(["/", "_"], ["-", "-"], $pkg["name"]), $pkg["version"]); + } + ksort($res); + foreach($res as $lic => $lib) { + sort($lib); + printf("# License %s\n%s\n", $lic, implode("\n", $lib)); + } +} else if (isset($pkgs['dependencies'])) { + $res = []; + foreach($pkgs['dependencies'] as $pkg) { + $n = strtolower($pkg['name'] ?? $pkg['lib']); + $n = str_replace('.js', '', $n); + $lic = ($pkg['license'] ?? "Unkown"); + if (!isset($res[$lic])) $res[$lic] = []; + $res[$lic][] = sprintf("Provides: bundled(js-%s) = %s", $n, $pkg['version']); + } + ksort($res); + foreach($res as $lic => $lib) { + sort($lib); + printf("# License %s\n%s\n", $lic, implode("\n", $lib)); + } +} else { + echo "unkown content\n"; + exit(4); +} |