Hello.
I need to repoquery rawhide and rawhide-source for dependency on python3-toml.
Unfortunately, due to pyproject-rpm-macros, 413 packages BuildRequire:
(python3dist(toml) if python3-devel < 3.11)
I am not interested in this dependency because python3-devel on rawhide is 3.11+.
When I run a naïve repoquery on my Fedora 35 machine (with python3-devel 3.10), like this:
$ repoquery --repo=rawhide{,-source} --whatrequires python3-toml
I get all the 413 packages in the results. I kinda expected that.
I've tried:
$ repoquery --installroot ~/tmp/non-existent ... --whatrequires python3-toml
No dice, returns the same list as the first repoquery.
Then I've tried to podman into a rawhide container and run a repoquery there. When I have no pytohn3-devel installed or when I have python3-devel 3.11+ installed in the container, I still get all the packages that BR (python3dist(toml) if python3-devel < 3.11) only.
How do I filter them out?
I came up with this monstrosity:
for pkg in $(repoquery --repo=rawhide{,-source} --whatrequires python3-toml) do repoquery -q --repo=rawhide{,-source} --requires $pkg | \ grep -Fv '(python3dist(toml) if python3-devel < 3.11)' | \ grep -Eq '\btoml\b' && echo $pkg done | tee toml-requires
But it is very slow and might contain false finds.
Do you know a better trick?
V Wed, Oct 05, 2022 at 11:22:27AM +0200, Miro Hrončok napsal(a):
Hello.
I need to repoquery rawhide and rawhide-source for dependency on python3-toml.
Unfortunately, due to pyproject-rpm-macros, 413 packages BuildRequire:
(python3dist(toml) if python3-devel < 3.11)
I am not interested in this dependency because python3-devel on rawhide is 3.11+.
When I run a naïve repoquery on my Fedora 35 machine (with python3-devel 3.10), like this:
$ repoquery --repo=rawhide{,-source} --whatrequires python3-toml
I get all the 413 packages in the results. I kinda expected that.
I've tried:
$ repoquery --installroot ~/tmp/non-existent ... --whatrequires python3-toml
No dice, returns the same list as the first repoquery.
I feel repoquery should respect --installroot. It needs to take @system repository (i.e. installad packages) from somewhere. --instalroot is that place. If DNF does not do that, I recommend filing a bug.
-- Petr
On 05. 10. 22 14:15, Petr Pisar wrote:
V Wed, Oct 05, 2022 at 11:22:27AM +0200, Miro Hrončok napsal(a):
Hello.
I need to repoquery rawhide and rawhide-source for dependency on python3-toml.
Unfortunately, due to pyproject-rpm-macros, 413 packages BuildRequire:
(python3dist(toml) if python3-devel < 3.11)
I am not interested in this dependency because python3-devel on rawhide is 3.11+.
When I run a naïve repoquery on my Fedora 35 machine (with python3-devel 3.10), like this:
$ repoquery --repo=rawhide{,-source} --whatrequires python3-toml
I get all the 413 packages in the results. I kinda expected that.
I've tried:
$ repoquery --installroot ~/tmp/non-existent ... --whatrequires python3-toml
No dice, returns the same list as the first repoquery.
I feel repoquery should respect --installroot. It needs to take @system repository (i.e. installad packages) from somewhere. --instalroot is that place. If DNF does not do that, I recommend filing a bug.
I've opened https://bugzilla.redhat.com/show_bug.cgi?id=2132462