tech-pkg: mk/install/usergroup and FreeBSD and DragonFly

Subject: mk/install/usergroup and FreeBSD and DragonFly
To: None <tech-pkg@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 09/07/2005 05:15:10
mk/install/usergroup does:
 elif ${TEST} -n "${USERADD}" -a -x "${USERADD}"; then
 ${ECHO} "Creating user: $user";
 case $userid in
 "") ${USERADD} -c "$descr" -d "$home" \
 -s "$shell" -g $group $user
 ;;
 *) ${USERADD} -c "$descr" -d "$home" \
 -s "$shell" -g $group \
 -u $userid $user
The syntax for adding a user on FreeBSD and DragonFly is:
pw user add cyrus -c "cyrus-sasl cyrus user" -d /nonexistent -s /bin/sh -g mail
Notice how the username becomes before the options.
Any ideas on how we can make this mk/install/usergroup more portable. This 
is needed as DragonFly uses pkgsrc. (They are considering our nice 
user(8) but that is another discussion.)
Ideas:
- force DragonFly to install sysutils/user
- new sysutils/user_dragonfly package providing wrapper scripts (similar
 to user_interix and user_darwin)
- accept command with arguments (like "pw user add") as USERADD (and
 GROUPADD) -- so don't do test -x ${USERADD}
- add new variables like USERADD_ARGUMENTS and GROUPADD_ARGUMENTS; for
 example:
 USERADD="/usr/sbin/pw"
 USERADD_ARGUMENTS="user add"
- provide code snippets to use like mk/platform/DragonFly.usergroup if
 available, so the ordering of username will be done before other
 options.
- get DragonFly and FreeBSD to fix their pw to accept the username at end
 of arguments too.
 Jeremy C. Reed
 	 	 	 BSD News, BSD tutorials, BSD links
 	 	 	 http://www.bsdnewsletter.com/

AltStyle によって変換されたページ (->オリジナル) /