这就是我想要的:
给出一组定义(最好是在Python中),安装哪些文件以及运行后安装脚本等等。我希望这个程序为三个主要平台生成安装程序:
例如,
installconfig.py:
name = 'Foo'
version = '1.0'
components = {
'core': {'recursive-include': 'image/'
'target_dir': '$APPDIR'}
'plugins': {'recursive-include': 'contrib/plugins',
'target_dir': '$APPDIR/plugins'}
}
def post_install():
...
我希望这个程序生成Foo-1.0.x86.msi,Foo-1.0.universal.dmg和Foo-1.0-linux-x86.tar.gz。
你明白了。这样的程序存在吗? (它可以在幕后使用Windows上的WiX。)
注意1 :Foo
可以是用任何编程语言编写的应用程序。那应该没关系。
注意2 :应该可以使用特定于平台的内容。例如,我应该能够在Windows上指定merge modules。
答案 0 :(得分:3)
查看CPack。它适用于CMake,如果你将它用于你的构建系统,但它也可以在没有它的情况下工作。这使用CMake类型语法,而不是Python,但它可以生成NSIS安装程序,ZIP存档,Linux,RPM,DEB和Mac OS X包上的二进制可执行文件
答案 1 :(得分:0)
你的要求可能就是手工制作一个make脚本来完成这些事情是一天的顺序。如果你不喜欢make,可以在python中编写。它会比尝试从某些安装程序创建者学习一些专有脚本语言更灵活,也可能更快。任何带有花哨的gui和复选框等的东西都不可能在linux上自动做任何理性的事情。
答案 2 :(得分:0)