Compiling source into a DEB package
![Creative The name of the picture](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO9GURib1T8z7lCwjOGLQaGtrueEthgQ8LO42ZX8cOfTqDK4jvDDpKkLFwf2J49kYCMNW7d4ABih_XCb_2UXdq5fPJDkoyg7-8g_YfRUot-XnaXkNYycsNp7lA5_TW9td0FFpLQ2APzKcZ/s1600/1.jpg)
![Creative The name of the picture](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYQ0N5W1qAOxLP7t7iOM6O6AzbZnkXUy16s7P_CWfOb5UbTQY_aDsc727chyphenhyphen5W4IppVNernMMQeaUFTB_rFzAd95_CDt-tnwN-nBx6JyUp2duGjPaL5-VgNO41AVsA_vu30EJcipdDG409/s400/Clash+Royale+CLAN+TAG%2523URR8PPP.png)
up vote
29
down vote
favorite
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
packaging deb install-from-source checkinstall
add a comment |Â
up vote
29
down vote
favorite
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
packaging deb install-from-source checkinstall
1
Ubucompilator is an interesting project, and I applaud their efforts to date. However, as you discovered, it only provides a GUI front-end to four or five low-level commands. And, NO, you can not use it to easily create a proper '.deb' package.
â david6
May 23 '12 at 7:11
add a comment |Â
up vote
29
down vote
favorite
up vote
29
down vote
favorite
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
packaging deb install-from-source checkinstall
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
packaging deb install-from-source checkinstall
edited Nov 3 '12 at 4:16
![](https://i.stack.imgur.com/KPUcH.png?s=32&g=1)
![](https://i.stack.imgur.com/KPUcH.png?s=32&g=1)
Mechanical snail
3,68132139
3,68132139
asked May 23 '12 at 3:58
Ashu
6,45332756
6,45332756
1
Ubucompilator is an interesting project, and I applaud their efforts to date. However, as you discovered, it only provides a GUI front-end to four or five low-level commands. And, NO, you can not use it to easily create a proper '.deb' package.
â david6
May 23 '12 at 7:11
add a comment |Â
1
Ubucompilator is an interesting project, and I applaud their efforts to date. However, as you discovered, it only provides a GUI front-end to four or five low-level commands. And, NO, you can not use it to easily create a proper '.deb' package.
â david6
May 23 '12 at 7:11
1
1
Ubucompilator is an interesting project, and I applaud their efforts to date. However, as you discovered, it only provides a GUI front-end to four or five low-level commands. And, NO, you can not use it to easily create a proper '.deb' package.
â david6
May 23 '12 at 7:11
Ubucompilator is an interesting project, and I applaud their efforts to date. However, as you discovered, it only provides a GUI front-end to four or five low-level commands. And, NO, you can not use it to easily create a proper '.deb' package.
â david6
May 23 '12 at 7:11
add a comment |Â
4 Answers
4
active
oldest
votes
up vote
41
down vote
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
apt-get install checkinstall
then you do the normal install from source procedure, replacing 'sudo make install' with 'sudo checkinstall':
./configure
make
sudo checkinstall
Reference: https://help.ubuntu.com/community/CheckInstall
add a comment |Â
up vote
8
down vote
We have a really good Packaging Guide that has a section on the topic of new packages.
1
I recommend this link, as it contains all the information someone would need. Also, if there's any specific questions, I may be able to help with them, but not for explaining the entire procedure of creating a debian package from source.
â Thomas Wardâ¦
May 29 '12 at 16:35
@ppumkin: updated.
â tumbleweed
Feb 20 '15 at 7:46
add a comment |Â
up vote
6
down vote
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 with checkinstall
.
add a comment |Â
up vote
2
down vote
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
thanks for the sugestion , but i already know about compiling softwares, i hav quiet a number of them compiled on my system. Te only thing i find tough is upgrading or removing them. So i though a deb file would be more handy
â Ashu
May 23 '12 at 4:31
The reason a deb package can smoothly upgrade or remove itself is that someone has painstakingly written scripts that do this, for each package. In addition they've had to add a whole lot of other descriptive metadata which dpkg can use to determine what files are. You'll have your work cut out for you.
â thomasrutter
May 23 '12 at 4:33
Actually, just go with Floyd's answer. It looks like a way better solution overall, if it really does what it says it does!
â thomasrutter
May 30 '12 at 3:47
add a comment |Â
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
41
down vote
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
apt-get install checkinstall
then you do the normal install from source procedure, replacing 'sudo make install' with 'sudo checkinstall':
./configure
make
sudo checkinstall
Reference: https://help.ubuntu.com/community/CheckInstall
add a comment |Â
up vote
41
down vote
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
apt-get install checkinstall
then you do the normal install from source procedure, replacing 'sudo make install' with 'sudo checkinstall':
./configure
make
sudo checkinstall
Reference: https://help.ubuntu.com/community/CheckInstall
add a comment |Â
up vote
41
down vote
up vote
41
down vote
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
apt-get install checkinstall
then you do the normal install from source procedure, replacing 'sudo make install' with 'sudo checkinstall':
./configure
make
sudo checkinstall
Reference: https://help.ubuntu.com/community/CheckInstall
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
apt-get install checkinstall
then you do the normal install from source procedure, replacing 'sudo make install' with 'sudo checkinstall':
./configure
make
sudo checkinstall
Reference: https://help.ubuntu.com/community/CheckInstall
edited Feb 13 '17 at 20:42
answered May 23 '12 at 4:38
Floyd
1,25811116
1,25811116
add a comment |Â
add a comment |Â
up vote
8
down vote
We have a really good Packaging Guide that has a section on the topic of new packages.
1
I recommend this link, as it contains all the information someone would need. Also, if there's any specific questions, I may be able to help with them, but not for explaining the entire procedure of creating a debian package from source.
â Thomas Wardâ¦
May 29 '12 at 16:35
@ppumkin: updated.
â tumbleweed
Feb 20 '15 at 7:46
add a comment |Â
up vote
8
down vote
We have a really good Packaging Guide that has a section on the topic of new packages.
1
I recommend this link, as it contains all the information someone would need. Also, if there's any specific questions, I may be able to help with them, but not for explaining the entire procedure of creating a debian package from source.
â Thomas Wardâ¦
May 29 '12 at 16:35
@ppumkin: updated.
â tumbleweed
Feb 20 '15 at 7:46
add a comment |Â
up vote
8
down vote
up vote
8
down vote
We have a really good Packaging Guide that has a section on the topic of new packages.
We have a really good Packaging Guide that has a section on the topic of new packages.
edited Feb 20 '15 at 7:45
answered May 29 '12 at 16:01
tumbleweed
6,9921433
6,9921433
1
I recommend this link, as it contains all the information someone would need. Also, if there's any specific questions, I may be able to help with them, but not for explaining the entire procedure of creating a debian package from source.
â Thomas Wardâ¦
May 29 '12 at 16:35
@ppumkin: updated.
â tumbleweed
Feb 20 '15 at 7:46
add a comment |Â
1
I recommend this link, as it contains all the information someone would need. Also, if there's any specific questions, I may be able to help with them, but not for explaining the entire procedure of creating a debian package from source.
â Thomas Wardâ¦
May 29 '12 at 16:35
@ppumkin: updated.
â tumbleweed
Feb 20 '15 at 7:46
1
1
I recommend this link, as it contains all the information someone would need. Also, if there's any specific questions, I may be able to help with them, but not for explaining the entire procedure of creating a debian package from source.
â Thomas Wardâ¦
May 29 '12 at 16:35
I recommend this link, as it contains all the information someone would need. Also, if there's any specific questions, I may be able to help with them, but not for explaining the entire procedure of creating a debian package from source.
â Thomas Wardâ¦
May 29 '12 at 16:35
@ppumkin: updated.
â tumbleweed
Feb 20 '15 at 7:46
@ppumkin: updated.
â tumbleweed
Feb 20 '15 at 7:46
add a comment |Â
up vote
6
down vote
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 with checkinstall
.
add a comment |Â
up vote
6
down vote
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 with checkinstall
.
add a comment |Â
up vote
6
down vote
up vote
6
down vote
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 with checkinstall
.
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 with checkinstall
.
edited Oct 13 '12 at 2:16
![](https://i.stack.imgur.com/Dm86X.png?s=32&g=1)
![](https://i.stack.imgur.com/Dm86X.png?s=32&g=1)
Peachy
4,80172843
4,80172843
answered Oct 12 '12 at 22:19
C Schuman
6111
6111
add a comment |Â
add a comment |Â
up vote
2
down vote
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
thanks for the sugestion , but i already know about compiling softwares, i hav quiet a number of them compiled on my system. Te only thing i find tough is upgrading or removing them. So i though a deb file would be more handy
â Ashu
May 23 '12 at 4:31
The reason a deb package can smoothly upgrade or remove itself is that someone has painstakingly written scripts that do this, for each package. In addition they've had to add a whole lot of other descriptive metadata which dpkg can use to determine what files are. You'll have your work cut out for you.
â thomasrutter
May 23 '12 at 4:33
Actually, just go with Floyd's answer. It looks like a way better solution overall, if it really does what it says it does!
â thomasrutter
May 30 '12 at 3:47
add a comment |Â
up vote
2
down vote
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
thanks for the sugestion , but i already know about compiling softwares, i hav quiet a number of them compiled on my system. Te only thing i find tough is upgrading or removing them. So i though a deb file would be more handy
â Ashu
May 23 '12 at 4:31
The reason a deb package can smoothly upgrade or remove itself is that someone has painstakingly written scripts that do this, for each package. In addition they've had to add a whole lot of other descriptive metadata which dpkg can use to determine what files are. You'll have your work cut out for you.
â thomasrutter
May 23 '12 at 4:33
Actually, just go with Floyd's answer. It looks like a way better solution overall, if it really does what it says it does!
â thomasrutter
May 30 '12 at 3:47
add a comment |Â
up vote
2
down vote
up vote
2
down vote
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
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
answered May 23 '12 at 4:29
thomasrutter
25.3k46086
25.3k46086
thanks for the sugestion , but i already know about compiling softwares, i hav quiet a number of them compiled on my system. Te only thing i find tough is upgrading or removing them. So i though a deb file would be more handy
â Ashu
May 23 '12 at 4:31
The reason a deb package can smoothly upgrade or remove itself is that someone has painstakingly written scripts that do this, for each package. In addition they've had to add a whole lot of other descriptive metadata which dpkg can use to determine what files are. You'll have your work cut out for you.
â thomasrutter
May 23 '12 at 4:33
Actually, just go with Floyd's answer. It looks like a way better solution overall, if it really does what it says it does!
â thomasrutter
May 30 '12 at 3:47
add a comment |Â
thanks for the sugestion , but i already know about compiling softwares, i hav quiet a number of them compiled on my system. Te only thing i find tough is upgrading or removing them. So i though a deb file would be more handy
â Ashu
May 23 '12 at 4:31
The reason a deb package can smoothly upgrade or remove itself is that someone has painstakingly written scripts that do this, for each package. In addition they've had to add a whole lot of other descriptive metadata which dpkg can use to determine what files are. You'll have your work cut out for you.
â thomasrutter
May 23 '12 at 4:33
Actually, just go with Floyd's answer. It looks like a way better solution overall, if it really does what it says it does!
â thomasrutter
May 30 '12 at 3:47
thanks for the sugestion , but i already know about compiling softwares, i hav quiet a number of them compiled on my system. Te only thing i find tough is upgrading or removing them. So i though a deb file would be more handy
â Ashu
May 23 '12 at 4:31
thanks for the sugestion , but i already know about compiling softwares, i hav quiet a number of them compiled on my system. Te only thing i find tough is upgrading or removing them. So i though a deb file would be more handy
â Ashu
May 23 '12 at 4:31
The reason a deb package can smoothly upgrade or remove itself is that someone has painstakingly written scripts that do this, for each package. In addition they've had to add a whole lot of other descriptive metadata which dpkg can use to determine what files are. You'll have your work cut out for you.
â thomasrutter
May 23 '12 at 4:33
The reason a deb package can smoothly upgrade or remove itself is that someone has painstakingly written scripts that do this, for each package. In addition they've had to add a whole lot of other descriptive metadata which dpkg can use to determine what files are. You'll have your work cut out for you.
â thomasrutter
May 23 '12 at 4:33
Actually, just go with Floyd's answer. It looks like a way better solution overall, if it really does what it says it does!
â thomasrutter
May 30 '12 at 3:47
Actually, just go with Floyd's answer. It looks like a way better solution overall, if it really does what it says it does!
â thomasrutter
May 30 '12 at 3:47
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f140998%2fcompiling-source-into-a-deb-package%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
1
Ubucompilator is an interesting project, and I applaud their efforts to date. However, as you discovered, it only provides a GUI front-end to four or five low-level commands. And, NO, you can not use it to easily create a proper '.deb' package.
â david6
May 23 '12 at 7:11