Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 239266 - don't sync CVS to rsync if an eclass dies sourcing
Summary: don't sync CVS to rsync if an eclass dies sourcing
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Infrastructure
Classification: Unclassified
Component: Git (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Infrastructure
URL: http://planet.gentoo.org/developers/b...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-01 17:39 UTC by Petteri Räty (RETIRED)
Modified: 2011-02-13 05:31 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Petteri Räty (RETIRED) gentoo-dev 2008-10-01 17:39:56 UTC
http://planet.gentoo.org/developers/betelgeuse/2008/10/01/broke_java_utils_2_eclass_sourcing_for_a

I think it would make sense for CVS not to get pushed to rsync mirrors when an eclass is broken like that.

20:36 < antarus> Betelgeuse: there are no unittests like that; iir
Comment 1 solar (RETIRED) gentoo-dev 2008-10-02 19:34:11 UTC
I think repoman or other tools should handle this as a pre-check before it ever even gets into cvs. otherwise we could end up with stalled sync's
Comment 2 Petteri Räty (RETIRED) gentoo-dev 2008-10-02 19:45:05 UTC
(In reply to comment #1)
> I think repoman or other tools should handle this as a pre-check before it ever
> even gets into cvs. otherwise we could end up with stalled sync's
> 

repoman checks for eclasses wouldn't hurt of course
Comment 3 Zac Medico gentoo-dev 2008-10-02 21:50:52 UTC
Using repoman to commit eclasses would be a step forward, but it doesn't entirely solve the problem that this bug is about. We don't know how the eclass change will affect the "depend" metadata generation phase for all the ebuilds that inherit it until we attempt to regenerate the metadata on the master mirror. So, perhaps we should disable the cvs -> rsync if a problem like this is detected, and perhaps also for broken manifests. When cvs -> rsync gets disabled, we'll need to send out some sort of notification, perhaps to a special mailing list, to ensure that people with commit access become aware of the problem and correct it ASAP.
Comment 4 SpanKY gentoo-dev 2009-08-24 07:10:08 UTC
why dont we add this to the cvs pre-commit hook ?  if the new file fails `bash -n`, then abort ... it'd be a lot more "in the face" of the guy committing.
Comment 5 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-08-24 18:24:58 UTC
vapier: -n? I don't see that documented in the manpage. I'm not sure it would work entirely either, since bash doesn't have a seperate parse-only phase to validate.
Comment 6 SpanKY gentoo-dev 2009-08-24 20:59:36 UTC
it's in my man page:
-n Read commands but do not execute them.  This may be used to check a shell script for syntax errors.  This is ignored by interactive shells.
Comment 7 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2011-01-08 02:44:39 UTC
I've put logic (bash -n <eclass>) in the code that generates the checkout that all rsync mirrors use. Not exactly ideal, because infra will get the email every 30 mins, but it will save hassle for our users.

Not yet used, but running. Will be deployed soonish.
Comment 8 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2011-02-13 05:31:57 UTC
(In reply to comment #7)
> I've put logic (bash -n <eclass>) in the code that generates the checkout that
> all rsync mirrors use. Not exactly ideal, because infra will get the email
> every 30 mins, but it will save hassle for our users.
> 
> Not yet used, but running. Will be deployed soonish.
> 

deployed on Feb 4th. I'll close this bug.