2012-02-11

Small gentoo tip : make eselect profile usable with an overlay

You can add profiles in an overlay but the selection has to be manual : you cannot use eselect profile out of the box.
# eselect profile list

Available profile symlink targets:
  [1]   default/linux/amd64/10.0
  [2]   default/linux/amd64/10.0/selinux
  [3]   default/linux/amd64/10.0/desktop
  [4]   default/linux/amd64/10.0/desktop/gnome
  [5]   default/linux/amd64/10.0/desktop/kde
  [6]   default/linux/amd64/10.0/developer
  [7]   default/linux/amd64/10.0/no-multilib
  [8]   default/linux/amd64/10.0/server
  [9]   hardened/linux/amd64
  [10]  hardened/linux/amd64/selinux
  [11]  hardened/linux/amd64/no-multilib
  [12]  hardened/linux/amd64/no-multilib/selinux
But you can make eselect think that your main portage directory is somewhere else:
# PORTDIR=/var/lib/layman/my-overlay eselect profile list 

Available profile symlink targets:
  [1]   awesome/linux/amd64/server/

# PORTDIR=/var/lib/layman/my-overlay eselect profile set 1
And if you check, yes indeed, it works !
# ll /etc/ma*
-rw-r--r-- 1 root root 2.2K Apr  6  2011 /etc/mailcap
-rw-r--r-- 1 root root  515 Feb 11 08:03 /etc/make.conf
-rw-r--r-- 1 root root  539 Feb 24  2011 /etc/make.conf.catalyst
lrwxrwxrwx 1 root root   40 Feb 11 08:05 /etc/make.globals -> ../usr/share/portage/config/make.globals
lrwxrwxrwx 1 root root   71 Feb 11 11:23 /etc/make.profile -> ../var/lib/layman/my-overlay/profiles/awesome/linux/amd64/server/
-rw-r--r-- 1 root root 4.6K Feb 24  2011 /etc/man.conf
You can of course alias it for the sake of userfriendliness :
alias ep='PORTDIR=/var/lib/layman/my-overlay eselect profile'

1 comment:

  1. Apparently it has been corrected in the latest portage, soon we won't have to do this. Thx gentoo team !
    (and to Pol that noticed it ;) )

    ReplyDelete