archive: accept compression format parameter during instantiation (MR 25)

This commit is contained in:
Clayton Craft
2022-11-17 16:29:04 -08:00
parent c01b48ad25
commit 4e97990804
2 changed files with 12 additions and 10 deletions

View File

@@ -91,7 +91,7 @@ func main() {
log.Print("Generating for kernel version: ", kernVer) log.Print("Generating for kernel version: ", kernVer)
log.Print("Output directory: ", *outDir) log.Print("Output directory: ", *outDir)
if err := generateArchive("initramfs", workDir, []filelist.FileLister{ if err := generateArchive("initramfs", devinfo.InitfsCompression, workDir, []filelist.FileLister{
hookdirs.New("/usr/share/mkinitfs/dirs"), hookdirs.New("/usr/share/mkinitfs/dirs"),
hookdirs.New("/etc/mkinitfs/dirs"), hookdirs.New("/etc/mkinitfs/dirs"),
hookfiles.New("/usr/share/mkinitfs/files"), hookfiles.New("/usr/share/mkinitfs/files"),
@@ -107,7 +107,7 @@ func main() {
return return
} }
if err := generateArchive("initramfs-extra", workDir, []filelist.FileLister{ if err := generateArchive("initramfs-extra", devinfo.InitfsCompression, workDir, []filelist.FileLister{
hookfiles.New("/usr/share/mkinitfs/files-extra"), hookfiles.New("/usr/share/mkinitfs/files-extra"),
hookfiles.New("/etc/mkinitfs/files-extra"), hookfiles.New("/etc/mkinitfs/files-extra"),
hookscripts.New("/usr/share/mkinitfs/hooks-extra"), hookscripts.New("/usr/share/mkinitfs/hooks-extra"),
@@ -141,10 +141,10 @@ func bootDeploy(workDir, outDir, ubootBoardname string) error {
return bd.Run() return bd.Run()
} }
func generateArchive(name string, path string, features []filelist.FileLister) error { func generateArchive(name string, compressionFormat string, path string, features []filelist.FileLister) error {
log.Printf("== Generating %s ==\n", name) log.Printf("== Generating %s ==\n", name)
defer misc.TimeFunc(time.Now(), name) defer misc.TimeFunc(time.Now(), name)
a, err := archive.New() a, err := archive.New(archive.CompressFormat(compressionFormat))
if err != nil { if err != nil {
return err return err
} }

View File

@@ -28,16 +28,18 @@ const (
) )
type Archive struct { type Archive struct {
items archiveItems items archiveItems
cpioWriter *cpio.Writer cpioWriter *cpio.Writer
buf *bytes.Buffer buf *bytes.Buffer
compress_format CompressFormat
} }
func New() (*Archive, error) { func New(format CompressFormat) (*Archive, error) {
buf := new(bytes.Buffer) buf := new(bytes.Buffer)
archive := &Archive{ archive := &Archive{
cpioWriter: cpio.NewWriter(buf), cpioWriter: cpio.NewWriter(buf),
buf: buf, buf: buf,
compress_format: format,
} }
return archive, nil return archive, nil