diff --git a/cmd/image-builder/main.go b/cmd/image-builder/main.go index b961b4e..2cac592 100644 --- a/cmd/image-builder/main.go +++ b/cmd/image-builder/main.go @@ -110,18 +110,23 @@ func cmdManifestWrapper(cmd *cobra.Command, args []string, w io.Writer, archChec return nil, err } - res, err := getOneImage(dataDir, distroStr, imgTypeStr, archStr) + img, err := getOneImage(dataDir, distroStr, imgTypeStr, archStr) if err != nil { return nil, err } if archChecker != nil { - if err := archChecker(res.Arch.Name()); err != nil { + if err := archChecker(img.Arch.Name()); err != nil { return nil, err } } - err = generateManifest(dataDir, blueprintPath, res, w, ostreeImgOpts, rpmDownloader) - return res, err + opts := &manifestOptions{ + BlueprintPath: blueprintPath, + Ostree: ostreeImgOpts, + RpmDownloader: rpmDownloader, + } + err = generateManifest(dataDir, img, w, opts) + return img, err } func cmdManifest(cmd *cobra.Command, args []string) error { diff --git a/cmd/image-builder/manifest.go b/cmd/image-builder/manifest.go index d1e4a0c..3b21097 100644 --- a/cmd/image-builder/manifest.go +++ b/cmd/image-builder/manifest.go @@ -12,7 +12,13 @@ import ( "github.com/osbuild/image-builder-cli/internal/manifestgen" ) -func generateManifest(dataDir, blueprintPath string, res *imagefilter.Result, output io.Writer, ostreeOpts *ostree.ImageOptions, rpmDownloader osbuild.RpmDownloader) error { +type manifestOptions struct { + BlueprintPath string + Ostree *ostree.ImageOptions + RpmDownloader osbuild.RpmDownloader +} + +func generateManifest(dataDir string, img *imagefilter.Result, output io.Writer, opts *manifestOptions) error { repos, err := newRepoRegistry(dataDir) if err != nil { return err @@ -20,21 +26,21 @@ func generateManifest(dataDir, blueprintPath string, res *imagefilter.Result, ou // XXX: add --rpmmd/cachedir option like bib mg, err := manifestgen.New(repos, &manifestgen.Options{ Output: output, - RpmDownloader: rpmDownloader, + RpmDownloader: opts.RpmDownloader, }) if err != nil { return err } - bp, err := blueprintload.Load(blueprintPath) + bp, err := blueprintload.Load(opts.BlueprintPath) if err != nil { return err } var imgOpts *distro.ImageOptions - if ostreeOpts != nil { + if opts.Ostree != nil { imgOpts = &distro.ImageOptions{ - OSTree: ostreeOpts, + OSTree: opts.Ostree, } } - return mg.Generate(bp, res.Distro, res.ImgType, res.Arch, imgOpts) + return mg.Generate(bp, img.Distro, img.ImgType, img.Arch, imgOpts) }