PHP Deployment Scripts
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

57 lines
1.9 KiB

<?php
namespace package_managers;
class dnf {
public static function is_installed(string $prog) {
exec(\neato::get_user_bin . 'dpkg -s ' . safe_cmd($prog) . ' | ' . \neato::get_bin . 'grep "install ok installed"', $out, $exit_code);
exec(\neato::get_user_bin . 'dpkg -s ' . safe_cmd($prog) . ' | ' . \neato::get_bin . 'grep ^Version', $output, $code);
$version = str_replace('Version: ', '', $output[0]);
return ($exit_code == 0) ? ['installed' => true, 'version' => $version] : ['installed' => false];
}
public static function upgrade($prog) {
exec(\neato::get_user_bin . 'dnf upgrade -y ' . safe_cmd_quotes($prog) . stderr(), $output, $exit_code);
display($output);
check_for_error($exit_code, "Unable to upgrade: {$prog}");
return $exit_code;
}
public static function install($prog) {
exec(\neato::get_user_bin . 'dnf add -y ' . safe_cmd_quotes($prog) . stderr(), $output, $exit_code);
display($output);
check_for_error($exit_code, "Unable to install: {$prog}");
return $exit_code;
}
public static function uninstall($prog) {
exec(\neato::get_user_bin . 'dnf del -y ' . safe_cmd_quotes($prog) . stderr(), $output, $exit_code);
display($output);
check_for_error($exit_code, "Unable to uninstall: {$prog}");
return $exit_code;
}
/**
* @todo figure out this method
*/
public static function add_repo($repo) {
exec(\neato::get_user_bin . 'dnf update' . stderr(), $output, $exit_code);
display($output);
check_for_error($exit_code, "Unable to add new repo: {$repo}");
return $exit_code;
}
public static function update() {
exec(\neato::get_user_bin . 'dnf update -y ' . stderr(), $output, $exit_code);
display($output);
return $exit_code;
}
public static function full_update() {
exec(\neato::get_user_bin . 'dnf update -y && ' . \neato::get_user_bin . 'apk upgrade -y' . stderr(), $output, $exit_code);
display($output);
return $exit_code;
}
}