Skip to content

Commit 7f2bc7a

Browse files
committed
Ensure we resolve even uninstallable packages in lockfile; undo package.IsLegacy change
1 parent b2c4c8c commit 7f2bc7a

File tree

2 files changed

+21
-7
lines changed

2 files changed

+21
-7
lines changed

internal/devpkg/package.go

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -412,13 +412,7 @@ func (p *Package) Versioned() string {
412412
}
413413

414414
func (p *Package) IsLegacy() bool {
415-
if !p.IsDevboxPackage() || p.isVersioned() {
416-
return false
417-
}
418-
if p.IsInstallable() {
419-
return false
420-
}
421-
return p.lockfile.Get(p.Raw).GetSource() == ""
415+
return p.IsDevboxPackage() && !p.isVersioned() && p.lockfile.Get(p.Raw).GetSource() == ""
422416
}
423417

424418
func (p *Package) LegacyToVersioned() string {
@@ -550,3 +544,12 @@ func (p *Package) StoreName() (string, error) {
550544
}
551545
return name, nil
552546
}
547+
548+
func (p *Package) EnsureUninstallableIsInLockfile() error {
549+
// TODO savil: Do we need the IsDevboxPackage check here?
550+
if !p.IsInstallable() || !p.IsDevboxPackage() {
551+
return nil
552+
}
553+
_, err := p.lockfile.Resolve(p.Raw)
554+
return err
555+
}

internal/impl/packages.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,17 @@ func (d *Devbox) ensurePackagesAreInstalled(ctx context.Context, mode installMod
242242
return err
243243
}
244244

245+
// Update lockfile with new packages that are not to be installed
246+
cfgPkgs, err := d.ConfigPackages()
247+
if err != nil {
248+
return err
249+
}
250+
for _, pkg := range cfgPkgs {
251+
if err := pkg.EnsureUninstallableIsInLockfile(); err != nil {
252+
return err
253+
}
254+
}
255+
245256
return d.lockfile.Save()
246257
}
247258

0 commit comments

Comments
 (0)