在安装之前,如何检查指向我的软件包的虚拟软件包支持哪些USE标志?
尝试equery uses <package-name>
虚拟软件包有些独特,因为它们中的大多数都没有 USE 标志。少数人这样做,对于那些equery uses <package>
将显示他们的USE标志(即equery uses virtual/pypy
)。
对于没有 USE 标志的典型虚拟软件包,USE 标志取决于用于满足虚拟的软件包,例如virtual/commonlisp
:
% equery use virtual/commonlisp
!!! No USE flags found for virtual/commonlisp-0
在这种情况下,您需要查看哪些包可以满足虚拟要求,为此,您可以使用equery depgraph
% equery depgraph commonlisp
* Searching for commonlisp ...
* dependency graph for virtual/commonlisp-0
`-- virtual/commonlisp-0 amd64
`-- dev-lisp/sbcl-1.3.12 (dev-lisp/sbcl) ~amd64
`-- dev-lisp/clisp-2.49-r100 (dev-lisp/clisp) ~amd64
`-- dev-lisp/clozurecl-1.11-r1 (dev-lisp/clozurecl) ~amd64
`-- dev-lisp/cmucl-21a (dev-lisp/cmucl) [missing keyword]
`-- dev-lisp/ecls-16.1.3 (dev-lisp/ecls) ~amd64
[ virtual/commonlisp-0 stats: packages (6), max depth (1) ]
如果您尝试出现虚拟,它将选择列表中的第一个,例如:
% emerge -pv 'virtual/cdrtools' && equery depgraph 'virtual/cdrtools'
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] app-cdr/cdrtools-3.02_alpha06-r1::gentoo USE="acl caps filecaps nls unicode" 2,069 KiB
[ebuild N ] virtual/cdrtools-0::gentoo 0 KiB
Total: 2 packages (2 new), Size of downloads: 2,069 KiB
* Searching for cdrtools in virtual ...
* dependency graph for virtual/cdrtools-0
`-- virtual/cdrtools-0 amd64
`-- app-cdr/cdrtools-3.02_alpha06-r1 (app-cdr/cdrtools) ~amd64
`-- app-cdr/cdrkit-1.1.11-r2 (app-cdr/cdrkit) amd64
[ virtual/cdrtools-0 stats: packages (3), max depth (1) ]
在我当前的搬运树中,我只看到 452 个带有 USE 标志的虚拟中的 59 个。为了得出这个结论,我计算了/usr/portage/virtual 中有多少 ebuild 没有 IUSE=" 和grep -r 'IUSE' /usr/portage/virtual | grep 'ebuild' | egrep -v 'IUSE=""' | wc -l
,然后我计算了有多少 ebuild 指定了 IUSE:grep -r 'IUSE' /usr/portage/virtual | grep 'ebuild' | wc -l
。
eix -a virtual -s wine
或
eQuery使用虚拟/葡萄酒