func()

in pkg/archive/spec.go [117:163]


func (s *Spec) Basename() (string, error) {
	o, ok := OSMap[s.Distro]
	if !ok {
		return "", fmt.Errorf("Distro not understood: '%s'", s.Distro)
	}

	extension := ExtensionMap[s.Distro]
	version := VersionMap[s.Distro]
	sanitizedArch := strings.ReplaceAll(s.Arch, "/", "")
	str := ""

	switch o {
	case "debian", "ubuntu":
		str = fmt.Sprintf("%[1]s_%[2]s-%[3]s%[4]su%[5]s_%[6]s.%[7]s",
			/* 1 */ s.Pkg,
			/* 2 */ s.Tag,
			/* 3 */ o,
			/* 4 */ version,
			/* 5 */ s.Revision,
			/* 6 */ sanitizedArch,
			/* 7 */ extension,
		)
	case "windows":
		str = fmt.Sprintf("%[1]s-%[2]s+azure-u%[3]s.%[4]s.%[5]s",
			/* 1 */ s.Pkg,
			/* 2 */ s.Tag,
			/* 3 */ s.Revision,
			/* 4 */ sanitizedArch,
			/* 5 */ extension,
		)
	default:
		arch, ok := rpmArchMap[s.Arch]
		if !ok {
			arch = s.Arch
		}
		str = fmt.Sprintf("%[1]s-%[2]s-%[3]s.%[4]s.%[5]s.%[6]s",
			/* 1 */ s.Pkg,
			/* 2 */ s.Tag,
			/* 3 */ s.Revision,
			/* 4 */ o,
			/* 5 */ arch,
			/* 6 */ extension,
		)
	}

	return str, nil
}