[racket] waiting for pkg catalog update?

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Thu Oct 16 13:38:04 EDT 2014

The proposed behavior you suggest is actually the old behavior, but an
early request gave us what we have no. I do think we could improve by
making clear that an update is going on and maybe they want a replace.

Further, I think your problem would be resolved if you had tried to
install both rsound and portaudio at the same time, because the two
new packages would agree rather than the one new disagreeing with the
one old.

Jay

On Thu, Oct 16, 2014 at 12:53 PM, John Clements <johnbclements at gmail.com> wrote:
> Forgot to cc: list, sorry...
>
> On Thu, Oct 16, 2014 at 9:46 AM, John Clements <johnbclements at gmail.com>
> wrote:
>>
>>
>>
>> On Thu, Oct 16, 2014 at 9:22 AM, Jay McCarthy <jay.mccarthy at gmail.com>
>> wrote:
>>>
>>> On Thu, Oct 16, 2014 at 12:13 PM, John Clements <johnbclements at gmail.com>
>>> wrote:
>>> > Wow! I really like the new package system!
>>> >
>>> > Okay, now I'm going to complain...
>>> >
>>> > I'm having trouble with pkgs.racket-lang.org, and it's affecting my
>>> > classes.
>>> >
>>> > The issue here is that the catalog doesn't seem to have picked up my
>>> > last
>>> > change to the rsound package, made some time yesterday. In particular,
>>> > I had
>>> > to roll back two packages, portaudio and rsound, and portaudio got
>>> > rolled
>>> > back but not rsound, which means that the pkg-reported current version
>>> > of
>>> > rsound (16a1959962f) (as opposed to the github-reported current version
>>> > of
>>> > ((0e28de6c)) now has a dependency on a version of portaudio (1.0.1)
>>> > that is
>>> > no longer available. (This can also be seen by the build status of
>>> > rsound,
>>> > which is now shown on pkgs.racket-lang.org as failing.)
>>> >
>>> > I've tried to update using the web page, with not so much success.
>>> > Yesterday, the web page was getting stuck at the "logging in..." phase;
>>> > I
>>> > waited for ... 10 minutes? No joy. Today, I'm seeing the same thing,
>>> > though
>>> > 20 minutes ago I saw a successful login, with a thin yellow banner
>>> > indicating that an update was in progress.
>>> >
>>> > Perhaps the answer here is to host my own catalog for my students. I
>>> > spent
>>> > 10 minutes looking into this, but I got stuck when it turned out that
>>> > pkgs/meta/pkg-catalog/ isn't actually part of my installation.
>>>
>>> The catalog protocol [1] is extremely easy to implement by hand. If
>>> you have a public_html setup in your university's Web machine, here's
>>> what you do:
>>>
>>> mkdir public_html/catalog
>>> cd public_html/catalog
>>> cat > rsound <<END
>>> #hash((source . "github:///")(checksum . "deadbeef"))
>>> END
>>> cat > portaudio <<END
>>> #hash((source . "github:///")(checksum . "deadbeef"))
>>> END
>>>
>>> You now have a catalog! Tell your students to add
>>> "http://xxx/~mcjbc/catalog" and you're in business. (When you make a
>>> commit change the checksum string.)
>>>
>>> 1. http://docs.racket-lang.org/pkg/catalog-protocol.html?q=catalog
>>>
>>> > Another solution would be to manually instruct my students to paste the
>>> > github reference into the "do what I mean" box, but I suspect this
>>> > would
>>> > lead to confusion and unhappiness in the medium term.
>>>
>>> This is the easiest thing to do in your case, because if they have a
>>> "github" package installed, then when you tell them to "update" the
>>> turn-around time would be instant.
>>
>>
>>
>> Yes, I see. One caveat, for those reading along at home: entering the
>> GitHub URL directly and clicking "update" results in the following error:
>>
>> Resolving "rsound" via
>> http://download.racket-lang.org/releases/6.1/catalog/
>> Resolving "rsound" via http://pkgs.racket-lang.org
>> Updating:
>>   rsound
>> Resolving "rsound" via
>> http://download.racket-lang.org/releases/6.1/catalog/
>> Resolving "rsound" via http://pkgs.racket-lang.org
>> Using cached14134772981413477298507 for
>> https://github.com/jbclements/RSound/tarball/16a1959962f5dd8c29e3ea6bf1bb1d9d3bb569ee
>> DrRacket update: version mismatch for dependency
>>   for package: rsound
>>   mismatch packages:
>>    portaudio (have 0.1, need 1.0.1)
>>
>> This error message did not immediately help me.
>>
>> After more poking around, I see that (apparently) I need to uninstall the
>> old version first, which does make some sense.
>>
>> I propose the following change to the interface: when someone enters a
>> different source for a package that's already installed, the default action
>> should not be "upgrade".  Instead, the default action should probably be:
>> pop up a message box saying that this package is already installed, and that
>> if you want to use a different source, you should uninstall the existing one
>> first.
>>
>> Does that make sense to you?
>>
>>> > So: if there's a good way to poke pkgs.racket-lang.org to pick up the
>>> > new
>>> > version of rsound, I'd love to hear it.
>>> >
>>> > Thanks again for all the hard work! It keeps getting better!
>>> >
>>> > John
>>> >
>>> >
>>> >
>>> > ____________________
>>> >   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
>>
>>
>



-- 
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.