Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 11739 | Differences between
and this patch

Collapse All | Expand All

(-)/usr/bin/emerge (-13 / +93 lines)
Lines 574-600 Link Here
574
		for mtype in self.matches.keys():	
574
		for mtype in self.matches.keys():	
575
			for match,masked in self.matches[mtype]:
575
			for match,masked in self.matches[mtype]:
576
				if mtype=="pkg":
576
				if mtype=="pkg":
577
					catpack=match
578
					full_package = portage.portdb.xmatch("bestmatch-visible",match)
577
					full_package = portage.portdb.xmatch("bestmatch-visible",match)
579
					if not full_package:
578
					pkg_versions = portage.portdb.xmatch("match-all",match)
580
						#no match found; we don't want to query description
579
					stable_pkg = "~"
581
						masked=1
580
					# Get the stable version of the package
582
						full_package=portage.best(portage.portdb.xmatch("match-all",match))
581
					for pv in pkg_versions:
582
						pkg_keywords = portage.portdb.aux_get(pv,["KEYWORDS"])[0].split()
583
						for pk in pkg_keywords:
584
							if pk == portage.settings["ARCH"]:
585
								stable_pkg = pv
586
								break
587
						if stable_pkg != "~": 
588
							break
589
					# Get the unstable version of the package
590
					unstable_pkg = portage.best(portage.portdb.xmatch("match-all",match))
591
					if stable_pkg != "~" and unstable_pkg == stable_pkg:
592
						unstable_pkg = "~"
593
					if stable_pkg == "~":
594
						full_package = unstable_pkg
595
					if unstable_pkg == "~":
596
						full_package = stable_pkg
583
				else:
597
				else:
584
					full_package = match
598
					full_package = match
585
					match        = portage.pkgsplit(match)[0]
599
					match        = portage.pkgsplit(match)[0]
586
600
587
				if full_package:
601
				if full_package:
588
					try:
602
					try:
589
						desc, homepage, license = portage.portdb.aux_get(full_package,["DESCRIPTION","HOMEPAGE","LICENSE"])
603
						if stable_pkg != "~":
604
							keywords_stable = portage.portdb.aux_get(stable_pkg,["KEYWORDS"])[0]
605
						if unstable_pkg != "~":
606
							keywords_unstable = portage.portdb.aux_get(unstable_pkg,["KEYWORDS"])[0]
607
608
						desc, homepage, license = portage.portdb.aux_get(full_package,["DESCRIPTION","HOMEPAGE","LICENSE"])	
590
					except KeyError:
609
					except KeyError:
591
						print "emerge: search: aux_get() failed, skipping"
610
						print "emerge: search: aux_get() failed, skipping"
592
						continue
611
						continue
593
					if masked:
612
					print green("*")+"  "+white(match)
594
						print green("*")+"  "+white(match)+" "+red("[ Masked ]")
595
					else:
596
						print green("*")+"  "+white(match)
597
					myversion = self.getVersion(full_package, search.VERSION_RELEASE)
613
					myversion = self.getVersion(full_package, search.VERSION_RELEASE)
614
					myversion_stable = self.getVersion(stable_pkg, search.VERSION_RELEASE)
615
					myversion_unstable = self.getVersion(unstable_pkg, search.VERSION_RELEASE)
598
616
599
					mysum = [0,0]
617
					mysum = [0,0]
600
					mycat = match.split("/")[0]
618
					mycat = match.split("/")[0]
Lines 617-632 Link Here
617
						if edebug:
635
						if edebug:
618
							print "!!! Exception:",e
636
							print "!!! Exception:",e
619
						mysum[0]=" [no/bad digest]"
637
						mysum[0]=" [no/bad digest]"
620
						
638
					
621
					if "--quiet" not in myopts:
639
					if "--quiet" not in myopts:
622
						print "     ", darkgreen("Latest version available:"),myversion
640
						if "--verbose" in myopts:
641
							if stable_pkg != "~":
642
								if myversion != myversion_unstable:
643
									print "     ", darkgreen("Latest stable version available:"),myversion_stable, yellow("*")
644
								else:
645
									print "     ", darkgreen("Latest stable version available:"),myversion_stable
646
								print "     ", darkgreen("Stable Accepted Keywords:       "),keywords_stable
647
		                                        	try:
