Home

dpkg enhancements that could be useful

The basic idea here is to narrow the gap between dpkg and the minimal iPKG system used by some ARM-PDA Linux distributions. The guiding principles are space and processor (battery) efficiency.
Exclude arbitrary filesets from being unpacked
This is already planned for a future dpkg release. Ideally, it would be possible for binary packages themselves to specify some information about what can be safely excluded.
Strip down status file
Exclusion of Description, Priority, Section, and possibly others, would save a significant amount of space in the package database. Adam Heath:
There are plans to do this. If you look at status, there are empty package paragraphs. dselect uses these, and they polute the dpkg runtime memory. We have plans to remove these entries.
Optionally disable or compress available-old and status-old backups
Disk space savings
Optionally unpack files in-place
Dangerous, but would provide significant space savings for upgrades. busybox dpkg does this, and can be used if necessary. Might it be better to remove (but not purge) and then install the new version? Doing this frequently could provoke lurking bugs in maintainer scripts.
Exclusion of certain control files (?)
md5sums and shlibs could be excluded in most environments. templates also tends to be quite large, but I don't know what can be done about that. Exclude certain translations? It might be more effective to use a filesystem which can effectively store many small files, as most of the cost seems to be from large block sizes. Probably done most effectively with a separate tool.
Automated slicing of packages across different filesystems
For example, allow the user to say "for package X, place hierarchy Y at location Z instead, and symlink Y -> Z". This would allow larger packages, which might not even be able to be unpacked in internal storage, to gracefully flow onto removable media. This probably belongs in a separate tool.

Matt Zimmerman
Last modified: Sun Aug 4 00:10:33 EDT 2002