查看“Debian-maint-guide/5”的源代码
来自Ubuntu中文
←
Debian-maint-guide/5
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
= Debian新维护人员手册 = == 第 5 章 - debian/中的其它文件 == 你会看到在debian/子目录中还有几个已经存在的文件,它们大多数都是以“.ex”结尾的,表明它们只是例子。仔细看一下它们。如果你希望使用其中任何一个功能,你需要做的事情是: * 看一下相关的文档(提示:Debian政策手册), * 如果需要就修改文件使其符合你的需求, * 修改文件名如果有“.ex”后缀就去掉它, * 修改文件名如果有“ex.”前缀就去掉它, * 如果需要就修改“rules”文件。 在下面给出了一些经常会被用到的文件的解释。 === 5.1 README.Debian === 所有的在原来的软件包和你的debian版本的软件包之间的细节及差异需要写在这里。 dh_make创建了一个缺省的,如下所示: gentoo for Debian ----------------- <possible notes regarding this package - if none, delete this file> -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100 由于我们不需要在这里写任何东西,我们就把它删掉了。 === 5.2 conffiles.ex === 关于软件,有一件事情是很烦人的,那就是当你花费了很多的时间和精力定制好一个程序,只要一升级,你所有的定制就都会被丢弃了。Debian解决这个问题的方法是标注出配制文件,这样当你升级一个软件包时,你将会被询问是否要保留你原来的配制文件。 如果希望对让一个软件包可以做到这点,只要把每一个配制文件(通常在/etc)目录下的完整路径逐行加入到一个名叫conffiles的文件里面就可以了。Gentoo有一个配制文件,/etc/gentoorc,我们把他加入到文件conffiles中。 如果你自己的程序有一个配制文件并且会自己覆盖它,那么最好就不要把它标记为配制文件了,因为这样dpkg就总会会询问用户是否要修改它。 如果你的软件包总要求每个用户修改自己的配制文件,最好也不要把配制文件标记出来了。 你可以用用“maintainer scripts”来处理例子配制文件,要了解更多的信息请参 考postinst.ex, preinst.ex, postrm.ex, prerm.ex, 第 5.12 节。 如果你的程序根本没有conffiles,对你来说从debian/目录中删除conffiles就是很安全的了。 === 5.3 cron.d.ex === 如果你的软件包需要计划任务正常运行才能够正常操作,你可以在这个文件中设 置它。 注意这里并不包括定期清除日志的任务;关于它,请参考dh_installlogrotate(1)和logrotate(8)。 如果你不需要,那就把它删了吧。 === 5.4 dirs === 这个文件里指出了我们需要的但常规的安装过程(make install)并不会自动创建 的目录。 缺省情况下,它的内容如下所示: usr/bin usr/sbin 注意最前面是没有斜线的。我们通常把它改成下面的样子: usr/bin usr/man/man1 但这些目录在Makefile中已经创建了,所以我们不需要这个文件,并且打算把它 删了。 === 5.5 docs === 在这个文件中,我们可以指定一些让dh_installdocs帮我们安装到临时目录中的文档的文件名。 缺省的情况下,他会包含所有已经存在于源代码目录最高层目录中的名为“BUGS”、 “README*”、“TODO”等的文件。 对于gentoo,我们还加入了一些其它的内容: BUGS CONFIG-CHANGES CREDITS ONEWS README README.gtkrc TODO 我们可以删掉这个文件,取而代之的是在rules文件中的dh_installdocs命令后列出这里提到的文件的名字,如下所示: dh_installdocs BUGS CONFIG-CHANGES CREDITS ONEWS README \ README.gtkrc TODO 也许并不像你看到的这样,你自己的软件包可能根本就没有这些文件。在这种情况下,对你来说删掉这个文件是很安全的。但是不要删掉rules文件中的dh_installdocs,因为它还要被用于安装copyright和其它的一些东西。 === 5.6 emacsen-*.ex === 如果你的软件包提供了一些可以在安装时进行字节编译的Emacs文件,你可以使用这些文件来设置它们。 通过命令dh_installemacsen(1)可以把它们安装到临时文件中,所以如果你要使用它不要忘了去掉rules文件中那一行上的注释。 如果你不需要这些,删掉它们。 === 5.7 init.d.ex === 如果你的软件包是一个需要在系统启动时运行的守护程序,那么很显然你没有采纳我在开始时的建议,不是吗?:-) 这是一个/etc/init.d/脚本的通用骨架,所以你不得不对它进行大规模的修改。通过dh_installinit(1)可以把它安装 到临时目录中。 如果你不需要这些,删掉这个文件。 === 5.8 manpage.1.ex, manpage.sgml.ex === 你的程序应该有一个手册页。如果它们没有,这里的每一个文件都是一个模板,你只要把它填好就可以了。 手册页通常用nroff(1)写成。manpage.1.ex这个例子也使用nroff写的。在man(7)的手册页中可以找到一个关于如何编写这样一个文件的简短说明。 如果你更希望些SGML而不时nroff,那么你可以使用manpage.sgml.ex模板。如果是这样,那么你就必需做下面这些事情: * 安装软件包docbook-to-man * 把docbook-to-man加到control文件的Build-Depends一行。 * 删除rules文件“build”规则中docbook-to-man调用前的注释 另外还要记得把文件名改成类似于gentoo.sgml的样子! 最后,手册页文件的名字应该包含它所描述的程序的名字。所以我们需要把 “manpage”改成“gentoo”。这个文件明中还以一个“.1”作为后缀,这表明它是一个关于用户命令的手册。一定要确保这个节编号是正确的。这里有一个关于手册页各个节的简短列表: Section | Description | Notes 1 User commands Executable commands or scripts. 2 System calls Functions provided by the kernel. 3 Library calls Functions within system libraries. 4 Special files Usually found in /dev 5 File formats E.g. /etc/passwd's format 6 Games Or other frivolous programs 7 Macro packages Such as man macros. 8 System administration Programs typically only run by root. 9 Kernel routines Non-standard calls and internals. 所以gentoo的手册页应该叫做gentoo.1。在原来的源程序中,并没有gentoo.1的手册页,所以我利用例子和上游文档给出的信息写了一个。 === 5.9 menu.ex === X窗口系统的用户通常都会使用支持菜单的窗口管理器,这些菜单可以被定制用于启动程序。如果它们安装了Debian的menu软件包,那么系统就会创建一套包含有系统上每一个程序的菜单。 这里有一个缺省的由dh_make创建的menu.ex文件: ?package(gentoo):needs=X11|text|vc|wm section=Apps/see-menu-manual\ title="gentoo" command="/usr/bin/gentoo" 在冒号之后的第一个字段是“needs”,他指明了程序需要什么样的界面。可以把这个字段改成一个合适的值,比如“text”或者“X11”。 下面是“section”,它指出这个项目应当出现的菜单和子菜单。当前的可选节被列在文件/usr/share/doc/debian-policy/menu-policy.html/ch2.html#s2.1中。 “title”字段是程序的名字。如果你喜欢,可以用大写字母开头。但一定要使它保持简短。 最后,“command”字段用于运行程序。 现在我们要把菜单项改成下面的样子: ?package(gentoo): needs=X11 section=Apps/Tools title="Gentoo" command="gentoo" 你还可以加入其它的字段,比如“longtitle”、“icon”和“hints”等。参考menufile(5)、update-menus(1)和/usr/share/doc/debian-policy/menu-policy.html/可以了解更多信息。 === 5.10 watch.ex === 这个文件用于配制程序uscan(1)和uupdate(1)(在软件包devscripts中)。它们可以用于监视你下载源代码的站点。 这里是我的配制: # watch control file for uscan # Site Directory Pattern Version Script ftp.obsession.se /gentoo gentoo-(.*)\.tar\.gz debian uupdate 提示:在创建了这个文件后,可以连接到Internet,并且试着在程序目录中运行 “uscan”命令。还要读手册哦!:) === 5.11 ex.package.doc-base === 如果你的软件包还有除了手册页以外的其它普通文档和info文档,你需要使用“doc-base”文件来注册它们,这样用户就能够用如dhelp(1)、dwww(1)或者doccentral(1)等工具来找到它们。 这通常包括/usr/share/doc/packagename/中的HTML、PS和PDF文件。 gentoo的doc-base文件gentoo.doc-base如下所示: Document: gentoo Title: Gentoo Manual Author: Emil Brink Abstract: This manual describes what Gentoo is, and how it can be used. Section: Apps/Tools Format: HTML Index: /usr/share/doc/gentoo/html/index.html Files: /usr/share/doc/gentoo/html/*.html 关于安装的文件格式,请参考install-docs(8)和/usr/share/doc/doc-base/doc-base.html/中的doc-base手册。 === 5.12 postinst.ex, preinst.ex, postrm.ex, prerm.ex === 这些文件叫做维护者脚本。它们位于软件包的控制区域中,并且在你安装、升级或删除软件包时,dpkg会调用他们。 现在,你应该尽可能避免修改任何维护者脚本,因为它们有一些复杂。要了解关于它们的更多信息请参考政策手册的第6章,而且还应该看看dh_make所提供的例 子文件。 [[Category:Debian新维护人员手册]]
返回
Debian-maint-guide/5
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
登录
导航
首页
最近更改
随机页面
页面分类
帮助
搜索
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息