应用程序包开发者指南

优化使用 pkgproto 命令创建的 prototype 文件

虽然 pkgproto 命令在创建初始 prototype 文件时很有用,但它不会为每个需要定义的软件包对象创建条目。此命令不创建全部条目。pkgproto 命令不执行以下任一工作:

创建文件类型为 vexi 的对象条目

至少,您需要修改 prototype 文件,以添加文件类型为 i 的对象。如果您将信息文件和安装脚本存储在软件包目录的第一级中(例如 /home/jane/SUNWcadap/pkginfo),则 prototype 文件中的一个条目将如下所示:


i pkginfo

如果您没有将信息文件和安装脚本存储在软件包目录的第一级中,则需要指定它们的源位置。例如:


i pkginfo=/home/jane/InfoFiles/pkginfo

或者,可以使用 !search 命令指定位置,供 pkgmk 命令在生成软件包时进行查找。有关更多信息,请参见pkgmk 命令提供搜索路径

要为文件类型为 vex 的对象添加条目,请遵循prototype 文件的格式中所述的格式,或参阅 prototype(4) 手册页。


注 –

切记在任何时候都为文件类型为 e(可编辑)的文件指定一个类,并为该类指定一个关联的类操作脚本。否则,在删除软件包期间这类文件将被删除,即使与其他软件包共享路径名时也是如此。


使用多个类定义

如果使用 pkgproto 命令创建基本 prototype 文件,可以将所有软件包对象指定给 none 类或一个特定类。如示例-使用 pkgproto 命令创建 prototype 文件中所示,基本 pkgproto 命令将所有对象指定给 none 类。要将所有对象指定给一个特定类,可使用 -c 选项。例如:


$ pkgproto -c classname /home/jane/SUNWcadap > /home/jane/InfoFiles/prototype

如果使用多个类,您可能需要手动编辑 prototype 文件,并修改每个对象的 class 字段。如果使用类,您还需要在 pkginfo 文件中定义 CLASSES 参数并编写类操作脚本。使用类是可选功能,将在编写类操作脚本中进行详细讨论。

示例-优化使用 pkgproto 命令创建的 prototype 文件

对于在示例-使用 pkgproto 命令创建 prototype 文件中使用 pkgproto 命令创建的 prototype 文件,需要进行几处修改。