From f6440ee5c19a2068c29597302cf694aa7d17ad0b Mon Sep 17 00:00:00 2001 From: Jguer Date: Wed, 7 Sep 2016 11:06:12 +0100 Subject: [PATCH] Added Repo install with flags. Added Headers for AUR install --- aur.go | 20 ++++++++++---------- repo.go | 11 ++++++++++- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/aur.go b/aur.go index a24e06a2..472327ae 100644 --- a/aur.go +++ b/aur.go @@ -195,6 +195,10 @@ func (a AurResult) getDepsFromRPC() (final []string, err error) { return } +func installAURPackage(pkgList string) (err error) { + return err +} + func (a AurResult) getAURDependencies() (err error) { _, err = a.getDepsFromRPC() @@ -210,10 +214,6 @@ func (a AurResult) installResult() (err error) { } tarLocation := BuildDir + a.Name + ".tar.gz" - // err = os.MkdirAll(BuildDir+a.Name, 0755) - // if err != nil { - // return - // } err = downloadFile(tarLocation, BaseURL+a.URLPath) if err != nil { @@ -225,15 +225,10 @@ func (a AurResult) installResult() (err error) { return } - err = os.Chdir(BuildDir + a.Name) - if err != nil { - return - } - a.getAURDependencies() os.Exit(0) - fmt.Print("\x1b[32m==> Edit PKGBUILD? (y/n)\033[0m") + fmt.Print("\033[1m\x1b[32m==> Edit PKGBUILD? (y/n)\033[0m") var response string fmt.Scanln(&response) if strings.ContainsAny(response, "y & Y") { @@ -244,6 +239,11 @@ func (a AurResult) installResult() (err error) { err = editcmd.Run() } + err = os.Chdir(BuildDir + a.Name) + if err != nil { + return + } + makepkgcmd := exec.Command(MakepkgBin, "-sri") makepkgcmd.Stdout = os.Stdout makepkgcmd.Stderr = os.Stderr diff --git a/repo.go b/repo.go index ea449cae..6a33170f 100644 --- a/repo.go +++ b/repo.go @@ -29,6 +29,16 @@ func getInstalledPackage(pkg string) (err error) { return } +// InstallPackage handles repo installs +func InstallPackage(pkg string, flags ...string) (err error) { + cmd := exec.Command(PacmanBin, "-S", pkg, strings.Join(flags, " ")) + cmd.Stdout = os.Stdout + cmd.Stdin = os.Stdin + cmd.Stderr = os.Stderr + err = cmd.Run() + return nil +} + // SearchPackages handles repo searches func SearchPackages(pkg string) (search RepoSearch, err error) { cmdOutput, err := exec.Command(PacmanBin, "-Ss", pkg).Output() @@ -67,7 +77,6 @@ func isInRepo(pkg string) bool { } func (s RepoSearch) printSearch(index int) (err error) { - for i, result := range s.Results { if index != SearchMode { fmt.Printf("%d \033[1m%s/\x1B[33m%s \x1B[36m%s\033[0m\n%s\n",