1 This file is used to keep track of packaging choices, known issues and TO-DOs.
3 ==================================================
4 1- HOW THE SOURCE PACKAGE IS HANDLED USING SVN/GIT
5 ==================================================
7 The work on this package takes place on the alioth git repository.
8 It requires an alioth account with grant to the collab-maint group.
10 Cloning the repository:
12 $ git clone <my-alioth-login>@alioth.debian.org:/git/collab-maint/navit.git
14 The repository has 3 remote branches:
19 HEAD is binded to master.
20 master fetched localy by the clone:
25 A daily cronjob managed by bzed syncs origin/upstream-svn with upstream's SVN
26 repository (<https://navit.svn.sourceforge.net/svnroot/navit/trunk/navit>).
28 A packaging cycle starts by merging origin/upstream-svn with upstream. It
29 requires having checked out origin/upstream localy (need to be done once):
31 $ git checkout -b upstream origin/upstream
33 Then we can do the merge:
35 $ git merge origin/upstream-svn
37 It can leads to conflicts since some parts of pristine upstream tree have
38 been removed in our upstream branch. These removed parts are listed below:
40 - unused android port.
42 - ttf-liberation is in Debian
43 * navit/map/poi_geodownload/libmdb/*:
44 - libmbdtools is available in Debian, no need to duplicate the code
45 * navit/support/glib/*:
46 * navit/support/espeak/*:
47 - embedded libespeak1; not used.
48 * navit/support/ezxml/*:
49 - embedded glib; not used.
50 * navit/support/libc/*:
51 - setenv, getenv. No copyright statement; not used.
52 * navit/support/libpng
53 - embedded libpng; not used.
54 * navit/support/zlib/*:
55 - embedded zlib; not used.
56 * navit/support/wordexp/*:
58 * navit/support/Makefile.am
63 * navit/support/win32/*:
65 * navit/graphics/win32/*:
67 When the merge is completed and committed we then switch to the master branch
73 Then we can work on the packaging, still in the master branch.
75 See below how to patch upstream source code.
77 The package is built using git-buildpackage. See
78 <http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.html>
80 To build using cowbuilder consider using Russ Allberry's git-pbuilder
81 <http://www.eyrie.org/~eagle/software/scripts/git-pbuilder.html>:
83 $ DIST=sid git-buildpackage --git-builder=/usr/bin/git-pbuilder
85 Warning: when modifying upstream branch (such as removing parts) you'll need
86 to rm .orig.tar.gz before building the package again.
88 ====================================
89 2- HOW TO PATCH UPSTREAM SOURCE CODE
90 ====================================
92 This package uses quilt to manage all modifications to the upstream
93 source. Changes are stored in the source package as diffs in
94 debian/patches and applied during the build.
96 To configure quilt to use debian/patches instead of patches, you want
97 either to export QUILT_PATCHES=debian/patches in your environment
98 or use this snippet in your ~/.quiltrc:
100 for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do
101 if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then
102 export QUILT_PATCHES=debian/patches
106 To get the fully patched source after unpacking the source package, cd to
107 the root level of the source package and run:
111 The last patch listed in debian/patches/series will become the current
114 To add a new set of changes, first run quilt push -a, and then run:
118 where <patch> is a descriptive name for the patch, used as the filename in
119 debian/patches. Then, for every file that will be modified by this patch,
124 before editing those files. You must tell quilt with quilt add what files
125 will be part of the patch before making changes or quilt will not work
126 properly. After editing the files, run:
130 to save the results as a patch.
132 Alternately, if you already have an external patch and you just want to
133 add it to the build system, run quilt push -a and then:
135 quilt import -P <patch> /path/to/patch
138 (add -p 0 to quilt import if needed). <patch> as above is the filename to
139 use in debian/patches. The last quilt push -a will apply the patch to
140 make sure it works properly.
142 To remove an existing patch from the list of patches that will be applied,
147 You may need to run quilt pop -a to unapply patches first before running
155 * Have gypsy packaged into debian?
157 * Solve missing copyright statement issues
159 * --enable-graphics-gd: currently broken + unclear status
160 * --enable-graphics-sdl: currently broken
167 * Tons of gcc warnings
169 * Missing copyright statements
170 + navit/font/freetype/*