summaryrefslogtreecommitdiffstats
path: root/etc/inc/pkg-utils.inc
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2011-01-05 16:44:30 -0500
committerScott Ullrich <sullrich@pfsense.org>2011-01-05 16:44:30 -0500
commit9b1936193f0adfda87b060a5fb19270232f169a5 (patch)
tree878b3f1dfc93ab0a1524a0fe53eb53d96255482f /etc/inc/pkg-utils.inc
parentfe868e1d9d6fafc323356ab3422a00d415756e6b (diff)
downloadpfsense-9b1936193f0adfda87b060a5fb19270232f169a5.zip
pfsense-9b1936193f0adfda87b060a5fb19270232f169a5.tar.gz
Reinstall packages on bootup during console. Ticket #1156
Diffstat (limited to 'etc/inc/pkg-utils.inc')
-rw-r--r--etc/inc/pkg-utils.inc22
1 files changed, 22 insertions, 0 deletions
diff --git a/etc/inc/pkg-utils.inc b/etc/inc/pkg-utils.inc
index 708b897..8dc8ae4 100644
--- a/etc/inc/pkg-utils.inc
+++ b/etc/inc/pkg-utils.inc
@@ -1096,4 +1096,26 @@ function squash_from_bytes($size, $round = "") {
return;
}
+function pkg_reinstall_all() {
+ global $g, $config;
+ $pkg_id = 0;
+ $todo = array();
+ if ($config['installedpackages']['package'])
+ exec("rm -rf /var/db/pkg/*");
+ if (is_array($config['installedpackages']['package']))
+ foreach($config['installedpackages']['package'] as $package)
+ $todo[] = array('name' => $package['name'], 'version' => $package['version']);
+ echo "One moment please, reinstalling packages...\n";
+ if(is_array($todo)) {
+ foreach($todo as $pkgtodo) {
+ $static_output = "";
+ if($pkgtodo['name']) {
+ uninstall_package($pkgtodo['name']);
+ install_package($pkgtodo['name']);
+ $pkg_id++;
+ }
+ }
+ }
+}
+
?> \ No newline at end of file
OpenPOWER on IntegriCloud