Ok this has evolve a bit…
i`ve tried to sync this into even fresh installed spacewalk ( actually oracle linux manager(OLM) 2.10) and it fails the very same way as our production OLM…665 packages success to sync and 457 fails to sync.
Now oracle support suggests that OLM is metadata compliant ( whatever that means…i am waiting for details ), so I have compared packer that IS imported/download/synced successfully and one that is failing to sync
HI, again,
Thank you Mr. Atkins for response over github isssue.
Finally i`ve got some output from oracle support so
Packages ae required to have beside NEVRA metadata ( Name Epoch Version Revison Architecture)
also
package checksum
signing checksum
Now comparing successfully syncable packer ( packer-1.7.4-1.x86_64.rpm ) with a packer version failed to sync ( packer-1.8.1-1.x86_64.rpm ) shows differences on various metadata example below
So overall seems that build process has changed because half of packages im yum RHEL8 repo is syncable, other half isn`t… and various metadata are missing…
THnx
Dusan
It looks like whatever software HashiCorp are using to make the RPMs now, has discontinued including legacy SHA-1 checksums in RPM headers.
That’s not too crazy, considering SHA-1 is considered a broken algorithm nowadays … but seems to pose a problem for this legacy Oracle software.
Hopefully someone from HashiCorp sees this thread and can consider re-adding the legacy hashes for compatibility … though really Oracle should fix their software too … good luck!
I’m not personally familiar with the intimate details of how the RPM repository is set up, but your hypothesis here seems plausible because all of HashiCorp’s open source projects are in the process of moving to a new release pipeline that handles these derived packages (everything except the .zip files on releases.hashicorp.com) differently.
With that said though: I believe the software which is constructing these indices is not HashiCorp-specific and is instead using some typical standard tools for managing RPM repositories. The removal of SHA1 support is probably therefore an upstream decision, which has appeared for us now only because this new pipeline is using a newer version of that software.
The priority for these repositories is being compatible with the official installation tools that ship with each of the supported operating systems, so we cannot promise compatibility with third-party software which has different requirements and expectations than the main system package manager. Given that SHA1 is obsolete and no longer an effective checksum algorithm, I agree that contacting your vendor for updated software is the most appropriate next step.
Problem is that half of a hashicorp repo( in this case RHEL8) is valid and second half is invalid
so something has changed, and the build pipeline for rpm packages does not fill metadata available before.
I know this might be a problem that is quite on the edge of an interest…but this prevents us from using hashicorp repo in an enterprise manner ( local repository sync then deliver to servers when needed, auditable, and so on…)
Still very thanx for a valuable discussion here and interest on moving this issue forward.
drunkez
The build step that produces the .rpm and .deb files is open source, over here:
This is outside of my direct scope of influence so I cannot promise anything about how that could potentially evolve in future, but if you have ideas for how it could be improved to be more compatible with third-party software then you could open an issue in that repository so the release engineering team can consider it. Any changes made there will be adopted into the build process for Terraform and anything else using the new release pipeline.
If someone did want to directly propose a fix to this upstream then indeed the HashiCorp-specific GitHub Action could adopt it.
I was assuming that the goal here was to share the use-case for HashiCorp’s release engineering team to consider, since nFPM is even further out of my area of influence but if the upstream nFPM maintainers did want to address this then I assume HashiCorp release engineering team would indeed just adopt the updated version, as long as the new version produces something that’s backward-compatible to the old.
Well further i am digging into it …stranger it gets
PKGID metadata flag is calculated out of Name Version Release Architecture and optional Epoch ( NVRAE )
so a punch question is, how is it that pkgID is missing since packer 1.8.1
SO pretty much I am on a way to create my own test environment and i`ll try to reproduce an issue…
i have no other option just to reverse engineer whole process I suppose:)
Thnx
D