From 44e35ec2d2ad1a8c8808852b4cb52dcac932e4fd Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Fri, 5 Sep 2008 14:35:49 +0000 Subject: merge remove-unused-hardware-packages and remove-unselected-locales helpers into a new remove-unused-packages tool (and make it reusable) --- perl-install/NEWS | 2 ++ perl-install/pkgs.pm | 41 ++++++++++++++++++++++ perl-install/standalone/remove-unselected-locales | 29 --------------- .../standalone/remove-unused-hardware-packages | 27 -------------- perl-install/standalone/remove-unused-packages | 11 ++++++ 5 files changed, 54 insertions(+), 56 deletions(-) delete mode 100644 perl-install/standalone/remove-unselected-locales delete mode 100644 perl-install/standalone/remove-unused-hardware-packages create mode 100755 perl-install/standalone/remove-unused-packages diff --git a/perl-install/NEWS b/perl-install/NEWS index c656af1b3..d8725c93d 100644 --- a/perl-install/NEWS +++ b/perl-install/NEWS @@ -3,6 +3,8 @@ .before-migrate-to-uuids - libDrakX: o fix handling KDE4 in running_window_manager() and ask_window_manager_to_logout() +- merge remove-unused-hardware-packages and remove-unselected-locales + helpers into a new remove-unused-packages tool (and make it reusable) Version 11.35 - 4 September 2008 diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm index dea3f3273..8a37da2ed 100644 --- a/perl-install/pkgs.pm +++ b/perl-install/pkgs.pm @@ -221,4 +221,45 @@ sub detect_unselected_locale_packages { member($selected_locale, @available_locales) ? difference2(\@available_locales, [ $selected_locale ]) : (); } +sub remove_unused_packages { + my ($in, $do_pkgs) = @_; + + my $wait; + $wait = $in->wait_message(N("Unused packages removal"), N("Finding unused hardware packages...")); + my @unused_hardware_packages = detect_unused_hardware_packages($do_pkgs); + undef $wait; + $wait = $in->wait_message(N("Unused packages removal"), N("Finding unused localization packages...")); + my @unselected_locales = detect_unselected_locale_packages($do_pkgs); + undef $wait; + + @unused_hardware_packages || @unselected_locales or return; + + my $hardware = @unused_hardware_packages; + my $locales = @unselected_locales; + $in->ask_from( + N("Unused packages removal"), + N("The following packages do not seem to be useful for your system.") . "\n" . + N("Please select the packages group that should be removed:"), + [ + if_(@unused_hardware_packages, + { text => N("Unused hardware support"), val => \$hardware, type => "bool" }, + { label => N("Unused hardware support") . "\n" . join("\n", map { " " . $_ } sort(@unused_hardware_packages)), advanced => 1 }, + ), + if_(@unselected_locales, + { text => N("Unused localization"), val => \$locales, type => "bool" }, + { label => N("Unused localization") . "\n" . join("\n", map { " " . $_ } sort(@unselected_locales)), advanced => 1 }, + ), + ], + if_($::isWizard, cancel => N("Skip")), + ) && ($hardware || $locales) or return; + + #- we should have some gurpme + $wait = $in->wait_message(N("Please wait"), N("Removing packages...")); + run_program::run('urpme', '--auto', + if_($hardware, @unused_hardware_packages), + if_($locales, @unselected_locales), + ); + #- use script from One to list language files (/usr/share/locale mainly) and remove them? +} + 1; diff --git a/perl-install/standalone/remove-unselected-locales b/perl-install/standalone/remove-unselected-locales deleted file mode 100644 index 8e4eabccc..000000000 --- a/perl-install/standalone/remove-unselected-locales +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/perl - -use lib qw(/usr/lib/libDrakX); -use common; -use lang; -use interactive; -use do_pkgs; -use run_program; -use standalone; - -my $in = interactive->vnew; -my $wait = $in->wait_message(N("Localization packages removal"), - N("Finding unused localization packages...")); -my $do_pkgs = do_pkgs->do_pkgs($in); -my @unselected_locales = pkgs::detect_unselected_locale_packages($do_pkgs); -undef $wait; - -#- we should have some gurpme -if (@unselected_locales && - $in->ask_yesorno( - N("Localization packages removal"), - N("The following localization packages do not seem to be useful for your system:") . "\n" . - join("\n", map { " " . $_ } sort(@unselected_locales)) . "\n" . - N("Do you want to remove these packages?"))) { - my $_wait = $in->wait_message(N("Please wait"), N("Removing packages...")); - run_program::run('urpme', '--auto', @unselected_locales); -} - -# use script from One to list language files (/usr/share/locale mainly) and remove them? diff --git a/perl-install/standalone/remove-unused-hardware-packages b/perl-install/standalone/remove-unused-hardware-packages deleted file mode 100644 index eb7a126dc..000000000 --- a/perl-install/standalone/remove-unused-hardware-packages +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/perl - -use lib qw(/usr/lib/libDrakX); -use common; -use pkgs; -use interactive; -use do_pkgs; -use run_program; -use standalone; - -my $in = interactive->vnew; -my $wait = $in->wait_message(N("Hardware packages removal"), - N("Finding unused hardware packages...")); -my $do_pkgs = do_pkgs->do_pkgs($in); -my @unused_hardware_packages = pkgs::detect_unused_hardware_packages($do_pkgs); -undef $wait; - -#- we should have some gurpme -if (@unused_hardware_packages && - $in->ask_yesorno( - N("Hardware packages removal"), - N("The following hardware packages do not seem to be useful for your system:") . "\n" . - join("\n", map { " " . $_ } sort(@unused_hardware_packages)) . "\n" . - N("Do you want to remove these packages?"))) { - my $_wait = $in->wait_message(N("Please wait"), N("Removing packages...")); - run_program::run('urpme', '--auto', @unused_hardware_packages); -} diff --git a/perl-install/standalone/remove-unused-packages b/perl-install/standalone/remove-unused-packages new file mode 100755 index 000000000..5d3989414 --- /dev/null +++ b/perl-install/standalone/remove-unused-packages @@ -0,0 +1,11 @@ +#!/usr/bin/perl + +use lib qw(/usr/lib/libDrakX); +use pkgs; +use interactive; +use do_pkgs; +use standalone; + +my $in = interactive->vnew('su'); +my $do_pkgs = do_pkgs->do_pkgs($in); +pkgs::remove_unused_packages($in, $do_pkgs); -- cgit v1.2.1