On Thursday, April 14, 2022 12:37:37 AM IDT Fabio Alessandro Locati wrote:
If I'm correct, we are looking for:
* packages that depend on
golang.org/x/crypto/ssh
* packages that contain at least a non-devel package (ie: a compiled part)
If my understand of repoquery is correct, this would be the command to get them:
sudo dnf repoquery -q --repo=rawhide{,-source} --whatrequires
"golang(golang.org/x/crypto/ssh)" --recursive | grep src$ | pkgname | sort |
uniq
That command does nothing to ensure that the packages contain binaries. `--recursive` also
includes packages that indirectly depend on `golang(golang.org/x/crypto/ssh)` (i.e.
package A depends on `golang(golang.org/x/crypto/ssh)` and package B depends on package A
which depends on `golang(golang.org/x/crypto/ssh)`, but package B doesn't directly
depend on `golang(golang.org/x/crypto/ssh)`). I am not sure that this works with packages
that use `%generate_buildrequires`, either.
Here is a better command:
```
sudo dnf repoquery -q --repo=rawhide --whatrequires
'golang(golang.org/x/crypto/ssh)' | xargs sudo dnf repoquery -q --repo=rawhide
--qf '%{sourcerpm}' | pkgname | xargs sudo dnf repoquery -q --repo=rawhide
--latest-limit 1 | pkgname
```
You can still add `--recursive` to the first repoquery command if we deem that necessary.
This command finds all the dependent dependant `-devel` packages, then finds the sourcerpm
name of each package (which is the same as `%{goname}`) and then checks if there is a
binary rpm with that name.
--
Thanks,
Maxwell G (@gotmax23)
Pronouns: He/Him/Him