ostreedev / ostree-rs-ext

Rust library with higher level APIs on top of the core ostree API
Apache License 2.0
74 stars 24 forks source link

Can't pull/rebase to certain container image #592

Open karuboniru opened 7 months ago

karuboniru commented 7 months ago

Affected image is quay.io/karuboniru/ostree-container:f39-server, if trying to rebase to it or upgrading using it, bootc or rpm-ostree will yield a error message

error: Preparing import: Fetching manifest: Parsing manifest layout: Multiple entries for sha256:5f9d3dcf5281c5f6512471366be68bee46c2485eddf4fd1887da6b240712be5f

The image is build using following script https://github.com/karuboniru/karuboniru-server/blob/db651a659c9b5f1659ff79924bc853eb421e4544/.github/workflows/docker-publish.yml#L44-L51

While podman can pull the exact image and spawn container from it, so it is not the image itself being broken I believe.

karuboniru commented 7 months ago

skopeo inspect do says there are multiple layers with same hash

        "sha256:203f6a729082cc1bd3e47bda98cb5be257b3139be8d83687acdc69fe8ac3f822",
        "sha256:5f9d3dcf5281c5f6512471366be68bee46c2485eddf4fd1887da6b240712be5f",
        "sha256:370f274f6276879dfc688bde695274b59e4bc7821cfa6df3376b9137f6362bd5",
        "sha256:5f9d3dcf5281c5f6512471366be68bee46c2485eddf4fd1887da6b240712be5f",
        "sha256:fdc8f8877157ac55a48ce7d37ba6796cd05a9f421de4d68f898e36d96d84d994",
        "sha256:faf8a8303f76cf4a2b3cbb6e5795b2f042ed1732d63a301e23b0c7ad9343c376",
        "sha256:5f9d3dcf5281c5f6512471366be68bee46c2485eddf4fd1887da6b240712be5f",
        "sha256:53275e2de9ab3a89067d737425095a920d899e17080cc98fe1a577255d6e39c5",
        "sha256:5f313fa4c29d900a8a99c68a0c06efc04067279e5814613853283b780bf05ad6",
        "sha256:f3532fad88cb6afb5a3450f4b60c98c07828ac2a063bb5b5e1d9f9fae6de30bc",
        "sha256:1d94b894621d75b809723efee6dc13f816ba5531703cffc033ae24e34a73ddd5",
        "sha256:5f9d3dcf5281c5f6512471366be68bee46c2485eddf4fd1887da6b240712be5f",
        "sha256:7c7a75020561626a841572c19de37e79b426eda22505c065a3e9c7b45fc7685a",
        "sha256:2bec91f64524e5ba9d34967f5c08a6fb956d25b504b5f5b7be45e0e9bd294b27",
        "sha256:01bf68cb183f4dc63eed23d54b2d0a08f27ab4e47d03ddb5b75c859952013023",
        "sha256:f8de3b7cde209d8413aef3c160a7c7afbfd017a601f1022e195c8b951ca294ca",
        "sha256:3aa48f7afb81486d8d5b0af2b8f2e68454ba4e02094fb5fae232eb54f1867925",
        "sha256:e4c6d17979057fac8f615088f20f4cca9f3bdaac656b4a68a34663c20628d782",
        "sha256:5f9d3dcf5281c5f6512471366be68bee46c2485eddf4fd1887da6b240712be5f",
        "sha256:e45825ac459c68e871e595f5425731cc8632a8ea78521459f286fd0ec2b4e2c5",
        "sha256:4dc2b5b89e740162d7a23c4df0633b886e378fcb8a1c9a99bd81cf684bd9338a",
        "sha256:5f9d3dcf5281c5f6512471366be68bee46c2485eddf4fd1887da6b240712be5f",
        "sha256:af28a5bff5ec219b9937a4475c7eb03c0f613ee849db1b1083cdd2718eb270f6",
        "sha256:733ca9ac6863f49a235e92253aedaa20aa239bd8415aefc414024158b3c653ef",
        "sha256:eb7d1d6bf055997e2bda6c82e9bb830b98fc3f4e67fad815b65c9334ffd40b14",
        "sha256:5f9d3dcf5281c5f6512471366be68bee46c2485eddf4fd1887da6b240712be5f",
        "sha256:8e5ef338ca86561a8c2a33a8add30fb69fe1a04bb2e3f68a5ff2a85836749a36",
        "sha256:bbac02c54a55efc01435e9da01daea2a393a451103283bbf5b3725965f11e083",
        "sha256:fee7140bfef1860fce0e1cffeffbcbc3f5e8bea71b738fff3d0789dd2cc60d70",
        "sha256:bcd294fe0b19c01cc2994151f2f2109dd13821f3ff6d7ef4d625a902491d03bf",
        "sha256:945d23b0510eb6c774ddd1d4f3d87c051a26254bd63ee27200028b036970d698",
        "sha256:7e6b5ad3372eb4c84d37ce897ff2fa48635da290eee9fde696f125e870d261de",
        "sha256:5f9d3dcf5281c5f6512471366be68bee46c2485eddf4fd1887da6b240712be5f",
        "sha256:aa1b9f3a6c6c65b018ec83f7567083485d575d98df420ce672b7912d9f0f25ba",
        "sha256:235c4cb403f6cd71e2d85552e419f5f7396622b6bde463f169f326f25a50bb59",
        "sha256:96ed99b84ded58306548c76ed17d254a99408184266e68820e6a4589b546d01e",
        "sha256:5e24d2c4f43db1b0e0cac2ae5cb9a74955b669fd31f464b11863ae78eff99cfe",
        "sha256:edd202a6589d668836a47d34bac86d8d46cb799e8854ce59360250f9fea294be",
        "sha256:9a180c0070f4ab5c387f7cc1273cf4cb1d0fcbb0666c930337d88bf792f90cb7",
        "sha256:37efe465d5b3cbc774bb0038e729ca1f0232a99e560527995d16d6e1f66038ad",
        "sha256:7f3b17584656111de29ad9c65f237d9a2e30e0b21823cebfa2e5310454761414",
        "sha256:1666d78ba46b3f8d30b020436d2376ad33b6ba861bb97f060cc4704e28f08aa3",
        "sha256:79f4166ba9518d2bcc2bb161af2a4ff36baa339a7b9a421da0d603ad61f498cc",
        "sha256:5b31297415ffd3ce7278fb158dbbf451acbeaf6cd5b16c6efb4d416d62f81aeb",
        "sha256:c788b4681a75752f0a5c2099aba8b2f16fa6a144d4a4d67238a368df0707d505",
        "sha256:3763b40b90c34cae70a5ed540ee5f204bb6a20ab93eead80be35bccdc83be2ad",
        "sha256:b88ad03d268c4597d1687adbe4b5622ebc8905cad515aa0f3c65d5e95749bfca",
        "sha256:a9522be3520346c353cea2c9b8202817429fb6f487d974cdaecea410b51cd56d",
        "sha256:1d0cada91fcce8f7e20c996be861cfff3b1d4ae847cc751e43a8885acbc1e325",
        "sha256:92eb6699ca3396eb7d61eb62ed6c08c536dad07d0d3c61c5f26cb426d3f93ad9",
        "sha256:274e92fcf1220bf35a70cd35f8d432022b0dac98488d0122600c9ce1c9062b76",
        "sha256:16e4fbe07ca129215460c8b65135acbbac11266edd52b1eaeae5821c98a27f98",
        "sha256:f7da938d636b9f90cf5a6b1770dde6675f0802f6dc5852f7267aa3da8d4c98f1",
        "sha256:f079423447e7b222334aed88561552a4f505ae8d58dc6102e74f3f52d430ca26",
        "sha256:0d719a31236c1b6917a24a60a8251fe0126b14c8dc4d27ab4c575e3a4f3cec9c",
        "sha256:05851b92c6cf4fff9a0310c545212fa1b127c7501166a8d89d20c290690a2f64",
        "sha256:e8b1f953e0a31de7b69d1a96c75b5003a967f96b68732be66628ac628a53339b",
        "sha256:571933ca3b50ecc909f20643d3a795cb0d718677c664720fca53a179b75c7191",
        "sha256:f59796baa7849b4a25e3b5bc5c7b546f0299cdd22ff3ba585c6dd627d30865f8",
        "sha256:9116d30012e4187f71d0e168a927d291d1ec6c4935efcb64f885a458d1b089c2",
        "sha256:33006dadbedb911ae33f96f8314b1f6e4633bb786a9e0e431703332dbabbc715",
        "sha256:d58e14915057e6a5ea4d75a5983ce7a50c4d9809b813d32ecc4ab3a765cf8bff",
        "sha256:3713e485a1b086c7791eae4e8e6ab974b076f9951b2c611a7396b5d2a5f77aca",
        "sha256:ed841a501d8ec1542e6a831911c1ef264920af0167789ba4f94cf78e61f0466b",
        "sha256:5f9d3dcf5281c5f6512471366be68bee46c2485eddf4fd1887da6b240712be5f"

This is something said "Reserved for new packages". I believe the reason they exist is due to I am trying to remove something packages from my image and rpm-ostree is using information from previous build and wanted to reuse some layers to improve wire effiency that created those empty layer.

But I believe this image should be considered as vaild as podman do accept it.

cgwalters commented 7 months ago

Yes, we should definitely support this.