648
       	        		                                	iuse_split = string.split(portage.portdb.aux_get(stable_pkg,["IUSE"])[0], " ")
649
	               	                		        except:
650
        	               	                        		portage.writemsg("!!! Error getting IUSE (report this to bugs.gentoo.org)\n")
651
	        	        	                                portage.writemsg("!!! %s\n" % x)
652
               				       	                        iuse_split = []
653
                               				        iuse_split.sort()
654
	                                	        	iuse=""
655
                		                	        for ebuild_iuse in iuse_split:
656
       	                        		        	        if not ebuild_iuse:
657
               	                                			        continue
658
		        	                                        if ebuild_iuse in portage.settings["USE"]:
659
        	       			                                        iuse=iuse+red("+"+ebuild_iuse)+" "
660
                	               			                elif ebuild_iuse in portage.settings.usemask:
661
                        	                       			        iuse=iuse+blue("-("+ebuild_iuse+")")+" "
662
	                        	                	        else:
663
               		                	                	        iuse=iuse+blue("-"+ebuild_iuse)+" "
664
								if len(iuse) > 0:
665
									print "     ", darkgreen("Stable USE flags: "), iuse
666
								else:
667
									print "     ", darkgreen("Stable USE flags: "), "N/A"
668
							else:
669
								print "     ", darkgreen("Latest stable version available:"),"N/A"
670
								print "     ", darkgreen("Stable Accepted Keywords:       "),"N/A"
671
							if unstable_pkg != "~":
672
								if myversion == myversion_unstable:
673
									print "     ", darkgreen("Latest unstable version available:"),myversion_unstable, yellow("*")
674
								else:
675
									print "     ", darkgreen("Latest unstable version available:"),myversion_unstable
676
								print "     ", darkgreen("Unstable Accepted Keywords:       "),keywords_unstable
677
                                                                try:
678
                                                                        iuse_split = string.split(portage.portdb.aux_get(unstable_pkg,["IUSE"])[0], " ")
679
                                                                except:
680
                                                                        portage.writemsg("!!! Error getting IUSE (report this to bugs.gentoo.org)\n")
681
                                                                        portage.writemsg("!!! %s\n" % x)
682
                                                                        iuse_split = []
683
	               	                                        iuse_split.sort()
684
        	               	                                iuse=""
685
                               	                                for ebuild_iuse in iuse_split:
686
                                       	                                if not ebuild_iuse:
687
                                               	                                continue
688
                                                       	                if ebuild_iuse in portage.settings["USE"]:
689
                                                               	                iuse=iuse+red("+"+ebuild_iuse)+" "
690
                                                                       	elif ebuild_iuse in portage.settings.usemask:
691
                                                                                iuse=iuse+blue("-("+ebuild_iuse+")")+" "
692
       	                                                                else:
693
               	                                                                iuse=iuse+blue("-"+ebuild_iuse)+" "
694
                        	                                if len(iuse) > 0:
695
                                                                	print "     ", darkgreen("Unstable USE flags: "), iuse
696
                                                        	else:
697
                                                        		print "     ", darkgreen("Unstable USE flags: "), "N/A"
698
							else:
699
        	                                                print "     ", darkgreen("Latest unstable version available:"),"N/A"
700
                	                                        print "     ", darkgreen("Unstable Accepted Keywords:       "),"N/A"
701
						else:
702
							print "     ", darkgreen("Latest version available:"),self.getVersion(full_package, search.VERSION_RELEASE)
623
						print "     ", self.getInstallationStatus(mycat+'/'+mypkg)
703
						print "     ", self.getInstallationStatus(mycat+'/'+mypkg)
624
						print "     ", darkgreen("Size of downloaded files:"),mysum[0]
704
						print "     ", darkgreen("Size of downloaded files:"),mysum[0]
625
						print "     ", darkgreen("Homepage:")+"   ",homepage
705
						print "     ", darkgreen("Homepage:")+"   ",homepage
626
						print "     ", darkgreen("Description:"),desc
706
						print "     ", darkgreen("Description:"),desc
627
						print "     ", darkgreen("License:")+"    ",license
707
						print "     ", darkgreen("License:")+"    ",license
628
						print
708
						print
629
		print
709
						print
630
	#
710
	#
631
	# private interface
711
	# private interface
632
	#
712
	#

Return to bug 11739