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.)


Reply via email to