1 |
5823264a
|
jim-p
|
require_once("config.inc");
|
2 |
|
|
require_once("util.inc");
|
3 |
|
|
require_once("pkg-utils.inc");
|
4 |
|
|
|
5 |
|
|
global $g, $config, $argv, $command_split;
|
6 |
|
|
|
7 |
1bfcf6f1
|
Phil Davis
|
if (is_array($command_split)) {
|
8 |
5823264a
|
jim-p
|
$args = array_slice($command_split, 2);
|
9 |
1bfcf6f1
|
Phil Davis
|
} else {
|
10 |
5823264a
|
jim-p
|
$args = array_slice($argv, 3);
|
11 |
1bfcf6f1
|
Phil Davis
|
}
|
12 |
5823264a
|
jim-p
|
|
13 |
|
|
$pkg_name = $args[0];
|
14 |
|
|
$install_type = empty($args[1]) ? "normal" : $args[1];
|
15 |
|
|
|
16 |
|
|
echo "Installing package \"{$pkg_name}\"...\n";
|
17 |
|
|
|
18 |
|
|
echo "Trying to fetch package info...";
|
19 |
|
|
$pkg_info = get_pkg_info();
|
20 |
|
|
if ($pkg_info) {
|
21 |
|
|
echo " Done.\n";
|
22 |
|
|
} else {
|
23 |
7c8f3711
|
jim-p
|
$xmlrpc_base_url = get_active_xml_rpc_base_url();
|
24 |
5823264a
|
jim-p
|
echo "\n" . sprintf(gettext(' >>> Unable to communicate with %1$s. Please verify DNS and interface configuration, and that %2$s has functional Internet connectivity.'), $xmlrpc_base_url, $g['product_name']) . "\n";
|
25 |
|
|
return;
|
26 |
|
|
}
|
27 |
|
|
|
28 |
|
|
$static_output = "";
|
29 |
|
|
$pkg_interface = "console";
|
30 |
|
|
|
31 |
1bfcf6f1
|
Phil Davis
|
if (empty($pkg_info[$pkg_name])) {
|
32 |
5823264a
|
jim-p
|
echo "\nPackage not found.\n";
|
33 |
1bfcf6f1
|
Phil Davis
|
} elseif ($install_type == "normal") {
|
34 |
5823264a
|
jim-p
|
install_package($pkg_name, $pkg_info[$pkg_name], true);
|
35 |
1bfcf6f1
|
Phil Davis
|
} elseif ($install_type == "xmlonly") {
|
36 |
5823264a
|
jim-p
|
install_package_xml($pkg_name);
|
37 |
1bfcf6f1
|
Phil Davis
|
} else {
|
38 |
5823264a
|
jim-p
|
echo "Invalid install type. Valid values are: normal, xmlonly.\n";
|
39 |
1bfcf6f1
|
Phil Davis
|
}
|
40 |
5823264a
|
jim-p
|
|
41 |
|
|
echo "\nDone.\n";
|