Generate JSON report #4

Open
opened 2026-05-08 03:36:32 +00:00 by gotmax23 · 1 comment
Owner

Keep in mind that other tools (oraculum/packager-dashboard and goorphans) rely on the current schema, but that might have to change due to the way the new script structures its dependency analysis. goorphans is maintained by me as a supplement to find_unblocked_orphans.py currently and will need other changes as part of orphansv2 anyways, so no big deal there if the JSON output changes. Oraculum is hairier --- I don't know which parts of the current JSON report it relies on or who maintains it anymore after the Fedora QA downsizing. More investigation is needed.

Keep in mind that other tools (oraculum/packager-dashboard and [goorphans](https://codeberg.org/gotmax23/goorphans)) rely on the current schema, but that might have to change due to the way the new script structures its dependency analysis. goorphans is maintained by me as a supplement to `find_unblocked_orphans.py` currently and will need other changes as part of orphansv2 anyways, so no big deal there if the JSON output changes. Oraculum is hairier --- I don't know which parts of the current JSON report it relies on or who maintains it anymore after the Fedora QA downsizing. More investigation is needed.
Author
Owner

This is the current format represented as a Go struct (taken from https://codeberg.org/gotmax23/goorphans/src/branch/main/common/orphans.go):

type Orphans struct {
	Addresses                   []string             `json:"addresses"`
	AffectedPackages            map[string][]string  `json:"affected_packages"`
	AffectedPeople              map[string][]string  `json:"affected_people"`
	AllAffectedPeople           map[string][]string  `json:"all_affected_people"`
	FtbfsBreakingDeps           []string             `json:"ftbfs_breaking_deps"`
	FtbfsNotBreakingDeps        []string             `json:"ftbfs_not_breaking_deps"`
	GolangExemptions            []string             `json:"golang_exemptions,omitempty"`
	Orphans                     []string             `json:"orphans"`
	OrphansBreakingDeps         []string             `json:"orphans_breaking_deps"`
	OrphansBreakingDepsStale    []string             `json:"orphans_breaking_deps_stale"`
	OrphansNotBreakingDeps      []string             `json:"orphans_not_breaking_deps"`
	OrphansNotBreakingDepsStale []string             `json:"orphans_not_breaking_deps_stale"`
	StatusChange                map[string]time.Time `json:"status_change"`
	StartedAt                   *time.Time           `json:"started_at,omitempty"`
	FinishedAt                  *time.Time           `json:"finished_at,omitempty"`
}
This is the current format represented as a Go struct (taken from https://codeberg.org/gotmax23/goorphans/src/branch/main/common/orphans.go): ``` go type Orphans struct { Addresses []string `json:"addresses"` AffectedPackages map[string][]string `json:"affected_packages"` AffectedPeople map[string][]string `json:"affected_people"` AllAffectedPeople map[string][]string `json:"all_affected_people"` FtbfsBreakingDeps []string `json:"ftbfs_breaking_deps"` FtbfsNotBreakingDeps []string `json:"ftbfs_not_breaking_deps"` GolangExemptions []string `json:"golang_exemptions,omitempty"` Orphans []string `json:"orphans"` OrphansBreakingDeps []string `json:"orphans_breaking_deps"` OrphansBreakingDepsStale []string `json:"orphans_breaking_deps_stale"` OrphansNotBreakingDeps []string `json:"orphans_not_breaking_deps"` OrphansNotBreakingDepsStale []string `json:"orphans_not_breaking_deps_stale"` StatusChange map[string]time.Time `json:"status_change"` StartedAt *time.Time `json:"started_at,omitempty"` FinishedAt *time.Time `json:"finished_at,omitempty"` } ```
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
packaging/orphansv2#4
No description provided.