DESIGN 1.12 KB
Newer Older
1 2 3 4 5 6 7 8
udpkg is a much-trimmed down version of the Debian package manager. The
goal is to implement a small subset of dpkg's functionality sufficient
to bootstrap a newly installed system.

Assumptions:
* udpkg needs to provide support for the following operation modes of dpkg:
	-i: install package(s)
	-r: remove package(s)
Joey Hess's avatar
Joey Hess committed
9 10
	--unpack: unpack packages
	--configure: configure packages
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

* Full dependency checking is not supported. In particular, udpkg does not
  support:
  - Pre-depends
  - Versioned depends
  - Alternate depends (udpkg forces the first one to be used)
  - Versioned provides (not currently in policy)
  - Conflicts and replaces
  
  Simple dependencies on either a real package or a virtual package is
  supported.

* udpkg must be able to recognize and update the status file based on 
  packages being installed or removed

* dependency checking can be turned off completely at compile time to 
  save space

* udpkg depends on the availability of external tools; in particular, ar,
  tar, zcat and the existence of /bin/sh.
  (TODO: optionally link in busybox versions of these routines instead
   of running them from the shell)