summaryrefslogtreecommitdiffstats
path: root/sysutils/system-tools-backends/files/patch-Users_Users.pm
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/system-tools-backends/files/patch-Users_Users.pm')
-rw-r--r--sysutils/system-tools-backends/files/patch-Users_Users.pm47
1 files changed, 47 insertions, 0 deletions
diff --git a/sysutils/system-tools-backends/files/patch-Users_Users.pm b/sysutils/system-tools-backends/files/patch-Users_Users.pm
new file mode 100644
index 000000000..5e2598972
--- /dev/null
+++ b/sysutils/system-tools-backends/files/patch-Users_Users.pm
@@ -0,0 +1,47 @@
+--- Users/Users.pm.orig Thu Oct 5 09:27:21 2006
++++ Users/Users.pm Sun Apr 22 23:05:41 2007
+@@ -458,7 +458,7 @@
+
+ if ($Utils::Backend::tool{"system"} eq "FreeBSD")
+ {
+- $command = "$cmd_pw userdel -n \'" . $$user[$LOGIN] . "\' ";
++ $command = "$cmd_pw userdel -n \'" . $$user[$LOGIN] . "\' -r ";
+ }
+ else
+ {
+@@ -538,10 +538,10 @@
+ {
+ my $pwdpipe;
+ my $home;
++ my $user;
+
+- # FreeBSD doesn't create the home directory
+ $home = $$user[$HOME];
+- &Utils::File::run ("$tool_mkdir -p $home");
++ $user = $$user[$LOGIN];
+
+ $command = "$cmd_pw useradd " .
+ " -n \'" . $$user[$LOGIN] . "\'" .
+@@ -549,11 +549,12 @@
+ " -d \'" . $$user[$HOME] . "\'" .
+ " -g \'" . $$user[$GID] . "\'" .
+ " -s \'" . $$user[$SHELL] . "\'" .
+- " -H 0"; # pw(8) reads password from STDIN
++ " -m -h 0"; # pw(8) reads password from STDIN
+
+ $pwdpipe = &Utils::File::run_pipe_write ($command);
+ print $pwdpipe $$user[$PASSWD];
+ &Utils::File::close_file ($pwdpipe);
++ &Utils::File::run ("chown -R $user $home");
+ }
+ elsif ($Utils::Backend::tool{"system"} eq "SunOS")
+ {
+@@ -629,7 +630,7 @@
+ " -d \'" . $$new_user[$HOME] . "\'" .
+ " -g \'" . $$new_user[$GID] . "\'" .
+ " -s \'" . $$new_user[$SHELL] . "\'" .
+- " -H 0"; # pw(8) reads password from STDIN
++ " -h 0"; # pw(8) reads password from STDIN
+
+ $pwdpipe = &Utils::File::run_pipe_write ($command);
+ print $pwdpipe $$new_user[$PASSWD];