]> git.treefish.org Git - fex.git/blobdiff - install
Original release 20160104
[fex.git] / install
diff --git a/install b/install
index 6f0bb62a6e556f1cbf05ec1b357c41e398e1f2fe..87dc2feffb7fbbf1931025d4e5e369640c5c90b1 100755 (executable)
--- a/install
+++ b/install
@@ -123,7 +123,14 @@ print "prerequisites checked, ok\n";
 
 unless (getpwnam('fex')) {
   print "creating user fex\n";
-  system 'useradd -s /bin/bash -c "File EXchange" -m fex';
+  system 'groupadd -g 80 fex 2>/dev/null || groupadd fex';
+  my @g = getgrnam('fex') or die "$0: cannot groupadd fex\n";
+  my $gid = $g[2];
+  if (getpwuid($gid)) {
+    system "useradd -s /bin/bash -c 'File EXchange' -g $gid -m fex"
+  } else {
+    system "useradd -s /bin/bash -c 'File EXchange' -u $gid -g $gid -m fex"
+  }
   exit $? if $?;
 }
 
@@ -213,6 +220,10 @@ if (-d "$FEXHOME/spool") {
   mkdir "$FEXHOME/spool",0700 or die "cannot mkdir $FEXHOME/spool - $!\n";
   mkdir "$FEXHOME/spool/.error",0700;
 }
+foreach my $dir (qw'.dkeys .ukeys .akeys .skeys .gkeys .xkeys .locks') {
+  mkdir "$FEXHOME/spool/$dir",0700;
+}
+  
 chownr('fex',"$FEXHOME/spool/.");
 
 # fex-VM?
@@ -316,6 +327,7 @@ if (@locales = glob "locale/*/lib/fup.pl") {
       chownr('fex',"$FEXHOME/locale/$locale");
       $hl = "$FEXHOME/htdocs/locale/$locale";
       symlink "$FEXHOME/locale/$locale/htdocs",$hl unless -l $hl;
+      chownr('fex',"$FEXHOME/htdocs/locale/$locale");
     } else { 
       push @nlocales,"./install $1\n";
     }