valentina/dist/Launchpad_README

98 lines
3.9 KiB
Plaintext

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