Dpkg Roadmap
Before starting work on any of this and to avoid duplication, please get in contact with us on the mailing list, as someone might have already started, or there might be initial code around in the personal git repositories or local trees.
The 1.17.x “more merge back” development series
Optimization work.
- Faster and smaller!
Deprecate lzma write support.
- Package building infrastructure fixes:
New dpkg shared library:
- Library API cleanup and general code refactoring.
- Provide pluggable allocators to avoid leaking through nfmalloc (code in pu/new-mem-pool).
- No printing from the library for non-fatal errors, will have to change to return error codes.
- Try to make as much as possible reentrant.
Refactor .deb generation.
- New libdpkg0 and libdpkg0-dbg packages (code in pu/libdpkg).
- Merge back apt's apt-deb/deb/ and apt-inst/deb/:
Provide a public interface to access .deb files (Depends: #libdpkg).
Switch apt to use libdpkg (Depends: #refactor-deb).
- Merge back debconf support:
Merge back apt-exttracttemplates (Depends: #refactor-deb).
Finish to draft the spec for the debconf integration (?DpkgDebconfIntegration):
Implement --reconfigure??
dpkg --reconfigure <pkg> <pkg>
<pkg>.postinst reconfigure <ver>
- Fail if pkg is not in the configured state.
- Extend conffile support, merge back ucf:
Store conffiles at install time (?Teams/Dpkg/Proposals/ConffileDatabase).
- Support registering configuration files.
- Add a new dpkg-conffile to handle conffiles (view, diff, rm, restore, etc).
- Merge back debsums:
Generate checksums at install time. 155676
- Generate checksums at build time?
- Store metadata from .deb at install time.
- Add a new dpkg-foo to verify, restore, etc metadata.
- Merge back localepurge:
- After support for --path-exclude/--path-include, localepurge can be considered obsolete or just a way to provide config files.
- Merge back dlocate:
Speed up file searches «dpkg-query -S» (Depends: #optimize).
- Merge back functionality from dpkg-sig, debsigs-verify, etc:
- Draft a new spec for the signature support inside .deb, discussion started on the mailing list.
Write a dpkg-sig (or similarly named program) in C (Depends: #refactor-deb).
The archive should allow signed packages. Tracked in 340306
- Merge back dpkg-cross:
Need a spec for cross multiarch support, draft at https://wiki.ubuntu.com/MultiarchCross.
Implement cross multiarch support (if needed).
Translation deb support:
Clarify the draft (had some discussions about that with the i18n team at DebConf).
Depending on the discussions might need either #refactor-deb or filters (implemented), or other stuff.
- Clean up dpkg namespace:
- Eventual move of the method directories to /usr/lib/dselect/.
- Better integration with front-ends:
- Discuss and decide about dpkg knowledge of repository information.
- Either push out the available file handling to the front-ends, or take full responsibility of repository package availability.
- Discuss the supposed need of front-ends to use --force options, when they should use selections instead as transactions.
- A way for front-ends to store additional information for each package.
- Check if other front-end parts (aptitude, synaptic, wajig, ept, ...) should be pushed down the stack.
- Restore binary package constrained filename field (old MSDOS-Filename) support.
- Other stuff, would need to ask front-end developers.
- Discuss and decide about dpkg knowledge of repository information.
- Move back relevant documentation from policy into dpkg.
- Russ has mentioned this at some points, should discuss with the policy team.