[Glass] Cannot load Metacello nor Glass in Glass itself (spot bug)

Dale Henrichs dale.henrichs at gemtalksystems.com
Thu Jan 16 12:53:14 PST 2014


Mariano,

The github downloads aren't very good at providing good error messages ...
I have recently (in last month) improved some of the error handling for
github, but those improvements are only in the github repo and if you can't
download from github then you probably aren't using them...

But your use case of running multiple glass users (at the linux level) is
probably not accounted for  in the github implementation so additional work
needs to be done there to accomodate multiple users on the same machine
using Metacello ...

I've submitted a metacello bug[1] to track the issue ...

Until I can fix the bug, you the code  there are a number of methods that
make the assumption that /tmp can be used as a temporary dumping ground for
files:

  MCGitHubRepository class>>projectDirectoryFrom:version:
  MetacelloGemStonePlatform>>downloadFile:to:
  MetacelloGemStonePlatform>>extractRepositoryFrom:to:

Presumably these methods could be hacked to replace the use of '/tmp' with
a suitable image-specific replacement ... where you can set the root temp
directory to something that works for you ... this is probably the route I
will take for the final solution ...

Dale

[1] https://github.com/dalehenrich/metacello-work/issues/232


On Thu, Jan 16, 2014 at 11:51 AM, Mariano Martinez Peck <
marianopeck at gmail.com> wrote:

> Hi guys,
>
> I have managed to install Glass into a base extent using the installGlass
> script provided by Dale. I am running this with a special user, not
> DataCurator, but with similar privileges. I can install Glass, but then as
> soon as I try to download something with Metacello...I get a spec
> resolution error....
> It is important to note that all gems/netldi/stone are also running with
> its own system user.
>
> I am trying to download this for example:
>
>   Metacello new
>  baseline:  'Metacello';
> repository: 'github://dalehenrich/metacello-work:master/repository';
>  get.
>
> First, I found a bug in #extractRepositoryFrom: zipFile to: directory
> I was getting a simple GoferRepositoryError with no clear message. AFter
> debugging a bit, I found that such a method was end up doing something like:
>
> /usr/bin/unzip -u /tmp/github.zip -d
> /home/Testing/github-cache/dalehenrich/metacello-work/master 2> /tmp/zip.err
>
> Problem was that I ALREADY had a /tmp/zip.err but that was written with
> another SO user... and defined unix file permission, didn't allow to write
> it with a different user..hence I was getting a permission denied which
> ended in sending #contentsOfEntireFile to nil...
> So would it be possible to write zip.err with a more specific name? like
> per stone or something...or give write access to other ...
>
> Anyway....I remove the file with sudo and then it continue...but still
> getting a spec resolution error...but what is funny here is that I don't
> get ANY error nor repository error.. the line " self
> resolvePackageSpecReferences: packageSpec gofer: gofer  " simply returns an
> empty array....
>
> Any idea what could be?  any bell? remember, custom system operating user
> (not sudoer), custom gemstone user, custom glass install, ... so yeah, kind
> of sounds like I should get problems hahahah
>
> Thanks,
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
> _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> http://lists.gemtalksystems.com/mailman/listinfo/glass
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20140116/be399236/attachment.html>


More information about the Glass mailing list