From: <cod...@go...> - 2008-12-03 14:43:25
|
Author: M0...@gm... Date: Wed Dec 3 06:42:11 2008 New Revision: 346 Modified: branches/iVL/.lang/FMain.pot branches/iVL/.project branches/iVL/FMain.class branches/iVL/FrmImportAccts.class branches/iVL/FrmUserAdd.class branches/iVL/MdlUsrAdd.module branches/iVL/installer.gambas Log: refined user account inmport Modified: branches/iVL/.lang/FMain.pot ============================================================================== --- branches/iVL/.lang/FMain.pot (original) +++ branches/iVL/.lang/FMain.pot Wed Dec 3 06:42:11 2008 @@ -86,23 +86,27 @@ msgid "You must select a \"/\" partition. This is the target where the system will install to" msgstr "" -#: FMain.class:461 +#: FMain.class:439 +msgid "Skipping boot loader setup" +msgstr "" + +#: FMain.class:465 msgid "Skipping lilo setup" msgstr "" -#: FMain.class:799 +#: FMain.class:803 msgid "Back" msgstr "" -#: FMain.class:810 +#: FMain.class:814 msgid "Exit Installation" msgstr "" -#: FMain.class:821 +#: FMain.class:825 msgid "Next" msgstr "" -#: FMain.class:835 +#: FMain.class:839 msgid "Button1" msgstr "" Modified: branches/iVL/.project ============================================================================== --- branches/iVL/.project (original) +++ branches/iVL/.project Wed Dec 3 06:42:11 2008 @@ -2,7 +2,7 @@ # Compiled with Gambas 2.9.0 Title=VectorLinux Installer Startup=MdlCore -Version=0.1.21 +Version=0.1.23 Library=gb.gtk Library=gb.form Library=gb.debug Modified: branches/iVL/FMain.class ============================================================================== --- branches/iVL/FMain.class (original) +++ branches/iVL/FMain.class Wed Dec 3 06:42:11 2008 @@ -423,6 +423,7 @@ frmNext = FrmLiloSetup CASE "FrmLiloSetup" + MdlCore.WARN_STATUS("") IF FrmLiloSetup.cbYNLilo.Value = FALSE THEN IF FrmLiloSetup.cbBootDefault.Text = "" THEN Message.Warning(("Please select a default operating system to boot before proceeding")) @@ -431,9 +432,12 @@ RETURN END IF 'Run the setup - MdlLilo.TRIGGER_LILO_SETUP() + IF MdlLilo.TRIGGER_LILO_SETUP() > 0 THEN + RETURN + END IF ELSE - FrmLiloSetup.tlBanner.Text = "<b>" & ("Skipping boot loaded setup") & "</b>" + FrmLiloSetup.tlBanner.Text = "<b>" & ("Skipping boot loader setup") & "</b>" + MdlCore.WARN_STATUS("Skipping LILO Setup") END IF 'SHELL "mount -o bind /mnt/target/lib /lib && depmod -aq && /etc/rc.d/rc.udev restart" frmNext = FrmZoneSet Modified: branches/iVL/FrmImportAccts.class ============================================================================== --- branches/iVL/FrmImportAccts.class (original) +++ branches/iVL/FrmImportAccts.class Wed Dec 3 06:42:11 2008 @@ -84,9 +84,14 @@ ME.cbAccntList.Remove(ME.cbAccntList.Find(Trim(ME.cbAccntList.Text))) ME.cbAccntList.Sorted = TRUE 'RETURN - ME.CREATE_IMPORTED_ACCOUNT - MdlUsrAdd.DISPLAY_USER_GROUP_OPTIONS(ME.frmUsrGrps) - Message.Info(("User account for") & Space(1) & Trim(ME.cbAccntList.Text) & Space(1) & ("successfully imported")) + IF ME.CREATE_IMPORTED_ACCOUNT(Trim(ME.cbAccntList.Text)) > 0 THEN + Message.Error(("User Unable to restore user account.")) + RETURN + ELSE + MdlUsrAdd.DISPLAY_USER_GROUP_OPTIONS(ME.frmUsrGrps) + MdlUsrAdd.LIST_NEW_USER_ACCOUNT() + Message.Info(("User account for") & Space(1) & Trim(ME.cbAccntList.Text) & Space(1) & ("successfully imported")) + END IF 'ME.Close 'ME.pbLogin.Picture.Image.Clear @@ -95,7 +100,7 @@ END -PUBLIC SUB CREATE_IMPORTED_ACCOUNT() +PUBLIC FUNCTION CREATE_IMPORTED_ACCOUNT(sname AS String) AS Integer DIM sGroups AS String DIM cb AS CheckBox DIM sSettings AS String[] @@ -103,7 +108,9 @@ DIM sPicdir AS String = ClsGlobal.sTargetMnt &/ "usr/share/apps/kdm/pics/users/" DIM tl AS TextLabel DIM iTlY AS Integer + DIM hproc AS Process + ' Prepare group list FOR EACH cb IN MdlUsrAdd.objGrps IF cb.Value = TRUE THEN @@ -119,29 +126,32 @@ IF Len(sSettingsList) > 0 THEN sSettings = Split(sSettingsList, ",") FOR i = 0 TO sSettings.Count - 1 - EXEC ["rm", "-rf", ClsGlobal.sTargetMnt &/ "home" &/ Trim(ME.cbAccntList.Text) &/ Trim(sSettings[i])] WAIT - EXEC ["cp", "-r", ClsGlobal.sTargetMnt &/ "etc" &/ "skel" & Trim(sSettings[i]), ClsGlobal.sTargetMnt &/ "home" &/ Trim(ME.cbAccntList.Text) &/ Trim(sSettings[i])] WAIT - EXEC ["chown", Trim(ME.cbAccntList.Text) & ":users", ClsGlobal.sTargetMnt &/ "home" &/ Trim(ME.cbAccntList.Text) &/ Trim(sSettings[i])] WAIT + hproc = EXEC ["rm", "-rf", ClsGlobal.sTargetMnt &/ "home" &/ sname &/ Trim(sSettings[i])] WAIT + hproc = EXEC ["cp", "-r", ClsGlobal.sTargetMnt &/ "etc" &/ "skel" &/ Trim(sSettings[i]), ClsGlobal.sTargetMnt &/ "home" &/ sname &/ Trim(sSettings[i])] WAIT + hproc = EXEC ["chown", Trim(ME.cbAccntList.Text) & ":users", ClsGlobal.sTargetMnt &/ "home" &/ sname &/ Trim(sSettings[i])] WAIT IF ERROR THEN Message(Error.Where & gb.NewLine & Error.Text) NEXT END IF - SHELL "chroot /mnt/target /usr/sbin/groupdel " & Trim(ME.cbAccntList.Text) WAIT - SHELL "chroot /mnt/target /usr/sbin/groupadd " & "-g" & Space(1) & FrmUserAdd.iUID & Space(1) & Trim(ME.cbAccntList.Text) WAIT - SHELL "chroot /mnt/target /usr/sbin/useradd -g " & Trim(ME.cbAccntList.Text) & " -p " & ME.tbPass1.Text & " -u " & FrmUserAdd.iUID & " -G " & "\'users," & sGroups & "\' -s /bin/bash " & 'ME.tbUsername.Text WAIT - Trim(ME.cbAccntList.Text) & " -d /home/" & Trim(ME.cbAccntList.Text) WAIT - SHELL "chroot /mnt/target /sbin/passwdx " & Trim(ME.cbAccntList.Text) & Space(1) & ME.tbPass1.Text WAIT + hproc = SHELL "chroot /mnt/target /usr/sbin/groupdel " & sname WAIT + IF hproc.Value > 0 THEN RETURN hproc.Value + hproc = SHELL "chroot /mnt/target /usr/sbin/groupadd " & "-g" & Space(1) & FrmUserAdd.iUID & Space(1) &/ sname WAIT + IF hproc.Value > 0 THEN RETURN hproc.Value + hproc = SHELL "chroot /mnt/target /usr/sbin/useradd -g " & sname & " -p " & ME.tbPass1.Text & " -u " & FrmUserAdd.iUID & " -G " & "\'users," & sGroups & "\' -s /bin/bash " & sname & " -d /home/" & sname WAIT + IF hproc.Value > 0 THEN RETURN hproc.Value + hproc = SHELL "chroot /mnt/target /sbin/passwdx " & sname & Space(1) & ME.tbPass1.Text WAIT + IF hproc.Value > 0 THEN RETURN hproc.Value IF ERROR THEN Message.Error(Error.Where & gb.NewLine & Error.Text) ' Add the face icon IF Len(ME.tbPicPath.Text) > 0 THEN - SHELL "cd " & sPicdir & " && ln -s " & Replace(ME.tbPicPath.Text, ClsGlobal.sTargetMnt, "") & Space(1) & Trim(ME.cbAccntList.Text) & ".face.icon" WAIT 'link for KDM + SHELL "cd " & sPicdir & " && ln -s " & Replace(ME.tbPicPath.Text, ClsGlobal.sTargetMnt, "") & Space(1) & sname & ".face.icon" WAIT 'link for KDM ' Tweak for the GDM face icon to work - TRY COPY Trim(tbPicPath.Text) TO clsglobal.sTargetMnt &/ "home" &/ Trim(ME.cbAccntList.Text) &/ ".face" - SHELL "chmod 644 " & ClsGlobal.sTargetMnt &/ "home/" & Trim(ME.cbAccntList.Text) &/ ".face" WAIT - SHELL "chroot " & ClsGlobal.sTargetMnt & " chown " & Trim(ME.cbAccntList.Text) & Space(1) &/ "home" &/ Trim(ME.cbAccntList.Text) &/ ".face" WAIT - SHELL "chroot " & ClsGlobal.sTargetMnt & " chgrp " & Trim(ME.cbAccntList.Text) & Space(1) &/ "home/" & Trim(ME.cbAccntList.Text) &/ ".face" WAIT + TRY COPY Trim(tbPicPath.Text) TO clsglobal.sTargetMnt &/ "home" &/ sname &/ ".face" + SHELL "chmod 644 " & ClsGlobal.sTargetMnt &/ "home/" & sname &/ ".face" WAIT + SHELL "chroot " & ClsGlobal.sTargetMnt & " chown " & sname & Space(1) &/ "home" &/ sname &/ ".face" WAIT + SHELL "chroot " & ClsGlobal.sTargetMnt & " chgrp " & sname & Space(1) &/ "home/" & sname &/ ".face" WAIT IF ERROR THEN Message.Error(Error.Where & gb.NewLine & Error.Text) END IF Modified: branches/iVL/FrmUserAdd.class ============================================================================== --- branches/iVL/FrmUserAdd.class (original) +++ branches/iVL/FrmUserAdd.class Wed Dec 3 06:42:11 2008 @@ -28,7 +28,7 @@ DIM sDump AS String 'EXEC ["ls", clsglobal.sTargetMnt &/ "home", "|", "grep", "-v", "ftp"] TO sDump - SHELL "ls " & clsglobal.sTargetMnt &/ "home | grep -v ftp" TO sDump + SHELL "ls " & clsglobal.sTargetMnt &/ "home | grep -v ftp | grep -v lost+found" TO sDump sDump = Trim(sDump) IF Len(sDump) > 0 THEN FrmUserAdd.btImportAcct.Enabled = TRUE @@ -198,48 +198,48 @@ MdlCore.warn_status_off() END - PUBLIC SUB LIST_NEW_USER_ACCOUNT() - 'needs to verify with /etc/passwd to check for user account - DIM sFile AS String[] = Split(DConv(File.Load(clsglobal.sTargetMnt &/ "etc" &/ "passwd"))) - DIM arrline AS String[] - DIM i, ii, iUID AS Integer - DIM sLine, sSec, sUsrLogin, sUsrRlName, sUsrHome AS String - DIM vuid AS Variant - DIM tl AS TextLabel - DIM tly AS Integer - - FrmUserAdd.LstUsers.Clear - tly = 4 - FOR i = 0 TO sFile.count - 1 - sLine = sFile[i] - ' now split each line - arrline = Split(sLine, ":") - FOR ii = 0 TO arrline.count - 1 - sSec = Trim(arrline[ii]) - vuid = arrline[2] - iUID = CInt(vuid) - sUsrLogin = arrline[0] - sUsrRlName = arrline[4] - sUsrHome = arrline[5] - NEXT - IF iUID >= 500 THEN - tl = NEW TextLabel(LstUsers) AS "UserList" - WITH tl - .Height = 21 - .Text = sUsrLogin - .Width = MdlObjSizer.get_object_width(.Text) - .ToolTip = sUsrRlName & "\n" & "<b>" & "USER ID: " & "</b > " & iUid & - "<b>" & "HOME DIRECTORY: " & "</b>" & sUsrHome - .Move(0, tly) - END WITH - tly = tly + tl.Height + 2 - END IF - NEXT - - - - -END +' PUBLIC SUB LIST_NEW_USER_ACCOUNT() +' 'needs to verify with /etc/passwd to check for user account +' DIM sFile AS String[] = Split(DConv(File.Load(clsglobal.sTargetMnt &/ "etc" &/ "passwd"))) +' DIM arrline AS String[] +' DIM i, ii, iUID AS Integer +' DIM sLine, sSec, sUsrLogin, sUsrRlName, sUsrHome AS String +' DIM vuid AS Variant +' DIM tl AS TextLabel +' DIM tly AS Integer +' +' FrmUserAdd.LstUsers.Clear +' tly = 4 +' FOR i = 0 TO sFile.count - 1 +' sLine = sFile[i] +' ' now split each line +' arrline = Split(sLine, ":") +' FOR ii = 0 TO arrline.count - 1 +' sSec = Trim(arrline[ii]) +' vuid = arrline[2] +' iUID = CInt(vuid) +' sUsrLogin = arrline[0] +' sUsrRlName = arrline[4] +' sUsrHome = arrline[5] +' NEXT +' IF iUID >= 500 THEN +' tl = NEW TextLabel(LstUsers) AS "UserList" +' WITH tl +' .Height = 21 +' .Text = sUsrLogin +' .Width = MdlObjSizer.get_object_width(.Text) +' .ToolTip = sUsrRlName & "\n" & "<b>" & "USER ID: " & "</b > " & iUid & +' "<b>" & "HOME DIRECTORY: " & "</b>" & sUsrHome +' .Move(0, tly) +' END WITH +' tly = tly + tl.Height + 2 +' END IF +' NEXT +' +' +' +' +' END Modified: branches/iVL/MdlUsrAdd.module ============================================================================== --- branches/iVL/MdlUsrAdd.module (original) +++ branches/iVL/MdlUsrAdd.module Wed Dec 3 06:42:11 2008 @@ -19,6 +19,51 @@ PUBLIC objGrps AS Object[] + +PUBLIC SUB LIST_NEW_USER_ACCOUNT() + 'needs to verify with /etc/passwd to check for user account + DIM sFile AS String[] = Split(DConv(File.Load(clsglobal.sTargetMnt &/ "etc" &/ "passwd"))) + DIM arrline AS String[] + DIM i, ii, iUID AS Integer + DIM sLine, sSec, sUsrLogin, sUsrRlName, sUsrHome AS String + DIM vuid AS Variant + DIM tl AS TextLabel + DIM tly AS Integer + + FrmUserAdd.LstUsers.Clear + tly = 4 + FOR i = 0 TO sFile.count - 1 + sLine = sFile[i] + ' now split each line + arrline = Split(sLine, ":") + FOR ii = 0 TO arrline.count - 1 + sSec = Trim(arrline[ii]) + vuid = arrline[2] + iUID = CInt(vuid) + sUsrLogin = arrline[0] + sUsrRlName = arrline[4] + sUsrHome = arrline[5] + NEXT + IF iUID >= 500 THEN + tl = NEW TextLabel(FrmUserAdd.LstUsers) AS "UserList" + WITH tl + .Height = 21 + .Text = sUsrLogin + .Width = MdlObjSizer.get_object_width(.Text) + .ToolTip = sUsrRlName & "\n" & "<b>" & "USER ID: " & "</b > " & iUid & + "<b>" & "HOME DIRECTORY: " & "</b>" & sUsrHome + .Move(0, tly) + END WITH + tly = tly + tl.Height + 2 + END IF + NEXT + +END + + + + + PUBLIC FUNCTION DISPLAY_USER_GROUP_OPTIONS(frmParent AS Frame) DIM sGrpList AS String = "cdrom,floppy,lp,scanner,audio,video,games,adm,sys,wheel,plugdev,disk" DIM sGrpArr AS String[] Modified: branches/iVL/installer.gambas ============================================================================== Binary files. No diff available. |