Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

So, in my quest to start learning more about Linux, I want to start compiling software.

Note: any additional information or side information is greatly appreciated

I have a program that I wish to install from github:

https://github.com/Grive/grive

Is there any way I can add this as a repository? and automatically get the files from it when there is an update?

If not, obviously I'd have to compile myself. It's a little confusing because (I know what compiling actually does - high level language to binary) sometimes you have to make, sometimes you have to ./configure, ect.

Not to mention you have to keep the files all in the same folder you compiled in, which is really annoying because I dont know if additional files are being moved somewhere on my system, and I can't delete them simply by removing the folder which I compiled in...

Anyways, at one point or another I probably sounded really stupid trying to explain my understanding -

tl;dr

How do I turn source code into something my package manager can use for automatic updating with apt?

share|improve this question

2 Answers 2

up vote 2 down vote accepted
  • A "package manager" does not take a source tree and excrete packages. A package manager (apt+dpkg in our case) literally stores a list of available packages, their URLs and their dependencies, as well as keeping track of what is already installed.

  • The packages are produced by compiling and then packaging. This can either be done by hand (as you start to mention)...

  • Or by creating a build recipe which instructs Launchpad on how to build and package your source. The advantage of the second is Launchpad can keep updating and keep building as the source changes.

  • What I've just described is completely non-beginner stuff. You need to learn certain elements of Launchpad (creating a LP branch and PPA, importing the github code, creating the recipe and snaggling all that together)

  • ./configure, make and then sudo make install (or sudo checkinstall) is by far an easier way to get an application built and installed. If you use checkinstall you'll even have a package built to make removing it or upgrading slightly easier.

I know that doesn't really answer everything, but it does answer some of it. I believe just a bit of checkinstall should get you to a happy middleground without having to learn the Debian Packagers' Handbook.

share|improve this answer

To get an automatic message of a new update someone will have to upload the new version to the repository.

If you manually check for updates, compile, create a packages and update the repository; then yes. Easy as pie. (Except for all the work of baking that pie maintaining that package)

If noon keeps the repository updated: Nope.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.