= Using edos-debcheck = == Checking that Emdebian packages are installable == [[http://packages.debian.org/unstable/devel/edos-debcheck|edos-debcheck]] checks the dependency information of a {{{Packages}}} file from a Debian repository, e.g. the [[http://www.emdebian.org/packages/pool/main/|Emdebian target repository]]. With an incomplete repository, {{{edos-debcheck}}} can show where new packages need to be built to fill out the repository. Notes: === Where to start === {{{edos-debcheck}}} lists failures for the entire dependency tree so a package will fail if any dependency cannot be installed. The missing package can be at any level of the dependency tree. Check for '''NOT AVAILABLE''' reports first. {{{ $ apt-cross -u -m http://www.emdebian.org/emdebian/ $ cp ~/.dpkg-cross/unstable/lists/www.emdebian.org_emdebian_dists_unstable_main_binary-arm_Packages Packages $ edos-debcheck -explain -failures < Packages | grep AVAILABLE mktemp (= 1.5-2em1) depends on libgcc1 (>= 1:4.1.1-12) {NOT AVAILABLE} }}} === Checking one package or all === With an incomplete repository, the output of '''edos-debcheck''' can be extensive and repetitive. To limit the output, specify just the package(s) of interest. Extend the list until you reach the lowest level of the dependency tree for a particular failure. === Missing package === Missing packages at a higher level of a dependency tree will obscure missing dependencies lower down in the tree - avoid letting this give the impression that only one dependency is actually missing. Try adding the description for that missing dependency to a copy of the Packages file and re-running {{{edos-debcheck}}}. e.g. for libgcc1: {{{ apt-cache show libgcc1 >> Packages edos-debcheck -explain -failures < Packages mktemp (= 1.5-2em1) depends on libgcc1 (>= 1:4.1.1-12) {libgcc1 (= 1:4.1.1-21), libgcc1 (= 1:4.1.2-5), libgcc1 (= 1:4.2-20070405-1)} libgcc1 (= 1:4.2-20070405-1) depends on gcc-4.2-base (= 4.2-20070405-1) {NOT AVAILABLE} }}} As above, you are likely to need to add example Package content for the dependencies of the missing package as well. === Modifying the dependency tree === Experiment with different dependency information by editing the Packages file directly, e.g. to omit or modify dependencies without having to rebuild the packages themselves. e.g. try removing {{{debian-archive-keyring}}} from the dependencies of {{{apt}}}. ---- CategoryEmdebian