Difference between revisions of "Debian Packaging"

From Sirikata Wiki
Jump to navigation Jump to search
Line 21: Line 21:
 
   mkdir packaging
 
   mkdir packaging
 
   cd packaging
 
   cd packaging
 +
 +
Next, decide what release you are making. The release version should be the upstream release version. The minor version is if the upstream release has a minor release. The debian version is for making new packaged versions for the same upstream release.
 +
  export SIRIKATA_RELEASE="0.0.19"
 +
  export SIRIKATA_MINOR="0"
 +
  export SIRIKATA_DEBIAN="1"
  
 
Clone the repository, switch to the release tag, and check out submodules:
 
Clone the repository, switch to the release tag, and check out submodules:
   git clone git://github.com/sirikata/sirikata.git sirikata-0.0.18
+
   git clone git://github.com/sirikata/sirikata.git sirikata-${SIRIKATA_RELEASE}
   cd sirikata-0.0.18
+
   cd sirikata-${SIRIKATA_RELEASE}
   git checkout v0.0.18
+
   git checkout v${SIRIKATA_RELEASE}
 
   git submodule update --init --recursive
 
   git submodule update --init --recursive
 
   make update-dependencies
 
   make update-dependencies
Line 33: Line 38:
  
 
Now edit the changelog file to add a new section (you might do this step *before* the tag so it can be part of the "original" tgz). Make sure that the email address in the signature is identical to your Launchpad address:
 
Now edit the changelog file to add a new section (you might do this step *before* the tag so it can be part of the "original" tgz). Make sure that the email address in the signature is identical to your Launchpad address:
   dch --newversion 0.0.18-0ubuntu1
+
   dch --newversion ${SIRIKATA_RELEASE}-${SIRIKATA_MINOR}ubuntu${SIRIKATA_DEBIAN}
  
 
Now go back up a directory and create the "orig" tar file that debian requires (note _ instead of -, it matters):
 
Now go back up a directory and create the "orig" tar file that debian requires (note _ instead of -, it matters):
   tar -cvzf sirikata_0.0.18.orig.tar.gz sirikata-0.0.18
+
   tar -cvzf sirikata_${SIRIKATA_RELEASE}.orig.tar.gz sirikata-${SIRIKATA_RELEASE}
  
 
Go back into the directory and create the build:
 
Go back into the directory and create the build:
   cd sirikata-0.0.18
+
   cd sirikata-${SIRIKATA_RELEASE}
 
   debuild -S
 
   debuild -S
  
 
Go back up and run pbuilder to test if the build works:
 
Go back up and run pbuilder to test if the build works:
 
   cd ..
 
   cd ..
   sudo pbuilder --build sirikata_0.0.18-0ubuntu1.dsc
+
   sudo pbuilder --build sirikata_${SIRIKATA_RELEASE}-${SIRIKATA_MINOR}ubuntu${SIRIKATA_DEBIAN}.dsc
  
 
To upload to launchpad:
 
To upload to launchpad:
   dput ppa:sirikata/sirikata sirikata_0.0.18-0ubuntu1_source.changes
+
   dput ppa:sirikata/sirikata sirikata_${SIRIKATA_RELEASE}-${SIRIKATA_MINOR}ubuntu${SIRIKATA_DEBIAN}_source.changes

Revision as of 19:53, 30 January 2012

Prerequisites

 MIRRORSITE=http://us.archive.ubuntu.com/ubuntu/
 
 BUILDUSERID=12345
 BUILDUSERNAME=fakeuser
 
 DISTRIBUTION=oneiric
 COMPONENTS="main restricted universe multiverse"
 
 EXTRAPACKAGES="nano ssh"
 
 TIMEOUT_TIME=24h
  • After setting up /etc/pbuilderrc, run:
 sudo pbuilder --create

Creating Release

Create a directory to be used for packaging. The rest of the commands assume you are in that directory.

 mkdir packaging
 cd packaging

Next, decide what release you are making. The release version should be the upstream release version. The minor version is if the upstream release has a minor release. The debian version is for making new packaged versions for the same upstream release.

 export SIRIKATA_RELEASE="0.0.19"
 export SIRIKATA_MINOR="0"
 export SIRIKATA_DEBIAN="1"

Clone the repository, switch to the release tag, and check out submodules:

 git clone git://github.com/sirikata/sirikata.git sirikata-${SIRIKATA_RELEASE}
 cd sirikata-${SIRIKATA_RELEASE}
 git checkout v${SIRIKATA_RELEASE}
 git submodule update --init --recursive
 make update-dependencies
 cd dependencies
 ./install --download-only all
 cd ..

Now edit the changelog file to add a new section (you might do this step *before* the tag so it can be part of the "original" tgz). Make sure that the email address in the signature is identical to your Launchpad address:

 dch --newversion ${SIRIKATA_RELEASE}-${SIRIKATA_MINOR}ubuntu${SIRIKATA_DEBIAN}

Now go back up a directory and create the "orig" tar file that debian requires (note _ instead of -, it matters):

 tar -cvzf sirikata_${SIRIKATA_RELEASE}.orig.tar.gz sirikata-${SIRIKATA_RELEASE}

Go back into the directory and create the build:

 cd sirikata-${SIRIKATA_RELEASE}
 debuild -S

Go back up and run pbuilder to test if the build works:

 cd ..
 sudo pbuilder --build sirikata_${SIRIKATA_RELEASE}-${SIRIKATA_MINOR}ubuntu${SIRIKATA_DEBIAN}.dsc

To upload to launchpad:

 dput ppa:sirikata/sirikata sirikata_${SIRIKATA_RELEASE}-${SIRIKATA_MINOR}ubuntu${SIRIKATA_DEBIAN}_source.changes