Skip to content

Commit 67b3163

Browse files
committed
cloudapi/v2: mark md5 signature as required in package metadata
Technically osbuild#4564 broke the api spec by marking a required field as non-required. Fix this by using allOf.
1 parent d08cedf commit 67b3163

File tree

4 files changed

+255
-229
lines changed

4 files changed

+255
-229
lines changed

Diff for: internal/cloudapi/v2/handler.go

+13-11
Original file line numberDiff line numberDiff line change
@@ -707,14 +707,16 @@ func stagesToPackageMetadata(stages []osbuild.RPMStageMetadata) []PackageMetadat
707707
for _, rpm := range md.Packages {
708708
packages = append(packages,
709709
PackageMetadata{
710-
Type: "rpm",
711-
Name: rpm.Name,
712-
Version: rpm.Version,
713-
Release: rpm.Release,
714-
Epoch: rpm.Epoch,
715-
Arch: rpm.Arch,
716-
Sigmd5: common.ToPtr(rpm.SigMD5),
717-
Signature: osbuild.RPMPackageMetadataToSignature(rpm),
710+
PackageMetadataCommon: PackageMetadataCommon{
711+
Type: "rpm",
712+
Name: rpm.Name,
713+
Version: rpm.Version,
714+
Release: rpm.Release,
715+
Epoch: rpm.Epoch,
716+
Arch: rpm.Arch,
717+
Signature: osbuild.RPMPackageMetadataToSignature(rpm),
718+
},
719+
Sigmd5: rpm.SigMD5,
718720
},
719721
)
720722
}
@@ -1419,8 +1421,8 @@ func (h *apiHandlers) PostDepsolveBlueprint(ctx echo.Context) error {
14191421
// packageSpecToPackageMetadata converts the rpmmd.PackageSpec to PackageMetadata
14201422
// This is used to return package information from the blueprint depsolve request
14211423
// using the common PackageMetadata format from the openapi schema.
1422-
func packageSpecToPackageMetadata(pkgspecs []rpmmd.PackageSpec) []PackageMetadata {
1423-
packages := make([]PackageMetadata, 0)
1424+
func packageSpecToPackageMetadata(pkgspecs []rpmmd.PackageSpec) []PackageMetadataCommon {
1425+
packages := make([]PackageMetadataCommon, 0)
14241426
for _, rpm := range pkgspecs {
14251427
// Set epoch if it is not 0
14261428

@@ -1429,7 +1431,7 @@ func packageSpecToPackageMetadata(pkgspecs []rpmmd.PackageSpec) []PackageMetadat
14291431
epoch = common.ToPtr(strconv.FormatUint(uint64(rpm.Epoch), 10))
14301432
}
14311433
packages = append(packages,
1432-
PackageMetadata{
1434+
PackageMetadataCommon{
14331435
Type: "rpm",
14341436
Name: rpm.Name,
14351437
Version: rpm.Version,

0 commit comments

Comments
 (0)