Ebuild 学习笔记
1、Ebuild文件格式
一个ebuild文件的命名必须以 “软件包名称-版本号.ebuild”命名。
名称部分应仅包含小写的非重音字母,数字0-9,连字符,下划线和加号字符。强烈建议不要使用大写字符,但技术上有效。
Ebuild标题信息
所有提交给树的ebuild应该在开始时立即有两行标题,表示版权,然后是空行。这必须是 header.txt Gentoo存储库顶级目录中内容的精确副本 。
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
缩进和制表符
在ebuild文件中所有的缩进必须是制表符,长度为四个空格。Tab只能用于缩进,不能在字符串中使用。
避免尾随空格
在你提交ebuild的时候如果出现前导空格和尾随空格,则repoman 会发出警告。
每行字数限制
ebuild文件中每行的长度不应该超过80个字符。
注意:所有的ebuild文件都应该使用UTF-8格式的字符。
2、EAPI的使用
Gentoo的portage包管理器用来统一管理ebuild的书写格式,因此ebuild提供了自己的API,方便编程人员书写。EAPI是有版本的,目前最新的版本是第七版,也就是EAPI=7,每一版本的EAPI都有对API或者变量的不同的改变。在书写ebuild时可以指定自己想要用的EPAI版本信息,如:EAPI=5,官方鼓励使用最新的EAPI。如果没有显式给出EAPI的信息,则系统会将EAPI的值默认设置为0,因此,应该在ebuild文件的最开始就知名需要使用的EAPI信息。
相位函数的执行顺序
- pkg_setup
- src_unpack
- src_prepare
- src_configure
- src_compile
- src_test
- src_install
- pkg_preinst
- pkg_postinst
- pkg_prerm
- pkg_postrm