On Wed, Dec 07, 2011 at 07:54:07PM +0000, Chris Rees wrote: > Hi all, > > I'm at a loss as to how to restore functionality for creating (or > using) customised users in ports. For example, using the old method > (pkg-install scripts) many ports allowed the user to change the > username used for the port. > > With the new functionality, if the username isn't found in > /usr/ports/UIDs it's rejected, and the port can't use it. > > Can anyone explain to me why it would be a bad idea to include the > system's passwd and group files in the search? This would allow the > ports system to accept any user that already exists, as well as > creating the correct code in the plist. > > For example; someone wants to install postgresql as username Fred, so > s/he sets PG_USER=Fred in /etc/make.conf. Currently this causes an > error on build, because Fred is not in /usr/ports/UIDs. Were > /etc/master.passwd and /etc/group searched too, that wouldn't cause a > problem. > > Any obvious oversights?
It seems like a better (but more complicatd) solution would use "getent passwd ${USER}" to check for existing users. (You need to check explicitly rather than treating the output without /etc/passwd because some nss modules don't enumerate to avoid listing the thousands or tens of thousands of users in a corporate AD or LDAP installation). -- Brooks
pgp1v1sjlbwRG.pgp
Description: PGP signature