mirror of
https://github.com/containers/podman.git
synced 2025-08-06 19:44:14 +08:00

Moving from Go module v4 to v5 prepares us for public releases. Move done using gomove [1] as with the v3 and v4 moves. [1] https://github.com/KSubedi/gomove Signed-off-by: Matt Heon <mheon@redhat.com>
32 lines
806 B
Go
32 lines
806 B
Go
package stdpull
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/containers/podman/v5/pkg/machine/compression"
|
|
"github.com/containers/podman/v5/pkg/machine/define"
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
type StdDiskPull struct {
|
|
finalPath *define.VMFile
|
|
inputPath *define.VMFile
|
|
}
|
|
|
|
func NewStdDiskPull(inputPath string, finalpath *define.VMFile) (*StdDiskPull, error) {
|
|
ip, err := define.NewMachineFile(inputPath, nil)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &StdDiskPull{inputPath: ip, finalPath: finalpath}, nil
|
|
}
|
|
|
|
func (s *StdDiskPull) Get() error {
|
|
if _, err := os.Stat(s.inputPath.GetPath()); err != nil {
|
|
// could not find disk
|
|
return err
|
|
}
|
|
logrus.Debugf("decompressing (if needed) %s to %s", s.inputPath.GetPath(), s.finalPath.GetPath())
|
|
return compression.Decompress(s.inputPath, s.finalPath.GetPath())
|
|
}
|