This file is used to keep track of packaging choices, known issues and TO-DOs.

==================================================
1- HOW THE SOURCE PACKAGE IS HANDLED USING SVN/GIT
==================================================

The work on this package takes place on the alioth git repository.
It requires an alioth account with grant to the collab-maint group.

Cloning the repository:

 $ git clone <my-alioth-login>@alioth.debian.org:/git/collab-maint/navit.git

The repository has 2 remote branches:
* origin/upstream
* origin/master
plus old deprecated upstream SVN branch:
* origin/upstream-svn

HEAD is binded to master. 

Upstream's repository is on Github:
https://github.com/navit-gps/navit.git

To merge upstream changes:
1- Create upstream-github remote:
   $ git remote add upstream-github https://github.com/navit-gps/navit.git
2- Fetch upstream-github/master
   $ git fetch upstream-github master
3- Merge into branch upstream:
   $ git checkout upstream
   $ git merge upstream-github/master

It can leads to conflicts since some parts of pristine upstream tree have
been removed in our upstream branch. These removed parts are listed below:

* android stuff:
  navit/android*
  contrib/android*
  navit/speech/android

  Note: the following files are kept in the source tree because they are
  requested by the gettext step:
    navit/android/res/values/strings.xml
    navit/android/src/org/navitproject/navit/NavitAddressSearchActivity.java
    navit/android/src/org/navitproject/navit/NavitAndroidOverlay.java
    navit/android/src/org/navitproject/navit/NavitDialogs.java
    navit/android/src/org/navitproject/navit/NavitDownloadSelectMapActivity.java
    navit/android/src/org/navitproject/navit/NavitGraphics.java
    navit/android/src/org/navitproject/navit/Navit.java
    navit/android/src/org/navitproject/navit/NavitMapDownloader.java

* iphone stuff:
  navit/iphone
  navit/vehicle/iphone
  navit/graphics/cocoa
  navit/speech/iphone

* windows stuff
  navit/binding/win32
  navit/support/win32
  navit/gui/win32
  navit/graphics/win32

* useless embedded stuff
  navit/fonts
  navit/support/gettext_intl
  navit/support/espeak
  navit/support/ezxml
  navit/support/glib
  navit/support/libc
  navit/support/libpng
  navit/support/wordexp
  navit/support/xgetopt
  navit/support/zlib

* non DFSG compatible icons (cc-by-sa 2.5)
  navit/xpm/repair_service.svg
  navit/xpm/resort.svg
  navit/xpm/shop_grocery.svg

* other unused tools and scripts without copyright statement
  navit/tools
  navit/script

When the merge is completed and committed we then switch to the master branch
to merge upstream:

  $ git checkout master
  $ git merge upstream

Then we can work on the packaging, still in the master branch.

See below how to patch upstream source code.

The package is built using git-buildpackage. See
<http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.html>

To build using cowbuilder consider using Russ Allberry's git-pbuilder
<http://www.eyrie.org/~eagle/software/scripts/git-pbuilder.html>:

$ DIST=sid git-buildpackage --git-builder=/usr/bin/git-pbuilder

Warning: when modifying upstream branch (such as removing parts) you'll need
to rm .orig.tar.gz before building the package again.

========
2- TO-DO
========

* Have gypsy packaged into debian?

* Solve missing copyright statement issues

* -Dgraphics/gd=FALSE: currently broken
* -Dgraphics/sdl=FALSE: seems functional since release 0.2.0, but keeping
  disabled for now until I'm sure it's mature enough
* -Dgraphics/opengl=FALSE: idem sdl
* -Dgraphics/qt_qpainter=FALSE: unmaintained and barely usable
* -Dgui/qml=FALSE: idem qt 

* Tons of gcc warnings
