mirror of
				https://github.com/restic/restic.git
				synced 2025-10-31 03:02:05 +00:00 
			
		
		
		
	helpers: Use version string in built binaries
This commit is contained in:
		| @@ -17,12 +17,14 @@ var opts = struct { | ||||
| 	Verbose   bool | ||||
| 	SourceDir string | ||||
| 	OutputDir string | ||||
| 	Version   string | ||||
| }{} | ||||
|  | ||||
| func init() { | ||||
| 	pflag.BoolVarP(&opts.Verbose, "verbose", "v", false, "be verbose") | ||||
| 	pflag.StringVarP(&opts.SourceDir, "source", "s", "/restic", "path to the source code `directory`") | ||||
| 	pflag.StringVarP(&opts.OutputDir, "output", "o", "/output", "path to the output `directory`") | ||||
| 	pflag.StringVar(&opts.Version, "version", "", "use `x.y.z` as the version for output files") | ||||
| 	pflag.Parse() | ||||
| } | ||||
|  | ||||
| @@ -108,6 +110,11 @@ func abs(dir string) string { | ||||
|  | ||||
| func build(sourceDir, outputDir, goos, goarch string) (filename string) { | ||||
| 	filename = fmt.Sprintf("%v_%v_%v", "restic", goos, goarch) | ||||
|  | ||||
| 	if opts.Version != "" { | ||||
| 		filename = fmt.Sprintf("%v_%v_%v_%v", "restic", opts.Version, goos, goarch) | ||||
| 	} | ||||
|  | ||||
| 	if goos == "windows" { | ||||
| 		filename += ".exe" | ||||
| 	} | ||||
|   | ||||
| @@ -339,12 +339,14 @@ func extractTar(filename, outputDir string) { | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func runBuild(sourceDir, outputDir string) { | ||||
| func runBuild(sourceDir, outputDir, version string) { | ||||
| 	msg("building binaries...") | ||||
| 	run("docker", "run", "--rm", | ||||
| 		"--volume", sourceDir+":/restic", | ||||
| 		"--volume", outputDir+":/output", | ||||
| 		"restic/builder") | ||||
| 		"restic/builder", | ||||
| 		"go", "run", "-mod=vendor", "helpers/build-release-binaries/main.go", | ||||
| 		"--version", version) | ||||
| } | ||||
|  | ||||
| func readdir(dir string) []string { | ||||
| @@ -443,7 +445,7 @@ func main() { | ||||
| 	exportTar(opts.Version, tarFilename) | ||||
|  | ||||
| 	extractTar(tarFilename, sourceDir) | ||||
| 	runBuild(sourceDir, opts.OutputDir) | ||||
| 	runBuild(sourceDir, opts.OutputDir, opts.Version) | ||||
| 	rmdir(sourceDir) | ||||
|  | ||||
| 	sha256sums(opts.OutputDir, filepath.Join(opts.OutputDir, "SHA256SUMS")) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Alexander Neumann
					Alexander Neumann