Building a Debian package

From Apertis
Jump to: navigation, search
This page is a work in progress. Please add to it as you see fit.


Contents

Create the development environment

Set up a VirtualBox virtual machine and operate from it.

Check out the package

This example makes a small packaging change to the bluez package in the apertis:15.09:target project. This can all be done on a desktop machine — just make sure to download an ospack image with the appropriate architecture (probably amd64).

Branch the package in OBS:

osc branch apertis:15.09:target/bluez
osc co home:$username:branches:apertis:15.09:target/bluez

Apply changes

Unpack the sources, make your changes and rebuild the source package

cd /path/to/home\:$username\:branches\:apertis\:15.09\:target/bluez
dpkg-source -x bluez_4.101-0ubuntu25co5.dsc
sudo apt-get build-dep bluez
cd bluez-4.101
# Make your packaging changes; remember to update debian/changelog
dpkg-buildpackage -S -us -uc
echo $?  # should be 0

Commit the changes

Then, once the source package has been built successfully in the container, execute the following commands from your normal development machine to push the changes to OBS to be built:

cd home\:$username\:branches\:apertis\:15.09\:target/bluez
osc addremove  # add new files, remove old ones
osc st  # check status
osc ci  # commit changes

or if you have osc-plugins-dput installed (recommended),

 osc dput home:$username:branches:apertis:15.09:target bluez_4.101-0ubuntu25co6_source.changes

Submit for review

In order to get your changes reviewed, generate a diff for Phabricator using:

# Download old .dsc file from OBS
debdiff ~/Downloads/bluez_4.101-0ubuntu25co5.dsc ./bluez_4.101-0ubuntu25co6.dsc > ~/Downloads/bluez.diff

Further reading

Personal tools
Namespaces

Variants
Actions
Navigation
Tools