- Check portage configuration (FEATURES, PORTAGE_BINHOST, ACCEPT_LICENSE and USE for VM)
- Check portage configuration (FEATURES, PORTAGE_BINHOST, ACCEPT_LICENSE, USE, CHOST, GRUB_PLATFORMS, CPU_FLAGS_X86 and if GENTOO_MIRRORS includes organization mirror)
- Check if IPs (scope global) are recorded in IPAM
- Check if the selected Gentoo profile is the expected profile
- Print additional manuel verification (send reporting mail, if /etc conf file need to be updated, if a new kernel can be installed, if server-side for Icinga, SNMP and Munin are configured)
PORTAGE_CONFIG_CHECK_FAILED="${PORTAGE_CONFIG_CHECK_FAILED} Multiple definitions of FEATURE variable in /etc/portage/make.conf, define the variable FEATURE only once in /etc/portage/make.conf ;"
echo -e "${RED}Multiple definitions of FEATURE variable in /etc/portage/make.conf : check KO${NC}\n"
@ -38,14 +38,14 @@ RC=$?
if[$RC -ne 0]
then
PORTAGE_CONFIG_CHECK_FAILED="${PORTAGE_CONFIG_CHECK_FAILED} Portage PORTAGE_BINHOST not configured, add PORTAGE_BINHOST=\"${BINPKGREPO}\" in /etc/portage/make.conf ;"
echo -e "${RED}Portage PORTAGE_BINHOST NOT well CONFIGURED in /etc/portage/make.conf : check KO${NC}\n"
echo -e "${RED}Portage PORTAGE_BINHOST is NOT well CONFIGURED in /etc/portage/make.conf : check KO${NC}\n"
# Portage PORTAGE_BINHOST well CONFIGURED
else
# If there are multiple definitions of PORTAGE_BINHOST variable, KO
PORTAGE_CONFIG_CHECK_FAILED="${PORTAGE_CONFIG_CHECK_FAILED} Multiple definitions of PORTAGE_BINHOST variable in /etc/portage/make.conf, define he variable PORTAGE_BINHOST only once in /etc/portage/make.conf ;"
PORTAGE_CONFIG_CHECK_FAILED="${PORTAGE_CONFIG_CHECK_FAILED} Multiple definitions of PORTAGE_BINHOST variable in /etc/portage/make.conf, define the variable PORTAGE_BINHOST only once in /etc/portage/make.conf ;"
echo -e "${RED}Multiple definitions of PORTAGE_BINHOST variable in /etc/portage/make.conf : check KO${NC}\n"
# Else it's OK
else
@ -65,18 +65,18 @@ RC=$?
if[$RC -ne 0]
then
PORTAGE_CONFIG_CHECK_FAILED="${PORTAGE_CONFIG_CHECK_FAILED} Portage ACCEPT_LICENSE not configured, add ACCEPT_LICENSE=\"$(echo${PORTAGE_ACCEPTLICENSE}| tr -d '\\')\" in /etc/portage/make.conf ;"
echo -e "${RED}Portage ACCEPT_LICENSE feature NOT well CONFIGURED in /etc/portage/make.conf : check KO${NC}\n"
echo -e "${RED}Portage ACCEPT_LICENSE feature is NOT well CONFIGURED in /etc/portage/make.conf : check KO${NC}\n"
# Portage ACCEPT_LICENSE well CONFIGURED
else
# If there are multiple definitions of ACCEPT_LICENSE variable, KO
PORTAGE_CONFIG_CHECK_FAILED="${PORTAGE_CONFIG_CHECK_FAILED} Multiple definitions of ACCEPT_LICENSE variable in /etc/portage/make.conf, define he variable ACCEPT_LICENSE only once in /etc/portage/make.conf ;"
PORTAGE_CONFIG_CHECK_FAILED="${PORTAGE_CONFIG_CHECK_FAILED} Multiple definitions of ACCEPT_LICENSE variable in /etc/portage/make.conf, define the variable ACCEPT_LICENSE only once in /etc/portage/make.conf ;"
echo -e "${RED}Multiple definitions of ACCEPT_LICENSE variable in /etc/portage/make.conf : check KO${NC}\n"
# Else it's OK
else
echo -e "${GREEN}Portage ACCEPT_LICENSE feature well CONFIGURED in /etc/portage/make.conf : check OK${NC}\n"
echo -e "${GREEN}Portage ACCEPT_LICENSE variable well CONFIGURED in /etc/portage/make.conf : check OK${NC}\n"
PORTAGE_USE_SORTED="$(echo${PORTAGE_USE}| sed 's/ /\n/g'| sort | tr '\n'' '| sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
# Global USE flags in /etc/portage/make.conf is well configured
if["$ACTUAL_PORTAGE_USE"=="$PORTAGE_USE_SORTED"]
then
echo -e "${GREEN}Global USE flags in /etc/portage/make.conf is well configured : check OK${NC}\n"
# Global USE flags in NOT /etc/portage/make.conf is well configured
# Global USE flags in /etc/portage/make.conf is NOT well configured
else
PORTAGE_CONFIG_CHECK_FAILED="${PORTAGE_CONFIG_CHECK_FAILED} Global USE flags in /etc/portage/make.conf is NOT well CONFIGURED, set USE=\"${PORTAGE_USE_SORTED}\" in /etc/portage/make.conf ;"
echo -e "${RED}Global USE flags in /etc/portage/make.conf is NOT well CONFIGURED : check KO${NC}\n"
@ -109,3 +109,114 @@ else
fi
# Check if make.conf includes well configured CHOST
echo"Check if /etc/portage/make.conf includes well configured CHOST"
PORTAGE_CONFIG_CHECK_FAILED="${PORTAGE_CONFIG_CHECK_FAILED} Multiple definitions of CHOST variable in /etc/portage/make.conf, define the variable CHOST only once in /etc/portage/make.conf ;"
echo -e "${RED}Multiple definitions of CHOST variable in /etc/portage/make.conf : check KO${NC}\n"
# Else it's OK
else
echo -e "${GREEN}Portage CHOST variable well CONFIGURED in /etc/portage/make.conf : check OK${NC}\n"
fi
fi
# Check if make.conf includes well configured GRUB_PLATFORMS
echo"Check if /etc/portage/make.conf includes well configured GRUB_PLATFORMS"
PORTAGE_CONFIG_CHECK_FAILED="${PORTAGE_CONFIG_CHECK_FAILED} Portage CHOST not configured, add GRUB_PLATFORMS=\"${PORTAGE_GRUB_PLATFORMS}\" in /etc/portage/make.conf ;"
echo -e "${RED}Portage GRUB_PLATFORMS feature is NOT well CONFIGURED in /etc/portage/make.conf : check KO${NC}\n"
# Portage GRUB_PLATFORMS well CONFIGURED
else
# If there are multiple definitions of CHOST variable, KO
PORTAGE_CONFIG_CHECK_FAILED="${PORTAGE_CONFIG_CHECK_FAILED} Multiple definitions of GRUB_PLATFORMS variable in /etc/portage/make.conf, define the variable GRUB_PLATFORMS only once in /etc/portage/make.conf ;"
echo -e "${RED}Multiple definitions of GRUB_PLATFORMS variable in /etc/portage/make.conf : check KO${NC}\n"
# Else it's OK
else
echo -e "${GREEN}Portage GRUB_PLATFORMS variable well CONFIGURED in /etc/portage/make.conf : check OK${NC}\n"
fi
fi
# Check if portage organization mirror is configured in /etc/portage/make.conf
echo"Check if portage oragnization mirror is configured in /etc/portage/make.conf"
# Check if GENTOO_MIRRORS variable has multiple definiton
# Check if GENTOO_MIRRORS value in /etc/portage/make.conf includes organization mirror
sed -n '/^[[:space:]]*GENTOO_MIRRORS=\"/,/\"/p' /etc/portage/make.conf | grep -q "${PORTAGE_ORGANIZATION_MIRROR}"
# Return Code
RC=$?
# GENTOO_MIRRORS in /etc/portage/make.conf includes organization mirror
if[$RC -eq 0]
then
echo -e "${GREEN}GENTOO_MIRRORS in /etc/portage/make.conf includes organization mirror : check OK${NC}\n"
# GENTOO_MIRRORS in /etc/portage/make.conf does NOT includes organization mirror
else
PORTAGE_CONFIG_CHECK_FAILED="${PORTAGE_CONFIG_CHECK_FAILED} GENTOO_MIRRORS in /etc/portage/make.conf does NOT includes organization mirror, add ${PORTAGE_ORGANIZATION_MIRROR} mirror in GENTOO_MIRRORS variable in /etc/portage/make.conf ;"
echo -e "${RED}GENTOO_MIRRORS in /etc/portage/make.conf does NOT includes organization mirror : check KO${NC}\n"
fi
else
PORTAGE_CONFIG_CHECK_FAILED="${PORTAGE_CONFIG_CHECK_FAILED} GENTOO_MIRRORS in /etc/portage/make.conf has multiple definitions OR there is NO GENTOO_MIRRORS variable, define GENTOO_MIRRORS variable and only once in /etc/portage/make.conf ;"
echo -e "${RED}GENTOO_MIRRORS in /etc/portage/make.conf has multiple definitions OR GENTOO_MIRRORS variable is not defined : check KO${NC}\n"
fi
# Check if global CPU_FLAGS_X86 flags is well configured in /etc/portage/make.conf
echo"Check if global CPU_FLAGS_X86 flags is well configured in /etc/portage/make.conf"
# Check if CPU_FLAGS_X86 variable has multiple definiton
echo -e "${GREEN}Global CPU_FLAGS_X86 flags in /etc/portage/make.conf is well configured : check OK${NC}\n"
# Global CPU_FLAGS_X86 flags in /etc/portage/make.conf is NOT well configured
else
PORTAGE_CONFIG_CHECK_FAILED="${PORTAGE_CONFIG_CHECK_FAILED} Global CPU_FLAGS_X86 flags in /etc/portage/make.conf is NOT well CONFIGURED, set CPU_FLAGS_X86=\"${PORTAGE_CPU_FLAGS_X86_SORTED}\" in /etc/portage/make.conf ;"
echo -e "${RED}Global CPU_FLAGS_X86 flags in /etc/portage/make.conf is NOT well CONFIGURED : check KO${NC}\n"
fi
else
PORTAGE_CONFIG_CHECK_FAILED="${PORTAGE_CONFIG_CHECK_FAILED} Global CPU_FLAGS_X86 flags in /etc/portage/make.conf has multiple definitions OR there is NO CPU_FLAGS_X86 variable, define CPU_FLAGS_X86 variable and only once in /etc/portage/make.conf ;"
echo -e "${RED}Global CPU_FLAGS_X86 flags in /etc/portage/make.conf has multiple definitions OR CPU_FLAGS_X86 variable is not defined : check KO${NC}\n"