summaryrefslogtreecommitdiff
blob: e8be4bb2009d584f16946dfdaf7b8cbb3176a110 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function portage_install($pkgs, $desc=null, $opts=null, $use=null) {
	global $prtg_cfgrt, $conf;
	$opts=$conf['emerge_default_opts'].' '.($opts === null?'-K -n --root-deps=rdeps':$opts);
	if (!is_array($pkgs))
		$pkgs=explode(' ', $pkgs);
	if ($desc === null)
		$desc='Install '.(count($pkgs) > 1?'packages':$pkgs[0]);
	foreach ($pkgs as $i => &$pkg)
		$pkg=escapeshellarg($pkg);
	execute_command_with_env($desc, ($use?'env USE="'.(is_array($use)?implode(' ', $use):$use).'" ':'').'emerge '.($opts?$opts.' ':'').implode(' ', $pkgs), $prtg_cfgrt);
}
?>