summaryrefslogtreecommitdiff
path: root/sysutils/system-tools-backends/files/patch-Users_Users.pm
diff options
context:
space:
mode:
authorKoop Mast <kwm@FreeBSD.org>2010-05-10 21:19:08 +0000
committerKoop Mast <kwm@FreeBSD.org>2010-05-10 21:19:08 +0000
commit48e62d9a379cd45a15f6ae89d564f81b3c13d16e (patch)
treeb627baa77f19bb1eab2fa4dee08aab1908131cd0 /sysutils/system-tools-backends/files/patch-Users_Users.pm
parentRegister conflict between opal and opal3. (diff)
Presenting GNOME 2.30.1 for FreeBSD. The offical release notes for this
release can be found at http://library.gnome.org/misc/release-notes/2.30/ . This release brings initial PackageKit support, Upower (replaces power management part of hal), cuse4bsd integration with HAL and cheese, and a faster Evolution. Sadly GNOME 2.30.x will be the last release with FreeBSD 6.X support. This will also be the last of the 2.x releases. The next release will be the highly-anticipated GNOME 3.0 which will bring with it a new UI experience. Currently, there are a few bugs with GNOME 2.30 that may be of note for our users. Be sure to consult the UPGRADING note or the 2.30 upgrade FAQ at http://www.freebsd.org/gnome/docs/faq230.html for specific upgrading instructions, and the up-to-date list of known issues. This release features commits by avl, ahze, bland, marcus, mezz, and myself. The FreeBSD GNOME Team would like to thank Anders F Bjorklund for doing the initual packagekit porting. And the following contributors & testers for there help with this release: Eric L. Chen Vladimir Grebenschikov Sergio de Almeida Lenzi DomiX walder crsd Kevin Oberman Michal Varga Pavel Plesov Bapt kevin and ITetcu for two exp-run PR: ports/143852 ports/145347 ports/144980 ports/145830 ports/145511
Diffstat (limited to 'sysutils/system-tools-backends/files/patch-Users_Users.pm')
-rw-r--r--sysutils/system-tools-backends/files/patch-Users_Users.pm366
1 files changed, 0 insertions, 366 deletions
diff --git a/sysutils/system-tools-backends/files/patch-Users_Users.pm b/sysutils/system-tools-backends/files/patch-Users_Users.pm
deleted file mode 100644
index 32020815df1f..000000000000
--- a/sysutils/system-tools-backends/files/patch-Users_Users.pm
+++ /dev/null
@@ -1,366 +0,0 @@
---- Users/Users.pm.orig 2009-11-02 17:44:21.000000000 -0500
-+++ Users/Users.pm 2010-01-10 19:03:46.000000000 -0500
-@@ -378,10 +379,17 @@ sub get
- my ($ifh, @users, %users_hash);
- my (@line, @users);
-
-+ $NO_SHELL = "/usr/bin/nologin"; # lpm: Sets login field to nologin, if it's left to null, stb can't read passwd file
-+ # This is important, because in FreeBSD if there is a null in this field, stb
-+ # won't create the user account. This is one of the reasons why users couldn't
-+ # be created in FreeBSD for gnome using stb! :) Problem solved.
-+
- # Find the passwd file.
- $ifh = &Utils::File::open_read_from_names(@passwd_names);
- return unless ($ifh);
-
-+
-+
- while (<$ifh>)
- {
- chomp;
-@@ -396,6 +404,9 @@ sub get
- push @comment, "" while (scalar (@comment) < 5);
- $line[$COMMENT] = [@comment];
-
-+
-+ $line[$SHELL] = $NO_SHELL if(!$line[$SHELL] || $line[$SHELL] eq ""); # check for null or empty login field, and set
-+
- $users_hash{$login} = [@line];
- }
-
-@@ -439,32 +450,32 @@ sub get
- sub del_user
- {
- my ($user) = @_;
-- my (@command);
-+ my ($command);
-
- if ($Utils::Backend::tool{"system"} eq "FreeBSD")
- {
-- @command = ($cmd_pw, "userdel", "-n", $$user[$LOGIN]);
-+ $command = "$cmd_pw userdel -n \'" . $$user[$LOGIN] . "\' -r ";
- }
- else
- {
- if ($cmd_deluser)
- {
-- @command = ($cmd_deluser, $$user[$LOGIN]);
-+ $command = "$cmd_deluser '". $$user[$LOGIN] . "'";
- }
- else
- {
-- @command = ($cmd_userdel, $$user[$LOGIN]);
-+ $command = "$cmd_userdel \'" . $$user[$LOGIN] . "\'";
- }
- }
-
-- &Utils::File::run (@command);
-+ &Utils::File::run ($command);
- }
-
- sub change_user_chfn
- {
- my ($login, $old_comment, $comment) = @_;
- my ($fname, $office, $office_phone, $home_phone);
-- my (@command, $str);
-+ my ($command, $str);
-
- return if !$login;
-
-@@ -474,15 +485,14 @@ sub change_user_chfn
-
- if ($Utils::Backend::tool{"system"} eq "FreeBSD")
- {
-- @command = ($cmd_pw, "usermod", "-n", $login,
-- "-c", $str);
-+ $command = "$cmd_pw usermod -n " . $login . " -c \'" . $str . "\'";
- }
- else
- {
-- @command = ($cmd_usermod, "-c", $str, $login);
-+ $command = "$cmd_usermod -c \'" . $str . "\' " . $login;
- }
-
-- &Utils::File::run (@command);
-+ &Utils::File::run ($command);
- }
-
- # modifies /etc/shadow directly, not good practice,
-@@ -516,11 +526,11 @@ sub modify_shadow_password
- sub set_passwd
- {
- my ($login, $password) = @_;
-- my ($pwdpipe);
-+ my ($pwdpipe, $command);
-
- if ($Utils::Backend::tool{"system"} eq "FreeBSD")
- {
-- my ($command);
-+
- $command = "$cmd_pw usermod -H 0";
- $pwdpipe = &Utils::File::run_pipe_write ($command);
- print $pwdpipe $password;
-@@ -532,105 +542,156 @@ sub set_passwd
- }
- else
- {
-- my (@command);
-- @command = ($cmd_usermod, "-p", $password, $login);
-+ $command = "$cmd_usermod " .
-+ " -p '" . $password . "' " . $login;
-
-- &Utils::File::run (@command);
-+ &Utils::File::run ($command);
- }
- }
-
- sub add_user
- {
-- my ($user) = @_;
-- my ($home_parents, $tool_mkdir);
-+ my ($user) = @_; # paramaters coming into function.
-+ my ($home_parents, $tool_mkdir);
-
- $tool_mkdir = &Utils::File::locate_tool ("mkdir");
-
- if ($Utils::Backend::tool{"system"} eq "FreeBSD")
- {
-+ # Author: Larry P. Maloney (larry@kiputers.com) or larrypatrickmaloney@yahoo.com
-+ # Date: 09/09/2009, 10/07/09, 12/30/2009
-+ # Provides: User creation in FreeBSD
-+ # Requires: All services that GDM or "gnome_enable" in rc.conf would start
-+ # Cleaned up /etc/passwd file (NULLS are NOT permited in /etc/passwd, and passwd
-+ # file must be perfect (no screwed up fields)
-+ # Update: 10/07/09, added code to automatically add /usr/bin/nologin to records in /etc/passwd
-+ #
-+ # Notes: These changes will enable user creation on FreeBSD.
-+ # The creation of the user account requires that the /etc/passwd file
-+ # be cleaned first. (Need to add code to pre-process /etc/passwd) Each password record in the
-+ # file must have values. No NULLS allowed, or stb will not be able to edit the records.
-+ # On FreeBSD there is a "toor" account. This account by default has a NULL value for
-+ # the login program. This NULL should be substitued with /usr/local/nologin
-+ # Please make sure all your fields are without NULL's before trying to edit/add a user.
-+ #
-+ # New Feature: This patch will enable creation of the user account WITH the additional fields,
-+ # Full Name, Location, Home Phone and Work Phone.
-+ #
-+ # Changes: I essentially did 3 things. One, cleaned up the /etc/passwd file on my local machine
-+ # Correctly built the string to be passed to the 'pw' command in BSD (with the -C option
-+ # for comments. And Three, added the call to Utils::Run.
-+ #
-+ # ToDo: Enable creation of accounts WITHOUT passwords
-+ # Automatically clean up (swap nulls with default values) in /etc/passwd file.
-+
- my $pwdpipe;
- my $home;
-+ my $user_login; # lpm: $user was redfined THIS IS THE DAMN PROBLEM! User was redfined and set to empty!
-
-- # FreeBSD doesn't create the home directory
- $home = $$user[$HOME];
-- &Utils::File::run ($tool_mkdir, "-p", $home);
-+ $user_login = $$user[$LOGIN];
-
-+ #get the group name (not just the ID)
-+ $group_command = "$cmd_pw groupshow -g " . "\'" .$$user[$GID] . "\'";
-+ $group_name = qx($group_command);
-+ @tokens=split(/:/,$group_name);
-+ $group_string = $tokens[0];
-+
-+
-+ #modified by lpm, 09/04/09
- $command = "$cmd_pw useradd " .
- " -n \'" . $$user[$LOGIN] . "\'" .
- " -u \'" . $$user[$UID] . "\'" .
- " -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
-+
-+ # added by lpm to get comment fields.
-+ $aref=@$user[$COMMENT]; # default is $$user[$COMMENT]
-+ $comment = "@$aref[0],@$aref[1],@$aref[2],@$aref[3],";
-+
-+ $command = $command . " -c \"" . $comment . "\""; #comment field must have quotes included before sending to pw command.
-
--# @command = ($cmd_pw, "useradd", "-n", $$user[$LOGIN],
--# "-u", $$user[$UID],
--# "-d", $$user[$HOME],
--# "-g", $$user[$GID],
--# "-s", $$user[$SHELL],
--# "-H", "0"); # pw(8) reads password from STDIN
-+ $pwdpipe = &Utils::File::run_pipe_write ($command);
-
-- $pwdpipe = &Utils::File::run_pipe_write ($command);
-- print $pwdpipe $$user[$PASSWD];
-- &Utils::File::close_file ($pwdpipe);
-+ print $pwdpipe $$user[$PASSWD];
-+
-+ #&Utils::File::run ($command); #added by lpm, doesn't look like the command is getting run?
-+
-+
-+
-+ {
-+ $group_command = "$cmd_pw groupshow -g " . "\'" .$$user[$GID] . "\'";
-+ $group_name = qx($group_command);
-+
-+ @tokens=split(/:/,$group_name);
-+ $group_string = $tokens[0];
-+ }
-+
-+
-+
-+ &Utils::File::close_file ($pwdpipe);
-+ &Utils::File::run ("chown -R $user_login $home");
-+
- }
- elsif ($Utils::Backend::tool{"system"} eq "SunOS")
- {
- $home_parents = $$user[$HOME];
- $home_parents =~ s/\/+[^\/]+\/*$//;
-- &Utils::File::run ($tool_mkdir, "-p", $home_parents);
-+ &Utils::File::run ("$tool_mkdir -p $home_parents");
-
-- @command = ($cmd_useradd, "-d", $$user[$HOME],
-- "-g", $$user[$GID],
-- "-s", $$user[$SHELL],
-- "-u", $$user[$UID],
-- $$user[$LOGIN]);
-+ $command = "$cmd_useradd" .
-+ " -d \'" . $$user[$HOME] . "\'" .
-+ " -g \'" . $$user[$GID] . "\'" .
-+ " -s \'" . $$user[$SHELL] . "\'" .
-+ " -u \'" . $$user[$UID] . "\'" .
-+ " \'" . $$user[$LOGIN] . "\'";
-
-- &Utils::File::run (@command);
-+ &Utils::File::run ($command);
- &modify_shadow_password ($$user[$LOGIN], $$user[$PASSWD]);
- }
- else
- {
- $home_parents = $$user[$HOME];
- $home_parents =~ s/\/+[^\/]+\/*$//;
-- &Utils::File::run ($tool_mkdir, "-p", $home_parents);
-+ &Utils::File::run ("$tool_mkdir -p $home_parents");
-
- if ($cmd_adduser &&
- $Utils::Backend::tool{"platform"} !~ /^slackware/ &&
- $Utils::Backend::tool{"platform"} !~ /^archlinux/ &&
-- $Utils::Backend::tool{"platform"} !~ /^redhat/ &&
-- $Utils::Backend::tool{"platform"} !~ /^gentoo/)
-+ $Utils::Backend::tool{"platform"} !~ /^redhat/)
- {
- # use adduser if available and valid (slackware one is b0rk)
- # set empty gecos fields and password, they will be filled out later
-- @command = ($cmd_adduser, "--gecos", "",
-- "--disabled-password",
-- "--home", $$user[$HOME],
-- "--gid", $$user[$GID],
-- "--shell", $$user[$SHELL],
-- "--uid", $$user[$UID],
-- $$user[$LOGIN]);
-+ $command = "$cmd_adduser --gecos '' --disabled-password" .
-+ " --home \'" . $$user[$HOME] . "\'" .
-+ " --gid \'" . $$user[$GID] . "\'" .
-+ " --shell \'" . $$user[$SHELL] . "\'" .
-+ " --uid \'" . $$user[$UID] . "\'" .
-+ " \'" . $$user[$LOGIN] . "\'";
-
-- &Utils::File::run (@command);
-+ &Utils::File::run ($command);
-
- # password can't be set in non-interactive
- # mode with adduser, call usermod instead
-- @command = ($cmd_usermod, "-p", $$user[$PASSWD], $$user[$LOGIN]);
-+ $command = "$cmd_usermod " .
-+ " -p '" . $$user[$PASSWD] . "' " . $$user[$LOGIN];
-
-- &Utils::File::run (@command);
-+ &Utils::File::run ($command);
- }
- else
- {
- # fallback to useradd
-- @command = ($cmd_useradd, "-m",
-- "-d", $$user[$HOME],
-- "-g", $$user[$GID],
-- "-p", $$user[$PASSWD],
-- "-s", $$user[$SHELL],
-- "-u", $$user[$UID],
-- $$user[$LOGIN]);
-+ $command = "$cmd_useradd -m" .
-+ " -d \'" . $$user[$HOME] . "\'" .
-+ " -g \'" . $$user[$GID] . "\'" .
-+ " -p \'" . $$user[$PASSWD] . "\'" .
-+ " -s \'" . $$user[$SHELL] . "\'" .
-+ " -u \'" . $$user[$UID] . "\'" .
-+ " \'" . $$user[$LOGIN] . "\'";
-
-- &Utils::File::run (@command);
-+ &Utils::File::run ($command);
- }
- }
-
-@@ -644,14 +705,14 @@ sub change_user
- if ($Utils::Backend::tool{"system"} eq "FreeBSD")
- {
- my $pwdpipe;
--
-+ #lpm note: You can add -k here for a skelton directory to build user directories with default files! :)
- $command = "$cmd_pw usermod \'" . $$old_user[$LOGIN] . "\'" .
- " -l \'" . $$new_user[$LOGIN] . "\'" .
- " -u \'" . $$new_user[$UID] . "\'" .
- " -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];
-@@ -659,27 +720,29 @@ sub change_user
- }
- elsif ($Utils::Backend::tool{"system"} eq "SunOS")
- {
-- @command = ($cmd_usermod, "-d", $$new_user[$HOME],
-- "-g", $$new_user[$GID],
-- "-l", $$new_user[$LOGIN],
-- "-s", $$new_user[$SHELL],
-- "-u", $$new_user[$UID],
-- $$old_user[$LOGIN]);
-+ $command = "$cmd_usermod" .
-+ " -d \'" . $$new_user[$HOME] . "\'" .
-+ " -g \'" . $$new_user[$GID] . "\'" .
-+ " -l \'" . $$new_user[$LOGIN] . "\'" .
-+ " -s \'" . $$new_user[$SHELL] . "\'" .
-+ " -u \'" . $$new_user[$UID] . "\'" .
-+ " \'" . $$old_user[$LOGIN] . "\'";
-
-- &Utils::File::run (@command);
-+ &Utils::File::run ($command);
- &modify_shadow_password ($$new_user[$LOGIN], $$new_user[$PASSWD]);
- }
- else
- {
-- @command = ($cmd_usermod, "-d", $$new_user[$HOME],
-- "-g", $$new_user[$GID],
-- "-l", $$new_user[$LOGIN],
-- "-p", $$new_user[$PASSWD],
-- "-s", $$new_user[$SHELL],
-- "-u", $$new_user[$UID],
-- $$old_user[$LOGIN]);
-+ $command = "$cmd_usermod" .
-+ " -d \'" . $$new_user[$HOME] . "\'" .
-+ " -g \'" . $$new_user[$GID] . "\'" .
-+ " -l \'" . $$new_user[$LOGIN] . "\'" .
-+ " -p \'" . $$new_user[$PASSWD] . "\'" .
-+ " -s \'" . $$new_user[$SHELL] . "\'" .
-+ " -u \'" . $$new_user[$UID] . "\'" .
-+ " \'" . $$old_user[$LOGIN] . "\'";
-
-- &Utils::File::run (@command);
-+ &Utils::File::run ($command);
- }
-
- &change_user_chfn ($$new_user[$LOGIN], $$old_user[$COMMENT], $$new_user[$COMMENT]);