repology / repology-updater

Repology backend service to update repository and package data
https://repology.org
GNU General Public License v3.0
494 stars 173 forks source link

Returns packages that don't satisfy search criteria #655

Closed yurivict closed 4 years ago

yurivict commented 6 years ago

This query https://repology.org/metapackages/?search=&maintainer=yuri%40freebsd.org&category=&inrepo=freebsd&notinrepo=&repos=&families=&repos_newest=&families_newest=&outdated=on should return all outdated FreeBSD packages maintained by me.

It returns python:pycryptodome which is outdated on FreeBSD but isn't maintained by me.

AMDmi3 commented 6 years ago

True, because repository and maintainer conditions are checked independently, so it's shown because you are still a maintainer in dports. This specific problem will go away as soon as dports are updated, to properly fix it some database changes would be required.

mgorny commented 5 years ago

Bump. I'm also having major problems due to this bug. It seems that Funtoo (a Gentoo fork) includes a lot of Gentoo packages with outdated maintainer information. Then, e.g. when I'm searching for Gentoo packages maintained by proxy-maint@gentoo.org I'm getting a lot of results for packages that were maintained by us in the past.

AMDmi3 commented 4 years ago

I guess I have to force this, as there are repeated reports from at least Gentoo maintainers affected by this issue.

A short explanation of the problem and why it's not fixed yet. The problem is that In repo and Maintainer conditions in the project search are checked independently, so if you try to list packages maintainer by foo@gentoo.org in Gentoo it lists projects with have packages maintained by foo@gentoo.org AND packages in Gentoo, while it should list projects with packages in Gentoo AND maintained by foo@gentoo.org at the same time.

Fixing this is not quite straightforward due to how Repology database is designed and may make the query too slow and/or require additional tables with aggregate information which would slow down the update and eay the diskspace. So I've postponed this until long planned update process refactoring.

Since latter is unlikely to be ready soon, I'm starting to work on fixing this with the current codebase, even if there are (tolerable) drawbacks.

AMDmi3 commented 4 years ago

Btw, examples of this behaviour would be helpful. I have one affecting myself with FreeBSD/DPorts, but it may go away as soon as DPorts are updated.

mgorny commented 4 years ago

Example: https://repology.org/projects/?inrepo=gentoo&maintainer=proxy-maint%40gentoo.org

The first package on the list, 389-ds-base is reported wrongly.

AMDmi3 commented 4 years ago

@mgorny, does this look like the corrent and complete list of projects which should not be shown by https://repology.org/projects/?inrepo=gentoo&maintainer=proxy-maint%40gentoo.org

mgorny commented 4 years ago

Hmm, it looks correct, except for gevix2 that shouldn't be present. However, it was changed two days ago, so I suspect you may be using old data.

AMDmi3 commented 4 years ago

so I suspect you may be using old data

That would be correct - I've checked against local instance with data some days old. Okay, so we have a solution, will deploy tomorrow.

AMDmi3 commented 4 years ago

The fix is now live.

mgorny commented 4 years ago

Thanks, it seems to work correctly.