KERNEL-2.ECLASS
章节: eclass-manpages (5)更新: 2024年11月
索引 返回主内容
名称
kernel-2.eclass - 内核软件包的 Eclass描述
这是 kernel.eclass 的重写版本,为 2.6 系列内核提供了一个干净的基础,并向后兼容 2.4。请将您的错误报告给当前的 eclass 维护者 :) 添加的功能:unipatch - 一种灵活、单一的方法来提取、添加和删除补丁。支持的 EAPI
7 8函数
- debug-print-kernel2-variables
- 此函数仅用于调试 kernel-2.eclass,如果您正在添加新功能,请在 src_unpack 的开头或 SRC_URI/dep 生成期间调用它。
- handle_genpatches [--set-unipatch-list]
- 如果需要,将 genpatches 添加到要应用的补丁列表中。
- detect_version
- 此函数将检测并设置 - OKV:原始内核版本 (2.6.0/2.6.0-test11) - KV:内核版本 (2.6.0-gentoo/2.6.0-test11-gentoo-r1) - EXTRAVERSION:附加到 OKV 的额外版本 (-gentoo/-gentoo-r1)
- kernel_is <条件版本 | 版本>
- 用于比较内核版本或仅识别版本,例如 kernel_is 2 4,例如 kernel_is ge 4.8.11 注意:在 linux-info.eclass 中重复。
- kernel_header_destdir
- 返回头文件目标目录。
- cross_pre_c_headers
- 如有必要,设置 use 以支持交叉编译。
- env_setup_kernel_makeopts
- 设置工具链变量,以及交叉编译时的 ARCH 和 CROSS_COMPILE。
- universal_unpack
- 解压内核源代码。
- unpack_set_extraversion
- 处理 EXTRAVERSION。
- unpack_fix_install_path
- 应在应用补丁后完成,否则修改 Makefile 相同区域的补丁将失败。
- install_universal
- 修复压缩包中的权限。
- install_headers
- 安装头文件。
- install_sources
- 安装源代码。
- preinst_headers
- 头文件预安装步骤。
- postinst_sources
- 源代码安装后函数。参见内联注释。
- setup_headers
- 确定 ${PN} 是否支持 arch。
- unipatch <要应用的补丁列表>
- 将补丁应用于源代码的通用函数。
- getfilevar <变量> <配置文件>
- 来自 linux-info。
- detect_arch
- 此函数使用必要的 arch 特定兼容性补丁集信息设置 ARCH_URI 和 ARCH_PATCH。
- headers___fix
- 修复损坏的上游头文件的变通方法。注意:不要将内联/asm/volatile 放在一起(会破坏“内联 asm volatile”)。
- kernel-2_src_unpack
- 解压源代码,处理 genpatches,去除二进制文件。
- kernel-2_src_prepare
- 应用任何用户补丁。
- kernel-2_src_compile
- 编译头文件或运行去除二进制文件脚本。
- kernel-2_src_test
- 如果您将其保留为默认的 src_test,它将运行 make 以查找是否存在 test/check 目标;由于“make test”实际上会生成一些支持文件,因此即使软件包是 binchecks-restricted,它们也会被安装。
通过使函数无效来完全避免这种情况。
- kernel-2_pkg_preinst
- 如果 ETYPE = headers,则调用 preinst_headers。
- kernel-2_src_install
- 根据 ETYPE 安装头文件或源代码。
- kernel-2_pkg_postinst
- 对于 ETYPE = sources,调用 postinst_sources。
- kernel-2_pkg_setup
- 检查支持的内核版本,如果 ETYPE 未知则退出,如有必要,调用 setup_headers。
- kernel-2_pkg_postrm
- 通知用户,在 depclean 后,可能存在需要手动清理的源代码。
Eclass 变量
- CKV
- 用作比较内核版本,当 PV 不反映真实的内核版本时使用。这被设置为 portage 风格的版本。即:CKV=2.6.11_rc4。
- EXTRAVERSION
- 附加到 OKV 的额外版本 (-gentoo/-gentoo-r1)
- H_SUPPORTEDARCH
- 这应该是一个以空格分隔的 ARCH 列表,头文件 ebuild 可以支持这些 ARCH。
- K_BASE_VER
- 对于 git 源代码,声明此补丁所基于的基本版本。
- K_DEBLOB_AVAILABLE
- 值为“0”将禁用所有可选的去除二进制文件代码。如果为空,如果可以去除二进制文件,则设置为“1”。仅测试“1”。
- K_DEBLOB_TAG
- 这将是去除二进制文件脚本的版本。它是一个上游 SVN 标签,例如 -gnu 或 -gnu1。
- K_DEFCONFIG
- 允许指定不同的 defconfig 目标。如果长度为零,则默认为“defconfig”。
- K_EXP_GENPATCHES_PULL
- 如果设置,我们将无论 USE 标志如何都拉取“实验性”补丁,但预期 ebuild 维护者使用 K_EXP_GENPATCHES_LIST。
- K_EXP_GENPATCHES_NOUSE
- 如果设置,将不会为“实验性”补丁提供 USE 标志;因此,用户无法选择应用这些补丁。
- K_EXP_GENPATCHES_LIST
- 当 USE 标志未设置且 K_EXP_GENPATCHES_PULL 设置时,从“实验性”中选择要应用的补丁列表。
- K_EXTRAEINFO
- 这是一个以换行符分隔的 einfo 显示列表,在 postinst 中使用,可用于传递其他 postinst 消息。
- K_EXTRAELOG
- 与 K_EXTRAEINFO 相同,但使用 elog 而不是 einfo。
- K_EXTRAEWARN
- 与 K_EXTRAEINFO 相同,但使用 ewarn 而不是 einfo。
- K_FROM_GIT
- 如果设置,此变量表示内核源代码来自 git 树,并将应用特殊处理,以便应用的任何补丁都能实际应用。
- K_GENPATCHES_VER
- 要应用的 genpatches 压缩包的版本。值为“5”会将 genpatches-2.6.12-5 应用于 my-sources-2.6.12.ebuild。
- K_LONGTERM
- 如果设置,eclass 将在上游服务器上的长期目录中搜索内核源代码,因为位置已由上游更改。
- K_NODRYRUN
- 如果设置,则不会运行 patch --dry-run。某些补丁将在此参数下失败,请参阅错误 #507656。
- K_NOSETEXTRAVERSION
- 如果设置,则不会在内核 Makefile 中自动设置 EXTRAVERSION。
- K_NOUSENAME
- 如果设置,则 EXTRAVERSION 将不包含 ${PN} 的第一部分。
- K_NOUSEPR
- 如果设置,则 EXTRAVERSION 将不包含任何基于 ${PR} 的内容。
- K_PREDEBLOBBED
- 此内核已在其他地方去除了二进制文件。如果为假,则可选的去除二进制文件将可用,或者许可证将记录 linux-firmware 代码的包含。
- K_PREPATCHED
- 如果补丁集是预先修补的(即:pf-sources、zen-sources 等),它将使用 PR(即:-r5)作为补丁集版本,而不是将其用作真正的软件包修订版。
- K_SECURITY_UNSUPPORTED
- 如果设置,则此内核不受 Gentoo 安全团队支持,请联系当前的 eclass 维护者 :)
- K_SYMLINK
- 如果设置,则强制创建符号链接。
- K_USEPV
- 设置 EXTRAVERSION 变量时,应在末尾添加 PV。这对于像 wolk 这样的东西很有用。即:EXTRAVERSION 将类似于:-wolk-4.19-r1。
- K_WANT_GENPATCHES
- 将 genpatches 应用于内核源代码。提供“base”、“extras”或“experimental”的任何组合。
- KERNEL_URI
- 上游内核源代码 URI。
- KV (由 Eclass 生成)
- 内核版本 (2.6.0-gentoo/2.6.0-test11-gentoo-r1)
- KV_FULL (由 Eclass 生成)
- 内核完整版本。
- KV_MAJOR (由 Eclass 生成)
- 来自 <KV_MAJOR>.<KV_MINOR>.<KV_PATCH 的内核主版本。
- KV_MINOR (由 Eclass 生成)
- 来自 <KV_MAJOR>.<KV_MINOR>.<KV_PATCH 的内核次版本。
- KV_PATCH (由 Eclass 生成)
- 来自 <KV_MAJOR>.<KV_MINOR>.<KV_PATCH 的内核修订版本。
- LINUX_HOSTCFLAGS
- 如果未设置,则为默认的 cflags。
- OKV
- 原始内核版本 (2.6.0/2.6.0-test11)
- RELEASE
- 代表内核发布标签 (-rc3/-git3)。
- RELEASETYPE
- 与 RELEASE 相同,但去除了数字 (-rc/-git)。
- UNIPATCH_DOCS
- 要安装到 doc 目录中的以空格分隔的文档列表。
- UNIPATCH_EXCLUDE
- 一个附加变量,用于支持完全基于“<传递字符串> *”而不是“<传递编号>_*”的排除,不应从 ebuild 中使用,因为这是为最终用户从 cli 传递排除保留的。
- UNIPATCH_LIST
- 要应用于内核的以空格分隔的补丁列表。
- UNIPATCH_STRICTORDER
- 如果设置,则将补丁放入顺序目录中,以便按传递的顺序应用它们。更改此 eclass 中的任何其他变量都不受支持;您可以通过联系当前维护者来请求添加其他变量。如果您确实更改了它们,则我们可能不会修复由此产生的错误;当然,这并不意味着我们不愿意提供帮助。
作者
John Mylchreest <[email protected]>Mike Pagano <[email protected]>
<还有很多其他人,请添加你自己>
维护者
Gentoo 内核项目 <[email protected]>报告错误
请通过 https://bugs.gentoo.org/ 报告错误。文件
kernel-2.eclass另请参阅
ebuild(5)https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/kernel-2.eclass
索引
此文档由 man2html 使用手册页创建。
时间:2024年11月12日,格林威治标准时间03:27:01