summaryrefslogtreecommitdiffstats
path: root/roundcubemail-bundled.php
diff options
context:
space:
mode:
Diffstat (limited to 'roundcubemail-bundled.php')
-rw-r--r--roundcubemail-bundled.php48
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);
+}