Bug 15530

Summary: Display a "deprecation candidate" status on RRS recipe page
Product: [Yocto Project Subprojects] Recipe Reporting System (RRS) Reporter: Yoann Congal <yoann.congal>
Component: Recipe Reporting System (RRS)Assignee: Unassigned <unassigned>
Status: NEW --- QA Contact: apoorv sangal <apoorvsangal>
Severity: enhancement    
Priority: Medium+ CC: Ajay.Mahajan, randy.macleod, tim.orling
Version: unspecified   
Target Milestone: 6.1 M1   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know

Description Yoann Congal 2024-06-27 16:36:57 UTC
(This bug is a followup of a discussion in 20240607 bug triage meeting, then on IRC)

By combining data from :
* devtool lastest-version (or RSS "Upstream-status" code) => to ensure the recipe has the lastest upstream version
* and, SOURCE_DATE_EPOCH (which represent the date of the upstream release)

..., we can (maybe) create a short list of deprecation candidate recipes : recipe that has no upstream release for a long time. And display this status on the recipe page.

Ideas bounced a little but the first steps (or rough ideas...) would be:
* (re)discover how RSS track the upstream status (linked to devtool latest-version)
  * RSS code : https://git.yoctoproject.org/layerindex-web/tree/rrs
* Add SOURCE_DATE_EPOCH to AUH output (SOURCE_DATE_EPOCH is computed at build-time and not available with parsing-only) 
  * ... layerindex can consume generated data from the AB :
    * On AB: example of a script to output the data to json https://git.yoctoproject.org/yocto-autobuilder-helper/tree/scripts/list-yp-compatible-layers.py
    * On Layerindex: script to use that JSON output to update the database https://git.yoctoproject.org/layerindex-web/tree/layerindex/tools/mark_yp_compatible_layers.py
    * ... so some similar concept will create the data we need and ingest it. Then it becomes a cronjob script or something like that (AUH) to automate it, as far as possible.
    * ... Plus some kind of new UI to display the information.
Comment 1 Tim Orling 2024-06-27 16:47:40 UTC
Somewhat related is deprecating layers or marking them as not updated.
https://bugzilla.yoctoproject.org/show_bug.cgi?id=14781

We also need to actually use LAYERSERIES_COMPAT to tell us if a layer should even be listed anymore...
https://bugzilla.yoctoproject.org/show_bug.cgi?id=7792

roughly 200 layers are listed in "master" but not any current stable release branch. Since roughly 'sumo' layers without LAYERSERIES_COMPAT would throw a warning.
Comment 2 Tim Orling 2024-06-27 16:49:55 UTC
Also, in a run of AUH, the "Unmatched" (where the upstream regex is not working) is not reported anywhere, so we don't really know what isn't being caught.
Comment 3 Yoann Congal 2024-07-14 13:48:34 UTC
Another first step can be: Add a (disabled by default) QA check for SOURCE_EPOCH older than a certain threshold (variable but arbitrarily default to 10 years). Interested parties can enable this warning for their builds to see if they have old SW.
Comment 4 Yoann Congal 2025-11-06 10:57:03 UTC
Bulk move to 6.0 M1
Comment 5 Yoann Congal 2026-04-03 09:25:41 UTC
(Unassigning myself since a do not realistically have the time to work on this)
Comment 6 Randy MacLeod 2026-04-03 19:49:35 UTC
WR is using RRS and so maybe Hongxu or Qi will pick up the enhancement.
Comment 7 Yoann Congal 2026-09-29 06:16:55 UTC
Related patch sent: [PATCH v3 0/3] spdx: add support to include releaseTime - daniel.turull
https://lore.kernel.org/all/20260928190400.3908822-1-daniel.turull@ericsson.com/