浏览代码

Added Repo install with flags. Added Headers for AUR install

Jguer 8 年之前
父节点
当前提交
f6440ee5c1
共有 2 个文件被更改,包括 20 次插入11 次删除
  1. 10 10
      aur.go
  2. 10 1
      repo.go

+ 10 - 10
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

+ 10 - 1
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",