Wednesday, April 28, 2010

What does this USE flag do?

Hi,
Today I ran world update and saw that the kernel sources have a new USE flag: deblob.
What does deblob do?
There are 3 ways that I know of to find the answer.
Here they are:
The first is using the command line 'euse' from app-portage/gentoolkit:
 $ euse -I deblob
global use flags (searching: deblob)
************************************************************
no matching entries found

local use flags (searching: deblob)
************************************************************
[+ C  ] deblob (sys-kernel/gentoo-sources):
Remove binary blobs from kernel sources to provide libre license compliance.
Much faster option is using 'quse' from app-portage/portage-utils:
 $ quse -D deblob
 local:deblob:sys-kernel/ck-sources: Remove binary blobs from kernel sources to provide libre license compliance.
 local:deblob:sys-kernel/gentoo-sources: Remove binary blobs from kernel sources to provide libre license compliance.
 local:deblob:sys-kernel/git-sources: Remove binary blobs from kernel sources to provide libre license compliance.
 local:deblob:sys-kernel/hardened-sources: Remove binary blobs from kernel sources to provide libre license compliance.
 local:deblob:sys-kernel/mips-sources: Remove binary blobs from kernel sources to provide libre license compliance.
 local:deblob:sys-kernel/mm-sources: Remove binary blobs from kernel sources to provide libre license compliance.
 local:deblob:sys-kernel/openvz-sources: Remove binary blobs from kernel sources to provide libre license compliance.
 local:deblob:sys-kernel/tuxonice-sources: Remove binary blobs from kernel sources to provide libre license compliance.
 local:deblob:sys-kernel/vanilla-sources: Remove binary blobs from kernel sources to provide libre license compliance.
 local:deblob:sys-kernel/vserver-sources: Remove binary blobs from kernel sources to provide libre license compliance.
 local:deblob:sys-kernel/xen-sources: Remove binary blobs from kernel sources to provide libre license compliance.
 local:deblob:sys-kernel/zen-sources: Remove binary blobs from kernel sources to provide libre license compliance.
And finally the option from the Gentoo handbook USE flags:
$ cat /usr/portage/profiles/use.desc | grep deblob
The last option doesn't always produce results. Its better to use the first two (euse, quse).

Regards,
Kfir

6 comments:

  1. If you have app-portage/portage-utils :

    equery hasuse deblob

    and gentoo server works too :

    http://gentoo-portage.com/Search?search=&use=deblob

    Regards,
    BT

    ReplyDelete
  2. I used "fgrep deblob' - ' /usr/portage/profiles/use*.desc" -- it checks both local and global flags, and avoids listing other lines containing the flag's name.

    ReplyDelete
  3. What about ufed ? That's what i use.

    ReplyDelete
  4. "fgrep deblob' - ' /usr/portage/profiles/use*.desc"
    that will miss all the specific use flags that are
    only described in the metadata.xml file of an ebuild. euses and quse (I think) will find these.

    ReplyDelete
  5. equery uses sys-kernel/vanilla-sources:

    U I
    - - build : !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used for creating build images and the first half of bootstrapping [make stage1]
    - - deblob : Remove binary blobs from kernel sources to provide libre license compliance.
    - - symlink : Force kernel ebuilds to automatically update the /usr/src/linux symlinkn

    ReplyDelete
  6. > The last option doesn't always produce results. Its better to use the first two (euse, quse).

    If I understand correctly, both {e,q}use utilities ultimately parse /usr/portage/profiles/use.desc, so looking in this file is the most kosher way of doing things. I still use ufed, though :)

    ReplyDelete