diff options
Diffstat (limited to 'perl-install/any.pm')
-rw-r--r-- | perl-install/any.pm | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/perl-install/any.pm b/perl-install/any.pm new file mode 100644 index 000000000..5b2fef5c3 --- /dev/null +++ b/perl-install/any.pm @@ -0,0 +1,37 @@ +package any; + +use diagnostics; +use strict; + +#-###################################################################################### +#- misc imports +#-###################################################################################### +use common qw(:file :system :common :functional); + +sub addKdmUsers { + my ($prefix, @users) = @_; + require timezone; + my @u1 = my @users_male = qw(tie default curly); + my @u2 = my @users_female = qw(brunette girl woman-blond); + foreach (@users) { + my $l = rand() < timezone::sexProb($_->{name}) ? \@u2 : \@u1; + my $u = splice(@$l, rand(@$l), 1); #- known biased (see cookbook for better) + symlink "../../../../icons/user-$u-mdk.xpm", "$prefix/usr/share/apps/kdm/pics/users/$_.xpm"; + @u1 = @users_male unless @u1; + @u2 = @users_female unless @u2; + } + symlinkf "../../../../icons/user-hat-mdk.xpm", "$prefix/usr/share/apps/kdm/pics/users/root.xpm" unless $::isStandalone; +} + +sub addUsers { + my ($prefix, @users) = @_; + my $msec = "$prefix/etc/security/msec"; + foreach my $u (@users) { + substInFile { s/^$u\n//; $_ .= "$u\n" if eof } "$msec/user.conf" if -d $msec; + } + run_program::rooted($prefix, "/etc/security/msec/init-sh/grpuser.sh --refresh"); + + addKdmUsers($prefix, @users); +} + +1; |