Installation and upgrade procedures for a single package or a group of packages are very similar, so we grouped both of them here. Package installation and upgrade appear as the simplest operations, but they are really not. They consist in some different steps. Given one or more packages, the package manager checks their availability, then retrieves them from a specified source, unpacks them, and, in the end, sets them up. If necessary, it asks the user for some configuration options, that are otherwise set to default values.
APT, RPM and Portage are able to manage dependencies at installation time. PackageFS creates corresponding directories entries in subtrees in order to provide access to them from within packages location (see section 5.1.2).
If a package is already installed into the system, the current PackageFS implementation decides whether to reinstall it or not basing on the underlying package manager configuration.