diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-07-10 11:05:04 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-07-10 11:05:04 +0200 |
| commit | 7c31f7a78d203e44bc084128dde546e0450b93ff (patch) | |
| tree | 0f0fb55479766ea5d7ed478176d4752e573c2053 /pkg | |
| parent | 9fa03fa5c970be1fb41fe26cb2041ff4870ea7f0 (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.go | 8 |
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 } |
