Ubuntu – How to bump the version of a package available in another user’s PPA

cmakepackage-managementppa

When looking for a recent version of CMake 3.2 for Ubuntu 15.04 I came across this PPA. However, instead of CMake 3.2.1 I'd like to use version 3.2.3. How can I easily build upon the existing work done for that PPA to achieve that? I imagine some workflow like

  1. copy the packages from the PPA to my own newly created PPA
  2. somehow download the existing build recipes for version 3.2.1 (Using dget?)
  3. increase the version string in some file, adjust the changelog etc.
  4. push the build recipes back to Launchpad to see if it builds

So far I've only been able to find instructions on how to create new PPAs / packages from upstream sources (involving Bazaar branches and what not), but no easy instructions how to build upon existing PPA packages (preferably without involving Bazaar).

Note that I have no experience whatsoever with building / publishing PPAs, and that I'm starting from scratch.

Best Answer

  1. Download cmake 3.2.3 from here.

  2. Extract the tarball, the path should be cmake-3.2.3.

  3. Now rename the tarball:

    mv cmake-3.2.3.tar.gz cmake_3.2.3.orig.tar.gz
    
  4. Download the packaging part from the ppa for 15.04.

  5. Extract cmake_3.2.1-1ppa3~vivid1.debian.tar.xz into cmake-3.2.3

    cmake-3.2.3
      ├── debian
      │   ├── changelog
      ...
    
  6. Update the debian/changelog as follow (just change the signature):

    cmake (3.2.3-1ppa1~vivid1) vivid; urgency=medium
    
      * New upstream release.
    
     -- Sylvain Pineau <sylvain.pineau@canonical.com>  Tue, 30 Jun 2015 11:24:26 +0200
    
    cmake (3.2.1-1ppa3~vivid1) vivid; urgency=medium
    
      * Fix path to icons in cmake-qt-gui.
    
     -- Nathan Osman <nathan@quickmediasolutions.com>  Mon, 30 Mar 2015 17:59:20 -0700
    
  7. Install the build dependencies:

    sudo apt-get build-dep cmake
    sudo apt-get install liblzma-dev
    
  8. Build a new source package for cmake with:

    cd cmake-3.2.3
    dpkg-buildpackage -S
    
  9. Upload the source package to your ppa with:

    cd ..
    dput ppa:<user_name>/<ppa_name> cmake_3.2.3-1ppa1~vivid1_source.changes
    
  10. Monitor the build progress in your ppa homepage