aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-07-10 11:05:04 +0200
committerDmitry Vyukov <dvyukov@google.com>2018-07-10 11:05:04 +0200
commit7c31f7a78d203e44bc084128dde546e0450b93ff (patch)
tree0f0fb55479766ea5d7ed478176d4752e573c2053 /pkg
parent9fa03fa5c970be1fb41fe26cb2041ff4870ea7f0 (diff)
pkg/build: always do clean build for fuchsia
We frequently see boot errors like: [00010.201] 02991.03067> pkgsvr: 2018/06/30 23:39:41 system: failed to set system root from blob "ccbadb3901372b1e0fc5275f627f708bf3e5f3acfb0d4268638db0ff75fc7fd4": file does not exist or: [00003.691] 01126.01153> devmgr: launchpad /fs/blob/e66739acdd3d8efa3b7c9021e2107cf8431765c0b8eb0a1ec7f7dc7fd305f2f7 (pkgfs) failed: launchpad_vmo_from_file failure: -40 Presumably clean build may help.
Diffstat (limited to 'pkg')
-rw-r--r--pkg/build/fuchsia.go8
1 files changed, 3 insertions, 5 deletions
diff --git a/pkg/build/fuchsia.go b/pkg/build/fuchsia.go
index 076fcad10..265f2aa05 100644
--- a/pkg/build/fuchsia.go
+++ b/pkg/build/fuchsia.go
@@ -21,13 +21,10 @@ func (fu fuchsia) build(targetArch, vmType, kernelDir, outputDir, compiler, user
return fmt.Errorf("unsupported fuchsia arch %v", targetArch)
}
arch := sysTarget.KernelHeaderArch
- if _, err := osutil.RunCmd(10*time.Minute, kernelDir, "scripts/fx", "set", arch,
+ if _, err := osutil.RunCmd(time.Hour, kernelDir, "scripts/fx", "clean-build", arch,
"--packages", "garnet/packages/products/sshd"); err != nil {
return err
}
- if _, err := osutil.RunCmd(time.Hour, kernelDir, "scripts/fx", "full-build"); err != nil {
- return err
- }
for src, dst := range map[string]string{
"out/" + arch + "/images/fvm.blk": "image",
"out/" + arch + "/ssh-keys/id_ed25519": "key",
@@ -45,6 +42,7 @@ func (fu fuchsia) build(targetArch, vmType, kernelDir, outputDir, compiler, user
}
func (fu fuchsia) clean(kernelDir string) error {
- // Let's assume that fx always properly handles build without cleaning (until proven otherwise).
+ // We always do clean build because incremental build is frequently broken.
+ // So no need to clean separately.
return nil
}