Import of pkgsrc-2013Q2

This commit is contained in:
2013-09-26 17:14:40 +02:00
commit 785076ae39
74991 changed files with 4380255 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
#!/bin/bash
# $NetBSD: groupadd.sh,v 1.3 2013/03/13 12:35:16 obache Exp $
export PATH=/bin:"$(/bin/cygpath -S)"
show_usage () {
echo "usage: $0 [-v] group" >&2
exit 1
}
verbose=false
run_cmd () {
if $verbose; then printf '%s\n' "+ $*" >&2; fi
"$@"
}
while getopts 'g:ov' f; do
case $f in
g) echo "$0: numeric gid cannot be set manually; ignoring" >&2;;
o) echo "$0: cannot reuse numeric gid of another group; aborting" >&2; exit 1;;
v) verbose=true;;
\?) show_usage;;
esac
done
shift $(($OPTIND - 1))
if [ $# -ne 1 ]; then show_usage; fi
$verbose || exec >/dev/null
run_cmd net localgroup $1 /add /comment:"Group added by Cygwin groupadd command" || exit 1
### regenerate cygwin /etc/group
run_cmd /bin/mkgroup -l -g "$1" >> /etc/group || exit 1
+29
View File
@@ -0,0 +1,29 @@
#!/bin/bash
# $NetBSD: groupdel.sh,v 1.3 2013/03/13 12:35:16 obache Exp $
export PATH=/bin:"$(/bin/cygpath -S)"
show_usage () {
echo "usage: $0 [-v] group" >&2
exit 1
}
verbose=false
run_cmd () {
if $verbose; then printf '%s\n' "+ $*" >&2; fi
"$@"
}
while getopts 'v' f; do
case $f in
v) verbose=true;;
\?) show_usage;;
esac
done
shift $(($OPTIND - 1))
if [ $# -ne 1 ]; then show_usage; fi
$verbose || exec >/dev/null
run_cmd net localgroup $1 /delete || exit 1
/bin/sed -i -e "/^$1.*/d" /etc/group
+150
View File
@@ -0,0 +1,150 @@
#!/bin/bash
# $NetBSD: useradd.sh,v 1.4 2013/03/13 12:35:16 obache Exp $
export PATH=/bin:"$(/bin/cygpath -S)"
show_usage () {
echo "usage: $0 [-mv] [-G secondary-group] [-b base-dir] [-c comment] [-d home-dir] [-g group|=uid] [-k skel-dir] user" >&2
echo " $0 -D" >&2
exit 1
}
verbose=false
run_cmd () {
if $verbose; then printf '%s\n' "+ $*" >&2; fi
"$@"
}
base_dir="/home"
extra_groups=()
create_homedir=false
gecos=
group=Users
home_dir=
skel_dir=/etc/skel
user_is_group=false
show_defaults () {
printf 'base_dir\t%s\n' "$base_dir"
printf 'skel_dir\t%s\n' "$skel_dir"
printf 'comment\t\t%s\n' "$gecos"
printf 'group\t\t%s\n' "$group"
exit 0
}
while getopts 'DG:L:b:c:d:e:f:g:k:mp:or:s:u:v' f; do
case $f in
D) show_defaults;;
G) extra_groups[${#extra_groups}]="$OPTARG";;
L) echo "$0: login classes not supported; ignoring" >&2;;
b) base_dir="$OPTARG";;
c) gecos="$OPTARG";;
d) home_dir="$OPTARG";;
e) echo "$0: expiry time not yet supported; ignoring" >&2;;
f) echo "$0: inactive time not yet supported; ignoring" >&2;;
g) group="$OPTARG";;
k) skel_dir="$OPTARG";;
m) create_homedir=true;;
p) echo "$0: cannot set password from command line; aborting" >&2; exit 1;;
o) echo "$0: cannot reuse numeric uid of another user; aborting" >&2; exit 1;;
r) echo "$0: numeric ID range cannot be set manually; ignoring" >&2;;
s) echo "$0: setting login shell not yet supported; ignoring" >&2;;
u) echo "$0: numeric uid cannot be set manually; ignoring" >&2;;
v) verbose=true;;
\?) show_usage;;
esac
done
shift $(($OPTIND - 1))
if [ $# -ne 1 ]; then show_usage; fi
$verbose || exec >/dev/null
### check for existence of desired groups
if [ "$group" != "=uid" ]; then
if ! net localgroup "${group}" >/dev/null 2>&1; then
echo "$0: group '$group' does not exist" >&2; exit 1
fi
else
group="$1"
fi
for g in "${extra_groups[@]}"; do
if ! net localgroup "${g#+}" >/dev/null 2>&1; then
echo "$0: group '$g' does not exist" >&2; exit 1
fi
done
### check for ability to create homedir
if $create_homedir && [ "$home_dir" = "" ]; then
if [ ! -d "$base_dir" ]; then
echo "$0: base dir '$base_dir' does not exist" >&2; exit 1
fi
fi
if [ "$home_dir" = "" ]; then
home_dir="$base_dir/$1"
fi
home_dir_nt="$(/bin/cygpath -m "$home_dir")"
if $create_homedir && [ -d "$home_dir" ]; then
echo "$0: home dir '$home_dir' already exists; not clobbering" >&2
create_homedir=false
fi
### add the user if it same name one is not in groups
if ! net localgroup "$1" >/dev/null 2>&1; then
run_cmd net user $1 /add /fullname:"$gecos" /comment:"User added by Cygwin useradd command" /homedir:"$home_dir_nt" || exit 1
run_cmd /bin/mkpasswd -l -u "$1" >> /etc/passwd || exit 1
else
user_is_group=true;
run_cmd /bin/mkgroup -l -g "$1" | /bin/awk -F : -v home_dir=$home_dir '{printf "%s:*:%d:%d:,%s:%s:\n",$1,$3,$3,$2,home_dir}' >> /etc/passwd || exit 1
fi
### put user in groups
if [ "${group}" != "Users" ]; then
# Under Windows, a user *is* a group. Do nothing if uid=group.
if [ "$group" != "$1" ]; then
run_cmd net localgroup "${group}" $1 /add || exit 1
fi
# "Users" added by default; remove and add the real one here:
if [ ! $user_is_group ]; then
run_cmd net localgroup "Users" $1 /delete || exit 1
fi
fi
for g in "${extra_groups[@]}"; do
# Don't add a "primary" group as a "secondary" group too.
if [ "${g}" != "${group}" ]; then
run_cmd net localgroup "${g}" $1 /add || exit 1
fi
done
### set, and optionally create and cacls the homedir
if [ "$home_dir" != "" ]; then
home_dir_nt="$(/bin/cygpath -m "$home_dir")"
if $create_homedir; then
run_cmd /bin/mkdir -p "$home_dir" || exit 1
run_cmd /bin/chown "$1":"${group}" "$home_dir" || exit 1
run_cmd /bin/setfacl -r -m d:u:"$1":rwx,u:SYSTEM:rwx,u:Administrators:rwx "$home_dir" || exit 1
if cd "$skel_dir"; then
/bin/find . -type f | while read f; do
fdest=${f#.}
if [ ! -e "${home_dir}${fdest}" -a ! -L "${home_dir}${fdest}" ]; then
run_cmd /bin/install -D -p -o "$1" -g "${group}" "${f}" "${home_dir}${fdest}"
fi
done
unset fdest
else
echo "WARNING: Failed to cd skeltone directory $_skel_dir" >&2
fi
fi
fi
+52
View File
@@ -0,0 +1,52 @@
#!/bin/bash
# $NetBSD: userdel.sh,v 1.4 2013/03/13 12:35:16 obache Exp $
export PATH=/bin:"$(/bin/cygpath -S)"
show_usage () {
echo "usage: $0 [-rv] user" >&2
exit 1
}
verbose=false
run_cmd () {
if $verbose; then printf '%s\n' "+ $*" >&2; fi
"$@"
}
remove_home_dir=false
user_is_group=false
while getopts 'prv' f; do
case $f in
p) echo "$0: cannot yet lock out user with -p; aborting" >&2; exit 1;;
r) remove_home_dir=true;;
v) verbose=true;;
\?) show_usage;;
esac
done
shift $(($OPTIND - 1))
if [ $# -ne 1 ]; then show_usage; fi
$verbose || exec >/dev/null
if ! net user $1 >/dev/null 2>&1; then
if ! net localgroup $1 >/dev/null 2>&1; then
echo "$0: user $1 does not exist" >&2; exit 1
else
user_is_group=true
fi
fi
if $remove_home_dir; then
home_dir="$(eval "echo ~$1")"
case "$home_dir" in
/) echo "$0: user $1 has no home directory; ignoring remove request" >&2;;
/*/*) rm -rf "$home_dir";;
*) echo "$0: could not delete home directory '$home_dir'; aborting" >&2; exit 1;;
esac
fi
$user_is_group || run_cmd net user $1 /delete || exit 1
/bin/sed -i -e "/^$1.*/d" /etc/passwd