On 5/29/19 4:01 AM, Ulrich Mueller wrote: > > I wonder why that would be needed. It won't catch collisions with users > created by the system administrator.
The reference implementation did its best not to annoy you here. Ultimately, no, it can't prevent the system administrator from clobbering a UID that some package needs. But, most packages won't insist on a fixed UID. If they do, and if the system administrator created a "compatible" user (one that doesn't conflict with any of your useradd arguments), then the existing user account would be reused. > Collisions between packages could > certainly be prevented without littering the file system, e.g., by > scanning ebuilds in that category (by repoman, or CI)? > Memory hazy, but I think I ventured down this road for a few reasons: * Using file collisions is a PMS behavior that will work everywhere. * Parsing bash variables in repoman/CI sucks and doesn't work. * We want to be warned about the collision during development, before we push to ::gentoo. * We should prevent collisions in overlays, too. * The UID that actually gets created may not be the one in your ebuild, if it wasn't available. The real UID is only known at install-time. (This one is important IIRC.)