racket / racket-pkg-website

A frontend for the Racket Package Catalog.
Other
11 stars 16 forks source link

Some packages have no author and no sources #60

Open jackfirth opened 7 years ago

jackfirth commented 7 years ago

Each of the following packages has no authors and no package source, making them impossible to install and it's unclear who to contact about fixing them:

I suggest removing these packages from the catalog. The way the build system currently works, they're repeatedly bumped to the top of the "recently updated" list and drown out other, actually recently updated packages.

gregid commented 7 years ago

as mentioned on Slack, I believe the author of pointless and niceware is: https://gitlab.com/users/ether-ash/projects

jackfirth commented 7 years ago

I've opened a GitLab issue for the niceware and pointless packages. Thank you @gregid for tracking the author down!

gregid commented 7 years ago

@jackfirth regarding autoff - this looks like an incorrect package created by @samvv , the correct one is also there: https://pkgs.racket-lang.org/package/autoffi

ghost commented 7 years ago

I can confirm that this is the case. Sorry, I probably should have mailed somebody. 

-------- Original message -------- From: gregid notifications@github.com Date: 12/09/2017 21:54 (GMT+01:00) To: tonyg/racket-pkg-website racket-pkg-website@noreply.github.com Cc: Sam Vervaeck vervaeck.sam@skynet.be, Mention mention@noreply.github.com Subject: Re: [tonyg/racket-pkg-website] Some packages have no author and no   sources (#60)

@jackfirth regarding autoff - this looks like an incorrect package created by @samvv , the correct one is also there: https://pkgs.racket-lang.org/package/autoffi

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/tonyg/racket-pkg-website","title":"tonyg/racket-pkg-website","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/tonyg/racket-pkg-website"}},"updates":{"snippets":[{"icon":"PERSON","message":"@gregid in #60: @jackfirth regarding autoff - this looks like an incorrect package created by @samvv , the correct one is also there: https://pkgs.racket-lang.org/package/autoffi"}],"action":{"name":"View Issue","url":"https://github.com/tonyg/racket-pkg-website/issues/60#issuecomment-328966417"}}}

jackfirth commented 7 years ago

@samvv No worries, thank you for the confirmation :)

jackfirth commented 7 years ago

I did a few manual UI tests with the package creation form at https://pkgd.racket-lang.org/pkgn/create. Here are my findings:

gregid commented 7 years ago

@jackfirth what would happen if the git repository is moved as was probably the case with pointless and niceware? Wouldn't it cause these problems?

jackfirth commented 7 years ago

@gregid The package source wouldn't be updated in the catalog, so attempting to install the package would likely fail when a client attempted to clone the repository. AFAIK that wouldn't cause the "Authors" field in the catalog entry to disappear.

jeapostrophe commented 7 years ago

It is not a problem to create a package with other authors, because there can be many people working on a package.

I removed the other packages so @samvv can recreate them with an author listed.

jackfirth commented 7 years ago

It is not a problem to create a package with other authors, because there can be many people working on a package.

That makes sense. But what I meant was that the package creation UI lets you create a package with a list of authors where the currently logged in user is not in the list, which seems dangerous. I think the server should enforce that the user making the creation request has their email in the list of authors for the package.

jackfirth commented 7 years ago

I removed the other packages so @samvv can recreate them with an author listed.

@jeapostrophe Did you remove the pointless and niceware packages as well? We found out who the author is for those packages (see the GitLab issue I opened), and I'd have preferred that we gave them a chance to respond before deleting the packages. I should have updated the initial issue to reflect that, sorry.

jeapostrophe commented 7 years ago

Yes, I deleted them, because they had no author, so the author wouldn't have been able to change them if they wanted to.

jackfirth commented 7 years ago

We could have asked the author for the email address they used (or found it via their GitLab profile) and fixed the packages. Deleting them without warning seems a little user-hostile.

sorawee commented 4 years ago

More packages with the same problem:

sorawee commented 3 years ago

OK, I think what's going on here is that these packages were deleted via the "Delete package" button. pkg-index uses filesystem as the database, so it simply deletes a file that contains the package data. It looks like somewhere in the system the information of the deleted packages are not purged correctly, so when it attempts to update the information, an error occurs. In an attempt to record the error message, it recreates the package with empty source.

One thing that doesn't look right to me is the refresh-packages function from this repo, which simply union local packages with remote packages. This doesn't take the possibility of package deletion into account.

Summary: either pkg-index or something that calls pkg-index (like https://github.com/racket/libs/blob/master/pack-and-upload.rkt?) or both doesn't handle package deletion correctly. The system might potentially be in a state where the invariant (package exists iff package data file exists) doesn't hold. Without an access to the server, I can't tell how bad things are, though.

sorawee commented 3 years ago

After racket/pkg-index#29 is merged, currently dead packages are still needed to be removed up manually.

sorawee commented 3 years ago

More dead packages (in addition to the one commented above):

jeapostrophe commented 3 years ago

I removed 'em

sorawee commented 3 years ago

Thanks!

I think the issue can be now closed, unless we want to keep it open since the root cause (as detailed in https://github.com/racket/racket-pkg-website/issues/60#issuecomment-894864449) is not yet identified.