@@ -87,7 +87,14 @@ func adjustTar(reader *tar.Reader, writer *tar.Writer, prefixDir string, adjusts
87
87
if ! strings .HasSuffix (prefixDir , "/" ) {
88
88
return fmt .Errorf ("prefix dir %q must have a trailing /" , prefixDir )
89
89
}
90
-
90
+ writer .WriteHeader (& tar.Header {
91
+ Name : prefixDir ,
92
+ Typeflag : tar .TypeDir ,
93
+ Mode : 0755 ,
94
+ ModTime : time .Now (),
95
+ AccessTime : time .Now (),
96
+ ChangeTime : time .Now (),
97
+ })
91
98
file:
92
99
for {
93
100
header , err := reader .Next ()
@@ -203,36 +210,6 @@ func fixupCrossCompile(target *releasetargets.Target) adjustFunc {
203
210
}
204
211
}
205
212
206
- // dropDirs drops all directory entries.
207
- func dropDirs () adjustFunc {
208
- return func (h * tar.Header ) * tar.Header {
209
- if h .Typeflag == tar .TypeDir {
210
- return nil
211
- }
212
- return h
213
- }
214
- }
215
-
216
- // clearUserFields empties out all user and group fields.
217
- func clearUserFields () adjustFunc {
218
- return func (h * tar.Header ) * tar.Header {
219
- h .Uid , h .Gid , h .Uname , h .Gname = 0 , 0 , "" , ""
220
- return h
221
- }
222
- }
223
-
224
- // setTimes sets all timestamps to t.
225
- func setTimes (t time.Time ) adjustFunc {
226
- return func (h * tar.Header ) * tar.Header {
227
- h .ModTime = t
228
- // Access/ChangeTime are only supported on PAX and GNU tar.
229
- if h .Format != tar .FormatUSTAR {
230
- h .AccessTime , h .ChangeTime = t , t
231
- }
232
- return h
233
- }
234
- }
235
-
236
213
const (
237
214
goDir = "go"
238
215
go14 = "go1.4"
@@ -483,7 +460,7 @@ type darwinDistData struct {
483
460
}
484
461
485
462
// ConvertPKGToTGZ converts a macOS installer (.pkg) to a .tar.gz tarball.
486
- func (b * BuildletStep ) ConvertPKGToTGZ (ctx * workflow.TaskContext , in io.Reader , timestamp time. Time , out io.Writer ) error {
463
+ func (b * BuildletStep ) ConvertPKGToTGZ (ctx * workflow.TaskContext , in io.Reader , out io.Writer ) error {
487
464
if err := b .Buildlet .Put (ctx , in , "go.pkg" , 0400 ); err != nil {
488
465
return err
489
466
}
@@ -508,11 +485,7 @@ func (b *BuildletStep) ConvertPKGToTGZ(ctx *workflow.TaskContext, in io.Reader,
508
485
reader := tar .NewReader (gzReader )
509
486
gzWriter := gzip .NewWriter (out )
510
487
writer := tar .NewWriter (gzWriter )
511
- if err := adjustTar (reader , writer , "go/" , []adjustFunc {
512
- dropDirs (),
513
- clearUserFields (),
514
- setTimes (timestamp ),
515
- }); err != nil {
488
+ if err := adjustTar (reader , writer , "go/" , nil ); err != nil {
516
489
return err
517
490
}
518
491
if err := writer .Close (); err != nil {
0 commit comments