I have always had a problem installing and removing compiled software, so I have decided I would like to build software from source into a .deb package for easier installation/removal.
I would like to know of an easy and short way to build source into a .deb package, as an end user.
I have tried:
- ubucompilator, which did not work for me
- This how to guide, but I found it too long
checkinstall does what you want to achieve: it will monitor which files get installed and put them into a .deb package, which can then be installed and removed
Install it with
then you do the normal install from source procedure, replacing 'sudo make install' with 'sudo checkinstall':
Reference: https://help.ubuntu.com/community/CheckInstall
We have a really good Packaging Guide that has a section on the topic of new packages.
I have used the
make checkinstall
command on several occasions to create a.deb
package on one machine to be installed on my other servers. It is a fast way to install a Beta version. It works, but should be used with caution. There are pitfalls for the user who does not understand the many functions of the.deb
package.I have twenty-some servers that use the same home grown apps. Adding the build support and compiler to each host is not that difficult.
Entering the commands to download and compile a new version twenty times is time consuming. The alternative is to upload a script to do the task and then execute the script. But it is often easier to update applications using the
.deb
file created withcheckinstall
.The task of packaging some random piece of software code into a .deb is a fairly complicated one if the software didn't come in that form already, especially compared to just make, make install. If you want things to be simpler, I think you're moving in the wrong direction.
I'm not saying you can't do it - Debian developers do it a lot. But it doesn't seem like the simplest way to do what you want.
Maybe you should concentrate more on learning how compiling and installing software from source "works". In your favour is the fact that everything you've installed yourself should end up in /usr/local