# Installing source code in a package manger

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?

-

• 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.

-

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.

-