halfway there. now i just need to build the package lists.
This commit is contained in:
@@ -11,25 +11,69 @@ function so_check_me_out {
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z ${HOST_DIST} ]];
|
||||
if [[ -z "${HOST_DIST}" ]];
|
||||
then
|
||||
for dist_profile in $(find ${BASEDIR}/lib/prereqs -type f -name 'meta');
|
||||
for dist_profile in $(find "${BASEDIR}"/lib/prereqs -type f -name 'meta');
|
||||
do
|
||||
source ${dist_profile}
|
||||
if [[ ${SUPPORTED} != "yes" ]];
|
||||
if [[ "${SUPPORTED}" != "yes" ]];
|
||||
then
|
||||
continue
|
||||
fi
|
||||
eval "${CHECK_METHOD}" > /dev/null 2>&1
|
||||
if [[ "${?}" == "0" ]];
|
||||
then
|
||||
export HOST_DIST=${NAME}
|
||||
export HOST_DIST="${NAME}"
|
||||
echo "Detected distro as ${HOST_DIST}."
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# So we've validated the distro. Here, check for packages and install if necessary. maybe use an array, but it'd be better to soft-fail if one of the packages is missing.
|
||||
# Sanity is important.
|
||||
if [[ -z "${HOST_DIST}" ]];
|
||||
then
|
||||
echo "ERROR: Your distro was not found/detected, or is flagged as unsupported."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# So we've validated the distro. Here, check for packages and install if necessary. maybe use an array, but it'd be better to soft-fail if one of the packages is missing.
|
||||
|
||||
DISTRO_DIR="${BASEDIR}/lib/prereqs/${HOST_DIST}"
|
||||
META="${DISTRO_DIR}/meta"
|
||||
PKGLIST="${DISTRO_DIR}/pkgs"
|
||||
|
||||
if [[ "${PRE_RUN}" != 'none' ]];
|
||||
then
|
||||
echo "Now updating your local package cache..."
|
||||
set +e
|
||||
eval "${PRE_RUN}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
if [[ "${?}" != "0" ]];
|
||||
then
|
||||
echo "ERROR: Syncing your local package cache via ${PRE_RUN} command failed."
|
||||
echo "Please ensure you are connected to the Internet/have repositories configured correctly."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
while read pkgname;
|
||||
do
|
||||
eval "${PKG_CHK}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
if [[ "${?}" != "0" ]];
|
||||
then
|
||||
echo "Installing ${pkgname}..."
|
||||
eval "${PKG_MGR}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
if [[ "${?}" != "0" ]];
|
||||
then
|
||||
echo "ERROR: ${pkgname} was not found to be installed and we can't install it."
|
||||
echo "This usually means you aren't connected to the Internet or your package repositories"
|
||||
echo "are not configured correctly. Review the list of packages in ${PKGLIST} and ensure"
|
||||
echo "they are all available to be installed."
|
||||
fi
|
||||
fi
|
||||
done < ${PKGLIST}
|
||||
|
||||
set -e
|
||||
}
|
||||
|
||||
so_check_me_out
|
||||
|
||||
Reference in New Issue
Block a user