TracNav
Translation
- New Developer
General Overview
Application Development...
- Development Cycle
Applications
Global Menu (graphical interface)...
- MadShelf (bookshelf)
- MadAudio (audio player)
- CoolReader 3 (ebook reader)
- FBReader (ebook reader)
- MadEye (image viewer)
- LocoPDF (PDF viewer)
Policies
Guides
Specifications
Reference docs
- Google Summer of Code
- Quips
- IPlinux Development
- Hardware
- Vendors
Package release checklist
Things to check before releasing package (in progress, to be updated and extended).
All packages
- Check summary and description of package. Replace all FIXME and TODO with meaningful descritpion.
- Check for unused stuff in debian/ subdirectory and cleanup.
- Check for obsolete debhelper constructs and upgrade.
- Review debian/watch or write new one if package has upstream.
- Run uscan --report to check for newer upstream versions.
- Check for CFLAGS=-g -O2 in debian/rules and remove it. dpkg-buildpackage sets up -g -Os by default, so debian/rules should not override existing flags, but append to CFLAGS instead.
- Add -dbg package if it does not exist yet and there are binaries in package.
Packages with our (OI) code
- Check that code is following our coding style and reformat if it is not.
- Check that all source files contain proper copyright blurb
- Check completeness of AUTHORS file
- Check autogen.sh and remove crap out of it (e.g. libtoolize for applications)
- Check package version and make it native (without dash in version) if it was not
Applications
- Merge translations
- Build and run application under valgrind:
- --tool=memcheck in order to find wrong memory access and memory leaks
- --tool=massif in order to figure out how much heap app eats and whether memory consumption can be reduced
Libraries
- Check that API did not change since last release
- Bump minor part of soname if it did in backward-compatible way
- Bump major part of soname and rename library package if backward compatibility was broken
- Check that your library does not link to the unneeded libraries (readelf -a | grep NEEDED)
- Check that your library links to all libraries it needs to run (readelf -a | grep NEEDED)

