Add Epoch to blueprints/freeze version string

If the Epoch is > 0 the it should be added to the front of the version,
separated by a colon.

Also include a depsolve package with a non-zero Epoch and adjust the
tests accordingly.
This commit is contained in:
Brian C. Lane 2020-01-30 16:02:28 -08:00 committed by Tom Gundersen
parent 8ccc95a473
commit b89475506e
3 changed files with 12 additions and 8 deletions

View file

@ -157,7 +157,7 @@ func createBaseDepsolveFixture() []rpmmd.PackageSpec {
return []rpmmd.PackageSpec{
{
Name: "dep-package3",
Epoch: 0,
Epoch: 7,
Version: "3.0.3",
Release: "1.fc30",
Arch: "x86_64",

View file

@ -857,7 +857,11 @@ func setPkgEVRA(dependencies []rpmmd.PackageSpec, packages []blueprint.Package)
return dependencies[i].Name >= pkg.Name
})
if i < len(dependencies) && dependencies[i].Name == pkg.Name {
packages[pkgIndex].Version = dependencies[i].Version + "-" + dependencies[i].Release + "." + dependencies[i].Arch
if dependencies[i].Epoch == 0 {
packages[pkgIndex].Version = fmt.Sprintf("%s-%s.%s", dependencies[i].Version, dependencies[i].Release, dependencies[i].Arch)
} else {
packages[pkgIndex].Version = fmt.Sprintf("%d:%s-%s.%s", dependencies[i].Epoch, dependencies[i].Version, dependencies[i].Release, dependencies[i].Arch)
}
} else {
// Packages should not be missing from the depsolve results
return fmt.Errorf("%s missing from depsolve results", pkg.Name)

File diff suppressed because one or more lines are too long