'''Draft - Needs testing''' == Copy Existing Package to new Release == E.g. copy current versions from Oneiric to Precise [https://gist.github.com/2569800 script from jef with hints] * This requires you have a Launchpad account, and a valid GPG key registered with Launchpad. * Use the distro you want to release for to test this (and test building with debuild before upload) * Tools you'll need + any -dev libraries for a given package {{{ sudo apt-get install build-essential devscripts debhelper }}} * Download the orig.tar.gz * Download the debian.tar.gz * Download the diff.gz * Download the dsc * Unpack the source {{{ dpkg-source -x nameofpackage.dsc }}} * Update the changelog {{{ dch -p -D precise -l precise "launchpad build for precise" or dch -i -D precise -l precise "launchpad build for precise" (not sure when to use -p vs -i) }}} * Check what dch wrote {{{ head debian/changelog }}} * build & sign the package {{{ debuild -kKeyName -S If the source is in the ppa/launchpad already add -sd debuild -kKeyName -S -sd dpkg-buildpackage can also be used, but then you should run dput with -l to run lintian before upload }}} * push the package to launchpad {{{ debrelease --dput -S ppa:your-id/ppaname }}} ---- == '''Create package for release''' == * Clone the source you need {{{ git clone http://gitexample.com/example.git }}} * Download the original source and rename it {{{ example-1.6.0.tar.gz to example_1.6.0.orig.tar.gz }}} * Update Changelog {{{ dch -i -D precise "launchpad build for precise" }}} * Open debian/changelog and make sure the version and the log are OK * Verify debian/control to make sure everything is up-to-date * Build the package {{{ debuild -S -sd or debuild -S -sa // if you really need to upload the source too }}} * Test the build with pbuilder {{{ pbuilder-dist precise amd64 build example_1.6.0-1~precise1.dsc }}} * ''You can also test the package with pbuilder login and install it directly from the .deb, but you will have to find a way to get the .deb on your pbuilder machine'' {{{ python -c "import SimpleHTTPServer; SimpleHTTPServer.test();" // This create a temporary webserver in the current directory // so you can access the file from another machine pbuilder-dist precise amd64 login dpkg -i package.deb // if there are dependencies missing apt-get install -f }}} * Use dput to upload the package to launchpad {{{ dput ppa:ubuntugis/ubuntugis-unstable qgis_1.7.4-2~precise1_source.changes }}} * You can also create the file ~/.dput.cf and write : {{{ [ubuntugis-unstable] fqdn = ppa.launchpad.net method = ftp incoming = ~ubuntugis/ubuntugis-unstable/ubuntu/ login = jlarouche // change that! allow_unsigned_uploads = 0 }}} * You can now use {{{ dput ubuntugis-unstable qgis_1.7.4-2~precise1_source.changes }}}