Multilib/RoadMap

From Gentoo Wiki
Jump to:navigation Jump to:search
Warning
The multilib migration is now complete, and this page is no longer updated.

Road map

Stage 1
Enable multilib support in ebuilds MOSTLY
Update binary packages to support multilib ebuilds DONE
Stage 2
Stabilize necessary multilib packages DONE
Stage 3
Enable multilib support on stable DONE
Mask emul-linux-x86 for removal DONE

Stage 1

Enable multilib support in ebuilds

The first step involves enabling multilib support in ebuilds. Packages matching the following criteria need to be taken into consideration:

  1. packages required by 32-bit packages,
  2. dependencies of other multilib packages,
  3. plugins that can be directly or indirectly used by 32-bit applications (gstreamer, nss, PAM).

During the initial setup, packages incorporated in emul-linux-x86 were converted first. However, since most of the commonly used packages are converted and not all packages in emul-linux-x86 were actually used by anything, it is recommended not to convert any more of the libraries provided by emul-linux-x86 unless they are actually needed by some other package.

Detailed status:

Package type Status
emul-linux-x86 incorporated packages MOSTLY (stalled)
Multilib library dependencies MOSTLY
Plugins
gstreamer DONE
nss IN PROGRESS
PAM IN PROGRESS

Update binary packages to support multilib ebuilds

Once proper multilib dependencies are available, 32-bit packages need to be adjusted to support both emul-linux-x86 and multilib. Packages not intended for stable may switch directly to multilib.

The following dependency syntax is recommended:

CODE Example multilib+emul-linux-x86 dependency
RDEPEND="
    || (
        (
            dev-libs/lib-compat
            media-libs/libsdl[abi_x86_32(-)]
            x11-libs/libX11[abi_x86_32(-)]
        )
        amd64? (
            emul-linux-x86-compat[-abi_x86_32(-)]
            emul-linux-x86-sdl[-abi_x86_32(-)]
            emul-linux-x86-xlibs[-abi_x86_32(-)]
        )
    )
"

See also: dependency update status