Quick and dirty guide to PPA (and meta-package)
This guide aims to get a developer going on how to quickly add a PPA's to Ubuntu's Launchpad.
How "web-mapping" end up in my PPA on launchpad APT sources : deb http://ppa.launchpad.net/mixo-mixo/ubuntu intrepid main deb-src http://ppa.launchpad.net/mixo-mixo/ubuntu intrepid main
Pre-requisite
- You need to have you GPG key setup
- You need to have the key uploaded to Ubuntu key server
- Configure "dput" to point to PPA on Launchpad
- Sign the Ubuntu code of conducted
- Upload your Gpg key to the key server
In Ubuntu speak, you need to become an Ubuntero.
Building the meta-package and creating the PPP
- The steps taken to creating a meta-package
- mkdir -p /home/mshiburi/prj/scubuntu/packages/web-mapping-0.1
- cd /home/mshiburi/prj/scubuntu/packages
- tar -cvzf web-mapping-0.1.tar.gz web-mapping-0.1
- cd web-mapping-0.1
dh_make -c gpl -s -e myname@mydomain.com -f ../web-mapping-0.1.tar.gz
- cd debian
- rm *.ex *.EX
- The "rules" file should be changed to remove "useful" commands Hashed out the following lines
- $(MAKE) clean
- $(MAKE) DESTDIR=$(CURDIR)/debian/web-mapping install
- Edit "changes" file using "dch". "dch-i" increments the version in "changes" file. "dch" is part of the package "devscripts", please install it.
- Build the package (this includes signing)
- cd /home/mshiburi/prj/scubuntu/packages/web-mapping-0.1
- debuild -S -sa
- Upload the package to "my-ppa" defined in "~.dput.cf"
- cd /home/mshiburi/prj/scubuntu/packages
- dput my-ppa web-mapping_0.1-1ubuntu2_source.change
Troubleshooting: messages/error from Launchpad.
This section handles some error messages that may be generated whilst trying to upload packages to you PPA. These messages are sent to you registered Launchpad email.
* Rejected: Unable to find distroseries: unstable Further error processing not possible because of a critical previous error.
- This means the distribution in the "changelog" file is not known. Usually this happens due the "unsupported" in the "changelog" being entered as the default distribution by "dh_make".
+++++++++++++++++++
* Rejected: Unable to find web-mapping_0.1.orig.tar.gz in upload or distribution. Files specified in DSC are broken or missing, skipping package unpack verification. Upload rejected because it contains binary packages. Ensure you are using debuild -S, or an equivalent command, to generate only the source package before re-uploading. Not permitted to upload to the RELEASE pocket in a series in the 'SUPPORTED' state.
- Same as the message below.
++++++++++++++++++
* Rejected: Unable to find web-mapping_0.1.orig.tar.gz in upload or distribution. Files specified in DSC are broken or missing, skipping package unpack verification. Signer has no upload rights at all to this distribution. Not permitted to upload to the RELEASE pocket in a series in the 'SUPPORTED' state.
- These are actually two messages. The first part about tar.gz. The source was not uploaded, as it was not included is the changes files. Please use "debuild -S -sa" to create a signed source file. The second part, is due to the distribution in the "chanagelog" being old. Look at the next message for more details.
++++++++++++++++++
* Rejected: Signer has no upload rights at all to this distribution. Not permitted to upload to the RELEASE pocket in a series in the 'SUPPORTED' state.
- This happens when your source to an old version of Ubuntu. For instance, the current version of Ubuntu is Hardy, if you try to upload to Feisty you will get this message. Resolution, upload your sources to a current version or the development version. The version is stated in the "changelog" file
++++++++++++++++++
* Rejected:MD5 sum of uploaded file does not match existing file in archive. Files specified in DSC are broken or missing, skipping package unpack verification.
- This happens when you make changes to your local source and do not move up one version. The problem is that the new source will have the same version but different MD5 sum. Resolution is to move up on version.
++++++++++++++++++
