@@ -136,8 +136,10 @@ func (ArchLinux) Package(info *nfpm.Info, w io.Writer) error {
136136 if err != nil {
137137 return err
138138 }
139+ defer zw .Close ()
139140
140141 tw := tar .NewWriter (zw )
142+ defer tw .Close ()
141143
142144 entries , totalSize , err := createFilesInTar (info , tw )
143145 if err != nil {
@@ -157,14 +159,17 @@ func (ArchLinux) Package(info *nfpm.Info, w io.Writer) error {
157159 return fmt .Errorf ("create mtree: %w" , err )
158160 }
159161
160- err = createScripts (info , tw )
161- if err != nil {
162+ if err = createScripts (info , tw ); err != nil {
162163 return fmt .Errorf ("create scripts: %w" , err )
163164 }
164165
165166 // finalize the tar/zstd writer before creating the signature
166- tw .Close ()
167- zw .Close ()
167+ if err = tw .Close (); err != nil {
168+ return fmt .Errorf ("closing data tarball: %w" , err )
169+ }
170+ if err = zw .Close (); err != nil {
171+ return fmt .Errorf ("closing zstd writer: %w" , err )
172+ }
168173
169174 if info .ArchLinux .Signature .KeyFile != "" || info .ArchLinux .Signature .SignFn != nil {
170175 sig , err := createSignature (info )
@@ -439,6 +444,9 @@ func createSignature(info *nfpm.Info) ([]byte, error) {
439444 var sig []byte
440445 if signFn := info .ArchLinux .Signature .SignFn ; signFn != nil {
441446 sig , err = signFn (data )
447+ if err != nil {
448+ return nil , fmt .Errorf ("create signature: %w" , err )
449+ }
442450 } else {
443451 sig , err = sign .PGPDetachedSignWithKeyID (data , info .ArchLinux .Signature .KeyFile , info .ArchLinux .Signature .KeyPassphrase , info .ArchLinux .Signature .KeyID )
444452 if err != nil {
0 commit comments