一个軟件是如何進入Debian的

  Debian发行版的软件可以说是极其丰富并且稳定的,以下文章简单介绍了一个软件进入发行版的过程。
转自linuxsir论坛的wen:一个软件是如何进入Debian的[编译]

说明:本文主要编译自http://www.debian-administration.org/articles/181
原作者Steve Kemp
Debian最让人喜爱之处在于解决好软件包的依赖关系后带来的安装软件的便利性,而且软件非常丰富,那么一个软件是如何进入到Debian中的呢?

必要条件:
一个软件要进入Debian至少要满足以下四个条件:
1 将软件转化为Debian的deb文件
2 有Debian开发者(常称为DD)将该deb文件上载
3 该软件要满足Debian社会契约(http://www.us.debian.org/social_contract)
4 最后需要经过Debian的ftp管理员的许可才能正式发布

1 制作deb文件
要将一个软件转换为deb进入Debian,首先你应该确认这个软件没有出现在现有debian中,也没有其他人正在做相同的工作。为此,你可以分别在以下地址查询:
http://www.debian.org/distrib/packages
http://www.debian.org/devel/wnpp/being_packaged
确认之后,你应该在http://www.debian.org/Bugs/,登记一下,告诉后来者,软件我正在作,你们别来了

制作一个自己使用的简单deb文件,可以采用某些简单方法或使用其他工具,参阅以下两个
网址:
http://www.debian-administration.org/articles/147
http://www.debian-administration.org/articles/78
但如果你制作的deb要进入Debian系统,那么要求就高多了,你应该首先认真阅读
《Debian制度手册》(http://www.us.debian.org/doc/debian-policy/),然后按照《DD新手指南》(http://www.us.debian.org/doc/maint-guide/),学习规范的deb文件制作。

2 deb包文件做好之后
deb包文件做好之后当然就要上载了,如果你是一个DD,那么很简单,你上载就可以了;
如果你是一个新手,那么就需要寻找一个DD作为你的“赞助者”(sponsor)来帮你上载。

3 赞助式的上载
这种方式上载deb软件显然是针对非DD的新手,你最好先熟读< <新手之家>>
(http://www.us.debian.org/devel/join/newmaint)这篇文章告诉你如何从零成为一个DD。然后你要找一个赞助者帮你上载你制作的deb文件,一般的做法是:你要写一个详细介绍该软件的邮件,介绍该软件性能、下载地址等信息,并把该邮件发到http://lists.debian.org/debian-mentors这个邮件列表,以找到一位对你软件感兴趣愿意帮你上载的DD,一般来说总是找得到的!
参阅这个网页:http://people.debian.org/~mpalmer/debian-mentors_FAQ.html
如果有DD对你的欲递交的软件感兴趣,他会发邮件给你,提出一些问题及建议等。
这时候你应该称他为导师(mentor)了。

4 DD的上载
DD自然对这个过程很熟悉了,这段就省略了。

5 新的队列
deb文件上载之后并不是马上就进入到Debian了,这个时候它们只能被称之为”新的队列”。

新的队列中的软件就在那里(http://ftp-master.debian.org/new.html)等待ftp管理者(在这里你可以查到他们是谁:http://www.debian.org/intro/organization)的判决,或被Debian接纳,或被拒绝。

6 之后呢?
一旦你制作的deb文件被Debian接纳,并不意味着事情就结束了,相反,事情才刚刚开始。可能你的软件存在bug,或者需要编写新的使用手册,或者在其他架构的平台上编译通不过…这些都需要你重新上载改进版本的deb文件。
解决了bug问题了!恭喜了,去http://popcon.debian.org/看看有多少人对你上载的软件感兴趣吧。

Technorati Tags:

7 Responses to “一个軟件是如何進入Debian的”

Leave a Reply to 龙在天涯

Note: Commenter is allowed to use '@User+blank' to automatically notify your reply to other commenter. e.g, if ABC is one of commenter of this post, then write '@ABC '(exclude ') will automatically send your comment to ABC. Using '@all ' to notify all previous commenters. Be sure that the value of User should exactly match with commenter's name (case sensitive).