Skip to content

Commit 792dcb8

Browse files
committed
Fix missing extensions in RHCOS release browser for 4.16+
- Fix an issue where extensions were not displayed in the RHCOS release browser for versions 4.16 and later. Signed-off-by: Renata Ravanelli <[email protected]>
1 parent 73cfeb1 commit 792dcb8

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

cmd/build-extensions-container.go

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,32 @@ func buildExtensionContainer() error {
185185
SizeInBytes: float64(stat.Size()),
186186
SkipCompression: true,
187187
}
188-
cosaBuild.MetaStamp = float64(time.Now().UnixNano())
189188

189+
fmt.Printf("Generating meta package extensions for: %s\n", buildID)
190+
extensionsFilePath:= "./tmp/extensions.json"
191+
fileContent, err := os.ReadFile(extensionsFilePath)
192+
if err != nil {
193+
fmt.Printf("Error reading JSON file: %v\n", err)
194+
return err
195+
}
196+
// Parse the JSON content into a map
197+
packages := make(map[string]string)
198+
err = json.Unmarshal(fileContent, &packages)
199+
if err != nil {
200+
fmt.Printf("Error parsing JSON content: %v\n", err)
201+
return err
202+
}
203+
204+
// Convert to extensionsInterfaceMap
205+
extensionsInterfaceMap := make(map[string]interface{})
206+
for key, value := range packages {
207+
extensionsInterfaceMap[key] = value
208+
}
209+
210+
cosaBuild.Extensions = &cosa.Extensions {
211+
Manifest: extensionsInterfaceMap,
212+
}
213+
cosaBuild.MetaStamp = float64(time.Now().UnixNano())
190214
newBytes, err := json.MarshalIndent(cosaBuild, "", " ")
191215
if err != nil {
192216
return err

src/build-extensions-container.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ if [[ -f "${workdir}/src/config.json" ]]; then
2424
fi
2525

2626
mkdir "${ctx_dir}/hotfixes"
27+
mkdir "${ctx_dir}/package_extensions"
2728
tar -xC "${ctx_dir}/hotfixes" -f /dev/disk/by-id/virtio-hotfixes
2829

2930
# Build the image, replacing the FROM directive with the local image we have.
@@ -33,7 +34,9 @@ img=localhost/extensions-container
3334
(set -x; podman build --from oci-archive:"$ostree_ociarchive" --network=host \
3435
--build-arg COSA=true --build-arg VARIANT="${variant}" --label version="$buildid" \
3536
--volume /etc/pki/ca-trust:/etc/pki/ca-trust:ro \
37+
--volume "${ctx_dir}/package_extensions:/extensions" \
3638
-t "${img}" -f extensions/Dockerfile "${ctx_dir}")
39+
mv "${ctx_dir}/package_extensions/extensions.json" ./tmp
3740

3841
# Call skopeo to export it from the container storage to an oci-archive.
3942
(set -x; skopeo copy "containers-storage:${img}" oci-archive:"$filename")

0 commit comments

Comments
 (0)