''Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.'' * '''Launchpad Entry''': UbuntuSpec:checklib-for-ubuntu * '''Packages affected''': == Summary == Save lots of rebuilds by only depending on libraries a package really uses, and automatically detect and report invalid dependencies. == Rationale == Every time a library SONAME changes, all binaries and libraries depending on it have to be rebuilt. In some cases this can cause lots of unneeded rebuilds, because some binaries or libraries have NEEDED entries for stuff they don't use directly. For example, if a binary depends on library A, and library A depends on library B, it is not necessary that the binary also depends on library B. == Use Cases == * The libfreetype SONAME changes, and 583 packages would have to be rebuilt (http://lists.debian.org/debian-devel-announce/2005/11/msg00016.html) == Scope == This specification finds a way to utilise checklib to remove redundancies and fix dependencies of binary packages in Ubuntu. == Design == There is already a Debian tool (http://rerun.lefant.net/checklib/) that did this at some point for Debian, but the person responsible for it has stopped working on it. Running this tool for Ubuntu and fixing the problems would make transitions easier, and would also fix some missing dependencies. == Implementation == * Update the Debian tool to understand architectures and components * Find a location with a local mirror that runs a cron job every X days * Send a mail to ubuntu-devel-announce, describing the tool and the process == Outstanding Issues == * The tool could also be hooked into launchpad, if there is a part that already does package unpacking and processing == BoF agenda and discussion == ---- CategorySpec