5
5
"os"
6
6
"os/exec"
7
7
"path/filepath"
8
+
9
+ "github.com/pkg/errors"
8
10
)
9
11
10
12
// DarwinPkgTask packaging for darwin as pkg
@@ -22,7 +24,7 @@ var DarwinPkgTask = &packagingTask{
22
24
23
25
payload , err := os .OpenFile (filepath .Join ("flat" , "base.pkg" , "Payload" ), os .O_RDWR | os .O_CREATE , 0755 )
24
26
if err != nil {
25
- return "" , nil
27
+ return "" , err
26
28
}
27
29
28
30
cmdFind := exec .Command ("find" , "." )
@@ -34,37 +36,37 @@ var DarwinPkgTask = &packagingTask{
34
36
// Pipes like this: find | cpio | gzip > Payload
35
37
cmdCpio .Stdin , err = cmdFind .StderrPipe ()
36
38
if err != nil {
37
- return "" , nil
39
+ return "" , err
38
40
}
39
41
cmdGzip .Stdin , err = cmdCpio .StderrPipe ()
40
42
if err != nil {
41
- return "" , nil
43
+ return "" , err
42
44
}
43
45
cmdGzip .Stdout = payload
44
46
45
47
err = cmdGzip .Start ()
46
48
if err != nil {
47
- return "" , nil
49
+ return "" , err
48
50
}
49
51
err = cmdCpio .Start ()
50
52
if err != nil {
51
- return "" , nil
53
+ return "" , err
52
54
}
53
55
err = cmdFind .Run ()
54
56
if err != nil {
55
- return "" , nil
57
+ return "" , err
56
58
}
57
59
err = cmdCpio .Wait ()
58
60
if err != nil {
59
- return "" , nil
61
+ return "" , err
60
62
}
61
63
err = cmdGzip .Wait ()
62
64
if err != nil {
63
- return "" , nil
65
+ return "" , err
64
66
}
65
67
err = payload .Close ()
66
68
if err != nil {
67
- return "" , nil
69
+ return "" , err
68
70
}
69
71
70
72
cmdMkbom := exec .Command ("mkbom" , "-u" , "0" , "-g" , "80" , filepath .Join ("flat" , "root" ), filepath .Join ("flat" , "base.pkg" , "Payload" ))
@@ -82,7 +84,7 @@ var DarwinPkgTask = &packagingTask{
82
84
return nil
83
85
})
84
86
if err != nil {
85
- return "" , nil
87
+ return "" , errors . Wrap ( err , "failed to iterate over " )
86
88
}
87
89
88
90
cmdXar := exec .Command ("xar" , append ([]string {"--compression" , "none" , "-cf" , filepath .Join (".." , outputFileName )}, files ... )... )
@@ -91,7 +93,7 @@ var DarwinPkgTask = &packagingTask{
91
93
cmdXar .Stderr = os .Stderr
92
94
err = cmdXar .Run ()
93
95
if err != nil {
94
- return "" , nil
96
+ return "" , errors . Wrap ( err , "failed to run xar" )
95
97
}
96
98
return outputFileName , nil
97
99
},
0 commit comments