README (English) ################################################## Launchpad Package tools ################################################## This file contains explanation how to publish a package onto LaunchPad. Some string useful for local testing creation recipe. Here used technique when you have separate debian directory and merge it with source using recipe file. # This is standard command to work on DEB packaging: # # To install all packagers tools: # sudo apt-get install bzr-builder bzr dpatch pbuilder debootstrap devscripts debhelper build-essential # Init local working env - Create account on launchpad.org - Create Project - Import branch from git mirror - Create new recipe - Upload SSH public key onto account - Upload you GPG sign key - Run from command line: bzr launchpad-login yourlogin bzr whoami "Your Name <email@email.com>" - Create a file /.pbuilderrc with content (need for local testing creation recipe) ## Overrides /etc/pbuilderrc # Default distribution # Uncomment if you want different distribution system than you use now. #DISTRIBUTION=saucy COMPONENTS="main restricted universe multiverse" # Repositories MIRRORSITE=http://archive.ubuntu.com/ubuntu OTHERMIRROR="deb ${MIRRORSITE} ${DISTRIBUTION} ${COMPONENTS} | deb ${MIRRORSITE} ${DISTRIBUTION}-backports ${COMPONENTS} | deb ${MIRRORSITE} ${DISTRIBUTION}-security ${COMPONENTS} | deb ${MIRRORSITE} ${DISTRIBUTION}-updates ${COMPONENTS} | deb http://ppa.launchpad.net/ubuntu-sdk-team/ppa/ubuntu ${DISTRIBUTION} main" # Last PPA is example how to add additional PPA to your local build system. Useful when you want use packages that don't exist in standard repository. # For build results (in this directory you will find deb packages. Don't forget this path!) BUILDRESULT=${HOME}/pbuilder/result # Mount directories inside chroot environment BINDMOUNTS=${BUILDRESULT} - Make our pbuilder trust packages from our PPA For example you added PPA ubuntu-sdk-team, now you need add public key for using this PPA. First, we'll login to our pbuilder environment: sudo pbuilder --login --save-after-login Then, we'll give it the public key to our PPA, just like if we were adding it to our own keyring: apt-key adv --keyserver keyserver.ubuntu.com --recv-keys [YOUR PUBLIC KEY HERE] If all goes well, you can leave your pbuilder environment by typing: exit - Tell the pbuilder environment that it is going to act just like the Launchpad build farm Still in our terminal: sudo pbuilder create --debootstrapopts --variant=buildd - Update our environment with these new packages Still in our terminal, type: sudo pbuilder --update --override-config - Edit file ~/.bashrc ti add DEBFULLNAME="<Your name>" DEBEMAIL="<Your email address>" # Init package tools for launchpad - Create a Bazaar directory mkdir bzr - Create debian directory and upload it onto bzr branch ~dismine/valentina/debian cd bzr mkdir debian cd debian bzr init cp -pr valentina/debian bzr/debian bzr add debian bzr commit -m "Init" bzr push lp:~dismine/valentina/debian or download it from launchpad bazaar: cd bzr bzr branch lp:~dismine/valentina/debian - To update this debian directory, edit files into the bzr dir and run bzr commit -m "Description of change" bzr push lp:~dismine/valentina/debian - Create a file valentina.recipe with content cd bzr vi valentina.recipe # bzr-builder format 0.3 deb-version {debupstream}+{revno}+{revno:packaging} lp:valentina merge packaging lp:~dismine/valentina/debian Next command usefull for local testing creation recipe. - Run command cd bzr bzr dailydeb --allow-fallback-to-native valentina.recipe working-dir This will create a directory "working-dir" with valentina sources and will add sources from ~dismine/valentina/debian - Test package sources sudo pbuilder build <working-dir>/<project>_<version>.dsc Example: sudo pbuilder build working-dir/valentina_0.2.2.dsc