zypp-closure is a small helper tool making use of libzypp and the metadata of product repositories.

The idea is to generate a dependency closure for a package or list of packages based on repositories metadata.

E.g. think about having a list of package you need to have in your minimal VM. Make sure you have a complete list package without doing an initial test install but doing it on your own system just based on metadata.

zypp-closure will first run with a list of repositories to setup a solving environment for you, in the next step you can run a check of a single package or a list of packages.

 zypp-closure  -u http://download.opensuse.org/tumbleweed/repo/non-oss/    -u http://download.opensuse.org/tumbleweed/repo/oss/ 

 zypp-closure bash

There are some open challenges:

  • meta requirements can be fulfilled by more packages, in such a case the options typically triggering a different set of additional requirements (e.g requirement for SMTPD which could be fulfilled by sendmail and postfix)
  • if a meta requirement is already solved within your package list you just might want to with this and not follow the other options as well

In Hackweek 17 idea is extend zypp-closure by:

  • if a meta requirement can be addressed within the packages list, do not look for further packages providing the dependency
  • enable use of "blacklist" or setting single package "taboo" (either full blacklist file or use a character like "!" or "-" to mark unwanted packages
  • command line switch to enable/disable pulling recommends/suggests in
  • optional - command line switch for "interactive" mode asking which possible meta requirements to use interactively
    • can be solved also none-interactively by finding out about meta requirements and adding the chossen pack to the package list
  • add some documentation and examples

Comments

Similar Projects

This project is one of its kind!