find_unblocked_orphans.py generates false positive orphaned packages (due to 'or java-1.8.0-headless') #11460
Labels
No labels
after freeze
automation
backlog
blocked
change-ack
change-nak
change-noreleng
changes
Closed As
Can't Fix
Closed As
Duplicate
Closed As
Fixed
Closed As
Fixed with Explanation
Closed As
Get back later
Closed As
Grooming
Closed As
Insufficient data
Closed As
Invalid
Closed As
It's all good
Closed As
taiga
Closed As
upstream
day-to-day
dev
docs
easyfix
epel
f26
f27
f28
f29
f30
f31
f32
f33
f34
f35
f36
f37
f38
f39
f40
f41
f42
f43
f44
f45
fedora
groomed
high-gain
high-trouble
in-progress
in-review
investigation
legal
low-gain
low-trouble
mass rebuild
medium-gain
medium-trouble
meeting
mini-initiative
new_artifact
ops
pdc_retirement
rawhide
RCA
review
script
sidetarget
sprint-0
sprint-1
sprint-2
sprint-3
sprint-4
sprint-5
unfrozen
waiting on external
Backlog Status
Needs Review
Backlog Status
Ready
chore
documentation
points
01
points
02
points
03
points
05
points
08
points
13
Priority
High
Priority
Low
Priority
Medium
Sprint Status
Blocked
Sprint Status
Done
Sprint Status
In Progress
Sprint Status
Review
Sprint Status
To Do
Technical Debt
Work Item
Bug
Work Item
Epic
Work Item
Spike
Work Item
Task
Work Item
User Story
No milestone
No project
No assignees
6 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
releng/tickets#11460
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
https://churchyard.fedorapeople.org/orphans-2023-06-07.txt contains false positive information that jssc is orphaned because it requires java-1.8.0:
The jssc was successfully re-compiled for rawhide (f39 against java-17:
See the Requires:
Based on above 'Requires' the script https://pagure.io/releng/blob/main/f/scripts/find_unblocked_orphans.py should filter it out.
Pessimistically (assuming that all packages falls into the same category as jssc) 604 will be innocently orphaned. If above assumption is wrong (I checked it only for jssc), then at least jssc will be orphaned while it shouldn't.
Note that no listed package will actually be orphaned just because it is included in this output. Only packages that actually fail to install will get a bugzilla once that happens and will be orphaned weeks later if the bugzilla is ignored.
@churchyard , thanks for the clarification.
We could, at least, spare the log analysis for the people who are curious why their package is included in this list.
Metadata Update from @phsmoura:
Yes. However, the script is very old and I am unsure if it is possible to simply fix this without rewriting it from scratch.
Definitively not a low-trouble task.
Metadata Update from @humaton:
Metadata Update from @amedvede:
the newer place for the script is changed, and can be found here: https://forge.fedoraproject.org/releng/tooling/src/branch/main/packages/orphaned/find_unblocked_orphans.py
This is the new home for the culprint we discussed it on todays refinement meeting, it will land in one of next sprints.
@churchyard I looked into this last week and I think we can fix it without a full rewrite.
I think we would be able to solve this by adding two helper methods that use DNF's existing filter(provides=...) to check if requirements can be satisfied by other packages first one checks if a specific provide has alternatives available, second one verifies if a dependent package's full requirement set can be met without the orphaneed packages. This handles both simple alternative providers and rich dependencies.
No changes to the scripts interface or how it outputs results keeps everything backward compateible. We can look into log analysis if required as part 2? What do you think? Does this approach make sense or am I missing something?
It's worth trying 👍