mixin: Change directory before loading state file

The state file uses relative file paths, but Mixin does not create a
mix inside the current working directory. Changing the current working
directory to the mix directory solves relative file path issues for the
state file.

Signed-off-by: John Akre <john.w.akre@intel.com>
This commit is contained in:
John Akre
2019-04-25 18:23:40 +02:00
committed by Rodrigo Chiossi
parent a2304e5b3a
commit bbcdedb420
2 changed files with 23 additions and 18 deletions
+7 -6
View File
@@ -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)
+16 -12
View File
@@ -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)
}