
------------------------------------------------------

 README.source - for Debian/Ubuntu modemmanager
 Author: Mathieu Trudel-Lapierre <mathieu-tl@ubuntu.com>

------------------------------------------------------

Content:

  I. Packaging overview
  II. Upstream (orig.tar.gz)
  III. Efficient Upstream orig.tar.gz production
  IV. Patching

------

I. Packaging overview

  + Obtaining latest packaging:
    bzr branch lp:~modemmanager/modemmanager/ubuntu

  + this gives you a debian/ only bzr branch

  + the suggested way to build is using bzr-builddeb; for that
    1. put the orig.tar.gz matching your debian/changelog in --orig-dir
       of bzr-builddeb (default: ..)
    2. run: bzr bd --dont-purge
    3. this gives you a build tree and the results in --build-dir
       and --result-dir

  + if all you want to do is check the current package with full source, run:
        ./debian/rules get-current-source
        bzr bd-do


II. Upstream (orig.tar.gz)

The package provides means to easily grab the _current_ and the latest
upstream snapshot of ModemManager.

./debian/rules gets the pristine upstream snapshot for you then packs
things up in a tarball orig.tar.gz.

The nested tarball is packed using _gz_.

Examples on how to get orig.tar.gz for snapshots:

  + get latest upstream snapshot:
    ./debian/rules get-orig-source

  + get current upstream snapshot (by changelog):
    ./debian/rules get-current-source


III. Efficient Upstream orig.tar.gz production

The packaging provides a feature to speed up the orig.tar.gz production by
keeping a local mirror of the NetworkManager checkouts; this reduces the
network overhead considerably and allows you to regularly create tarballs
rather quickly. To do that, append LOCAL_BRANCH=/local/MM/checkout
to your debian/rules invocation, e.g.

  + produce latest upstream snapshot:
    ./debian/rules get-orig-source LOCAL_BRANCH=~/ModemManager/

  + produce current upstream snapshot (by changelog):
    ./debian/rules get-current-source LOCAL_BRANCH=~/ModemManager/


V. Patching

We use quilt for the sake of efficiency to code and update patches.

if you want to create a patch or write a patch, you can quickly get
ready by first getting the orig.tar.gz, then using bzr-builddeb like
so:

 bzr bd-do

Make sure your QUILT_PATCHES is set appropriately:

 QUILT_PATCHES=debian/patches

and start working on quilt patches as usual, e.g.

 quilt push -a
 quilt applied
 quilt pop
 quilt refresh
 ...


