[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Convergence and ReplaceAll
From: |
Chip Seraphine |
Subject: |
Convergence and ReplaceAll |
Date: |
Fri, 28 Mar 2003 12:02:19 -0600 |
User-agent: |
Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.2.1) Gecko/20030121 |
I am attempting to ensure that a given setting in a file is always set to a
particular value; specifically, I want my coreadm.conf file to contain the line
COREADM_GLOB_PATTERN=/var/core/core.%f.%u-%p
This is to replace any existing COREADM_GLOB_PATTERN line, or add a new one if
none exists. Here is the editfiles block I am using to do this:
{ /etc/coreadm.conf
BeginGroupIfNoMatch
"[[:space:]]*COREADM_GLOB_PATTERN=/var/core/core.\%f.\%u-\%p$"
ReplaceAll "^[[:space:]]*COREADM_GLOB_PATTERN=.*$"
With "COREADM_GLOB_PATTERN=/var/core/core.%f.%u-%p"
EndGroup
DefineClasses "run_coreadm"
}
The problem is that I am getting this result:
cfengine:mingle: WARNING: Non-convergent edit operation ReplaceAll
[COREADM_GLOB_PATTERN=/var/core/core.?f.?u-?p] With
[[[:space:]]*COREADM_GLOB_PATTERN=.*$]
cfengine:mingle: Line begins [COREADM_GLOB_PATTERN=]
cfengine:mingle: Replacement matches search string and will thus
replace every time - edit was not done
cfengine:mingle: Error editing file /etc/coreadm.conf
I would understand this if I didn't have the BeginGroupIfNoMatch block. Is the
problem that the interpreter doesn't realize the Group stuff protects us from
nonconvergent behavior, or am I just totally misunderstanding something? And
how does everybody else deal with this sort of problem?
- Convergence and ReplaceAll,
Chip Seraphine <=