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