blob: 1fe32301232982c449912844df9acde051026633 [file] [log] [blame]
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(`is_arc_vm', ifelse(arc_version, !`none' && !`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');
')
')