贡献ebuildhttp://www.gentoo.org/doc/zh_cn/ebuild-submit.xml
按下文提交了ebuild,没想到还挺麻烦的,收录在这里方便查找
1. 开始
建立一个Bugzilla帐号
将你的浏览器指向http://bugs.gentoo.org。这是Bugzilla的bug跟踪数据库的URL地址。在页面的一列链接中,有一项是"Open a new Bugzilla account",如果你还没有这么做过(比如:提交一个bug),那么请点击这个链接,创建一个新的帐号。
不要提交CPAN的ebuild包
Portage提供了一个叫做g-cpan.pl的工具,它会利用Portage在你的Gentoo系统上安装某个指定的CPAN模块,同时在Portage数据库中保存必要的信息(比如依赖性、提供的文件,等等),就好像你安装一个ebuild一样。因而,没有必要(也不推荐)提交CPAN的ebuild包。
希望了解更多关于g-cpan.pl的信息,请查阅它的man手册。
2. 提交ebuild
创建一个新的bug
在主页或者登录页面的下方有一个黄色的框。选择New - Expert。或者,你可以直接登录到http://bugs.gentoo.org/enter_bug.cgi。这两种方法都能够使你进入Enter Bug页面。
注意: 在Bugzilla系统中,所有的条目都是bug。这包括新提交的ebuild。每个bug都会被赋予一个跟踪id。特别是当你有其他的ebuild依赖于这个包的时候,请记住这个ID。
Bugzilla可以跟踪多个项目。比如,在Gentoo中,其他的项目可能包括文档或者用于管理网站的工具。在这些列表中,ebuild总是应该被提交到Gentoo Linux。
点击Gentoo Linux将会显示一个新的bug条目表单。
填写bug表单
表单上的第一个域是version。如果你知道你的包属于哪个版本,那么在这里选择相应的版本号。否则,请选择unspecified。接着,设置component域。所有ebuild脚本的component类型都要设置成Ebuilds。
重要: Ebuild的component类型总是应该设置成Ebuild。其他的类别,比如GNOME,Libraries和Server可能看起来适合你的ebuild类型,但他们是在提交相关包的bug时所使用的,而不是在提交ebuild的时候。
对于ebuild来说,不需要设置Platform、 OS和Priority类别。
Severity域应该设置成enhancement。
保持Assigned To为空。如果你尚未改变Bugzilla的邮件设定,那么,作为一名汇报者,在bug更新的时候你将自动收到邮件。
在Summary域填写简单的说明,用以表示你所提交的包名称以及是否是一个更新抑或是一个新的提交。像这样的描述就不错:foo-bar-x.y.z.ebuild(New Package)或者foo-x.y.z.ebuild (Update)。
Description域应该尽可能详细地填写。这是一个来自第7号bug的例子:
代码 2.1: 例子描述
Hi!
Please find attached gramps-0.7.0.ebuild and a patch so that it will
compile against python-2.2
gramps is the Genealogical Research and Analysis Management Programming
System. It is a very cool gnome/python app. If you are in the US, you
can head over to http://www.familysearch.com/ and you can probably find a
GEDCOM file for your family tree to import into gramps. (Mormons sure do like
geneaology)
I suggest app-misc/gramps Also, this ebuild depend on Imaging and ReportLab
previously submitted
tod
写完综述之后,点击Commit。
附加ebuild脚本
在Enter Bug页面点击submit之后,你会来到Posting Bug页面。注意其bug号。
在该页面的下方,有一个到Create a new attachment的链接。点击这个链接。
使用文本输入框或者Browse对话框来选择文件。在Description中,输入ebuild文件的名字,和你在上一页填写Summary的情况类似。
确保将内容类型设置成"text/plain",以及选中select from list单选按钮。
在这个表单上没有其他所需要填写的域了。点击Submit就完成了ebuild的提交过程。
3. 多个ebuild
依赖性
万一你想提交多个ebuild,并且其中的一些ebuild依赖于其他的ebuild,这时,标记出他们的依赖性将是十分有用的。再次查看bug可以让你添加另外一份说明。请在这里添加相应的依赖信息。