From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 677631387C2 for ; Fri, 1 Feb 2013 10:49:59 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9D4B321C04F; Fri, 1 Feb 2013 10:49:53 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id B170F21C04B for ; Fri, 1 Feb 2013 10:49:52 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 95A3E33DCA5 for ; Fri, 1 Feb 2013 10:49:51 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 3C00BE4093 for ; Fri, 1 Feb 2013 10:49:49 +0000 (UTC) From: "Sven Eden" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sven Eden" Message-ID: <1359554589.ffc687420a76332329082abab9e787f441910091.yamakuzure@gentoo> Subject: [gentoo-commits] proj/ufed:master commit in: / X-VCS-Repository: proj/ufed X-VCS-Files: ufed.pl.in X-VCS-Directories: / X-VCS-Committer: yamakuzure X-VCS-Committer-Name: Sven Eden X-VCS-Revision: ffc687420a76332329082abab9e787f441910091 X-VCS-Branch: master Date: Fri, 1 Feb 2013 10:49:49 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 311bcf19-a2b4-4b16-aec8-d799e0632624 X-Archives-Hash: d7c07f2c96c0d7f905f831cad86c0fda commit: ffc687420a76332329082abab9e787f441910091 Author: Sven Eden gmx de> AuthorDate: Wed Jan 30 14:03:09 2013 +0000 Commit: Sven Eden gmx de> CommitDate: Wed Jan 30 14:03:09 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/ufed.git;a=commit;h=ffc68742 Removed obsolete passages and changed the output to include the many more details. --- ufed.pl.in | 189 ++++++++++++++++++++++-------------------------------------- 1 files changed, 69 insertions(+), 120 deletions(-) diff --git a/ufed.pl.in b/ufed.pl.in index 299c79d..bf09de4 100644 --- a/ufed.pl.in +++ b/ufed.pl.in @@ -17,54 +17,14 @@ my $interface = 'ufed-curses'; # . " --read-var-info=yes" # . " XX_libexecdir@/ufed-curses 2>/tmp/ufed_memcheck.log"; -# no longer needed -# my %use_descriptions; - sub finalise; sub flags_dialog; sub save_flags; -# deprecated, the functionality is merged into Portage.pm -# delete $Portage::all_flags{'*'}; -# read_use_descs; -# @use_descriptions{qw(bootstrap build)}; -# -#$Portage::make_conf_flags{'-*'} = 1 -# if defined $Portage::make_conf_flags{'*'} -# && !$Portage::make_conf_flags{'*'}; -# -#for(keys %Portage::all_flags) { -# @{$use_descriptions{$_}} = "[(Unknown)] g" -# if not exists $use_descriptions{$_}; -#} -#@{$use_descriptions{'-*'}} = '[Never enable any flags other than those specified in make.conf] g'; -# -#for(@Portage::archs) { -# delete $Portage::default_flags{$_}; -# delete $Portage::all_flags{$_}; -# delete $use_descriptions{$_}; -#} -#for my $flag (keys %Portage::use_masked_flags) { -# my $masked = 1; -# for my $mask (values %{$Portage::use_masked_flags{$flag}}) { -# last if not($masked &&= $mask); -# } -# if($masked) { -# if (defined($use_descriptions{$flag})) { -# for (my $i = 0; $i < scalar @{$use_descriptions{$flag}}; ++$i) { -# $use_descriptions{$flag}->[$i] =~ s/ [lg]$/ m/ ; -# $use_descriptions{$flag}->[$i] =~ s/ L$/ M/ ; -# } -# } else { -# delete $use_descriptions{$flag}; -# delete $Portage::default_flags{$flag}; -# delete $Portage::all_flags{$flag}; -# } -# } -#} flags_dialog; + # Take a list and return it ordered the following way: # Put "-*" first, followed by enabling flags and put # disabling flags to the end. @@ -112,49 +72,86 @@ sub flags_dialog { # Write out flags for my $flag (sort { uc $a cmp uc $b } keys %$Portage::use_flags) { my $conf = $Portage::use_flags->{$flag}; ## Shortcut - my $state = "g"; - $outTxt .= sprintf ("%s %s (%s%s) %d\n", $flag, +# deprecated: The output is updated to match the new data structure. +# my $state = "g"; +# +# $outTxt .= sprintf ("%s %s (%s%s) %d\n", $flag, +# defined($conf->{global}{conf}) ? +# $conf->{global}{conf} > 0 ? 'on' : +# $conf->{global}{conf} < 0 ? 'off' : 'def' : 'def', +# defined($conf->{global}{"default"}) ? +# $conf->{global}{"default"} > 0 ? '+' : +# $conf->{global}{"default"} < 0 ? '-' : ' ' : ' ', +# defined($conf->{global}{conf}) ? +# $conf->{global}{conf} > 0 ? '+' : +# $conf->{global}{conf} < 0 ? '-' : ' ' : ' ', +# $conf->{count}); + + $outTxt .= sprintf ("%s [%s%s] %d\n", $flag, defined($conf->{global}{conf}) ? - $conf->{global}{conf} > 0 ? 'on' : - $conf->{global}{conf} < 0 ? 'off' : 'def' : 'def', + $conf->{global}{conf} > 0 ? '+' : + $conf->{global}{conf} < 0 ? '-' : ' ' : ' ', defined($conf->{global}{"default"}) ? $conf->{global}{"default"} > 0 ? '+' : $conf->{global}{"default"} < 0 ? '-' : ' ' : ' ', - defined($conf->{global}{conf}) ? - $conf->{global}{conf} > 0 ? '+' : - $conf->{global}{conf} < 0 ? '-' : ' ' : ' ', $conf->{count}); - # Print global description first (if available) +# # Print global description first (if available) if (defined($conf->{global}) && length($conf->{global}{descr})) { - if ($conf->{global}{installed}) { - $conf->{global}{masked} and $state = "M"; - $conf->{global}{masked} or $state = "G"; - } else { - $conf->{global}{masked} and $state = "m"; - } - $outTxt .= "[" . $conf->{global}{descr} . "] $state\n"; - - # Then print the list of affected packages that have no own entry +# deprecated: The output is updated to match the new data structure. +# if ($conf->{global}{installed}) { +# $conf->{global}{masked} and $state = "M"; +# $conf->{global}{masked} or $state = "G"; +# } else { +# $conf->{global}{masked} and $state = "m"; +# } +# $outTxt .= "[" . $conf->{global}{descr} . "] $state\n"; +# * @param[in] state '+','-',' ' for global, installed, forced, masked, package - in that order. + $outTxt .= sprintf("\t%s\t ( ) [+%s%s%s ]\n", + $conf->{global}{descr}, + $conf->{global}{installed} ? '+' : ' ', + $conf->{global}{forced} ? '+' : ' ', + $conf->{global}{masked} ? '+' : ' '); + +# deprecated: The output is updated to match the new data structure. +# # Then print the list of affected packages that have no own entry +# for my $afLst (@{$conf->{global}{affected}}) { +# (defined($afLst) && length($afLst)) +# and $outTxt .= "($afLst) [Affected by global flag setting] $state\n"; +# } for my $afLst (@{$conf->{global}{affected}}) { (defined($afLst) && length($afLst)) - and $outTxt .= "($afLst) [Affected by global flag setting] $state\n"; + and $outTxt .= sprintf("\t%s\t (%s) [+ ]\n", + "Affected by global flag setting", + $afLst); } } - + # Finally print the local description lines for my $pkg (sort keys %{$conf->{"local"}}) { - $state = "l"; - if ($conf->{"local"}{$pkg}{installed}) { - $state = "L"; - if ($conf->{global}{masked}) { - $conf->{"local"}{$pkg}{masked} > -1 and $state = "M"; - $conf->{"local"}{$pkg}{masked} < 0 and $state = "L"; - } - } elsif ($conf->{global}{masked}) { - $conf->{"local"}{$pkg}{masked} > -1 and $state = "m"; - } - $outTxt .= sprintf("(%s) [%s] %s\n", $pkg, $conf->{"local"}{$pkg}{descr}, $state); +# deprecated: The output is updated to match the new data structure. +# $state = "l"; +# if ($conf->{"local"}{$pkg}{installed}) { +# $state = "L"; +# if ($conf->{global}{masked}) { +# $conf->{"local"}{$pkg}{masked} > -1 and $state = "M"; +# $conf->{"local"}{$pkg}{masked} < 0 and $state = "L"; +# } +# } elsif ($conf->{global}{masked}) { +# $conf->{"local"}{$pkg}{masked} > -1 and $state = "m"; +# } +# $outTxt .= sprintf("(%s) [%s] %s\n", $pkg, $conf->{"local"}{$pkg}{descr}, $state); + $outTxt .= sprintf("\t%s\t (%s) [ %s%s%s%s]\n", + $conf->{"local"}{$pkg}{descr}, + $pkg, + $conf->{"local"}{$pkg}{installed} > 0 ? '+' : + $conf->{"local"}{$pkg}{installed} < 0 ? '-' : ' ', + $conf->{"local"}{$pkg}{forced} > 0 ? '+' : + $conf->{"local"}{$pkg}{forced} < 0 ? '-' : ' ', + $conf->{"local"}{$pkg}{masked} > 0 ? '+' : + $conf->{"local"}{$pkg}{masked} < 0 ? '-' : ' ', + $conf->{"local"}{$pkg}{"package"} > 0 ? '+' : + $conf->{"local"}{$pkg}{"package"} < 0 ? '-' : ' '); } } @@ -162,7 +159,7 @@ sub flags_dialog { # use descriptions. They cause problems unless the whole # interface is changed to use wchar. Substitute with ISO: $outTxt =~ tr/\x{2014}\x{201c}\x{201d}/\x2d\x22\x22/ ; - + # Now let the interface know of the result if (open my $fh, '>&=', $iwrite) { binmode( $fh, ":encoding(ISO-8859-1)" ); @@ -190,54 +187,6 @@ sub flags_dialog { return; } -# Deprecated, the funcionality is merged into Portage.pm. -# -## Build the global %use_descriptions hash. -## Parsed files are: -## 1. PORTDIR/profiles/use.desc -## 2. PORTDIR/profiles/use.local.desc -## No parameters accepted. -## @todo : The local descriptions must be written in a different -## way (how?) to allow the wanted filtering/distinction -## between global/local flags. -#sub read_use_descs { -# my %_use_descriptions; -# for my $dir(@Portage::portagedirs) { -# for(Portage::noncomments "$dir/profiles/use.desc") { -# my ($flag, $desc) = /^(.*?)\s+-\s+(.*)$/ or next; -# $_use_descriptions{$flag}{$desc} = 1; -# } -# } -# my %_use_local_descriptions; -# for my $dir(@Portage::portagedirs) { -# for(Portage::noncomments "$dir/profiles/use.local.desc") { -# my ($pkg, $flag, $desc) = /^(.*?):(.*?)\s+-\s+(.*)$/ or next; -# $_use_local_descriptions{$flag}{$desc}{$pkg} = 1; -# } -# } -# # Record all global flags first, their description is printed first -# # in the ncurses interface as well. -# for my $key (sort keys %_use_descriptions) { -# for my $desc (sort keys %{$_use_descriptions{$key}}) { -# push @{$use_descriptions{$key}}, "[" . $desc . "] g"; -# } -# } -# -# # Add local flags -# for my $key (sort keys %_use_local_descriptions) { -# for my $desc (sort keys %{$_use_local_descriptions{$key}}) { -# my $flagPrefix = "l"; -# my @pkgs = (); -# for my $pkg (sort keys %{$_use_local_descriptions{$key}{$desc}}) { -# $flagPrefix = "L" if (Portage::have_package($pkg)); -# push @pkgs, $pkg; -# } -# local $"=", "; -# push @{$use_descriptions{$key}}, sprintf("(%s) [%s] %s", "@pkgs", $desc, $flagPrefix); -# } -# } -# return; -#} # Write given list of flags back to make.conf if # the file has not been changed since reading it.