@@ -443,28 +443,32 @@ func bindAllWebInstallerRoutes(ctx *WebInstallerRoutingContext) {
443443 fmt .Fprintf (w , "<p>Failed to copy Aegis executable: %s</p>" , err .Error ())
444444 return false
445445 }
446- f , err := os .Open (s )
447- if err != nil {
448- fmt .Fprintf (w , "<p>Failed to copy Aegis executable: %s</p>" , err .Error ())
449- return false
450- }
451- defer f .Close ()
452446 aegisPath := path .Join (homePath , "git-shell-commands" , "aegis" )
453- fout , err := os .OpenFile (aegisPath , os .O_WRONLY | os .O_CREATE | os .O_TRUNC , 0754 )
454- if err != nil {
455- fmt .Fprintf (w , "<p>Failed to copy Aegis executable: %s\n </p>" , err .Error ())
456- return false
457- }
458- defer fout .Close ()
459- _ , err = io .Copy (fout , f )
460- if err != nil {
461- fmt .Fprintf (w , "<p>Failed to copy Aegis executable: %s\n </p>" , err .Error ())
462- return false
463- }
464- err = os .Chown (aegisPath , uid , gid )
465- if err != nil {
466- fmt .Fprintf (w , "<p>Failed to copy Aegis executable: %s\n </p>" , err .Error ())
467- return false
447+ if aegisPath == s {
448+ fmt .Fprint (w , "<p>Seems like executable already exists. Not copying...</p>\n " )
449+ } else {
450+ f , err := os .Open (s )
451+ if err != nil {
452+ fmt .Fprintf (w , "<p>Failed to copy Aegis executable: %s</p>" , err .Error ())
453+ return false
454+ }
455+ defer f .Close ()
456+ fout , err := os .OpenFile (aegisPath , os .O_WRONLY | os .O_CREATE | os .O_TRUNC , 0754 )
457+ if err != nil {
458+ fmt .Fprintf (w , "<p>Failed to copy Aegis executable: %s\n </p>" , err .Error ())
459+ return false
460+ }
461+ defer fout .Close ()
462+ _ , err = io .Copy (fout , f )
463+ if err != nil {
464+ fmt .Fprintf (w , "<p>Failed to copy Aegis executable: %s\n </p>" , err .Error ())
465+ return false
466+ }
467+ err = os .Chown (aegisPath , uid , gid )
468+ if err != nil {
469+ fmt .Fprintf (w , "<p>Failed to copy Aegis executable: %s\n </p>" , err .Error ())
470+ return false
471+ }
468472 }
469473 err = os .MkdirAll (ctx .Config .GitRoot , os .ModeDir | 0755 )
470474 if errors .Is (err , os .ErrExist ) {
@@ -610,13 +614,11 @@ func bindAllWebInstallerRoutes(ctx *WebInstallerRoutingContext) {
610614 uid , _ = strconv .Atoi (gitUser .Uid )
611615 gid , _ = strconv .Atoi (gitUser .Gid )
612616 }
613- fmt .Println ("fp" , ctx .Config .FilePath )
614617 if ctx .Config .Database .Type == "sqlite" {
615618 if gitUser == nil {
616619 fmt .Fprint (w , "<p class=\" warning\" >Failed to fild Git user's uid & gid when chowning sqlite database. You need to perform this action on your own after this installation process..." )
617620 } else {
618621 err := os .Chown (ctx .Config .ProperDatabasePath (), uid , gid )
619- fmt .Println ("prop" , ctx .Config .ProperDatabasePath ())
620622 if err != nil {
621623 fmt .Fprintf (w , "<p class=\" warning\" >Failed to chown sqlite database: %s. You need to perform this action on your own after this installation process..." , err .Error ())
622624 }
0 commit comments