How to prepare auto-updating PPA?

Solution 1:

This can easily be done on Launchpad. What you are looking for is called a source package recipe.

The way to set this up and get it building the source every day is to first register the project on Launchpad if it isn't already. Once that is complete, go to the project page and click "configure project branch":

enter image description here

Now you need to tell Launchpad where the SVN repository is. Click "Import a branch hosted somewhere else", select 'SVN', and enter the URL of the SVN branch. Give the branch a name and click update:

enter image description here

Now you have the contents of the SVN repository being imported into Launchpad every so often (usually more than once per day). The next step is to create a source package recipe that builds the package from source every day. There are basically two options here:

  • Store the Debian packaging files in the SVN repository - the files should be in a folder called debian.
  • Create a separate Launchpad branch that contains the Debian packaging files and have Launchpad merge them together before it builds the package.

Since the first option is the easiest, I'd recommend going that route. To set up the daily builds, head to your project's page on Launchpad and click the "code" link at the very top. Click on the branch that contains the source code and then click "create packaging recipe":

enter image description here

From there, simply accept all of the defaults and click "create recipe". That's it! Your packages will be built each day (assuming there are new revisions) and placed in the PPA you specified when you created the recipe.

References:

  • https://help.launchpad.net/Packaging/SourceBuilds/GettingStarted
  • Blog post with video