Difference between pages "FLOP:Kerberos V implementations" and "Package:Debian-sources"

From Funtoo
(Difference between pages)
Jump to navigation Jump to search
(FLOP on krb5 impls)
 
m (Undo revision 9467 by Pytony (talk))
 
Line 1: Line 1:
{{FLOP
{{Ebuild
|Created on=2015/02/06
|Summary=This is the Debian kernel. This is default recommended kernel to use in http://www.funtoo.org/Funtoo_Linux_Installation
|Summary=Funtoo supports two binary-incompatible Kerberos V implementations: MIT and Heimdal. Ebuilds supporting both need to properly depend on them to ensure rebuilds.
|CatPkg=sys-kernel/debian-sources
|Author=Mgorny,
|Maintainer=Oleg,
|FLOP Status=Pending Review
|Homepage=http://www.funtoo.org/Funtoo_Linux_Kernels
|Reference Bug=FL-2093
}}
}}
== Overview ==
== Introduction ==
There are currently two Kerberos V implementations in Funtoo:
This is the Debian kernel. It is roughly equal to a kernel shipped by Debian Linux in their releases. Ebuild now support the <code>binary</code> USE flag. The aim of this ebuild is to have support for near all possible hardware and users shouldn't really dig into configs, aka "install and forget". Daniel has added a special config-extract command which can be used to list all available official Debian kernel configurations, and generate them from the Debian files included with the kernel.  
* MIT Kerberos V ({{Package|app-crypt/mit-krb5}}),
== Usage ==
* Heimdal ({{Package|app-crypt/heimdal}}).
<console>
 
###i## echo "sys-kernel/debian-sources binary" >> /etc/portage/package.use
Both implementations use the same library names and a partially compatible API. However, they are binary incompatible and use different (non-colliding) SONAMEs.
###i## emerge debian-sources
 
###i## nano -w /etc/boot.conf
Many of Kerberos V applications support both implementations. In this case, the relevant packages depend on {{Package|virtual/krb5}}. Some applications support only one of the implementations, depending on it directly.
###i## boot-update
 
</console>
 
{{fancyimportant|1=
== Issues with the current solution ==
<code>debian-sources</code> with <code>binary</code> USE flag also automatically installing a /usr/src/linux symlink pointing to debian kernel.}}
Virtuals are based on assumption that the providers can be switched at runtime. However, since the krb5 implementations are binary-incompatible, switching them at runtime is incorrect and results in the reverse dependencies being broken. Instead, implementation switch needs to be followed by automatic reverse dependency rebuild.
== Advanced use ==
 
Additional information about using <code>config-extract</code> tool and genkernel tips can be found here:
Furthermore, the lack of explicit implementation control will be an issue if installing both implementations in parallel becomes possible in the future. This could be desired since there are both packages supporting only mit-krb5, as well as packages supporting only heimdal.
http://www.funtoo.org/Funtoo_Linux_Kernels#Using_Debian-Sources_with_Genkernel
 
{{EbuildFooter}}
 
== Suggested solution ==
The simplest solution seems to be introducing a USE flag in all reverse dependencies that support both mit-krb5 and heimdal. The flag would decide which of the two implementation is used.
 
An example reverse dependency would look like:
{{File|name=example-1.ebuild|body=
IUSE="heimdal"
RDEPEND="
    heimdal? ( app-crypt/heimdal:0= )
    !heimdal? ( app-crypt/mit-krb5:0= )"
}}
 
If Kerberos V support is optional, the flags would be combined with the ''kerberos'' feature flag:
{{File|name=example-1.ebuild|body=
IUSE="heimdal kerberos"
RDEPEND="
    kerberos? (
        heimdal? ( app-crypt/heimdal:0= )
        !heimdal? ( app-crypt/mit-krb5:0= )
    )"
}}
 
This implementation implies that:
# user is given an explicit choice of Kerberos V implementation.
# Switch of a Kerberos V implementation would cause a rebuild through ''--changed-use'', therefore resolving breakage caused by ABI change.
{{FLOPFooter}}

Revision as of 19:44, April 1, 2015

Debian-sources

   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.

Introduction

This is the Debian kernel. It is roughly equal to a kernel shipped by Debian Linux in their releases. Ebuild now support the binary USE flag. The aim of this ebuild is to have support for near all possible hardware and users shouldn't really dig into configs, aka "install and forget". Daniel has added a special config-extract command which can be used to list all available official Debian kernel configurations, and generate them from the Debian files included with the kernel.

Usage

root # echo "sys-kernel/debian-sources binary" >> /etc/portage/package.use
root # emerge debian-sources
root # nano -w /etc/boot.conf
root # boot-update
   Important

debian-sources with binary USE flag also automatically installing a /usr/src/linux symlink pointing to debian kernel.

Advanced use

Additional information about using config-extract tool and genkernel tips can be found here: http://www.funtoo.org/Funtoo_Linux_Kernels#Using_Debian-Sources_with_Genkernel