On Thu, Jun 03, 2010 at 06:00:26PM -0000, Pau Amma wrote:

> foo.cf: dbConf.cf.in foo.cf.in
>     cat dbConf.cf.in foo.cf.in > foo.cf

Make that:

        foo.cf: dbConf.cf.in foo.cf.in
                $(RM) -f foo.cf.tmp
                cat dbConf.cf.in foo.cf.in > foo.cf.tmp
                mv foo.cf.tmp foo.cf

automated code must be robust, and so must not overwrite configuration
files directly. For full reliability, that "cat" can be replaced by
something that "fsync()s" the output file.

-- 
        Viktor.

Reply via email to