On 08/06/2018 04:42 PM, Jeff Johnson wrote:
Whether dnf does what yum does misses the point:

Lazy downloading of file dependencies did not work then and does not work now.

Here's why:

The fundamental decision made by depsolvers is what packages are "newer" and 
need to be upgraded.

When _ANY_ commonly used package has a file dependency outside of the paths chosen to be 
delivered in primary.xml, then _ALL_ file dependencies need to be downloaded in order to 
find the package that contains the path so that the upgrade decision based on 
"newer" can be determined by the depsolver.
   [[snip]]

What about using pre-processed bloom filters to restrict downloading
to a smaller set of information that still covers the files and packages
that are relevant to each specific depsolve?  Hash each filename to a
bit position < 128, OR together the words for all files in a package.
16 bytes/pkg * 60,000 packages in Fedora is ~1MB.  Partition the
filelist.xml info into a couple hundred groups of a couple hundred packages 
each.
(Assignment of packages to groups can be improved using learning by experience.)
Download the relevant groups, or perform an online query of a database of
package ==> filelist.  It might be possible to reduce network traffic
by a factor 10: 5MB instead of 47MB.
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/WAMMTGEBFA4HJONXWEJP35BBTH2OIX2F/

Reply via email to