diff options
Diffstat (limited to 'perl-install/standalone')
-rw-r--r-- | perl-install/standalone/remove-unselected-locales | 40 | ||||
-rw-r--r-- | perl-install/standalone/remove-unused-hardware-packages | 34 |
2 files changed, 74 insertions, 0 deletions
diff --git a/perl-install/standalone/remove-unselected-locales b/perl-install/standalone/remove-unselected-locales new file mode 100644 index 000000000..f25628fd5 --- /dev/null +++ b/perl-install/standalone/remove-unselected-locales @@ -0,0 +1,40 @@ +#!/usr/bin/perl + +use lib qw(/usr/lib/libDrakX); +use common; +use lang; +use interactive; +use do_pkgs; +use run_program; +use standalone; + +my $locales_prefix = 'locales-'; + +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 $locale = lang::read(); +my $selected_locale = $locales_prefix. $locale->{lang}; +my @available_locales = $do_pkgs->are_installed($locales_prefix . '*'); + +my @unselected_locales; +@unselected_locales = difference2(\@available_locales, [ $selected_locale ]) + if member($selected_locale, @available_locales); + +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 new file mode 100644 index 000000000..c1fdf0747 --- /dev/null +++ b/perl-install/standalone/remove-unused-hardware-packages @@ -0,0 +1,34 @@ +#!/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 @all_hardware_packages = (pkgs::detect_hardware_packages($do_pkgs, 'match_all_hardware')); +my @used_hardware_packages = (pkgs::detect_hardware_packages($do_pkgs)); +my @unneeded_hardware_packages = difference2(\@all_hardware_packages, \@used_hardware_packages); +my @unused_hardware_packages = $do_pkgs->are_installed(@unneeded_hardware_packages); + +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); +} |