在.deb文件中包含许可协议

6
如何在.deb文件中添加许可协议交互?这个问题Linux支持点击式许可证只是询问是否可能,但没有具体说明如何操作。此外,我不确定deb包的许可信息是否真正可行...
我知道可以将文本包含在软件包描述中,但我更希望它类似于Windows MSI安装程序。
请注意,我不希望许可证在应用程序第一次运行时弹出。
我在Ubuntu 8.10上使用dpkg-deb生成.deb文件。

我正在寻找与RPM类似的解决方案。https://dev59.com/gEvSa4cB1Zd3GeqPfIvU - Adil
1个回答

7
将问题放在您的软件包的 preinst 脚本中,如果用户回答错误或不回答,则以错误代码退出脚本,该软件包将不会被安装。
在软件包安装过程中询问用户问题的典型方式是使用 debconf。除了使用 bash 内置的 read 之外,还有替代方案可供选择。 Debconf 只是为您提供了简单的方法。有一个教程在 http://www.fifi.org/doc/debconf-doc/tutorial.html 上。

我想,没有图形界面的方式可以做到这一点吧?(无论如何,我都很乐意接受您的回复作为答案。)这是预安装脚本... - Fredrik Ullner
2
debconf可以配置使用各种用户界面,包括图形界面。但是该配置由系统管理员独立于任何软件包进行,因此如果您使用debconf,则无法控制该配置。但我认为debconf提供了更好的用户体验,因为它允许用户控制他们如何查看问题。 - Eric Warmenhoven
这是可行的,但需要注意一些事项。要求用户输入是违反Debian政策的,因此您可能需要考虑使用debconf。 Debconf不会要求输入,它可以在无头模式下运行,因此不会要求输入。如果安装失败,您必须测试该软件包是否可以轻松地被删除,而无需完成安装,否则您可能会完全混淆dpkg,导致无法安装/删除。 - AntonPiatek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接