pkgcore / pkgcheck

pkgcore-based QA utility for ebuild repos
https://pkgcore.github.io/pkgcheck
BSD 3-Clause "New" or "Revised" License
35 stars 29 forks source link

[Bug]: RdependChange unnecessarily triggered on package moves #647

Open mgorny opened 8 months ago

mgorny commented 8 months ago

Is there an existing issue for this?

Current Behavior

When moving a package and updating all revdeps, pkgcheck reports them all as:

dev-python/gdb-pt-dump
  RdependChange: version 0.0.0_p20231111: RDEPEND modified without revbump

dev-python/pydevd
  RdependChange: version 2.9.5: RDEPEND modified without revbump
  RdependChange: version 2.10.0: RDEPEND modified without revbump

Expected Behavior

Results suppressed. I suppose the "easy way out" would be to apply pkgmoves to old_pkg.rdepend.

pkgcheck version

0.10.26

pkgcore version

0.12.24

arthurzam commented 8 months ago

I'm afraid it won't be that simple, if we go with the simple idea you brought up. Currently it performs old.rdepend != new.rdepend, which inside does tree comparison between the restricts data structure. I see no implementation for "applying modification on that tree", and traversing the tree and apply/compare at each point is very hard.

I'm afraid for pkgmoves, which happen quite rarely, we maybe can "live with" this bug. I'll still not close it, since it is still a bug, but I'm afraid it is more complicated to solve than the gain.