如何在安装前列出虚拟软件包支持的USE标志?



在安装之前,如何检查指向我的软件包的虚拟软件包支持哪些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使用虚拟/葡萄酒

最新更新