@@ -38,20 +38,12 @@ func (i *Installer) readMetadata() (*CursorMetadata, error) {
38
38
tmpFile .Close ()
39
39
defer os .Remove (tmpPath )
40
40
41
- cmd := exec .Command ("sudo" , "-S" , "cp " , metadataPath , tmpPath )
41
+ cmd := exec .Command ("sudo" , "-S" , "sh" , "-c" , fmt . Sprintf ( "cp %s %s && chmod 644 %s " , metadataPath , tmpPath , tmpPath ) )
42
42
cmd .Stdin = os .Stdin
43
43
cmd .Stdout = os .Stdout
44
44
cmd .Stderr = os .Stderr
45
45
if err := cmd .Run (); err != nil {
46
- return nil , fmt .Errorf ("failed to copy metadata file (sudo error): %v" , err )
47
- }
48
-
49
- cmd = exec .Command ("sudo" , "-S" , "chmod" , "644" , tmpPath )
50
- cmd .Stdin = os .Stdin
51
- cmd .Stdout = os .Stdout
52
- cmd .Stderr = os .Stderr
53
- if err := cmd .Run (); err != nil {
54
- return nil , fmt .Errorf ("failed to set permissions on temporary file (sudo error): %v" , err )
46
+ return nil , fmt .Errorf ("failed to copy and set permissions on metadata file (sudo error): %v" , err )
55
47
}
56
48
57
49
data , err := os .ReadFile (tmpPath )
@@ -85,20 +77,12 @@ func (i *Installer) writeMetadata(metadata *CursorMetadata) error {
85
77
}
86
78
tmpFile .Close ()
87
79
88
- cmd := exec .Command ("sudo" , "-S" , "mv" , tmpPath , metadataPath )
89
- cmd .Stdin = os .Stdin
90
- cmd .Stdout = os .Stdout
91
- cmd .Stderr = os .Stderr
92
- if err := cmd .Run (); err != nil {
93
- return fmt .Errorf ("failed to install metadata file (sudo error): %v" , err )
94
- }
95
-
96
- cmd = exec .Command ("sudo" , "-S" , "chmod" , "644" , metadataPath )
80
+ cmd := exec .Command ("sudo" , "-S" , "sh" , "-c" , fmt .Sprintf ("mv %s %s && chmod 644 %s" , tmpPath , metadataPath , metadataPath ))
97
81
cmd .Stdin = os .Stdin
98
82
cmd .Stdout = os .Stdout
99
83
cmd .Stderr = os .Stderr
100
84
if err := cmd .Run (); err != nil {
101
- return fmt .Errorf ("failed to set metadata file permissions (sudo error): %v" , err )
85
+ return fmt .Errorf ("failed to install and set permissions on metadata file (sudo error): %v" , err )
102
86
}
103
87
104
88
return nil
0 commit comments