2017-08-02 17:24:03 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
// GetPkgbuild gets the pkgbuild of the package 'pkg' trying the ABS first and then the AUR trying the ABS first and then the AUR.
|
|
|
|
|
|
|
|
// RemovePackage removes package from VCS information
|
|
|
|
func removeVCSPackage(pkgs []string) {
|
|
|
|
for _, pkgName := range pkgs {
|
|
|
|
for i, e := range savedInfo {
|
|
|
|
if e.Package == pkgName {
|
|
|
|
savedInfo[i] = savedInfo[len(savedInfo)-1]
|
|
|
|
savedInfo = savedInfo[:len(savedInfo)-1]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
_ = saveVCSInfo()
|
|
|
|
}
|
|
|
|
|
2017-10-14 16:11:47 +00:00
|
|
|
// CleanDependencies removes all dangling dependencies in system
|
2018-01-04 00:59:57 +00:00
|
|
|
func cleanDependencies() error {
|
2017-08-02 17:24:03 +00:00
|
|
|
hanging, err := hangingPackages()
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
if len(hanging) != 0 {
|
|
|
|
if !continueTask("Confirm Removal?", "nN") {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
err = cleanRemove(hanging)
|
|
|
|
}
|
|
|
|
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
// CleanRemove sends a full removal command to pacman with the pkgName slice
|
2018-01-04 00:59:57 +00:00
|
|
|
func cleanRemove(pkgNames []string) (err error) {
|
|
|
|
if len(pkgNames) == 0 {
|
2017-08-02 17:24:03 +00:00
|
|
|
return nil
|
|
|
|
}
|
2018-01-19 14:51:18 +00:00
|
|
|
|
2018-02-08 22:51:43 +00:00
|
|
|
oldvalue := config.NoConfirm
|
|
|
|
config.NoConfirm = true
|
2018-01-04 00:59:57 +00:00
|
|
|
arguments := makeArguments()
|
2018-02-08 22:51:43 +00:00
|
|
|
arguments.addArg("R")
|
2018-01-04 00:59:57 +00:00
|
|
|
arguments.addTarget(pkgNames...)
|
|
|
|
err = passToPacman(arguments)
|
2018-02-08 22:51:43 +00:00
|
|
|
config.NoConfirm = oldvalue
|
2017-08-02 17:24:03 +00:00
|
|
|
return err
|
|
|
|
}
|