Track installed packages

This commit is contained in:
sm
2018-03-06 00:10:31 -08:00
parent 78ebdd60ae
commit ba1b8c4706
3 changed files with 85 additions and 0 deletions
+11
View File
@@ -60,6 +60,13 @@ func Install(root string, pkgs []string) error {
}
for _, m := range ms {
already, err := db.IsInstalled(root, m)
if err != nil {
return errors.Wrapf(err, "is installed %v", m.Name)
}
if already {
return errors.Errorf("%v already installed!", m.Name)
}
if err := verifyManifestIntegrity(root, m); err != nil {
return errors.Wrap(err, "verifying pkg integrity")
}
@@ -85,6 +92,10 @@ func Install(root string, pkgs []string) error {
if err := os.Remove(filepath.Join(cacheDir, m.Pkg())); err != nil {
return errors.Wrapf(err, "cleaning up pkg %v", m.Pkg())
}
if err := db.AddInstalled(root, m); err != nil {
return errors.Wrapf(err, "adding ", m.Name)
}
}
return nil
}