From: Michael P. <mp...@pl...> - 2007-06-19 18:38:06
|
We've run into a problem when testing the proposed 3.0 version of Krang which adds a new required directive (Secret) to arcos.conf. When you run the upgrade it will fail because the existing version's conf file does not have the new required directive. I've temporarily fixed this in that branch by removing Secret as a required var. But it really should be required. The upgrade or install take care of adding this to the conf file, so it's always going to be there unless someone does something silly, but still. We should be able add new required directives. I've thought about this and I have 2 solutions. If you see anything else, please mention it: 1) Always run upgrades with $EVN{KRANK_CONF_NOCHECK} set. This will solve this problem but might cause real problems if their conf file is actually messed up. 2) Instead of just having a list of directives that are required make it a hash where the value is the version # that the directive was added. Then Arcos::Conf::check() wouldn't make that directive valid unless it was greater than the corresponding version. Seems overly complicated, but it will still make sure that the arcos.conf is correct during upgrades. -- Michael Peters Developer Plus Three, LP |