print_config_title 'CHECK PORTAGE CONFIG' # Check if make.conf includes FEATURES="getbinpkg" echo "Check if /etc/portage/make.conf includes FEATURES=\"getbinpkg\"" grep -q "^[[:space:]]*FEATURES=\"getbinpkg\"[[:space:]]*$" /etc/portage/make.conf # Return Code RC=$? # Portage conf does NOT include getbinpkg FEATURE if [ $RC -ne 0 ] then PORTAGE_CONFIG_CHECK_FAILED="${PORTAGE_CONFIG_CHECK_FAILED} Portage binpkg feature not configured, add FEATURES=\"getbinpkg\" in /etc/portage/make.conf ;" echo -e "${RED}Portage getbinpkg feature NOT CONFIGURED in /etc/portage/make.conf : check KO${NC}\n" # Portage conf includes getbinpkg FEATURE else # If there are multiple definitions of FEATURE variable, KO FEATURE_DEFINITION_NUMBER="$(grep "^[[:space:]]*FEATURES" /etc/portage/make.conf | wc -l)" if [ "${USE_DEFINITION_NUMBER}" -gt "1" ] then 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" # Else it's OK else echo -e "${GREEN}Portage getbinpkg feature CONFIGURED in /etc/portage/make.conf : check OK${NC}\n" fi fi # Check if make.conf includes well configured PORTAGE_BINHOST echo "Check if /etc/portage/make.conf includes well configured PORTAGE_BINHOST" grep -q "^[[:space:]]*PORTAGE_BINHOST=\"${BINPKGREPO}\"[[:space:]]*$" /etc/portage/make.conf # Return Code RC=$? # Portage PORTAGE_BINHOST NOT well CONFIGURED 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" # Portage PORTAGE_BINHOST well CONFIGURED else # If there are multiple definitions of PORTAGE_BINHOST variable, KO PORTAGE_BINHOST_DEFINITION_NUMBER="$(grep "^[[:space:]]*PORTAGE_BINHOST" /etc/portage/make.conf | wc -l)" if [ "${PORTAGE_BINHOST_DEFINITION_NUMBER}" -gt "1" ] then 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 ;" echo -e "${RED}Multiple definitions of PORTAGE_BINHOST variable in /etc/portage/make.conf : check KO${NC}\n" # Else it's OK else echo -e "${GREEN}Portage PORTAGE_BINHOST variable well CONFIGURED in /etc/portage/make.conf : check OK${NC}\n" fi fi # Check if make.conf includes well configured ACCEPT_LICENSE echo "Check if /etc/portage/make.conf includes well configured ACCEPT_LICENSE" grep -q "^[[:space:]]*ACCEPT_LICENSE=\"${PORTAGE_ACCEPTLICENSE}\"[[:space:]]*$" /etc/portage/make.conf # Return Code RC=$? # Portage ACCEPT_LICENSE NOT well CONFIGURED 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" # Portage ACCEPT_LICENSE well CONFIGURED else # If there are multiple definitions of ACCEPT_LICENSE variable, KO ACCEPT_LICENSE_DEFINITION_NUMBER="$(grep "^[[:space:]]*ACCEPT_LICENSE" /etc/portage/make.conf | wc -l)" if [ "${ACCEPT_LICENSE_DEFINITION_NUMBER}" -gt "1" ] then 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 ;" 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" fi fi # Check if global USE flags is well configured in /etc/portage/make.conf echo "Check if global USE flags is well configured in /etc/portage/make.conf" # Check if USE variable has multiple definiton USE_DEFINITION_NUMBER="$(grep "^[[:space:]]*USE" /etc/portage/make.conf | wc -l)" # If there is only one definition, it's OK if [ "${USE_DEFINITION_NUMBER}" -eq "1" ] then # Get actual global USE flags in /etc/portage/make.conf and format to compare ACTUAL_PORTAGE_USE="$(sed -n '/^USE=\"/,/\"/p' /etc/portage/make.conf | tr -d '\n' | cut -d'"' -f2 | sed 's/ /\n/g' | sort | tr '\n' ' ' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')" 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 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" fi else PORTAGE_CONFIG_CHECK_FAILED="${PORTAGE_CONFIG_CHECK_FAILED} Global USE flags in /etc/portage/make.conf has multiple definitions OR there is NO USE variable, define USE variable and only once in /etc/portage/make.conf ;" echo -e "${RED}Global USE flags in /etc/portage/make.conf has multiple definitions OR USE variable is not defined : check KO${NC}\n" fi