INNER CODE UNIT · Go

prepareSourceImg

container2wasm/container2wasm · cmd/c2w/main.go:319

func prepareSourceImg(builderPath, imgName, tmpdir, targetarch string) error {
	log.Printf("saving %q to %q\n", imgName, tmpdir)
	// TODO: check architecture
	needsPull := false
	if idata, err := exec.Command(builderPath, "image", "inspect", imgName).Output(); err != nil {
		needsPull = true
	} else if targetarch != "" {
		p, err := platforms.Parse(targetarch)
		if err != nil {
			return fmt.Errorf("failed to parse arch %q", targetarch)
		}
		mc := platforms.Only(p)
		inspectData := make([]map[string]interface{}, 1)
		if err := json.Unmarshal(idata, &inspectData); err != nil {
			return err
		}
		imageArch := inspectData[0]["Architecture"].(string)
		imagePlatform, err := platforms.Parse(imageArch)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…