I think I was premature in concluding that removing the empty files was
sufficient to fix this. I can remove the empty file but the moment I hit an
egg that depends on check-errors it seems to get stuck.

I turned off the continuous virus feature and I tried using
CHICKEN_EGG_CACHE to put the cache in /tmp and each time it seems to go
further but fails on check-errors.egg-info. Note that check-errors appears
to be properly installed as it imports fine. I think something is
attempting to remove or rewrite the check-errors.egg-info file and that
causes the problem, at least that is currently my best guess.

Unfortunately I don't think that stopping and reporting the empty file will
be sufficient but I will try the patch. Any suggestions as to what to try
next?

On Mon, Oct 30, 2023 at 9:14 AM Mario Domenech Goulart <ma...@parenteses.org>
wrote:

> On Mon, 30 Oct 2023 14:01:44 +0100 felix.winkelm...@bevuta.com wrote:
>
> >> That was it. Thanks. I do have to keep running:
> >>
> >> find /software/ -name \*.egg-info -empty -delete -print
> >>
> >> as check-errors.egg-info seems to be a pervasive problem. Maybe it
> would be
> >> worth it to add a defence against this?
> >
> > Sorry - wrong patch, this is the right one.
> >
> >
> > felix
> >
> >
> > From 8a2a82a8171744546badacaa297bcf754bff3eba Mon Sep 17 00:00:00 2001
> > From: felix <fe...@call-with-current-continuation.org>
> > Date: Mon, 30 Oct 2023 14:00:41 +0100
> > Subject: [PATCH] handle case when egg-info file is empty
> >
> > ---
> >  egg-information.scm | 7 +++++--
> >  1 file changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/egg-information.scm b/egg-information.scm
> > index 6f5f7cb9..1e7f8aec 100644
> > --- a/egg-information.scm
> > +++ b/egg-information.scm
> > @@ -34,8 +34,11 @@
> >      (if (file-exists? fname*) fname* fname)))
> >
> >  (define (load-egg-info fname)
> > -  (let ((fname (locate-egg-file fname)))
> > -    (with-input-from-file fname read)))
> > +  (let* ((fname (locate-egg-file fname))
> > +         (info (with-input-from-file fname read)))
> > +    (if (eof-object? info)
> > +        (error "empty egg-info file, possibly due to an aborted
> egg-install - please remove the file and retry" fname)
> > +        info)))
>
> How about
> "empty egg-info file, possibly due to an aborted egg-install - please
> remove the file and reinstall the corresponding egg"?
>
> Rationale: Matt's case.  check-errors.egg-info was empty, but the
> installation of base64 was failing.  If Matt had removed
> check-errors.egg-info and retried installing base64, the installation of
> base64 would work, but check-errors would still be broken
> (chicken-status and chicken-uninstall would ignore it, for example).
>
> All the best.
> Mario
> --
> http://parenteses.org/mario
>


-- 
--
Complexity is your enemy. Any fool can make something complicated.
It is hard to keep things simple. - Richard Branson.

Reply via email to