latex3 / l3build

A testing and building system for LaTeX
LaTeX Project Public License v1.3c
88 stars 16 forks source link

Should it be `bugs` to fix a bug in bugtracker? #380

Open samcarter opened 3 months ago

samcarter commented 3 months ago

Related to https://fosstodon.org/@Cs137@chaos.social/112874734124443803

It seems that for packages submitted via l3build, the bugtracker information is missing on ctan.

I'm wondering if the line

https://github.com/latex3/l3build/blob/main/l3build-upload.lua#L269

ctan_field("bugtracker",   uploadconfig.bugtracker,    255, "URL(s) of bug tracker",               false, true  )

should read

ctan_field("bugs",   uploadconfig.bugtracker,    255, "URL(s) of bug tracker",               false, true  )

to match the field name given at https://ctan.org/help/submit ?

(feel free to edit the punny title, I could not resist)

muzimuzhi commented 3 months ago

The field name bugtracker was once used by the deprecated v1.0 of the API (https://ctan.org/help/submit/1.0). The newest version is 1.1.

I'll try if I can provide a PR.

samcarter commented 3 months ago

@muzimuzhi Thanks for the API archaeology! This explains why l3build uses bugtracker.

davidcarlisle commented 3 months ago

@muzimuzhi thanks, that appears to be the only difference between the listed fields.

muzimuzhi commented 3 months ago

I found there are inconsistencies in fields and their docs among each 2-pair of

For example,

I've reported these findings to CTAN and after CTAN updates its API doc to be more consistent, I'll provide another PR to sync our use of CTAN API to its latest doc.

muzimuzhi commented 3 months ago

CTAN has confirmed that bugs field name was indeed a typo. Now https://ctan.org/help/submit#validation.parameters lists bugtracker again.

Quoting part of an email response from CTAN member Gerd Neugebauer:

Please keep in mind that the upload via the API or the Web site is only part of the process. The data is not stored in the catalogue automatically. Normally a upload manager comes along and transfers the submission into the catalogue. This could also be the origin of the error.

To investigate further I would like to have a the real upload (name of the package and date of upload). Then I could try to investigate further what happened: The upload is logged in the database. A mail is sent to the upload managers containing the collected fields. A mail is sent when the publication is completed.

@Cs137 I've provided the upload for doibanner 0.3 2024-07-28 as an example (CTAN Announcement), and suggested using chaos.social or this issue for direct contacting with you.

josephwright commented 3 months ago

So we close?

muzimuzhi commented 3 months ago

Not yet. Gerd checked the doibanner 0.3 2024-07-28 upload and found

The information has not made it into the log entry for the upload. This means that the field has not been sent or the controller has a bug. I will continue to think about it tomorrow.

So there's still some mysteries.

I feel most packages already have their Bug tracker field set on CTAN before their adoption of l3build, and even after the adoption their updates may not be done by l3build upload. Therefore the doibanner case, a new package uploaded to CTAN by l3build automatically, is relatively rare.

Using l3build repository as an example, after running l3build ctan && l3build upload --debug, the HTTP response from https://httpbin.org/post does contain

{
  ...
  "form": {
    "author": "The LaTeX Team",
    "bugtracker": "https://github.com/latex3/l3build/issues",
    ...
  }
}

We may need another real auto update to collect more info.