Compiling source into a DEB package

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP








up vote
29
down vote

favorite
9












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






share|improve this question


















  • 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















up vote
29
down vote

favorite
9












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






share|improve this question


















  • 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













up vote
29
down vote

favorite
9









up vote
29
down vote

favorite
9






9





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






share|improve this question














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








share|improve this question













share|improve this question




share|improve this question








edited Nov 3 '12 at 4:16









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













  • 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











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






share|improve this answer





























    up vote
    8
    down vote













    We have a really good Packaging Guide that has a section on the topic of new packages.






    share|improve this answer


















    • 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

















    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.






    share|improve this answer





























      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






      share|improve this answer




















      • 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










      Your Answer







      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "89"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      convertImagesToLinks: true,
      noModals: false,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );








       

      draft saved


      draft discarded


















      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






























      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






      share|improve this answer


























        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






        share|improve this answer
























          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






          share|improve this answer














          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







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Feb 13 '17 at 20:42

























          answered May 23 '12 at 4:38









          Floyd

          1,25811116




          1,25811116






















              up vote
              8
              down vote













              We have a really good Packaging Guide that has a section on the topic of new packages.






              share|improve this answer


















              • 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














              up vote
              8
              down vote













              We have a really good Packaging Guide that has a section on the topic of new packages.






              share|improve this answer


















              • 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












              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.






              share|improve this answer














              We have a really good Packaging Guide that has a section on the topic of new packages.







              share|improve this answer














              share|improve this answer



              share|improve this answer








              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












              • 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










              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.






              share|improve this answer


























                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.






                share|improve this answer
























                  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.






                  share|improve this answer














                  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.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Oct 13 '12 at 2:16









                  Peachy

                  4,80172843




                  4,80172843










                  answered Oct 12 '12 at 22:19









                  C Schuman

                  6111




                  6111




















                      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






                      share|improve this answer




















                      • 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














                      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






                      share|improve this answer




















                      • 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












                      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






                      share|improve this answer












                      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







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      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
















                      • 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












                       

                      draft saved


                      draft discarded


























                       


                      draft saved


                      draft discarded














                      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













































































                      Popular posts from this blog

                      pylint3 and pip3 broken

                      Missing snmpget and snmpwalk

                      How to enroll fingerprints to Ubuntu 17.10 with VFS491