如何创建自动安装其他包的元包?

如何创建自动安装其他包的元包?

我希望能够创建一个本身不包含任何代码或程序的包,而是将存储库中存在的其他包安装到计算机上,该ubuntu-restricted-extras包是如何做到的?

答案1

可以使用名为equivs 这将创建一个仅包含依赖信息的包。

首先,创建一个目录:

mkdir my-metapackage
cd my-metapackage/

现在运行程序:

equivs-control ns-control

它将创建一个名为 的文件ns-control,使用文本编辑器打开此文件。您生成的控制文件应该修改其DependsRecommends行以取决于您要安装的软件包:

Section: misc
Priority: optional
Standards-Version: 3.9.1

Package: my-metapackage
Version: 1.0   
Depends: openssh-server, gedit
Description: This package installes an ssh server and a text editor
 The Long description of this package ends with a newline!

(仅作为示例,您应该包含更多信息)

最后,通过运行来构建包

equivs-build ns-control

您的包裹位于my-metapackage/my-metapackage_1.0_all.deb

如果您还想创建源包,--full可以将选项传递给equivs-build,例如equivs-build --full ns-control。这将使用 debuild 并创建 .dsc 和 .tar.gz 文件。

要创建可以上传到 PPA 的源 .changes 文件,请使用以下命令提取并构建源包

dpkg-source -x my-metapackage_1.0.dsc
cd my-metapackage-1.0
debuild -S

如果你在 ns-control 中设置的维护者与你的 GPG 密钥匹配,它应该构建并签署 my-metapackage_1.0_source.changes 文件,以便你将其输入到你的 PPA

相关内容