bundle common inventory_redhat # @brief Red Hat inventory bundle # # This common bundle is for Red Hat Linux inventory work. { classes: "redhat_pure" or => { strcmp( "$(sys.os_release[ID])" , "rhel" ), # Red Hat > 7 have /etc/os-release and the ID field is set to rhel strcmp( "any", and( "redhat.!(centos|oracle|fedora|rocky|almalinux)", # Red Hat < 7 does not have /etc/os-release, and is pure if we don't find another known derivative not( isvariable( "sys.os_release" ))))}, comment => "pure Red Hat", meta => { "inventory", "attribute_name=none" }; "redhat_derived" expression => "redhat.!redhat_pure", comment => "derived from Red Hat", meta => { "inventory", "attribute_name=none" }; "inventory_redhat_have_python_symlink" expression => fileexists("$(sys.bindir)/cfengine-selected-python"); inventory_redhat_have_python_symlink:: "cfe_yum_package_module_supported" -> { "CFE-2602", "CFE-3512" } comment => "Here we see if the version of python found is acceptable for the yum package module. We use this guard to prevent errors related to missing python modules.", expression => returnszero("$(sys.bindir)/cfengine-selected-python -V 2>&1 | grep ^Python | cut -d' ' -f 2 | ( IFS=. read v1 v2 v3 ; [ $v1 -ge 3 ] || [ $v1 -eq 2 -a $v2 -ge 4 ] )", useshell); }