From: Jason H. <jh...@ap...> - 2011-05-19 17:55:10
|
Whoops, good catch on the etchserver-{demo,samples} DTD files being out of date. The copies within test/testrepo/ in the distribution tarball are correct and I've updated the others in subversion for future releases. Etch uses cpio extensively to move files around while preserving permissions, ownership, etc. In order to use etch you'll need cpio installed on your clients before etch can do much of anything. Typically this would be done by having it as a dependency of the etch package (rpm, deb, etc.) However your question led me to notice that it wasn't listed as a dependency in the packaging files included in the distribution. On all of our Red Hat and Debian boxes cpio was installed as part of the base installation and I hadn't thought about cases where folks excluded it. I've added cpio as an explicit dependency for the RPM spec and Debian control files. Jason On May 19, 2011, at 4:48 AM, Gareth Greener wrote: > Hi there, > > I am in the process of moving from cfengine to etch but hitting a little snag. > I noticed that the dependcommand is not allowed by default, so I edited the config.dtd to allow it, following the same syntax as depend. > > I have also created the relevant files and folders under commands for cpio to be installed. > > The problem I am having is that there are files that exist on my clients, however the cpio command is not installed so I am calling it with the <dependcommand> tags, but etch seems to ignore that if the file already exists on the client. > > > Config.xml > ---------------- > <config> > <dependcommand>cpio</dependcommand> > <file> > <perms>644</perms> > <source> > <script>scriptfile.script</script> > </source> > </file> > <post> > <exec>/etc/init.d/ssh restart</exec> > </post> > </config> > > > Commands.xml > ----------------------- > <commands> > <step> > <guard> > <exec>test -f /bin/cpio</exec> > </guard> > <command> > <exec>apt-get update && apt-get -qq install cpio</exec> > </command> > </step> > </commands> > > > And I get the following error: > > Saving temporary copy of original file: /etc/ssh/sshd_config -> /var/etch/orig/etc/ssh/sshd_config.TMP > sh: cpio: not found > Recursive copy /etc/ssh/sshd_config to /var/etch/orig/etc/ssh/sshd_config.TMP20110519-7810-ckicl4-0 failed > > ------------------------------- > Thanks for your time. > > Gareth > |