extract binaries with .exe name on windows
License: MIT Signed-off-by: Jeromy <why@ipfs.io>
Jeromy committed
Aug 1, 2016 at 05:00 UTC
fca5b34449c2d390b6e876a263d3c41e6f17a1bb
2 files changed
+14
-3
repo/fsrepo/migrations/migrations.go
+13
-2
@@ -25,8 +25,18 @@ func init() {
25
26
const migrations = "fs-repo-migrations"
27
28
+func migrationsBinName() string {
29
+ switch runtime.GOOS {
30
+ case "windows":
31
+ return migrations + ".exe"
32
+ default:
33
+ return migrations
34
+ }
35
+}
36
+
37
func RunMigration(newv int) error {
29
- migrateBin := "fs-repo-migrations"
38
+ migrateBin := migrationsBinName()
39
+
40
fmt.Println(" => checking for migrations binary...")
41
42
var err error
@@ -78,7 +88,7 @@ func GetMigrations() (string, error) {
88
return "", fmt.Errorf("tempdir: %s", err)
89
}
90
81
- out := filepath.Join(dir, migrations)
91
+ out := filepath.Join(dir, migrationsBinName())
92
93
err = GetBinaryForVersion(migrations, migrations, DistPath, latest, out)
94
if err != nil {
@@ -202,6 +212,7 @@ func GetBinaryForVersion(distname, binnom, root, vers, out string) error {
212
switch runtime.GOOS {
213
case "windows":
214
archive = "zip"
215
+ binnom += ".exe"
216
default:
217
archive = "tar.gz"
218
}
repo/fsrepo/migrations/unpack.go
+1
-1
@@ -87,7 +87,7 @@ func unpackZip(dist, binnom, path, out string) error {
87
88
var bin io.ReadCloser
89
for _, fis := range zipr.File {
90
- if fis.Name == dist+"/"+binnom+".exe" {
90
+ if fis.Name == dist+"/"+binnom {
91
rc, err := fis.Open()
92
if err != nil {
93
return fmt.Errorf("error extracting binary from archive: %s", err)