New paste Repaste Download
#!/bin/bash
set +h
umask 022
zprint() { echo -e "${zzwhite} *** $* *** ${zzreset}"; }
zmsg() { echo -e "${zzred} *** $* *** ${zzreset}"; }
stars() { echo -e "${zzpurple} $(printf '%.0s*' {1..100}) ${zzreset}"; }
print_formatted_duration() {
    duration=$1
    hour=$((duration / 3600))
    mins=$(( (duration % 3600) / 60 ))
    sec=$((duration % 60))
    zprint $(printf "%02d Hours, %02d Minutes and %02d Seconds \n" ${hour} ${mins} ${sec})
}
zbuild_check() {
    local file="$1"
    if [[ ! -f ${file} ]]; then
        return 2
    fi
    local pkg="$(basename ${file%.*})"
    ! grep -q "$pkg" "$ZBUILD/zpackage.db"
    return $?
    # found = 1
    # not found = 0
}
zbuild_wait() {
    local wait=${1:-5}
    zmsg "Waiting $wait seconds or Press [SPACE] to continue..."
    read -t $wait -n 1 key
    if [[ $key == " " ]]; then
        zmsg "Skipped wait."
    else
        zmsg "Continuing..."
    fi
}
zbuild_exec() {
    local file="$1"
    case "$file" in
        *.zbc)
            ${ZBUILD}/zbuild "$file" || { echo "Error: $file - Exiting: $?"; return 1; }
            ;;
        *.sh)
            "$file" || { echo "Error: $file - Exiting: $?"; return 1; }
            ;;
        *)
            zmsg "Invalid File Found in Stream"
            return 666
            ;;
    esac
}
#
#   Start of Package Builder
#
ZBefore=`date +%s`
zzreset="\033[0m"
zzwhite="\033[1;37m"
zzred="\033[1;31m"
zzpurple="\033[1;35m"
ZSRC=${ZSRC:-/sources}
ZBUILD=${ZBUILD:-/zbuild}
ZPACK=$1
zerror=0
if [[ -z $ZPACK ]]; then
    zmsg "A package tar file is required. exiting."
    exit 1
fi
#   Extract the Package Tar
ZTMP=$ZBUILD/stage3
ZPACKTMP=$ZTMP/$(basename {ZPACK%.*})
echo ":::: This should be created:: ${ZPACKTMP}"
tar -xf $ZPACK -C $ZTMP || { zmsg "Error Extracting package Tar. Exiting."; exit 1; }
if ! [[ -d $ZPACKTMP ]]; then
    zmsg "pack Directory Not Found. Exiting."
    exit 1
else
    pushd ${ZTMP}
    source "$ZPACKTMP/install.sh"
    echo "Found ${packagedir}"
    popd
fi
if [[ -n "$packagedir" ]] && ([[ -z "$zcheck" ]] || [[ "$zcheck" == "0" ]]); then
    stars
    script=$(find "${ZPACKTMP}" -type f -name "*.zbc" | head -n 1)
    if [[ -z ${script} ]]; then
        zmsg "Could Not Locate zbc file. exiting."
        exit 1
    else
        zprint "Executing ${script}"
        zbuild_check "${script}"
            zcheck=$?
        if [[ $zcheck -eq 2 ]]; then
            zmsg "Error Missing ${script}. Exiting."
            break
        elif [[ $zcheck -eq 1 ]]; then
            zprint "$(basename ${script}) Already Installed. Continuing."
            continue
        fi
        zbuild_wait 5
        zbuild_exec "${script}" || zerror=$?
        /sbin/ldconfig
    fi
fi
if [[ $zerror -ne 0 ]]; then
    zmsg "An Error Occured in zbuild_exec. exiting."
fi
ZAfter=`date +%s`
let duration=ZAfter-ZBefore
print_formatted_duration $duration
Filename: packInstall.sh. Size: 3kb. View raw, , hex, or download this file.

This paste expires on 2025-07-30 17:38:45.301150. Pasted through web.