| |
| define(`has_arc', ifelse(arc_version, `none', $2, $1)) |
| define(`no_arc', has_arc(, $1)) |
| define(`is_arc_p', ifelse(arc_version, `p', $1, $2)) |
| |
| define(`dev_only', ifelse(use_selinux_develop, `y', $1)) |
| |
| divert(-1) |
| define(`_first', `$1'); |
| define(`_break_cts', ` |
| ifelse($1, `()', , ` |
| define(`broken_arc_version', _first$1) |
| ifelse(broken_arc_version, arc_version, `define(`_broke_cts', `true')') |
| _break_cts((shift$1), $2, $3) |
| # ifelse $1(broken_cts_versions) |
| ') |
| # define _break_cts |
| ') |
| define(`_put_permissive', ` |
| ifelse(`$#', `0', , `$#', `1', `permissive $1;', `_put_permissive(shift($@))') |
| ') |
| |
| # Wraps policy that fails CTS. |
| # break_cts(broken_cts_versions, policies, affected_domains) |
| define(`break_cts', ` |
| _break_cts($1) |
| ifelse(_broke_cts, `true', `_put_permissive$3', $2); |
| undefine(`_broke_cts') |
| ') |
| |
| divert |
| |
| # Wraps policies that fails CTS. |
| # arc_cts_fails_release(policies, affected_scontexts) |
| define(`arc_cts_fails_release', ` |
| ifelse(use_selinux_develop, `y', $1, |
| break_cts((`p', `q'), $1, $2)) |
| ') |
| |
| |
| define(`n_to_p_migration', ` |
| is_arc_p(` |
| ifelse(use_arc_first_release_n, `y', `$1'); |
| ') |
| ') |