Changes from Version 1 of dev/NewRepoDataIdeas

Show
Ignore:
Author:
skvidal (IP: 98.122.161.79)
Timestamp:
06/07/10 20:17:41 (8 years ago)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • dev/NewRepoDataIdeas

    v0 v1  
     1= Ideas for New Repodata = 
     2 
     3== filelists - break them up == 
     4filelists broken out by paths so you don't have to download a huge glop of the complete filelists just to find out who owns /foo/baz 
     5 
     6possible ways to break up the files - info from rawhide as of june 2010: 
     7 
     82.4 million files total in pkgs in rawhide 
     92.3 million of those are in /usr 
     101.8 million of those are /usr/share 
     11  Top 3 dirs by file count under /usr/share: 
     12   533046 /usr/share/doc 
     13   120555 /usr/share/javadoc 
     14   105591 /usr/share/icons 
     1545 file-requires requiring something in /usr/share 
     16none of those file-requires are in the top 3 /usr/share dirs 
     17    - most of them are fonts. 
     18 
     19so in general we're downloading 75% more files for a filereq check than 
     20we'll EVER need. 
     21 
     22So if we break the files up by 'top level dir' + 3 layers deep for /usr/*/*/ 
     23then we'll have reduced the number unnecessary file-list downloads by about 75% 
     24 
     25 
     26== complete repodata per-pkg == 
     27 - in a file or a directory of files so I can grab all of a certain kind of metadata for ONLY one pkg 
     28 
     29== translations == 
     30- provide a way  to break out summary/description into a structure that supports translations. 
     31 
     32 
     33== potential structure == 
     34And some more specific ideas: 
     35 
     36repodata/ 
     37        repomd.xml <-- same as before - the index for everything else - but making sure not to use any of the existing data type attributes 
     38 
     39        packagelist.sqlite  - contains  name, arch, epoch-ver-rel, checksum, summary, description, url, license, size (package, installed), location (baseurl, mirrorlist(optional), href), group, header byte-ranges?(maybe), has_conflicts?, has_obsoletes?, is_signed?, key_fingerprint?, location-style-path to per-pkg metadata and checksum. 
     40 
     41        provides.sqlite <-- provides: providename + flags + evr 
     42        requires.sqlite <-- requires: requiresname + flags + evr + prereq 
     43        conflicts_obsoletes.sqlite <-- conflicts and obsoletes (name, flags, evr) 
     44        files_by_path.xml <-- index file to point to the files-by-path 
     45              path_it_holds + filename + checksum, per file 
     46 
     47         
     48                 
     49