Forum: CFEngine Help Subject: Re: Fix group only for files in .svn dir Author: Igor Link to topic: https://cfengine.com/forum/read.php?3,23681,23702#msg-23702
Hi! For example, i have structure of dirs like: /var/svn/dirs1 /var/svn/dirs1/.svn /var/svn/dirs1/.svn/svnfile1 /var/svn/dirs1/.svn/svnfile2 /var/svn/dirs1/.svn/svnfile3 /var/svn/dirs1/SUBDIR1 /var/svn/dirs1/SUBDIR2 /var/svn/dirs1/SUBDIR3 /var/svn/dirs1/file1 /var/svn/dirs1/file2 /var/svn/dirs1/file3 /var/svn/dirs2 /var/svn/dirs2/.svn /var/svn/dirs2/.svn/svnfile1 /var/svn/dirs2/.svn/svnfile2 /var/svn/dirs2/.svn/svnfile3 /var/svn/dirs2/SUBDIR1 /var/svn/dirs2/SUBDIR2 /var/svn/dirs2/SUBDIR3 /var/svn/dirs2/file1 /var/svn/dirs2/file2 /var/svn/dirs2/file3 /var/svn/dirs3 /var/svn/dirs3/.svn /var/svn/dirs3/.svn/svnfile1 /var/svn/dirs3/.svn/svnfile2 /var/svn/dirs3/.svn/svnfile3 /var/svn/dirs3/SUBDIR1 /var/svn/dirs3/SUBDIR2 /var/svn/dirs3/SUBDIR3 /var/svn/dirs3/file1 /var/svn/dirs3/file2 /var/svn/dirs3/file3 I want fix group only for files in .svn dirs: /var/svn/dirs1/.svn /var/svn/dirs1/.svn/svnfile1 /var/svn/dirs1/.svn/svnfile2 /var/svn/dirs1/.svn/svnfile3 /var/svn/dirs2/.svn /var/svn/dirs2/.svn/svnfile1 /var/svn/dirs2/.svn/svnfile2 /var/svn/dirs2/.svn/svnfile3 /var/svn/dirs3/.svn /var/svn/dirs3/.svn/svnfile1 /var/svn/dirs3/.svn/svnfile2 /var/svn/dirs3/.svn/svnfile3 Code: body common control { bundlesequence => { "fix_file_permission_in_svn_dir" }; } bundle agent fix_file_permission_in_svn_dir { vars: "SOURCE_DIR_SVN" string => "/var/svn"; files: "$(SOURCE_DIR_SVN)" perms => g("svn"), depth_search => _recurse_only_svn("inf"); } body perms g(group) { groups => { "$(group)" }; } body depth_search _recurse_only_svn(d) { depth => "$(d)"; include_basedir => "true"; include_dirs => { "\.svn" }; } #cf-agent -v -K -f unit_test_fix_perm2.cf cf3> ========================================================= cf3> files in bundle fix_file_permission_in_svn_dir (1) cf3> ========================================================= cf3> cf3> cf3> ......................................................... cf3> Promise handle: cf3> Promise made by: /var/svn cf3> ......................................................... cf3> cf3> -> Using literal pathtype for /var/svn cf3> -> Handling file existence constraints on /var/svn cf3> -> Promise to skip base directory /var/svn cf3> Skipping matched non-included directory /var/svn/dirs1 cf3> Skipping matched non-included directory /var/svn/dirs2 cf3> Skipping matched non-included directory /var/svn/dirs3 I expected that results of include_dirs => { "\.svn" } will be: cf3> -> Handling file existence constraints on /var/svn/dirs1/.svn/svnfile1 cf3> -> Group of /var/svn/dirs1/.svn/svnfile1 was 0, setting to 1002 cf3> -> File permissions on /var/svn/dirs1/.svn/svnfile1 as promised cf3> -> Handling file existence constraints on /var/svn/dirs1/.svn/svnfile2 cf3> -> Group of /var/svn/dirs1/.svn/svnfile2 was 0, setting to 1002 cf3> -> File permissions on /var/svn/dirs1/.svn/svnfile2 as promised cf3> -> Handling file existence constraints on /var/svn/dirs1/.svn/svnfile3 cf3> -> Group of /var/svn/dirs1/.svn/svnfile3 was 0, setting to 1002 cf3> -> File permissions on /var/svn/dirs1/.svn/svnfile3 as promised cf3> -> Handling file existence constraints on /var/svn/dirs1/.svn {skip} cf3> -> Handling file existence constraints on /var/svn/dirs2/.svn/svnfile1 cf3> -> Group of /var/svn/dirs2/.svn/svnfile1 was 0, setting to 1002 cf3> -> File permissions on /var/svn/dirs2/.svn/svnfile1 as promised cf3> -> Handling file existence constraints on /var/svn/dirs2/.svn/svnfile2 cf3> -> Group of /var/svn/dirs2/.svn/svnfile2 was 0, setting to 1002 cf3> -> File permissions on /var/svn/dirs2/.svn/svnfile2 as promised cf3> -> Handling file existence constraints on /var/svn/dirs2/.svn/svnfile3 cf3> -> Group of /var/svn/dirs2/.svn/svnfile3 was 0, setting to 1002 cf3> -> File permissions on /var/svn/dirs2/.svn/svnfile3 as promised cf3> -> Handling file existence constraints on /var/svn/dirs2/.svn {same for /var/svn/dirs2/dirs3} I.e include_dirs don't work with recurse. Is it correct behavior of include_dirs? --- Igor _______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine