These are the TODO items for the Haiku '''Package Management'''. === packagefs === * Implement caching for uncompressed package file heap chunks. * If necessary, add a caching mechanism to speed up mounting it. === Package Daemon === * Add user notification/interaction support for initial verification (on start-up) and manual package de-/installation. * Support packages being copied to the `packages` directory. Currently only moving works. === Build system === * Add hybrid support. === Package building === * Define packaging guidelines and create a tool to check packages against those. * Adjust build "recipes" for HaikuPorts packages as needed and build the packages. * Status: There's a package management [https://bitbucket.org/haikuports/haikuports/commits/all/tip/package-management branch of haikuports] with recipes for most packages already updated for building HPKGs. Here's an [wiki:PackageManagement/PackagesStatus overview]. === Package kit/manager === * Add distribution update support. * Implement a GUI package manager. === Boot loader === * Safe mode/recovery options: - Disable home and common. - Boot into old system state. === Package/package repository format === * Add a package attribute (string) that specifies a base package of a package. For most ported software, the files resulting from a built are usually separated into different packages (base, develop, debug-info, doc, etc.). All of these packages should be installed in the same installation location, since they have been built with the same installation prefix. In order to enforce such a constraint, one of the packages should be declared in the "requires" list of the others and they should additionally use the new attribute to identify it as the base package. * Add support for repository keys (public/private) and package signing/check sums, so that it is possible to verify that data retrieved from a repository have not been tempered with. === Miscellaneous === * Modify Expander to use a directory instead of the `expander.rules` file. This way a package (like xz-utils or p7zip) can contribute a single file with the rules for its tools. Ticket: #8494 * Add MIME directory watching to registrar, so it can update the MIME DB caches when packages are de-/activated. * Get rid of post_install scripts. Do that in the build system. * Get rid of UserBootscript. Start the scripts in "~/config/settings/boot/launch" from Bootscript instead. * Update Installer.