Saturday, March 6, 2010

Tip: Dealing with virtualbox-ose PUEL license on Gentoo

I came across a peculiar message from portage when trying to install virtualbox-ose in Gentoo:
  1. $ su
  2. # eix-sync
  3. # emerge --tree --ask --verbose virtualbox-ose
These are the packages that would be merged, in reverse order:

Calculating dependencies... done!

!!! All ebuilds that could satisfy "~app-emulation/virtualbox-ose-additions-3.1.4" have been masked.
!!! One of the following masked packages is required to complete your request:
- app-emulation/virtualbox-ose-additions-3.1.4 (masked by: PUEL license(s))
A copy of the 'PUEL' license is located at '/usr/portage/licenses/PUEL'.

(dependency required by "app-emulation/virtualbox-ose-3.1.4" [ebuild])
(dependency required by "virtualbox-ose" [argument])

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
The solution is to add the PUEL license to the /etc/portage/package.license file:
  1. # echo "app-emulation/virtualbox-ose-additions PUEL" >> /etc/portage/package.license
  2. # echo "app-emulation/virtualbox-ose PUEL" >> /etc/portage/package.license
Now can finally get to emerge VirtualBox.

As a side note you can also use /etc/make.conf and make use of the ACCEPT_LICENSE variable. For instances adding ACCEPT_LICENSE="*" to /etc/make.conf unmasks all licenses. Alternatively you can unmask licenses one by one.

More information can be obtained reading make.conf and portage's man pages.


Anonymous said...

the actual file is /etc/portage/package.license and not /etc/portage/package.licenses
making it:

echo "app-emulation/virtualbox-bin PUEL" >> /etc/portage/package.license

tangram said...

Thanks for spotting the mistypes ;)