diff --git a/mixin/build.go b/mixin/build.go index b6bc92e..6006ff4 100644 --- a/mixin/build.go +++ b/mixin/build.go @@ -135,6 +135,13 @@ func buildMix(prepNeeded bool) error { return err } mixVer := incrementMixVerIfNeeded(ver*1000, mixFlagFile) + + err = os.Chdir(mixWS) + if err != nil { + _ = os.Remove(mixFlagFile) + return err + } + b, err := builder.NewFromConfig(filepath.Join(mixWS, "builder.conf")) if err != nil { _ = os.Remove(mixFlagFile) @@ -152,12 +159,6 @@ func buildMix(prepNeeded bool) error { // generation. b.State.Mix.PreviousMixVer = strconv.Itoa(lastVer) - err = os.Chdir(mixWS) - if err != nil { - _ = os.Remove(mixFlagFile) - return err - } - if prepNeeded { var rpms []string rpms, err = helpers.ListVisibleFiles(b.Config.Mixer.LocalRPMDir) diff --git a/mixin/repo.go b/mixin/repo.go index caf9299..8ead040 100644 --- a/mixin/repo.go +++ b/mixin/repo.go @@ -108,12 +108,13 @@ func runAddRepo(cmd *cobra.Command, args []string) { if err != nil { fail(err) } - b, err := builder.NewFromConfig(configFile) + + err = os.Chdir(mixWS) if err != nil { fail(err) } - err = os.Chdir(mixWS) + b, err := builder.NewFromConfig(configFile) if err != nil { fail(err) } @@ -135,12 +136,13 @@ func runRemoveRepo(cmd *cobra.Command, args []string) { if err != nil { fail(err) } - b, err := builder.NewFromConfig(configFile) + + err = os.Chdir(mixWS) if err != nil { fail(err) } - err = os.Chdir(mixWS) + b, err := builder.NewFromConfig(configFile) if err != nil { fail(err) } @@ -157,12 +159,13 @@ func runListRepos(cmd *cobra.Command, args []string) { if err != nil { fail(err) } - b, err := builder.NewFromConfig(configFile) + + err = os.Chdir(mixWS) if err != nil { fail(err) } - err = os.Chdir(mixWS) + b, err := builder.NewFromConfig(configFile) if err != nil { fail(err) } @@ -178,10 +181,6 @@ func runInitRepo(cmd *cobra.Command, args []string) { if err != nil { fail(err) } - b, err := builder.NewFromConfig(configFile) - if err != nil { - fail(err) - } // save working directory so we can come back, // this function may be called other than by commandline @@ -198,6 +197,11 @@ func runInitRepo(cmd *cobra.Command, args []string) { _ = os.Chdir(wd) }() + b, err := builder.NewFromConfig(configFile) + if err != nil { + fail(err) + } + err = b.NewDNFConfIfNeeded() if err != nil { fail(err) @@ -210,12 +214,12 @@ func runSetURLRepo(cmd *cobra.Command, args []string) { fail(err) } - b, err := builder.NewFromConfig(configFile) + err = os.Chdir(mixWS) if err != nil { fail(err) } - err = os.Chdir(mixWS) + b, err := builder.NewFromConfig(configFile) if err != nil { fail(err) }