|
|
| version 1.1, 2025/01/20 22:40:23 | version 1.5, 2025/03/05 17:23:59 |
|---|---|
| Line 44 then | Line 44 then |
| exit 1 | exit 1 |
| fi | fi |
| if [ $EUID -ne ${BUILDMAN_UID} ] | #if [ $EUID -ne ${BUILDMAN_UID} ] |
| then | #then |
| echo "${PROGN} error: must be run as user \"${BUILDMAN_USER}\"" | # echo "${PROGN} error: must be run as user \"${BUILDMAN_USER}\"" |
| exit 1 | # exit 1 |
| fi | #fi |
| ACTION="" | ACTION="" |
| PROJECT="" | PROJECT="" |
| BUILD_HOST="" | BUILD_HOST="" |
| OS=`uname` | OS=`uname` |
| PYES="no" | |
| if [ "$OS" = "SCO_SV" ] ; then | if [ "$OS" = "SCO_SV" ] ; then |
| THOST=`hostname -s` | THOST=`hostname -s` |
| Line 70 fi | Line 71 fi |
| tmphost=`echo ${THOST} | cut -d. -f1` | tmphost=`echo ${THOST} | cut -d. -f1` |
| THOST="${tmphost}" | THOST="${tmphost}" |
| while getopts ':p:h:a:bl:o:y' OPTION | |
| while getopts ':p:h:a:bl:o:' OPTION | |
| do | do |
| case $OPTION in | case $OPTION in |
| y) | |
| PYES="yes" | |
| ;; | |
| l) | l) |
| ACTION="list" | ACTION="list" |
| TOLIST="${OPTARG}" | TOLIST="${OPTARG}" |
| Line 107 done | Line 111 done |
| if [ ! -z "${PROJECT}" ] | if [ ! -z "${PROJECT}" ] |
| then | then |
| PROJECT_BASE="${BUILDMAN_BASE}/projects/${PROJECT}" | PROJECT_BASE="${BUILDMAN_BASE}/projects/${PROJECT}" |
| if [ "${ACTION}" == "add" -a ! -d ${PROJECT_BASE} ] | if [ "${ACTION}" = "add" -a ! -d ${PROJECT_BASE} ] |
| then | then |
| echo "$PROGN: creating ${PROJECT} in ${PROJECT_BASE}..." | echo "$PROGN: creating ${PROJECT} in ${PROJECT_BASE}..." |
| mkdir -p "${PROJECT_BASE}" | mkdir -p "${PROJECT_BASE}" |
| Line 115 then | Line 119 then |
| if [ ! -d "${PROJECT_BASE}" ] | if [ ! -d "${PROJECT_BASE}" ] |
| then | then |
| echo "$PROGN error: project ${PROJECT} not defined" | echo "$PROGN error: project ${PROJECT} not defined [${PROJECT_BASE}]" |
| exit 1 | exit 1 |
| fi | fi |
| fi | fi |
| Line 159 case $ACTION in | Line 163 case $ACTION in |
| echo "$PROGN: creating directory structure for project \"${PROJECT}\"" | echo "$PROGN: creating directory structure for project \"${PROJECT}\"" |
| mkdir -p "${PBASE}/hosts" | mkdir -p "${PBASE}/hosts" |
| mkdir -p "${PBASE}/scripts" | |
| ;; | ;; |
| Line 171 case $ACTION in | Line 175 case $ACTION in |
| fi | fi |
| PBASE="${BUILDMAN_BASE}/projects/${PROJECT}" | PBASE="${BUILDMAN_BASE}/projects/${PROJECT}" |
| if [ ! -d "${PBASE}" ] | if [ ! -d "${PBASE}" ] |
| then | then |
| echo "$PROGN error: project \"${PROJECT}\" does not exist" | echo "$PROGN error: project \"${PROJECT}\" does not exist" |
| Line 190 case $ACTION in | Line 195 case $ACTION in |
| exit 1 | exit 1 |
| fi | fi |
| if [ -z "${OPTIONS}" ] | |
| then | |
| echo "$PROGN error: must pass -o \"os:version:arch\"" | |
| exit 1 | |
| fi | |
| PLSTR="${BUILD_HOST}:${OPTIONS}" | |
| H_PLATFORM=`echo ${PLSTR} | cut -d: -f2` | |
| H_VERSION=`echo ${PLSTR} | cut -d: -f3` | |
| H_ARCH=`echo ${PLSTR} | cut -d: -f4` | |
| if [ "${PYES}" = "no" ] | |
| then | |
| echo | |
| echo "Host Details" | |
| echo "============" | |
| echo "Project: ${PROJECT}" | |
| echo "Hostname: ${BUILD_HOST}" | |
| echo "Platform: ${H_PLATFORM}" | |
| echo "Version: ${H_VERSION}" | |
| echo "Architecture: ${H_ARCH}" | |
| echo | |
| read -n 1 -p "OK to create? (y/n) " YORN | |
| echo | |
| if [ "${YORN}" = "y" -o "${YORN}" = "Y" ] | |
| then | |
| CONF=1 | |
| else | |
| echo "$PROGN: aborted" | |
| exit 2 | |
| fi | |
| fi | |
| echo "$PROGN: adding host \"${BUILD_HOST}\" to project \"${PROJECT}\"" | echo "$PROGN: adding host \"${BUILD_HOST}\" to project \"${PROJECT}\"" |
| mkdir -p "${HBASE}" | mkdir -p "${HBASE}" |
| mkdir -p "${HBASE}/jobs" | |
| mkdir -p "${HBASE}/logs" | |
| PFILE="${PBASE}/${H_PLATFORM}-platform.list" | |
| echo | |
| echo "==================================================" | |
| echo " Don't forget to add the BuildMan cron job" | |
| echo " to ${BUILDMAN_USER}@${BUILD_HOST}" | |
| echo "==================================================" | |
| echo | |
| echo "${PLSTR}" >> "${PFILE}" | |
| cd ${PBASE} | |
| ls -1 *-platform.list | cut -d- -f1 | sort | uniq > platforms.list | |
| ;; | ;; |
| esac | esac |
| ;; | ;; |
| build) | build) |
| if [ -z "${BUILD_HOST}" ] | if [ -z "${BUILD_HOST}" ] |
| Line 214 case $ACTION in | Line 267 case $ACTION in |
| exit 1 | exit 1 |
| fi | fi |
| BUILD_WANTED="${PROJECT_BASE}/${HOST}/build-wanted" | BUILD_WANTED="${PROJECT_BASE}/hosts/${BUILD_HOST}/build-wanted" |
| if [ -f "${BUILD_WANTED}" ] | if [ -f "${BUILD_WANTED}" ] |
| then | then |
| Line 223 case $ACTION in | Line 276 case $ACTION in |
| fi | fi |
| touch "${BUILD_WANTED}" | touch "${BUILD_WANTED}" |
| echo "$PROGN: build of project ${PROJECT} requested on build host ${HOST}" | echo "$PROGN: build of project ${PROJECT} requested on build host ${BUILD_HOST}" |
| ;; | ;; |
| esac | esac |