From 7a4c83ba352b809b6231b01095d9f00fa8715e5f Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Sat, 3 Nov 2018 17:06:10 -0700 Subject: [PATCH] Use the package updates module to install new packages --- package-updates/index.cgi | 2 ++ package-updates/lang/en | 5 +++-- package-updates/update.cgi | 5 ++++- software/CHANGELOG | 2 ++ software/install_pack.cgi | 12 +++++++++++- 5 files changed, 22 insertions(+), 4 deletions(-) diff --git a/package-updates/index.cgi b/package-updates/index.cgi index 0b9f33db2..0914cbe60 100755 --- a/package-updates/index.cgi +++ b/package-updates/index.cgi @@ -209,5 +209,7 @@ print &ui_table_row($text{'index_action'}, print &ui_table_end(); print &ui_form_end([ [ "save", $text{'save'} ] ]); +# Show install form + &ui_print_footer("/", $text{'index'}); diff --git a/package-updates/lang/en b/package-updates/lang/en index ded9ecb79..5a7e63af7 100644 --- a/package-updates/lang/en +++ b/package-updates/lang/en @@ -47,6 +47,7 @@ index_searchok=Search index_clear=Show All update_title=Update Packages +update_title2=Install Packages update_pkg=Now updating $1 .. update_pkg2=Now installing $1 .. update_done=Installed package $1 $2. @@ -78,8 +79,8 @@ update_oldver=Current version update_newver=New version update_confirm=Install Now update_none=None -update_ops=Building complete list of updates .. -update_rebootdesc=One of the updated packages requires a reboot to be fully applied. +update_ops=Building complete list of packages .. +update_rebootdesc=One of the installed packages requires a reboot to be fully applied. update_reboot=Reboot Now sched_title=Scheduled Update diff --git a/package-updates/update.cgi b/package-updates/update.cgi index bdb7de183..b107f74df 100755 --- a/package-updates/update.cgi +++ b/package-updates/update.cgi @@ -38,7 +38,8 @@ else { # Upgrade some packages my @pkgs = split(/\0/, $in{'u'}); @pkgs || &error($text{'update_enone'}); - &ui_print_unbuffered_header(undef, $text{'update_title'}, ""); + &ui_print_unbuffered_header(undef, + $in{'mode'} eq 'new' ? $text{'update_title2'} : $text{'update_title'}, ""); # Save this CGI from being killed by a webmin or apache upgrade $SIG{'TERM'} = 'IGNORE'; @@ -61,6 +62,8 @@ else { print &ui_form_start("update.cgi", "post"); print &ui_hidden("mode", $in{'mode'}); print &ui_hidden("search", $in{'search'}); + print &ui_hidden("redir", $in{'redir'}); + print &ui_hidden("redirdesc", $in{'redirdesc'}); foreach $ps (@pkgs) { print &ui_hidden("u", $ps); } diff --git a/software/CHANGELOG b/software/CHANGELOG index 82cee878e..63d12958f 100644 --- a/software/CHANGELOG +++ b/software/CHANGELOG @@ -41,3 +41,5 @@ Added support for updating and installing packages from FreeBSD ports. Added support for the FreeBSD pkgng binary package repository as an alternative to ports. ---- Changes since 1.740 ---- MacOS systems with PKGsrc installed can now use this module to manage and install binary packages. +---- Changes since 1.890 ---- +When installing a package, the list of other dependencies that will be also installed is displayed for confirmation. diff --git a/software/install_pack.cgi b/software/install_pack.cgi index f9e064791..67168d239 100755 --- a/software/install_pack.cgi +++ b/software/install_pack.cgi @@ -13,7 +13,17 @@ else { } &error_setup($text{'install_err'}); -if ($in{source} >= 2) { +if ($in{'source'} == 3 && &foreign_installed("package-updates")) { + # Use the package updates module instead, as it has a nicer UI + &redirect("/package-updates/update.cgi?redir=/$module_name/". + "&redirdesc=".&urlize($module_info{'desc'}). + "&mode=new". + "&".join("&", map { "u=".&urlize($_) } + split(/\s+/, $in{'update'}))); + return; + } + +if ($in{'source'} >= 2) { &ui_print_unbuffered_header(undef, $text{'install_title'}, "", "install"); } else {