Difference between pages "News:CPU FLAGS X86" and "Package:Layman"

From Funtoo
(Difference between pages)
Jump to navigation Jump to search
(publish)
 
m (add masking information)
 
Line 1: Line 1:
{{News
{{Ebuild
|Summary=CPU_FLAGS_X86 are being introduced to group together USE flags managing CPU instruction sets.
|Summary=Tool to manage Gentoo overlays
|News Format=Short
|CatPkg=app-portage/layman
|News Category=General
|Homepage=http://layman.sourceforge.net/
|Author=Mgorny
|Publication Status=Published
|Publication Date=2015/01/31
}}
}}
Hello, everyone.
Layman is an "overlay" external repository management tool.


The USE flags corresponding to the instruction sets and other features specific to the x86 (including x86-64) architecture are being moved into a separate USE flag group called CPU_FLAGS_X86.
=== Installation ===
<console>###i## emerge layman</console>
make.conf must source laymans overlays for emerge to pull in packages from external sources.
<console>###i## echo "source /var/lib/layman/make.conf" >> /etc/portage/make.conf</console>


In order not to lose CPU-specific optimizations, users will be required to update their make.conf (and package.use) file. For example, if the following USE flags were present:
=== Using Layman ===
Fetch, and display a list of overlays:
<console>###i## layman -L</console>


{{file|name=/etc/portage/make.conf|desc=The original make.conf flags|body=
Add an overlay to your system:
USE="mmx mmxext sse sse2 sse3"
<console>###i## layman -a <overlay name></console>
}}
 
Delete an overlay from your system:
<console>###i## layman -d <overlay name></console>


Those flags need to be copied into:
==== Masking Overlay Packages ====
Overlays have the power to override distro packages.  To avoid conflicts, mask everything in the overlay, and unmask the packages that are necessary to your system.


{{file|name=/etc/portage/make.conf|desc=The new make.conf flags|body=
{{file|name=/etc/portage/package.mask|lang=|desc=mask all packages in an overlay|body=
CPU_FLAGS_X86="mmx mmxext sse sse2 sse3"
*/*::overlay-name
}}
}}


Please note that the same CPU_FLAGS_X86 variable is used both on 32-bit and 64-bit x86 (amd64) systems.
{{file|name=/etc/portage/package.unmask|lang=|desc=unmask packages to be used|body=
 
cat-egory/pack-age1
When in doubt, you can consult the flag descriptions using one of the commonly available tools, e.g. ''equery uses'' from gentoolkit:
cat-egory/pack-age2
}}


{{console|body=
==== Sync ====
$##i## equery uses media-video/ffmpeg
}}


Most of the flag names match /proc/cpuinfo names, with the notable exception of SSE3 which is called 'pni' in /proc/cpuinfo (please also do not confuse it with distinct SSSE3).
Sync a specific overlays ebuilds:
<console>###i## layman -s <overlay name></console>


To help users enable the correct USE flags, we are providing a Python script that generates the correct value using /proc/cpuinfo. It can be found in the {{Package|app-portage/cpuinfo2cpuflags}} package:
Sync all overlays:
<console>###i## layman -S</console>


{{console|body=
Sync all overlays via eix:
###i## emerge -1v app-portage/cpuinfo2cpuflags
<console>###i## eix-sync</console>
$##i## cpuinfo2cpuflags-x86
}}


In order to ensure safe migration and maintain compatibility with external repositories, it is recommended to preserve the old USE settings for a period of one year or until no package of interest is still using them.
{{EbuildFooter}}
{{NewsFooter}}

Revision as of 11:56, January 31, 2015

Layman

   Tip

We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.

Layman is an "overlay" external repository management tool.

Installation

root # emerge layman

make.conf must source laymans overlays for emerge to pull in packages from external sources.

root # echo "source /var/lib/layman/make.conf" >> /etc/portage/make.conf

Using Layman

Fetch, and display a list of overlays:

root # layman -L

Add an overlay to your system:

root # layman -a <overlay name>

Delete an overlay from your system:

root # layman -d <overlay name>

Masking Overlay Packages

Overlays have the power to override distro packages. To avoid conflicts, mask everything in the overlay, and unmask the packages that are necessary to your system.

   /etc/portage/package.mask - mask all packages in an overlay
*/*::overlay-name
   /etc/portage/package.unmask - unmask packages to be used
cat-egory/pack-age1
cat-egory/pack-age2

Sync

Sync a specific overlays ebuilds:

root # layman -s <overlay name>

Sync all overlays:

root # layman -S

Sync all overlays via eix:

root # eix-sync