用于从单一配置生成Linux、Windows和MacOSX安装程序的应用程序
我想要的是:
给定一组定义(最好是用Python写的),内容包括要安装哪些文件、安装后要运行什么脚本等等。我希望这个程序能够为三个主要平台生成安装包:
- Windows上的MSI安装包
- MacOS上的dmg安装包
- Linux上的Tarball和install.sh(如果可以的话,还要支持rpm和deb)
举个例子,
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。
你明白我的意思了。有没有这样的程序呢?(它可能在后台使用WiX来处理Windows的安装包)。
注意 1:Foo
可以是用任何编程语言写的应用程序,这一点不重要。
注意 2:平台特定的功能应该是可以实现的。例如,我应该能够在Windows上指定合并模块。
3 个回答
0
也许paver可以满足你的需求?你需要通过一些外部库把msi、dmg、tgz等部分添加为任务,但我相信这是可以做到的。
0
你的需求可能是需要自己动手写一个脚本来完成这些事情。如果你不喜欢用make工具,也可以用Python来写。这样会更灵活,而且可能比学习某个安装程序提供的专有脚本语言要快得多。那些有华丽界面和复选框的工具,在Linux上通常无法自动完成什么合理的操作。
3
可以看看 CPack。如果你用CMake作为构建系统,它和CMake配合得非常好,但即使不使用CMake也可以用。它使用的是CMake的语法,不是Python,但可以生成NSIS安装程序、ZIP压缩包、Linux上的可执行文件、RPM包、DEB包,还有Mac OS X的打包文件。