[racket] the current package submission system is a mess

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Wed Nov 5 20:53:34 EST 2014

Hi Ryan,


On Wed, Nov 5, 2014 at 7:14 PM, Ryan Davis <zenspider at gmail.com> wrote:
> The package submission system is hostile and incredibly frustrating to use.
>
> I've tried a bazillion times now to submit a package (check-sexp-equal) and ensure that:
>
> 1) the source points to a git repo properly: it keeps going to an https url and then fails on install because it doesn't have a MANIFEST file. Subsequent changes to git: protocol urls get reverted silently.

When you use an HTTP(S) URL that points to a directory, such as
"https://github.com/zenspider/check-sexp-equal/" then this means to
take the directory and look for a MANIFEST file with a list of the
other files to get. This is because HTTP does not provide a directory
browsing feature. This is documented where package sources are [1] in
bullet four, labeled "a remote URL naming a directory".

You probably meant to name a Github repository, with the syntax...
git://github.com/‹user›/‹repo›

If you look at an example package, such as samth's abnf [2], you'll
see that his source is: "git://github.com/samth/abnf". For
convenience, the Web site makes this package source and Web link to
the Github WWW interface, "http://github.com/samth/abnf/tree/master".
But that link is not the source. The source is thing displayed next to
"Source:".

It is possible that we could make something like, "I see you are using
HTTPS for a Github package, are you sure that's what you want?"
Similarly, it is not intuitive that the "Copy link address" isn't a
good thing to copy for the source, although I'm afraid I'm at a loss
for where else would be a better place to put the link to the source
code. Do you have any ideas?

1. http://docs.racket-lang.org/pkg/Package_Concepts.html#%28part._concept~3asource%29
2. http://pkgs.racket-lang.org/#[abnf]

I assume that the behavior you're seeing of "changes ... get reverted
silently" is because of what I comment on in the next item.

> 2) it is tagged properly: the tags deleted themselves and now I can't edit the tags.

When you input a new tag, the Web page you are seeing reflects your
changes, but those changes are not necessarily updated through-out the
world or when you hit refresh. When you refresh (and in the original
window) it says (at the top in yellow), "update upload being computed:
the information below may not represent all recent changes and
updates".

I need to improve the UI when the update computation fails. I assume
that something happened on the server that lost the update and lost
the changes you made.

> 3) it is deleted. If nobody can install it, maybe I should delete it and start over? Can't.

You don't need to delete it, you can just change the source. Of
course, the reason deletion didn't work is because updates were broken
on the server side.

> Now when I reload the page it just says "Logging in..." at the top. Is this why my edits aren't going through?

Yes, that means the server is busted and needs to be kicked, which I
have done. I presume it died in the middle of your updates, which is
why they were lost.

> There's no way to log out, it seems. I guess I can forcibly delete any cookies for the domain, but is this really the way?

If you are logged in, there is a log out button. If you are not logged
in (such as being in the middle of "Logging in...") then you can't log
out, because you aren't in.

> I have no idea how to fix this at this point and need help. I'd be happy if the package were obliterated and I could start over.

I believe you just want to change your source to
"git://github.com/zenspider/check-sexp-equal" or something similar.

> I just want to share code with you guys.
>
> This shouldn't be painful.
>
> I should want to do it again.

I'm sorry that it was painful. I'm very interested in trying to
improve and increase the reliability of the server. I'm happy to work
with you on it. I'm "jeapostrophe" on the IRC channel and I'm happy to
PM you my cell if that would be a more convenient way to work through
it.

Jay

>
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users



-- 
Jay McCarthy
http://jeapostrophe.github.io

           "Wherefore, be not weary in well-doing,
      for ye are laying the foundation of a great work.
And out of small things proceedeth that which is great."
                          - D&C 64:33


Posted on the users mailing list.