Skip to content

Commit e5aa9f0

Browse files
committed
feat[close #193]: ABRoot doesn't check if package exists before removing it
1 parent c97de7e commit e5aa9f0

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

core/packages.go

+13-3
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,17 @@ func (p *PackageManager) Remove(pkg string) error {
227227
// Check for package manager status and user agreement
228228
err := p.CheckStatus()
229229
if err != nil {
230-
PrintVerboseErr("PackageManager.Add", 0, err)
230+
PrintVerboseErr("PackageManager.Remove", 0, err)
231+
return err
232+
}
233+
234+
// Check if package exists in repo
235+
// FIXME: this should also check if the package is actually installed
236+
// in the system, not just if it exists in the repo. Since this is a distro
237+
// specific feature, I'm leaving it as is for now.
238+
err = p.ExistsInRepo(pkg)
239+
if err != nil {
240+
PrintVerboseErr("PackageManager.Remove", 2, err)
231241
return err
232242
}
233243

@@ -248,7 +258,7 @@ func (p *PackageManager) Remove(pkg string) error {
248258
// Unstaged will take care of the rest
249259
pkgsAdd, err := p.GetAddPackages()
250260
if err != nil {
251-
PrintVerboseErr("PackageManager.Remove", 2, err)
261+
PrintVerboseErr("PackageManager.Remove", 3, err)
252262
return err
253263
}
254264
for i, ap := range pkgsAdd {
@@ -262,7 +272,7 @@ func (p *PackageManager) Remove(pkg string) error {
262272
// Abort if package is already removed
263273
pkgsRemove, err := p.GetRemovePackages()
264274
if err != nil {
265-
PrintVerboseErr("PackageManager.Remove", 2.1, err)
275+
PrintVerboseErr("PackageManager.Remove", 4, err)
266276
return err
267277
}
268278
for _, p := range pkgsRemove {

0 commit comments

Comments
 (0)