I've run into an odd idiosyncracy in Portage 2.1.1 when using rsync_excludes. Although rsync_excludes can be used successfully to eliminate categories from the portage tree update, the syntax that is used to include specific applications in directories that are excluded seems to be failing. For example, look at the following excerpt from /etc/portage/rsync_excludes: <snip> **mail-mta/ + media-gfx/splashutils + media-gfx/splash-themes-gentoo **media-gfx/ **media-plugins/ </snip> With these entries in the exclude file, the entire mail-mta, media-gfx, and media-plugins directories are excluded from the sync. What is supposed to happen is that splashutils and splash-themes-gentoo are supposed to be sync'd in the media-gfx directory, while the rest of that directory is excluded. Here is the output of emerge -uD world on a system that's otherwise fully up to date: <snip> These are the packages that would be merged, in order: Calculating world dependencies - !!! Ebuilds for the following packages are either all !!! masked or don't exist: media-gfx/splash-themes-gentoo media-gfx/splashutils ... done! Total size of downloads: 0 kb </snip> I do not have a package.mask file on the system. # emerge --info Portage 2.1.1 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.4-r3, 2.6.17-gentoo-r7 i686) ================================================================= System uname: 2.6.17-gentoo-r7 i686 Pentium II (Deschutes) Gentoo Base System version 1.12.5 Last Sync: Fri, 29 Sep 2006 14:00:01 +0000 ccache version 2.3 [enabled] app-admin/eselect-compiler: [Not Present] dev-java/java-config: [Not Present] dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r3 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=i686 -O2 -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo" CXXFLAGS="-march=i686 -O2 -fomit-frame-pointer -pipe -fvisibility-inlines-hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://gentoo.netnitco.net http://gentoo.osuosl.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" LDFLAGS="-Wl,-O1 -Wl,--sort-common -s" LINGUAS="" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 apache2 berkdb bitmap-fonts cli crypt dlloader dri eds elibc_glibc emboss encode esd fortran gdbm imlib kernel_linux libg++ libwww mad mikmod motif ncurses nls nptl nptlonly pam pcre perl pppd python readline session ssl tcpd udev userland_GNU xv zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL I am hoping that this is a simple configuration error and not a bug. Thanks.
It would appear that **media-gfx/ is matched and thus excluded meaning that it is never descended into. If you change it to **media-gfx/* it should work.
portage does not parse the exclude list at all ... it merely passes it to rsync
as odd as it may seem, this is by design you need to do: + media-gfx/ + media-gfx/splashutils/ + media-gfx/splashutils/** - media-gfx/**