func (_ *Package) RenderCloudInit(t *cloudinit.CloudInitTarget, a, e, changes *Package) error { if e.Source != nil { localFile := path.Join(localPackageDir, e.Name) t.AddMkdirpCommand(localPackageDir, 0755) url := *e.Source t.AddDownloadCommand(cloudinit.Always, url, localFile) t.AddCommand(cloudinit.Always, "dpkg", "-i", localFile) } else { packageSpec := e.Name if e.Version != nil { packageSpec += " " + *e.Version } t.Config.Packages = append(t.Config.Packages, packageSpec) } return nil }