I'm currently using RSYNC_EXCLUDEFROM in /etc/make.conf with a hand-edited list of patterns describing files that are irrelevant to my platform/config/needs/etc., to almost cut in half the number of files sync'd by 'emerge sync'. I started by identifying numerous packages that required X. I don't use X, so I listed these in my RSYNC_EXCLUDEFROM file. Is there a better way of avoiding the wasted bandwidth incurred by emerge sync'ing without resorting to a manually maintained list referenced by RSYNC_EXCLUDEFROM? If a mechanism for assigning multiple classifications (hereafter referred to as "dimensions"), instead of the 1 dimensional /usr/portage/<classification>, then an exclusion mechanism (similar to using RSYNC_EXCLUDEFROM) might simply list the "dimensions" that are irrelevant to a particular system, and safe to exclude when performing "emerge sync". If every ebuild had one or more type/kind/purpose/etc. "dimension" classifications, then I could define combinations of "dimensions" with different update (emerge sync) priorities/frequencies, vastly reducing both bandwidth consumption and my time required to maintain this bandwidth reduction system for emerge sync's. Obviously, such a system needs "smarts" to know what which ebuilds must be fetched, regardless of classification priorities (e.g. depends on which packages are already emerged and their current/new dependencies). If I define /usr/portage/<categories> as a set of categorized ebuilds for various software "packages", then I can define "dimensions" as abstract groupings of existing Gentoo portage "<categories>". Using this terminology, for the purposes of my prior suggestion/question regarding filtering out the "bloat" (unnecessary bandwidth consumed) during an "emerge sync", I further define the following as descriptions of candidate "dimensions": o TYPE, as in "drivers-${TYPE}" o "<categories>" o requires X o requires KDE o requires Gnome o requires "platform" o requires a specific type of kernel (e.g. linux, freebsd, openbsd), or subtype (e.g. linux/mm) . . o many other possibilities I'm primarily interested in using Gentoo as a server platform. Large portions of the portage tree might be irrelevant to those with various specialized purposes. My hypothesis centers around the idea that "<categories>" form an inadequate set of "dimensions" by which users might utilize as criteria for exclusion during "emerge sync". Furthermore, as more "<categories>" and ebuilds are added, the manual effort required to update a RSYNC_EXCLUDEFROM list rises along with the bandwidth consumed Reproducible: Always Steps to Reproduce: 1. 2. 3.
As a first and relatively simple step, when the reason for the sync is just a system update, an option to sync only packages in the "world" file and their dependencies would save a lot of time and bandwidth. Some simple invocation such as: emerge sync world would make it easy to use.
*** This bug has been marked as a duplicate of 44526 ***