Bug#1140965: upload_history.nmu is dead data — always FALSE while NMUs exist
Fabio Ruhland <[email protected]> Sun, 28 Jun 2026 19:30:40 +0000
| Newsgroups | gmane.linux.debian.devel.quality-assurance |
|---|---|
| Message-ID | <2f4a0c33199b41f8a0f33db9bbb0b799__46944.194466208$1782675919$gmane$org@heilbronn.dhbw.de> |
--_000_2f4a0c33199b41f8a0f33db9bbb0b799heilbronndhbwde_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Package: qa.debian.org User: [email protected] Usertags: udd Severity: normal The `nmu` boolean in the upload_history table is never set: 0 of 997,602 rows are TRUE, while 38,052 uploads in the same table carry NMU version conventions in their version string (+nmuN or the non-maintainer revision form -z.N, Dev-Ref 5.11.2). The upload_history_nmus view aggregates this same always-FALSE column, so it reports no NMUs anywhere. Tools that try to identify non-maintainer uploads via upload_history.nmu therefore silently get zero results. We currently detect NMUs from the version string instead. Suggested resolution: either populate `nmu` (e.g. from the version-string conventions above), or document the column as unmaintained/deprecated and note the version-string approach so downstream users don't rely on it. Reproduction (against the public mirror): SELECT count(*) FILTER (WHERE nmu), count(*) FILTER (WHERE version ~ '\+nmu[0-9]+$' OR version ~ '-[0-9]+\.[0-9]+$') FROM upload_history; --_000_2f4a0c33199b41f8a0f33db9bbb0b799heilbronndhbwde_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable <html> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DWindows-1= 252"> <style type=3D"text/css" style=3D"display:none;"><!-- P {margin-top:0;margi= n-bottom:0;} --></style> </head> <body dir=3D"ltr"> <div id=3D"divtagdefaultwrapper" style=3D"font-size:12pt;color:#000000;font= -family:Calibri,Helvetica,sans-serif;" dir=3D"ltr"> <div>Package: qa.debian.org</div> <div>User: [email protected]</div> <div>Usertags: udd</div> <div>Severity: normal </div> <div><br> </div> <div> <div>The `nmu` boolean in the upload_history table is never set: 0 of 997,6= 02</div> <div>rows are TRUE, while 38,052 uploads in the same table carry NMU versio= n</div> <div>conventions in their version string (+nmuN or the non-maintainer</= div> <div>revision form -z.N, Dev-Ref 5.11.2). The upload_history_nmus view</div= > <div>aggregates this same always-FALSE column, so it reports no NMUs anywhe= re.</div> <div><br> </div> <div>Tools that try to identify non-maintainer uploads via upload_history.n= mu</div> <div>therefore silently get zero results. We currently detect NMUs from the= </div> <div>version string instead.</div> <div><br> </div> <div>Suggested resolution: either populate `nmu` (e.g. from the version-str= ing</div> <div>conventions above), or document the column as unmaintained/deprecated = and</div> <div>note the version-string approach so downstream users don't rely on it.= </div> <div><br> </div> <div>Reproduction (against the public mirror):</div> <div> SELECT count(*) FILTER (WHERE nmu),</div> <div> count(*) FILTER (WHERE version ~ '\&= #43;nmu[0-9]+$'</div> <div> = OR version ~ '-[0-9]+\.[0-9]+$')<= /div> <div> FROM upload_history;</div> </div> </div> </body> </html> --_000_2f4a0c33199b41f8a0f33db9bbb0b799heilbronndhbwde_--