On Sun, Dec 17, 2017, at 07:21 CST, Michał Górny <mgo...@gentoo.org> wrote:
> Hello, everyone. > > It's my pleasure to announce that with a majority vote the QA team has > accepted a new policy. The accepted wording is: > > Total size of 'files' subdirectory of a package should not be larger > than 32 KiB. If the package needs more auxiliary files, they should > be put into SRC_URI e.g. via tarballs. > Rationale > ========= > > At this moment, syncing the repository implies fetching 'files' > directories of all packages, even though the relevant files are used > only when a ebuild referencing them is being built. This means that our > users fetch many files that they will never use -- either because they > don't need the package in question, or because the file belongs > to an old version. > > For example, 'du -h app-shells/bash/files' states 232K while only three > of those files are used by the newest version, and everything else are > patches for old versions. And in case of bash, we're keeping those > versions pretty much 'forever'. > > The new policy mostly targets large patchsets and files relevant to old > package versions. By removing them from the repository, we're hoping to > reduce the growth of its size a bit and reduce the amount of data > transferred via rsync. Assuming that only the true byte size of files are relevant and summing up via du -sb */*/files | awk '{sum+=$1} END {print sum}' Currently gives roughly 29MB of data in the files directory. (For comparison, the complete portage tree is roughly 219MB.) Removing all "32kb offenders" results in 26MB for all files directories. More aggressively, removing all "20kb offenders" results in 22MB. I hardly doubt that these (at most) 10MB of saving we're talking about are really relevant for rsync or git (with clone-depths 1). I haven't estimated the growth of the repository, though. Best, Matthias