Model information about distribution packages as separate feeds
commit6bee433ce77c7f26faab709a223d77f7e6d1e40e
authorThomas Leonard <talex5@gmail.com>
Thu, 17 Jun 2010 20:34:24 +0000 (17 21:34 +0100)
committerThomas Leonard <talex5@gmail.com>
Sun, 20 Jun 2010 19:11:16 +0000 (20 20:11 +0100)
treec7699c653dbefa175c8c27cbb24083eecd4514bb
parent459f532d64de1671cc3e13a88687c3c9f1e1cdf3
Model information about distribution packages as separate feeds

Before, reading in a feed containing a <package-implementation> element
would expand this to a list of packages provided by the distribution's
package manager (installed or not) and include them in the feeds
'implementations'.

Now, feed with such an element has a corresponding "distribution feed", which
is the feed's URL prefixed with "distribuion:". This feed contains the
distribution packages.

Initially, it contains only installed packages. After updating it, it may
also contain candidate (uninstalled) version.

This has two advantages:

- The loaded representation of feed no longer depends on the host
  distribution, which is cleaner.
- Fetching candidates can be done asynchronously.
tests/Native.xml [new file with mode: 0644]
tests/testdistro.py
tests/testdownload.py
tests/testreader.py
tests/testsat.py
zeroinstall/injector/distro.py
zeroinstall/injector/fetch.py
zeroinstall/injector/iface_cache.py
zeroinstall/injector/model.py
zeroinstall/injector/reader.py
zeroinstall/injector/solver.py