* [gentoo-dev-announce] [QA] New policy: 'files' directory must not be larger than 32 KiB
@ 2017-12-17 13:21 Michał Górny
0 siblings, 0 replies; only message in thread
From: Michał Górny @ 2017-12-17 13:21 UTC (permalink / raw
To: gentoo-dev-announce; +Cc: gentoo-dev
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.
(the total size being computed as a sum of apparent file sizes)
The relevant policy vote is finishing at bug #633758 [1]. The CI reports
[2] were updated to report packages whose 'files' directories exceed
64 KiB, to avoid adding many new warnings at once. The limit will
be lowered down to 32 KiB as packages are fixed to comply with the new
policy.
At the same time, I would like to explicitly remind developers that
the spirit of the policy is 'do not let "files" grow large', not 'make
sure you're one byte less than 32769.' Do not argue that your package
exceeds the limit only by few bytes -- even if it gets close to the
limit, then it means it's way too large.
Motivation
==========
Repoman & pkgcheck so far checked for a single file in 'files' directory
that exceeded 20 KiB in size. This check has been criticized multiple
times, most notably because it was triggered on packages with a single
large-ish file but at the same time permitted packages to have a lot of
small-ish files, with the latter consuming much more space. Furthermore,
some developers explicitly worked around the check by splitting large
patches into two smaller parts.
The new policy aims to serve the same purpose but be more fair
by counting the total size of all files.
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.
[1]:https://bugs.gentoo.org/633758
[2]:https://qa-reports.gentoo.org/output/gentoo-ci/output.html
--
Best regards,
Michał Górny
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2017-12-18 5:43 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-17 13:21 [gentoo-dev-announce] [QA] New policy: 'files' directory must not be larger than 32 KiB Michał Górny
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox