Files
go-dpkg/dpkg/write.go
Matheus Sampaio Queiroga fb6024ec5d big update and move dpkg module
Signed-off-by: Matheus Sampaio Queiroga <srherobrine20@gmail.com>
2025-03-13 14:40:14 -03:00

25 lines
687 B
Go

package dpkg
import (
"fmt"
"io"
"sirherobrine23.com.br/sirherobrine23/go-dpkg/ar"
)
// NewDpkg creates a new dpkg file and return a writer to write the data.tar file
func NewDpkg(w io.Writer, dpkg *Dpkg) (wr io.Writer, err error) {
dpkgFile, err := ar.NewWriter(w)
if err != nil {
return nil, err
} else if _, err = dpkgFile.WriteFile([]byte("2.0\n"), &ar.Header{Filename: "debian-binary", Mode: 0644, Size: 4}); err != nil {
return
} else if err = dpkg.WriteTo(dpkgFile); err != nil {
return
} else if err = dpkgFile.WriteHeader(&ar.Header{Filename: fmt.Sprintf("data.tar%s", dpkg.Ext), Mode: 0644, Size: dpkg.Size}); err != nil {
return
}
wr = dpkgFile
return
}