I have requested an epel8 branch for the credcheck package: https://src.fedoraproject.org/rpms/credcheck which has been created without a problem but I had to rename the package. The repo is still named credcheck (as is the package for fedora) but the package for epel8 is named postgresql16-credcheck. I have tried to create a koji build using fedpkg build but it fails with: BuildError: package postgresql16-credcheck not in list for tag epel8-testing-candidate
fedpkg build
BuildError: package postgresql16-credcheck not in list for tag epel8-testing-candidate
That is expected. The Name field is required to match the spec file name, which in turn must match the distgit repo name. When you requested the credcheck distgit repo, automation added credcheck to the allowed package list for f43 tag. When you requested the epel8 branch on that repo, automation added it to the allowed package list for the epel8 tag.
Name
carl ~ ❯ koji list-pkgs --package credcheck Package Tag Extra Arches Owner ----------------------- ----------------------- ---------------- --------------- credcheck epel8 psloboda credcheck f43 psloboda
The postgresql16-credcheck package has never been added to any tags.
carl ~ ❯ koji list-pkgs --package postgresql16-credcheck 2025-05-16 11:58:39,719 [ERROR] koji: GenericError: No such entry in table package: postgresql16-credcheck
What is the logic behind trying to use a different name for EPEL 8? There are ways to use that name if it truly makes sense, but I'd like to understand the reasoning first.
Metadata Update from @jnsamyak: - Issue tagged with: investigation
Hi,
the reason is we are expecting to be adding the plugin into epel8 for other postgresql versions and the package works only with the version of postgresql it was built with. Therefore the name change is to differentiate between the postgresql versions the package was built with. This isn't necessary with fedora as the package is available only for the distribution default version of postgresql.
Regards,
Sloboda Pavol.
On Fri, May 16, 2025 at 7:03=E2=80=AFPM Carl George pagure@pagure.io wrot= e:
carlwgeorge added a new comment to an issue you are following: ` That is expected. [TheName` field is required to match the spec file name]( https://docs.fedoraproject.org/en-US/packaging-guidelines/#_spec_file_nam= ing), which in turn must match the distgit repo name. When you requested the credcheck distgit repo, automation added credcheck to the allowed package list for f43 tag. When you requested the epel8 branch on that repo, automation added it to the allowed package list for the epel8 tag. ``` carl ~ =E2=9D=AF koji list-pkgs --package credcheck Package Tag Extra Arches Owner ----------------------- ----------------------- ---------------- credcheck epel8 psloboda credcheck f43 psloboda ``` The postgresql16-credcheck package has never been added to any tags. carl ~ =E2=9D=AF koji list-pkgs --package postgresql16-credcheck 2025-05-16 11:58:39,719 [ERROR] koji: GenericError: No such entry in tabl= e package: postgresql16-credcheck What is the logic behind trying to use a different name for EPEL 8? Ther= e are ways to use that name if it truly makes sense, but I'd like to understand the reasoning first. `` To reply, visit the link below or just reply to this email https://pagure.io/releng/issue/12738
carlwgeorge added a new comment to an issue you are following: ` That is expected. [TheName` field is required to match the spec file name]( https://docs.fedoraproject.org/en-US/packaging-guidelines/#_spec_file_nam= ing), which in turn must match the distgit repo name. When you requested the credcheck distgit repo, automation added credcheck to the allowed package list for f43 tag. When you requested the epel8 branch on that repo, automation added it to the allowed package list for the epel8 tag.
` That is expected. [The
``` carl ~ =E2=9D=AF koji list-pkgs --package credcheck Package Tag Extra Arches Owner
credcheck epel8 psloboda
credcheck f43 psloboda
```
carl ~ =E2=9D=AF koji list-pkgs --package postgresql16-credcheck 2025-05-16 11:58:39,719 [ERROR] koji: GenericError: No such entry in tabl= e package: postgresql16-credcheck
What is the logic behind trying to use a different name for EPEL 8? Ther= e are ways to use that name if it truly makes sense, but I'd like to understand the reasoning first.
``
To reply, visit the link below or just reply to this email https://pagure.io/releng/issue/12738
Why not build credcheck against the default postgresql (what you get when you "install postgresql") and then have compat packages (or even postgresqlNN-credcheck packages) for the other versions?
FWIW, I am pretty sure there is only one postgresql version available to build against in epel8.
epel8 'flattens' modules, only taking default ones and puts them all in a buildroot. There's no way to enable other non default module streams.
@mschorm
I wanted to get around the overhead of having to manage multiple repos when there is only one version for rawhide and one version for epel8 so far. I know I will have to do it eventually but I wanted to see if there are other options before doing that.
Hi, @james @kevin yes, the situation is complicated.
The main goal is to add credcheck for single specific non-default version of postgresql (v16).
Why not build credcheck ... default ... and then have compat packages ... for the other versions?
And we also want to avoid building and supporting other versions, as there is no request for them and we must take our capacity into the account.
Furthermore the plugin must be built against the target server version to work with it.
We chose to build a small part of the PG server inside of the credcheck to build against, and then only ship the credcheck plugin. Ugly, yet the only sane workaround for building "against" (or rather "for") other module versions.
If we would want to build credcheck against more versions, we would need to make it even more complicated, as we would need to build the PG server for each module stream we would want to target. And then build credcheck against each.
We neither want nor have capacity to maintain this matrix.
Can you just add coditionals to the credcheck spec, to only on epel8 produce only a single binary package called 'postgresql16-credcheck' and on fedora/other places build whatever you do now?
That way 'credcheck' is still the source package, but it makes the binary package you wish out of it?
I have resolved this by keeping the Name of the package credcheck and renaming the output rpms by creating a %package inside the specfile named postgresql16-credcheck and renaming the -selinux subpackage to postgresql16-credcheck-selinux. This produces a source rpm named credcheck but all the correctly named output rpms.
Metadata Update from @psloboda: - Issue close_status updated to: Fixed with Explanation - Issue status updated to: Closed (was: Open)
Log in to comment on this ticket.