如何从编译的源文件创建一个.deb软件包?

问题:
Mono 3.0已经发布,但我找不到可以安装它的ppa。
有这个: https://launchpad.net/~directhex/+ppa-packages 但它是mono 2.10.8.1-5。
我正在使用ASP.NET MVC4,所以我需要3.0版本。
现在我可以自己编译和安装mono 3.0。 我在这里写了一个教程: http://ubuntuforums.org/showthread.php?t=1591370 我的问题是,对于每个新的Ubuntu安装(服务器,笔记本电脑,台式机,硬盘损坏后重新安装),我都需要再次进行这个冗长的过程。
所以我想编译一次,然后将其上传到PPA,这样我(和其他人)就不需要再次从源代码安装它。
现在的问题是: 整个构建过程需要使用配置选项运行configure,配置后的makefile修复,配置后的源代码修复等。

有没有一种简便的方法可以从已编译的文件中创建 .deb 包?

这样,在安装脚本中,我只需要写几次:

cd package_directory_1/
make install
cd package_directory_2/
make install
cd package_directory_3/
make install

等等。

?


3对于个人使用,你可以使用checkinstall,但这对于ppa来说还不够。 - Tachyons
包装是一项独立的工作。它不是通过运行一系列简单命令就能完成的。dh*脚本可以帮助你使用很多启发式方法,但并不能完全自动化所有过程。我建议你先查看当前的软件包(dget http://some-ppa/thepackage.dsc),以及打包指南。好消息是,由GNU Autotools支持的源代码相对容易打包(至少对于个人使用而言,并不需要满足Debian/Ubuntu的高标准)。 - gertvdijk
1可能是将源代码编译成DEB包的重复问题。 - bain
2个回答


你试过了吗?
make package

它不会安装任何东西,只是创建一个软件包。
JM

1错误:“make: *** 没有规则可制作目标 'package'。停止。” - WitchCraft