build-support/factor.sh: typo was causing make detection to fail on linux

#!/usr/bin/env bash

# Programs returning != 0 will not cause script to exit
set +e

# Case insensitive string comparison
shopt -s nocaseglob
#shopt -s nocasematch

ECHO=echo
OS=
ARCH=
WORD=
NO_UI=${NO_UI-}
GIT_PROTOCOL=${GIT_PROTOCOL:="git"}
GIT_URL=${GIT_URL:=$GIT_PROTOCOL"://factorcode.org/git/factor.git"}
SCRIPT_ARGS="$*"

test_program_installed() {
    if ! [[ -n `type -p $1` ]] ; then
        return 0;
    fi
    return 1;
}

exit_script() {
    if [[ $FIND_MAKE_TARGET = true ]] ; then
        # Must be echo not $ECHO
        echo $MAKE_TARGET;
    fi
    exit $1
}

ensure_program_installed() {
    installed=0;
    for i in $* ;
    do
        $ECHO -n "Checking for $i..."
        test_program_installed $i
        if [[ $? -eq 0 ]]; then
            $ECHO -n "not "
        else
            installed=$(( $installed + 1 ))
        fi
        $ECHO "found!"
    done
    if [[ $installed -eq 0 ]] ; then
        $ECHO -n "Install "
        if [[ $# -eq 1 ]] ; then
            $ECHO -n $1
        else
            $ECHO -n "any of [ $* ]"
        fi
        $ECHO " and try again."
        exit_script 1;
    fi
}

check_ret() {
    RET=$?
    if [[ $RET -ne 0 ]] ; then
       $ECHO $1 failed
       exit_script 2
    fi
}

set_downloader() {
    test_program_installed wget curl
    if [[ $? -ne 0 ]] ; then
        DOWNLOADER=wget
    else
        DOWNLOADER="curl -f -O"
    fi
}

set_md5sum() {
    test_program_installed md5sum
    if [[ $? -ne 0 ]] ; then
        MD5SUM=md5sum
    else
        MD5SUM="md5 -r"
    fi
}

set_gcc() {
    case $OS in
        openbsd) ensure_program_installed egcc; CC=egcc;;
        *) CC=gcc;;
    esac
}

set_make() {
    case $OS in
        netbsd) MAKE='gmake';;
        freebsd) MAKE='gmake';;
        openbsd) MAKE='gmake';;
        dragonflybsd) MAKE='gmake';;
        *) MAKE='make';;
    esac
    if [[ $MAKE = 'gmake' ]] ; then
        ensure_program_installed gmake
    fi
}

check_installed_programs() {
    ensure_program_installed chmod
    ensure_program_installed uname
    ensure_program_installed git
    ensure_program_installed wget curl
    ensure_program_installed gcc
    ensure_program_installed g++ cl
    ensure_program_installed make gmake
    ensure_program_installed md5sum md5
    ensure_program_installed cut
}

check_library_exists() {
    GCC_TEST=factor-library-test.c
    GCC_OUT=factor-library-test.out
    $ECHO -n "Checking for library $1..."
    $ECHO "int main(){return 0;}" > $GCC_TEST
    $CC $GCC_TEST -o $GCC_OUT -l $1
    if [[ $? -ne 0 ]] ; then
        $ECHO "not found!"
        $ECHO "Warning: library $1 not found."
        $ECHO "***Factor will compile NO_UI=1"
        NO_UI=1
    fi
    $DELETE -f $GCC_TEST
    check_ret $DELETE
    $DELETE -f $GCC_OUT
    check_ret $DELETE
    $ECHO "found."
}

check_X11_libraries() {
    if [ -z "$NO_UI" ]; then
        check_library_exists GL
        check_library_exists X11
        check_library_exists pango-1.0
    fi
}

check_libraries() {
    case $OS in
            linux) check_X11_libraries;;
    esac
}

check_factor_exists() {
    if [[ -d "factor" ]] ; then
        $ECHO "A directory called 'factor' already exists."
        $ECHO "Rename or delete it and try again."
        exit_script 4
    fi
}

find_os() {
    if [[ -n $OS ]] ; then return; fi
    $ECHO "Finding OS..."
    uname_s=`uname -s`
    check_ret uname
    case $uname_s in
        CYGWIN_NT-5.2-WOW64) OS=winnt;;
        *CYGWIN_NT*) OS=winnt;;
        *CYGWIN*) OS=winnt;;
        MINGW32*) OS=winnt;;
        *darwin*) OS=macosx;;
        *Darwin*) OS=macosx;;
        *linux*) OS=linux;;
        *Linux*) OS=linux;;
        *NetBSD*) OS=netbsd;;
        *FreeBSD*) OS=freebsd;;
        *OpenBSD*) OS=openbsd;;
        *DragonFly*) OS=dragonflybsd;;
        SunOS) OS=solaris;;
    esac
}

find_architecture() {
    if [[ -n $ARCH ]] ; then return; fi
    $ECHO "Finding ARCH..."
    uname_m=`uname -m`
    check_ret uname
    case $uname_m in
       i386) ARCH=x86;;
       i686) ARCH=x86;;
       i86pc) ARCH=x86;;
       amd64) ARCH=x86;;
       ppc64) ARCH=ppc;;
       *86) ARCH=x86;;
       *86_64) ARCH=x86;;
       "Power Macintosh") ARCH=ppc;;
    esac
}

write_test_program() {
    #! Must be 'echo'
    echo "#include <stdio.h>" > $C_WORD.c
    echo "int main(){printf(\"%ld\", (long)(8*sizeof(void*))); return 0; }" >> $C_WORD.c
}

c_find_word_size() {
    $ECHO "Finding WORD..."
    C_WORD=factor-word-size
    write_test_program
    gcc -o $C_WORD $C_WORD.c
    WORD=$(./$C_WORD)
    check_ret $C_WORD
    $DELETE -f $C_WORD*
}

intel_macosx_word_size() {
    ensure_program_installed sysctl
    $ECHO -n "Testing if your Intel Mac supports 64bit binaries..."
    sysctl machdep.cpu.extfeatures | grep EM64T >/dev/null
    if [[ $? -eq 0 ]] ; then
        WORD=64
        $ECHO "yes!"
    else
        WORD=32
        $ECHO "no."
    fi
}

find_word_size() {
    if [[ -n $WORD ]] ; then return; fi
    if [[ $OS == macosx && $ARCH == x86 ]] ; then
        intel_macosx_word_size
    else
        c_find_word_size
    fi
}

set_factor_binary() {
    case $OS in
        winnt) FACTOR_BINARY=factor.com;;
        *) FACTOR_BINARY=factor;;
    esac
}

set_factor_library() {
    case $OS in
        winnt) FACTOR_LIBRARY=factor.dll;;
        macosx) FACTOR_LIBRARY=libfactor.dylib;;
        *) FACTOR_LIBRARY=libfactor.a;;
    esac
}

set_factor_image() {
    FACTOR_IMAGE=factor.image
    FACTOR_IMAGE_FRESH=factor.image.fresh
}

echo_build_info() {
    $ECHO OS=$OS
    $ECHO ARCH=$ARCH
    $ECHO WORD=$WORD
    $ECHO FACTOR_BINARY=$FACTOR_BINARY
    $ECHO FACTOR_LIBRARY=$FACTOR_LIBRARY
    $ECHO FACTOR_IMAGE=$FACTOR_IMAGE
    $ECHO MAKE_TARGET=$MAKE_TARGET
    $ECHO BOOT_IMAGE=$BOOT_IMAGE
    $ECHO MAKE_IMAGE_TARGET=$MAKE_IMAGE_TARGET
    $ECHO GIT_PROTOCOL=$GIT_PROTOCOL
    $ECHO GIT_URL=$GIT_URL
    $ECHO DOWNLOADER=$DOWNLOADER
    $ECHO CC=$CC
    $ECHO MAKE=$MAKE
    $ECHO COPY=$COPY
    $ECHO DELETE=$DELETE
}

check_os_arch_word() {
    if ! [[ -n $OS && -n $ARCH && -n $WORD ]] ; then
        $ECHO "OS: $OS"
        $ECHO "ARCH: $ARCH"
        $ECHO "WORD: $WORD"
        $ECHO "OS, ARCH, or WORD is empty.  Please report this."

        $ECHO $MAKE_TARGET
        exit_script 5
    fi
}

set_build_info() {
    check_os_arch_word
    if [[ $OS == macosx && $ARCH == ppc ]] ; then
        MAKE_IMAGE_TARGET=macosx-ppc
        MAKE_TARGET=macosx-ppc
    elif [[ $OS == linux && $ARCH == ppc ]] ; then
        MAKE_IMAGE_TARGET=linux-ppc
        MAKE_TARGET=linux-ppc
    elif [[ $OS == winnt && $ARCH == x86 && $WORD == 64 ]] ; then
        MAKE_IMAGE_TARGET=winnt-x86.64
        MAKE_TARGET=winnt-x86-64
    elif [[ $OS == winnt && $ARCH == x86 && $WORD == 32 ]] ; then
        MAKE_IMAGE_TARGET=winnt-x86.32
        MAKE_TARGET=winnt-x86-32
    elif [[ $ARCH == x86 && $WORD == 64 ]] ; then
        MAKE_IMAGE_TARGET=unix-x86.64
        MAKE_TARGET=$OS-x86-64
    elif [[ $ARCH == x86 && $WORD == 32 ]] ; then
        MAKE_IMAGE_TARGET=unix-x86.32
        MAKE_TARGET=$OS-x86-32
    else
        MAKE_IMAGE_TARGET=$ARCH.$WORD
        MAKE_TARGET=$OS-$ARCH-$WORD
    fi
    BOOT_IMAGE=boot.$MAKE_IMAGE_TARGET.image
}

parse_build_info() {
    ensure_program_installed cut
    $ECHO "Parsing make target from command line: $1"
    OS=`echo $1 | cut -d '-' -f 1`
    ARCH=`echo $1 | cut -d '-' -f 2`
    WORD=`echo $1 | cut -d '-' -f 3`

    if [[ $OS == linux && $ARCH == ppc ]] ; then WORD=32; fi
    if [[ $OS == linux && $ARCH == arm ]] ; then WORD=32; fi
    if [[ $OS == macosx && $ARCH == ppc ]] ; then WORD=32; fi
    if [[ $OS == wince && $ARCH == arm ]] ; then WORD=32; fi

    $ECHO "OS=$OS"
    $ECHO "ARCH=$ARCH"
    $ECHO "WORD=$WORD"
}

find_build_info() {
    find_os
    find_architecture
    find_word_size
    set_factor_binary
    set_factor_library
    set_factor_image
    set_build_info
    set_downloader
    set_gcc
    set_make
    echo_build_info
}

invoke_git() {
    git $*
    check_ret git
}

git_clone() {
    $ECHO "Downloading the git repository from factorcode.org..."
    invoke_git clone $GIT_URL
}

update_script_name() {
    $ECHO `dirname $0`/_update.sh
}

update_script() {
    update_script=`update_script_name`
    bash_path=`which bash`
    $ECHO "#!$bash_path" >"$update_script"
    $ECHO "git pull \"$GIT_URL\" master" >>"$update_script"
    $ECHO "if [[ \$? -eq 0 ]]; then exec \"$0\" $SCRIPT_ARGS; else echo \"git pull failed\"; exit 2; fi" \
        >>"$update_script"
    $ECHO "exit 0" >>"$update_script"

    chmod 755 "$update_script"
    exec "$update_script"
}

update_script_changed() {
    invoke_git diff --stat `invoke_git merge-base HEAD FETCH_HEAD` FETCH_HEAD | grep 'build-support.factor\.sh' >/dev/null
}

git_fetch_factorcode() {
    $ECHO "Fetching the git repository from factorcode.org..."

    rm -f `update_script_name`
    invoke_git fetch "$GIT_URL" master

    if update_script_changed; then
        $ECHO "Updating and restarting the factor.sh script..."
        update_script
    else
        $ECHO "Updating the working tree..."
        invoke_git pull "$GIT_URL" master
    fi
}

cd_factor() {
    cd factor
    check_ret cd
}

set_copy() {
    case $OS in
        winnt) COPY=cp;;
        *) COPY=cp;;
    esac
}

set_delete() {
    case $OS in
        winnt) DELETE=rm;;
        *) DELETE=rm;;
    esac
}

backup_factor() {
    $ECHO "Backing up factor..."
    $COPY $FACTOR_BINARY $FACTOR_BINARY.bak
    $COPY $FACTOR_LIBRARY $FACTOR_LIBRARY.bak
    $COPY $BOOT_IMAGE $BOOT_IMAGE.bak
    $COPY $FACTOR_IMAGE $FACTOR_IMAGE.bak
    $ECHO "Done with backup."
}

check_makefile_exists() {
    if [[ ! -e "GNUmakefile" ]] ; then
        $ECHO ""
        $ECHO "***GNUmakefile not found***"
        $ECHO "You are likely in the wrong directory."
        $ECHO "Run this script from your factor directory:"
        $ECHO "     ./build-support/factor.sh"
        exit_script 6
    fi
}

invoke_make() {
    check_makefile_exists
    $MAKE $MAKE_OPTS $*
    check_ret $MAKE
}

make_clean() {
    invoke_make clean
}

make_factor() {
    invoke_make NO_UI=$NO_UI $MAKE_TARGET -j5
}

update_boot_images() {
    $ECHO "Deleting old images..."
    $DELETE checksums.txt* > /dev/null 2>&1
    # delete boot images with one or two characters after the dot
    $DELETE $BOOT_IMAGE.{?,??} > /dev/null 2>&1
    $DELETE temp/staging.*.image > /dev/null 2>&1
    if [[ -f $BOOT_IMAGE ]] ; then
        get_url http://downloads.factorcode.org/images/latest/checksums.txt
        factorcode_md5=`cat checksums.txt|grep $BOOT_IMAGE|cut -f2 -d' '`;
        set_md5sum
        case $OS in
             netbsd) disk_md5=`md5 $BOOT_IMAGE | cut -f4 -d' '`;;
             *) disk_md5=`$MD5SUM $BOOT_IMAGE|cut -f1 -d' '` ;;
        esac
        $ECHO "Factorcode md5: $factorcode_md5";
        $ECHO "Disk md5: $disk_md5";
        if [[ "$factorcode_md5" == "$disk_md5" ]] ; then
            $ECHO "Your disk boot image matches the one on factorcode.org."
        else
            $DELETE $BOOT_IMAGE > /dev/null 2>&1
            get_boot_image;
        fi
    else
        get_boot_image
    fi
}

get_boot_image() {
    $ECHO "Downloading boot image $BOOT_IMAGE."
    get_url http://downloads.factorcode.org/images/latest/$BOOT_IMAGE
}

get_url() {
    if [[ -z $DOWNLOADER ]] ; then
        set_downloader;
    fi
    $ECHO $DOWNLOADER $1 ;
    $DOWNLOADER $1
    check_ret $DOWNLOADER
}

get_config_info() {
    find_build_info
    check_installed_programs
    check_libraries
}

copy_fresh_image() {
    $ECHO "Copying $FACTOR_IMAGE to $FACTOR_IMAGE_FRESH..."
    $COPY $FACTOR_IMAGE $FACTOR_IMAGE_FRESH
}

bootstrap() {
    ./$FACTOR_BINARY -i=$BOOT_IMAGE
	copy_fresh_image
}

install() {
    check_factor_exists
    get_config_info
    git_clone
    cd_factor
    make_factor
    get_boot_image
    bootstrap
}

update() {
    get_config_info
    git_fetch_factorcode
    backup_factor
    make_clean
    make_factor
}

update_bootstrap() {
    update_boot_images
    bootstrap
}

refresh_image() {
    ./$FACTOR_BINARY -script -e="USING: vocabs.loader system memory ; refresh-all USE: memory save 0 exit"
    check_ret factor
}

make_boot_image() {
    ./$FACTOR_BINARY -script -e="\"$MAKE_IMAGE_TARGET\" USING: system bootstrap.image memory ; make-image save 0 exit"
    check_ret factor

}

install_build_system_apt() {
    sudo apt-get --yes install libc6-dev libpango1.0-dev libx11-dev xorg-dev wget git-core git-doc rlwrap gcc make
    check_ret sudo
}

install_build_system_port() {
    test_program_installed git
    if [[ $? -ne 1 ]] ; then
        ensure_program_installed yes
        $ECHO "git not found."
        $ECHO "This script requires either git-core or port."
        $ECHO "If it fails, install git-core or port and try again."
        ensure_program_installed port
        $ECHO "Installing git-core with port...this will take awhile."
        yes | sudo port install git-core
    fi
}

usage() {
    $ECHO "usage: $0 install|install-x11|install-macosx|self-update|quick-update|update|bootstrap|dlls|net-bootstrap|make-target|report [optional-target]"
    $ECHO "If you are behind a firewall, invoke as:"
    $ECHO "env GIT_PROTOCOL=http $0 <command>"
    $ECHO ""
    $ECHO "Example for overriding the default target:"
    $ECHO "    $0 update macosx-x86-32"
}

MAKE_TARGET=unknown

# -n is nonzero length, -z is zero length
if [[ -n "$2" ]] ; then
    parse_build_info $2
fi

set_copy
set_delete

case "$1" in
    install) install ;;
    install-x11) install_build_system_apt; install ;;
    install-macosx) install_build_system_port; install ;;
    self-update) update; make_boot_image; bootstrap;;
    quick-update) update; refresh_image ;;
    update) update; update_bootstrap ;;
    bootstrap) get_config_info; bootstrap ;;
    report) find_build_info ;;
    net-bootstrap) get_config_info; update_boot_images; bootstrap ;;
    make-target) FIND_MAKE_TARGET=true; ECHO=false; find_build_info; exit_script ;;
    *) usage ;;
esac

#!/usr/bin/env bash

# Programs returning != 0 will not cause script to exit
set +e

# Case insensitive string comparison
shopt -s nocaseglob
#shopt -s nocasematch

ECHO=echo
OS=
ARCH=
WORD=
NO_UI=${NO_UI-}
GIT_PROTOCOL=${GIT_PROTOCOL:="git"}
GIT_URL=${GIT_URL:=$GIT_PROTOCOL"://factorcode.org/git/factor.git"}
SCRIPT_ARGS="$*"

test_program_installed() {
    if ! [[ -n `type -p $1` ]] ; then
        return 0;
    fi
    return 1;
}

exit_script() {
    if [[ $FIND_MAKE_TARGET = true ]] ; then
        # Must be echo not $ECHO
        echo $MAKE_TARGET;
    fi
    exit $1
}

ensure_program_installed() {
    installed=0;
    for i in $* ;
    do
        $ECHO -n "Checking for $i..."
        test_program_installed $i
        if [[ $? -eq 0 ]]; then
            $ECHO -n "not "
        else
            installed=$(( $installed + 1 ))
        fi
        $ECHO "found!"
    done
    if [[ $installed -eq 0 ]] ; then
        $ECHO -n "Install "
        if [[ $# -eq 1 ]] ; then
            $ECHO -n $1
        else
            $ECHO -n "any of [ $* ]"
        fi
        $ECHO " and try again."
        exit_script 1;
    fi
}

check_ret() {
    RET=$?
    if [[ $RET -ne 0 ]] ; then
       $ECHO $1 failed
       exit_script 2
    fi
}

set_downloader() {
    test_program_installed wget curl
    if [[ $? -ne 0 ]] ; then
        DOWNLOADER=wget
    else
        DOWNLOADER="curl -f -O"
    fi
}

set_md5sum() {
    test_program_installed md5sum
    if [[ $? -ne 0 ]] ; then
        MD5SUM=md5sum
    else
        MD5SUM="md5 -r"
    fi
}

set_gcc() {
    case $OS in
        openbsd) ensure_program_installed egcc; CC=egcc;;
        *) CC=gcc;;
    esac
}

set_make() {
    case $OS in
        netbsd) MAKE='gmake';;
        freebsd) MAKE='gmake';;
        openbsd) MAKE='gmake';;
        dragonflybsd) MAKE='gmake';;
        *) MAKE='make';;
    esac
    if ! [[ $MAKE = 'gmake' ]] ; then
        ensure_program_installed gmake
    fi
}

check_installed_programs() {
    ensure_program_installed chmod
    ensure_program_installed uname
    ensure_program_installed git
    ensure_program_installed wget curl
    ensure_program_installed gcc
    ensure_program_installed g++ cl
    ensure_program_installed make gmake
    ensure_program_installed md5sum md5
    ensure_program_installed cut
}

check_library_exists() {
    GCC_TEST=factor-library-test.c
    GCC_OUT=factor-library-test.out
    $ECHO -n "Checking for library $1..."
    $ECHO "int main(){return 0;}" > $GCC_TEST
    $CC $GCC_TEST -o $GCC_OUT -l $1
    if [[ $? -ne 0 ]] ; then
        $ECHO "not found!"
        $ECHO "Warning: library $1 not found."
        $ECHO "***Factor will compile NO_UI=1"
        NO_UI=1
    fi
    $DELETE -f $GCC_TEST
    check_ret $DELETE
    $DELETE -f $GCC_OUT
    check_ret $DELETE
    $ECHO "found."
}

check_X11_libraries() {
    if [ -z "$NO_UI" ]; then
        check_library_exists GL
        check_library_exists X11
        check_library_exists pango-1.0
    fi
}

check_libraries() {
    case $OS in
            linux) check_X11_libraries;;
    esac
}

check_factor_exists() {
    if [[ -d "factor" ]] ; then
        $ECHO "A directory called 'factor' already exists."
        $ECHO "Rename or delete it and try again."
        exit_script 4
    fi
}

find_os() {
    if [[ -n $OS ]] ; then return; fi
    $ECHO "Finding OS..."
    uname_s=`uname -s`
    check_ret uname
    case $uname_s in
        CYGWIN_NT-5.2-WOW64) OS=winnt;;
        *CYGWIN_NT*) OS=winnt;;
        *CYGWIN*) OS=winnt;;
        MINGW32*) OS=winnt;;
        *darwin*) OS=macosx;;
        *Darwin*) OS=macosx;;
        *linux*) OS=linux;;
        *Linux*) OS=linux;;
        *NetBSD*) OS=netbsd;;
        *FreeBSD*) OS=freebsd;;
        *OpenBSD*) OS=openbsd;;
        *DragonFly*) OS=dragonflybsd;;
        SunOS) OS=solaris;;
    esac
}

find_architecture() {
    if [[ -n $ARCH ]] ; then return; fi
    $ECHO "Finding ARCH..."
    uname_m=`uname -m`
    check_ret uname
    case $uname_m in
       i386) ARCH=x86;;
       i686) ARCH=x86;;
       i86pc) ARCH=x86;;
       amd64) ARCH=x86;;
       ppc64) ARCH=ppc;;
       *86) ARCH=x86;;
       *86_64) ARCH=x86;;
       "Power Macintosh") ARCH=ppc;;
    esac
}

write_test_program() {
    #! Must be 'echo'
    echo "#include <stdio.h>" > $C_WORD.c
    echo "int main(){printf(\"%ld\", (long)(8*sizeof(void*))); return 0; }" >> $C_WORD.c
}

c_find_word_size() {
    $ECHO "Finding WORD..."
    C_WORD=factor-word-size
    write_test_program
    gcc -o $C_WORD $C_WORD.c
    WORD=$(./$C_WORD)
    check_ret $C_WORD
    $DELETE -f $C_WORD*
}

intel_macosx_word_size() {
    ensure_program_installed sysctl
    $ECHO -n "Testing if your Intel Mac supports 64bit binaries..."
    sysctl machdep.cpu.extfeatures | grep EM64T >/dev/null
    if [[ $? -eq 0 ]] ; then
        WORD=64
        $ECHO "yes!"
    else
        WORD=32
        $ECHO "no."
    fi
}

find_word_size() {
    if [[ -n $WORD ]] ; then return; fi
    if [[ $OS == macosx && $ARCH == x86 ]] ; then
        intel_macosx_word_size
    else
        c_find_word_size
    fi
}

set_factor_binary() {
    case $OS in
        winnt) FACTOR_BINARY=factor.com;;
        *) FACTOR_BINARY=factor;;
    esac
}

set_factor_library() {
    case $OS in
        winnt) FACTOR_LIBRARY=factor.dll;;
        macosx) FACTOR_LIBRARY=libfactor.dylib;;
        *) FACTOR_LIBRARY=libfactor.a;;
    esac
}

set_factor_image() {
    FACTOR_IMAGE=factor.image
    FACTOR_IMAGE_FRESH=factor.image.fresh
}

echo_build_info() {
    $ECHO OS=$OS
    $ECHO ARCH=$ARCH
    $ECHO WORD=$WORD
    $ECHO FACTOR_BINARY=$FACTOR_BINARY
    $ECHO FACTOR_LIBRARY=$FACTOR_LIBRARY
    $ECHO FACTOR_IMAGE=$FACTOR_IMAGE
    $ECHO MAKE_TARGET=$MAKE_TARGET
    $ECHO BOOT_IMAGE=$BOOT_IMAGE
    $ECHO MAKE_IMAGE_TARGET=$MAKE_IMAGE_TARGET
    $ECHO GIT_PROTOCOL=$GIT_PROTOCOL
    $ECHO GIT_URL=$GIT_URL
    $ECHO DOWNLOADER=$DOWNLOADER
    $ECHO CC=$CC
    $ECHO MAKE=$MAKE
    $ECHO COPY=$COPY
    $ECHO DELETE=$DELETE
}

check_os_arch_word() {
    if ! [[ -n $OS && -n $ARCH && -n $WORD ]] ; then
        $ECHO "OS: $OS"
        $ECHO "ARCH: $ARCH"
        $ECHO "WORD: $WORD"
        $ECHO "OS, ARCH, or WORD is empty.  Please report this."

        $ECHO $MAKE_TARGET
        exit_script 5
    fi
}

set_build_info() {
    check_os_arch_word
    if [[ $OS == macosx && $ARCH == ppc ]] ; then
        MAKE_IMAGE_TARGET=macosx-ppc
        MAKE_TARGET=macosx-ppc
    elif [[ $OS == linux && $ARCH == ppc ]] ; then
        MAKE_IMAGE_TARGET=linux-ppc
        MAKE_TARGET=linux-ppc
    elif [[ $OS == winnt && $ARCH == x86 && $WORD == 64 ]] ; then
        MAKE_IMAGE_TARGET=winnt-x86.64
        MAKE_TARGET=winnt-x86-64
    elif [[ $OS == winnt && $ARCH == x86 && $WORD == 32 ]] ; then
        MAKE_IMAGE_TARGET=winnt-x86.32
        MAKE_TARGET=winnt-x86-32
    elif [[ $ARCH == x86 && $WORD == 64 ]] ; then
        MAKE_IMAGE_TARGET=unix-x86.64
        MAKE_TARGET=$OS-x86-64
    elif [[ $ARCH == x86 && $WORD == 32 ]] ; then
        MAKE_IMAGE_TARGET=unix-x86.32
        MAKE_TARGET=$OS-x86-32
    else
        MAKE_IMAGE_TARGET=$ARCH.$WORD
        MAKE_TARGET=$OS-$ARCH-$WORD
    fi
    BOOT_IMAGE=boot.$MAKE_IMAGE_TARGET.image
}

parse_build_info() {
    ensure_program_installed cut
    $ECHO "Parsing make target from command line: $1"
    OS=`echo $1 | cut -d '-' -f 1`
    ARCH=`echo $1 | cut -d '-' -f 2`
    WORD=`echo $1 | cut -d '-' -f 3`

    if [[ $OS == linux && $ARCH == ppc ]] ; then WORD=32; fi
    if [[ $OS == linux && $ARCH == arm ]] ; then WORD=32; fi
    if [[ $OS == macosx && $ARCH == ppc ]] ; then WORD=32; fi
    if [[ $OS == wince && $ARCH == arm ]] ; then WORD=32; fi

    $ECHO "OS=$OS"
    $ECHO "ARCH=$ARCH"
    $ECHO "WORD=$WORD"
}

find_build_info() {
    find_os
    find_architecture
    find_word_size
    set_factor_binary
    set_factor_library
    set_factor_image
    set_build_info
    set_downloader
    set_gcc
    set_make
    echo_build_info
}

invoke_git() {
    git $*
    check_ret git
}

git_clone() {
    $ECHO "Downloading the git repository from factorcode.org..."
    invoke_git clone $GIT_URL
}

update_script_name() {
    $ECHO `dirname $0`/_update.sh
}

update_script() {
    update_script=`update_script_name`
    bash_path=`which bash`
    $ECHO "#!$bash_path" >"$update_script"
    $ECHO "git pull \"$GIT_URL\" master" >>"$update_script"
    $ECHO "if [[ \$? -eq 0 ]]; then exec \"$0\" $SCRIPT_ARGS; else echo \"git pull failed\"; exit 2; fi" \
        >>"$update_script"
    $ECHO "exit 0" >>"$update_script"

    chmod 755 "$update_script"
    exec "$update_script"
}

update_script_changed() {
    invoke_git diff --stat `invoke_git merge-base HEAD FETCH_HEAD` FETCH_HEAD | grep 'build-support.factor\.sh' >/dev/null
}

git_fetch_factorcode() {
    $ECHO "Fetching the git repository from factorcode.org..."

    rm -f `update_script_name`
    invoke_git fetch "$GIT_URL" master

    if update_script_changed; then
        $ECHO "Updating and restarting the factor.sh script..."
        update_script
    else
        $ECHO "Updating the working tree..."
        invoke_git pull "$GIT_URL" master
    fi
}

cd_factor() {
    cd factor
    check_ret cd
}

set_copy() {
    case $OS in
        winnt) COPY=cp;;
        *) COPY=cp;;
    esac
}

set_delete() {
    case $OS in
        winnt) DELETE=rm;;
        *) DELETE=rm;;
    esac
}

backup_factor() {
    $ECHO "Backing up factor..."
    $COPY $FACTOR_BINARY $FACTOR_BINARY.bak
    $COPY $FACTOR_LIBRARY $FACTOR_LIBRARY.bak
    $COPY $BOOT_IMAGE $BOOT_IMAGE.bak
    $COPY $FACTOR_IMAGE $FACTOR_IMAGE.bak
    $ECHO "Done with backup."
}

check_makefile_exists() {
    if [[ ! -e "GNUmakefile" ]] ; then
        $ECHO ""
        $ECHO "***GNUmakefile not found***"
        $ECHO "You are likely in the wrong directory."
        $ECHO "Run this script from your factor directory:"
        $ECHO "     ./build-support/factor.sh"
        exit_script 6
    fi
}

invoke_make() {
    check_makefile_exists
    $MAKE $MAKE_OPTS $*
    check_ret $MAKE
}

make_clean() {
    invoke_make clean
}

make_factor() {
    invoke_make NO_UI=$NO_UI $MAKE_TARGET -j5
}

update_boot_images() {
    $ECHO "Deleting old images..."
    $DELETE checksums.txt* > /dev/null 2>&1
    # delete boot images with one or two characters after the dot
    $DELETE $BOOT_IMAGE.{?,??} > /dev/null 2>&1
    $DELETE temp/staging.*.image > /dev/null 2>&1
    if [[ -f $BOOT_IMAGE ]] ; then
        get_url http://downloads.factorcode.org/images/latest/checksums.txt
        factorcode_md5=`cat checksums.txt|grep $BOOT_IMAGE|cut -f2 -d' '`;
        set_md5sum
        case $OS in
             netbsd) disk_md5=`md5 $BOOT_IMAGE | cut -f4 -d' '`;;
             *) disk_md5=`$MD5SUM $BOOT_IMAGE|cut -f1 -d' '` ;;
        esac
        $ECHO "Factorcode md5: $factorcode_md5";
        $ECHO "Disk md5: $disk_md5";
        if [[ "$factorcode_md5" == "$disk_md5" ]] ; then
            $ECHO "Your disk boot image matches the one on factorcode.org."
        else
            $DELETE $BOOT_IMAGE > /dev/null 2>&1
            get_boot_image;
        fi
    else
        get_boot_image
    fi
}

get_boot_image() {
    $ECHO "Downloading boot image $BOOT_IMAGE."
    get_url http://downloads.factorcode.org/images/latest/$BOOT_IMAGE
}

get_url() {
    if [[ -z $DOWNLOADER ]] ; then
        set_downloader;
    fi
    $ECHO $DOWNLOADER $1 ;
    $DOWNLOADER $1
    check_ret $DOWNLOADER
}

get_config_info() {
    find_build_info
    check_installed_programs
    check_libraries
}

copy_fresh_image() {
    $ECHO "Copying $FACTOR_IMAGE to $FACTOR_IMAGE_FRESH..."
    $COPY $FACTOR_IMAGE $FACTOR_IMAGE_FRESH
}

bootstrap() {
    ./$FACTOR_BINARY -i=$BOOT_IMAGE
	copy_fresh_image
}

install() {
    check_factor_exists
    get_config_info
    git_clone
    cd_factor
    make_factor
    get_boot_image
    bootstrap
}

update() {
    get_config_info
    git_fetch_factorcode
    backup_factor
    make_clean
    make_factor
}

update_bootstrap() {
    update_boot_images
    bootstrap
}

refresh_image() {
    ./$FACTOR_BINARY -script -e="USING: vocabs.loader system memory ; refresh-all USE: memory save 0 exit"
    check_ret factor
}

make_boot_image() {
    ./$FACTOR_BINARY -script -e="\"$MAKE_IMAGE_TARGET\" USING: system bootstrap.image memory ; make-image save 0 exit"
    check_ret factor

}

install_build_system_apt() {
    sudo apt-get --yes install libc6-dev libpango1.0-dev libx11-dev xorg-dev wget git-core git-doc rlwrap gcc make
    check_ret sudo
}

install_build_system_port() {
    test_program_installed git
    if [[ $? -ne 1 ]] ; then
        ensure_program_installed yes
        $ECHO "git not found."
        $ECHO "This script requires either git-core or port."
        $ECHO "If it fails, install git-core or port and try again."
        ensure_program_installed port
        $ECHO "Installing git-core with port...this will take awhile."
        yes | sudo port install git-core
    fi
}

usage() {
    $ECHO "usage: $0 install|install-x11|install-macosx|self-update|quick-update|update|bootstrap|dlls|net-bootstrap|make-target|report [optional-target]"
    $ECHO "If you are behind a firewall, invoke as:"
    $ECHO "env GIT_PROTOCOL=http $0 <command>"
    $ECHO ""
    $ECHO "Example for overriding the default target:"
    $ECHO "    $0 update macosx-x86-32"
}

MAKE_TARGET=unknown

# -n is nonzero length, -z is zero length
if [[ -n "$2" ]] ; then
    parse_build_info $2
fi

set_copy
set_delete

case "$1" in
    install) install ;;
    install-x11) install_build_system_apt; install ;;
    install-macosx) install_build_system_port; install ;;
    self-update) update; make_boot_image; bootstrap;;
    quick-update) update; refresh_image ;;
    update) update; update_bootstrap ;;
    bootstrap) get_config_info; bootstrap ;;
    report) find_build_info ;;
    net-bootstrap) get_config_info; update_boot_images; bootstrap ;;
    make-target) FIND_MAKE_TARGET=true; ECHO=false; find_build_info; exit_script ;;
    *) usage ;;
esac


fixing dockerrun.sh

fixing dockerrun.sh

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/BenSimonds/DHTSite.git/'


Adding IE coast-line dataset installer.

Adding IE coast-line dataset installer.

#!/bin/sh
#
# install ODA-OS ingestion engine
#
#======================================================================

. `dirname $0`/../lib_logging.sh

NAME="Coast-Line Dataset"

info "Installing Ingestion Engine $NAME ... "

#======================================================================

[ -z "$ODAOS_IE_HOME" ] && error "Missing the required ODAOS_IE_HOME variable!"
[ -z "$CONTRIB" ] && error "Missing the required CONTRIB variable!"
[ -z "$ODAOSUSER" ] && error "Missing the required ODAOSUSER variable!"
[ -z "$ODAOSGROUP" ] && error "Missing the required ODAOSGROUP variable!"

URL="http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/physical/ne_10m_land.zip"
TARGET="$ODAOS_IE_HOME/ingestion/media/etc/coastline_data"

#======================================================================
# trying to locate the data-file

#
# public domain dataset
# source: Natural Earth (http://www.naturalearthdata.com/)
#

FILE="`find "$CONTRIB" -name 'ne_10m_land.zip' | sort -r | head -n 1`"

if [ -z "$FILE" ]
then

    info "Downloading from: $URL"

    FILE="$CONTRIB/`basename "$URL"`"

    info "Saving to : $FILE"

    curl -L "$URL" -o "$FILE"

    [ -f "$FILE" ] || error "Failed to download the $NAME!" \
        && info "$NAME downloaded."

else # found - using local copy

    info "Using the existing local copy of the $NAME."

fi

info "$FILE"

#======================================================================

# remove previous data
[ -d "$TARGET" -o -f "$TARGET" ] && rm -fR "$TARGET"

# unpack the data
sudo -u "$ODAOSUSER" mkdir -p "$TARGET"
unzip "$FILE" -d "$TARGET"
chown -R "$ODAOSUSER:$ODAOSGROUP" "$TARGET"

info "$NAME installed to: $TARGET"

error: pathspec 'scripts/install.d/31_ie_coastline.sh' did not match any file(s) known to git


Fix broken Buck installation link

Fix broken Buck installation link

Summary:
Running `./scripts/run-android-local-unit-tests.sh` without having
installed Buck displays this link. Make it point to a URL that exists.
Closes https://github.com/facebook/react-native/pull/15292

Differential Revision: D5529392

Pulled By: hramos

fbshipit-source-id: e100823d04fef79a8ecce0e9626fa05864e0aaf8

#!/bin/bash

# This script validates that Android is set up correctly for the
# testing environment.
#
# In particular, the config in ReactAndroid/build.gradle must match
# the android sdk that is actually installed. Also, we must have the
# right version of Java.

# Check that Buck is working.
if [ -z "$(which buck)" ]; then
  echo "You need to install Buck."
  echo "See https://buckbuild.com/setup/install.html for instructions."
  exit 1
fi

if [ -z "$(buck --version)" ]; then
  echo "Your Buck install is broken."

  if [ -d "/opt/facebook" ]; then
    SUGGESTED="b9b76a3a5a086eb440a26d1db9b0731875975099"
    echo "FB laptops ship with a Buck config that is not compatible with open "
    echo "source. FB Buck requires the environment to set a buck version, but "
    echo "the open source version of Buck forbids that."
    echo
    echo "You can try setting:"
    echo
    echo "export BUCKVERSION=${SUGGESTED}"
    echo
    echo "in your .bashrc or .bash_profile to fix this."
    echo
    echo "If you don't want to alter BUCKVERSION for other things running on"
    echo "your machine, you can just scope it to a single script, for example"
    echo "by running something like:"
    echo
    echo "BUCKVERSION=${SUGGESTED} $0"
    echo
  else
    echo "I don't know what's wrong, but calling 'buck --version' should work."
  fi
  exit 1
fi

# BUILD_TOOLS_VERSION is in a format like "23.0.1"
BUILD_TOOLS_VERSION=`grep buildToolsVersion $(dirname $0)/../ReactAndroid/build.gradle | sed 's/^[^"]*\"//' | sed 's/"//'`

# MAJOR is something like "23"
MAJOR=`echo $BUILD_TOOLS_VERSION | sed 's/\..*//'`

# Check that we have the right major version of the Android SDK.
PLATFORM_DIR="$ANDROID_HOME/platforms/android-$MAJOR"
if [ ! -e "$PLATFORM_DIR" ]; then
  echo "Error: could not find version $ANDROID_VERSION of the Android SDK."
  echo "Specifically, the directory $PLATFORM_DIR does not exist."
  echo "You probably need to specify the right version using the SDK Manager from within Android Studio."
  echo "See https://facebook.github.io/react-native/docs/getting-started.html for details."
  exit 1
fi

# Check that we have the right version of the build tools.
BT_DIR="$ANDROID_HOME/build-tools/$BUILD_TOOLS_VERSION"
if [ ! -e "$BT_DIR" ]; then
  echo "Error: could not find version $BUILD_TOOLS_VERSION of the Android build tools."
  echo "Specifically, the directory $BT_DIR does not exist."
  echo "You probably need to explicitly install the correct version of the Android SDK Build Tools from within Android Studio."
  echo "See https://facebook.github.io/react-native/docs/getting-started.html for details."
  exit 1
fi

if [ -n "$(which csrutil)" ]; then
  # This is a SIP-protected machine (recent OSX).
  # Check that we are not using SIP-protected Java.
  JAVA=`which java`
  if [ "$JAVA" = "/usr/bin/java" ]; then
    echo "Error: we can't use this Java version."
    echo "Currently, Java runs from $JAVA."
    echo "The operating-system-provided Java doesn't work with React Native because of SIP protection."
    echo "Please install the Oracle Java Development Kit 8."
    if [ -d "/opt/facebook" ]; then
      echo "See https://our.intern.facebook.com/intern/dex/installing-java-8/ for instructions on installing Java 8 on FB laptops."
    else
      echo "Check out http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ."
      echo "Be sure that you set JAVA_HOME and PATH correctly."
    fi
    echo "After installing Java, run 'buck kill' and 'buck clean'."
    exit 1
  fi
fi

if [ -z "$JAVA_HOME" ]; then
  echo "Error: \$JAVA_HOME is not configured."
  echo "Try adding export JAVA_HOME=\$(/usr/libexec/java_home) to your .bashrc or equivalent."
  echo "You will also want to add \$JAVA_HOME/bin to your path."
  exit 1
fi

#!/bin/bash

# This script validates that Android is set up correctly for the
# testing environment.
#
# In particular, the config in ReactAndroid/build.gradle must match
# the android sdk that is actually installed. Also, we must have the
# right version of Java.

# Check that Buck is working.
if [ -z "$(which buck)" ]; then
  echo "You need to install Buck."
  echo "See https://buckbuild.com/setup/install.htm for instructions."
  exit 1
fi

if [ -z "$(buck --version)" ]; then
  echo "Your Buck install is broken."

  if [ -d "/opt/facebook" ]; then
    SUGGESTED="b9b76a3a5a086eb440a26d1db9b0731875975099"
    echo "FB laptops ship with a Buck config that is not compatible with open "
    echo "source. FB Buck requires the environment to set a buck version, but "
    echo "the open source version of Buck forbids that."
    echo
    echo "You can try setting:"
    echo
    echo "export BUCKVERSION=${SUGGESTED}"
    echo
    echo "in your .bashrc or .bash_profile to fix this."
    echo
    echo "If you don't want to alter BUCKVERSION for other things running on"
    echo "your machine, you can just scope it to a single script, for example"
    echo "by running something like:"
    echo
    echo "BUCKVERSION=${SUGGESTED} $0"
    echo
  else
    echo "I don't know what's wrong, but calling 'buck --version' should work."
  fi
  exit 1
fi

# BUILD_TOOLS_VERSION is in a format like "23.0.1"
BUILD_TOOLS_VERSION=`grep buildToolsVersion $(dirname $0)/../ReactAndroid/build.gradle | sed 's/^[^"]*\"//' | sed 's/"//'`

# MAJOR is something like "23"
MAJOR=`echo $BUILD_TOOLS_VERSION | sed 's/\..*//'`

# Check that we have the right major version of the Android SDK.
PLATFORM_DIR="$ANDROID_HOME/platforms/android-$MAJOR"
if [ ! -e "$PLATFORM_DIR" ]; then
  echo "Error: could not find version $ANDROID_VERSION of the Android SDK."
  echo "Specifically, the directory $PLATFORM_DIR does not exist."
  echo "You probably need to specify the right version using the SDK Manager from within Android Studio."
  echo "See https://facebook.github.io/react-native/docs/getting-started.html for details."
  exit 1
fi

# Check that we have the right version of the build tools.
BT_DIR="$ANDROID_HOME/build-tools/$BUILD_TOOLS_VERSION"
if [ ! -e "$BT_DIR" ]; then
  echo "Error: could not find version $BUILD_TOOLS_VERSION of the Android build tools."
  echo "Specifically, the directory $BT_DIR does not exist."
  echo "You probably need to explicitly install the correct version of the Android SDK Build Tools from within Android Studio."
  echo "See https://facebook.github.io/react-native/docs/getting-started.html for details."
  exit 1
fi

if [ -n "$(which csrutil)" ]; then
  # This is a SIP-protected machine (recent OSX).
  # Check that we are not using SIP-protected Java.
  JAVA=`which java`
  if [ "$JAVA" = "/usr/bin/java" ]; then
    echo "Error: we can't use this Java version."
    echo "Currently, Java runs from $JAVA."
    echo "The operating-system-provided Java doesn't work with React Native because of SIP protection."
    echo "Please install the Oracle Java Development Kit 8."
    if [ -d "/opt/facebook" ]; then
      echo "See https://our.intern.facebook.com/intern/dex/installing-java-8/ for instructions on installing Java 8 on FB laptops."
    else
      echo "Check out http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ."
      echo "Be sure that you set JAVA_HOME and PATH correctly."
    fi
    echo "After installing Java, run 'buck kill' and 'buck clean'."
    exit 1
  fi
fi

if [ -z "$JAVA_HOME" ]; then
  echo "Error: \$JAVA_HOME is not configured."
  echo "Try adding export JAVA_HOME=\$(/usr/libexec/java_home) to your .bashrc or equivalent."
  echo "You will also want to add \$JAVA_HOME/bin to your path."
  exit 1
fi


Include elixir in brew installation set

Include elixir in brew installation set

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/sivakumar-kailasam/dotfiles.git/'


Fix BENTO-94 in CentOS/RHEL by disabling fingerprint PAM module in cleanup.sh

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/runsystem-hiennt2/bento.git/'


Script to test compatibility to both GCC and Clang

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/PlexChat/actor-framework.git/'


First commit

First commit

#!/usr/bin/env bash
#
# DropShell
#
# Copyright (C) 2013 Andrea Fabrizi <andrea.fabrizi@gmail.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#

DU="./dropbox_uploader.sh"

SHELL_HISTORY=~/.dropshell_history
DU_OPT="-q"
BIN_DEPS="id readlink ls basename"
VERSION="0.1"

umask 077

#Dependencies check
for i in $BIN_DEPS; do
    which $i > /dev/null
    if [ $? -ne 0 ]; then
        echo -e "Error: Required program could not be found: $i"
        exit 1
    fi
done

#Check DropBox Uploader
if [ ! -f "$DU" ]; then
    echo "DropBox Uploader not found: $DU"
    echo "Please change the 'DU' variable according to the DropBox Uploader location."
    exit 1
else
    DU=$(readlink -m "$DU")
fi

#Returns the current user
function get_current_user
{
    id -nu
}

function normalize_path
{
    readlink -m "$1"
}

################
#### START  ####
################

echo -e "DropShell v$VERSION"
echo -e "The Intractive DropBox SHELL"
echo -e "Andrea Fabrizi - andrea.fabrizi@gmail.com\n"
echo -e "Type help for the list of the available commands.\n"

history -r "$SHELL_HISTORY"
username=$(get_current_user)

#Initial Working Directory
CWD="/"

while (true); do

    #Reading command from shell
    read -e -p "$username@DropBox:$CWD$ " input

    #Tokenizing command
    tokens=( $input )
    cmd=${tokens[0]}
    arg1=${tokens[1]}
    arg2=${tokens[2]}

    #Saving command in the history file
    history -s "$input"
    history -w "$SHELL_HISTORY"

    case $cmd in

        ls)

            #Listing current dir
            if [ -z "$arg1" ]; then
                $DU $DU_OPT list "$CWD"

            #Listing $arg1
            else

                #Relative or absolute path?
                if [ ${arg1:0:1} == "/" ]; then
                    $DU $DU_OPT list $(normalize_path "$arg1")
                else
                    $DU $DU_OPT list $(normalize_path "$CWD/$arg1")
                fi

                #Checking for errors
                if [ $? -ne 0 ]; then
                    echo -e "ls: cannot access '$arg1': No such file or directory"
                fi
            fi

        ;;

        cd)

            OLD_CWD=$CWD

            if [ -z "$arg1" ]; then
                CWD="/"
            else
                arg1=${input:3} #All the arguments
            fi

            CWD=$(normalize_path "$CWD/$arg1/")
            $DU $DU_OPT list "$CWD" > /dev/null

            #Checking for errors
            if [ $? -ne 0 ]; then
                echo -e "cd: $arg1: No such file or directory"
                CWD=$OLD_CWD
            fi

        ;;

        pwd)

            echo $CWD

        ;;

        get)

            if [ ! -z "$arg1" ]; then

                #Relative or absolute path?
                if [ ${arg1:0:1} == "/" ]; then
                    $DU $DU_OPT download $(normalize_path "$arg1") "$arg2"
                else
                    $DU $DU_OPT download $(normalize_path "$CWD/$arg1") "$arg2"
                fi

                #Checking for errors
                if [ $? -ne 0 ]; then
                    echo -e "get: Download error"
                fi

            #args error
            else
                echo -e "get: missing operand"
                echo -e "syntax: get FILE/DIR [LOCAL_FILE/DIR]"
            fi

        ;;

        put)

            if [ ! -z "$arg1" ]; then

                #Relative or absolute path?
                if [ "${arg2:0:1}" == "/" ]; then
                    $DU $DU_OPT upload "$arg1" $(normalize_path "$arg2")
                else
                    $DU $DU_OPT upload "$arg1" $(normalize_path "$CWD/$arg2")
                fi

                #Checking for errors
                if [ $? -ne 0 ]; then
                    echo -e "put: Upload error"
                fi

            #args error
            else
                echo -e "put: missing operand"
                echo -e "syntax: put FILE/DIR [REMOTE_FILE/DIR]"
            fi

        ;;

        rm)

            if [ ! -z "$arg1" ]; then

                #Relative or absolute path?
                if [ ${arg1:0:1} == "/" ]; then
                    $DU $DU_OPT remove $(normalize_path "$arg1")
                else
                    $DU $DU_OPT remove $(normalize_path "$CWD/$arg1")
                fi

                #Checking for errors
                if [ $? -ne 0 ]; then
                    echo -e "rm: cannot remove '$arg1'"
                fi

            #args error
            else
                echo -e "rm: missing operand"
                echo -e "syntax: rm FILE/DIR"
            fi

        ;;

        mkdir)

            if [ ! -z "$arg1" ]; then

                #Relative or absolute path?
                if [ ${arg1:0:1} == "/" ]; then
                    $DU $DU_OPT mkdir $(normalize_path "$arg1")
                else
                    $DU $DU_OPT mkdir $(normalize_path "$CWD/$arg1")
                fi

                #Checking for errors
                if [ $? -ne 0 ]; then
                    echo -e "mkdir: cannot create directory '$arg1'"
                fi

            #args error
            else
                echo -e "mkdir: missing operand"
                echo -e "syntax: mkdir DIR_NAME"
            fi

        ;;

        mv)

            if [ ! -z "$arg1" -a ! -z "$arg2" ]; then

                #SRC relative or absolute path?
                if [ ${arg1:0:1} == "/" ]; then
                    SRC="$arg1"
                else
                    SRC="$CWD/$arg1"
                fi

                #DST relative or absolute path?
                if [ ${arg2:0:1} == "/" ]; then
                    DST="$arg2"
                else
                    DST="$CWD/$arg2"
                fi

                $DU $DU_OPT move $(normalize_path "$SRC") $(normalize_path "$DST")

                #Checking for errors
                if [ $? -ne 0 ]; then
                    echo -e "mv: cannot move '$arg1' to '$arg2'"
                fi

            #args error
            else
                echo -e "mv: missing operand"
                echo -e "syntax: mv FILE/DIR DEST_FILE/DIR"
            fi

        ;;

        lls)

            ls -l

        ;;

        lpwd)

            pwd

        ;;

        lcd)

            cd "$arg1"

        ;;

        help)

            echo -e "Availabe commands: ls, cd, pwd, get, put, rm, mkdir, mv, lls, lpwd, lcd, help, exit\n"

        ;;

        quit|exit)

            exit 0

        ;;

        *)
            echo -ne "Unknown command: $cmd\n"
        ;;
    esac
done

error: pathspec 'dropShell.sh' did not match any file(s) known to git


Qt's pyuic5 wrapper to remove the UI file path from the generated python files and thus to avoid constant changes to the UI python files when developing on different machines.

# Qt's pyuic5 wrapper to remove the UI file path from the generated python files and thus to avoid
# constant changes to the UI python files when developing on different machines.

pyuic5 $1 | sed -E "s|(# Form implementation generated from reading ui file )'(.*)/(.*)'|\1\3|g" > $2

error: pathspec 'build/pyuic5-wrapper.sh' did not match any file(s) known to git


Add initial batch of CentOS 7.x scripts.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/ungana/vagrant-scripts.git/'


Added shellscript to get env upp and running for any debian based system

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/WhiteSparrow/Public-Page.git/'


Sync from oschina

Sync from oschina

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/hailianghe/lnmp.git/'


add src release script

add src release script

#!/bin/bash
if [[ -n "$1" && -n "$2"  ]] ; then

	rm -r PokerTH-$1-src
	mkdir PokerTH-$1-src
	cd PokerTH-$1-src

	# CHECKOUT PokerTH SOURCECODE
	svn co http://pokerth.svn.sourceforge.net/svnroot/pokerth/trunk/pokerth .

	# CLEAN SOURCES
	svn cleanup
	find . -type d -name .svn -exec rm -rf {} \;
	find . -type f -name .directory -exec rm -rf {} \;
	find . -type f -name *~ -exec rm -rf {} \;
	rm -rf debug
	rm -rf mocs
	rm -rf obj
	rm -rf old
	rm -rf qtc-gdbmacros
	rm -rf release
	rm -rf uics
	rm -rf bin
	rm -rf lib

	cd ..
	tar -cvjf PokerTH-$1-src.tar.bz2 PokerTH-$1-src/
	scp PokerTH-$1-src.tar.bz2 doitux,pokerth@frs.sourceforge.net:/home/frs/project/p/po/pokerth/pokerth/$2/
	md5sum PokerTH-$1-src.tar.bz2

	rm PokerTH-$1-src.tar.bz2
	rm -r PokerTH-$1-src

else
echo "Please use 'linux-create-release.sh version sf-dir-version'"
fi

error: pathspec 'src_create_release.sh' did not match any file(s) known to git


Linux sh run script

Linux sh run script

#!/bin/sh

SCRIPT=$(readlink -f $0)
SCRIPTPATH=`dirname $SCRIPT`

LD_LIBRARY_PATH=$SCRIPTPATH
export LD_LIBRARY_PATH

mono $SCRIPTPATH/CETech.exe $@

error: pathspec 'sources/CETech/CETech.sh' did not match any file(s) known to git


deploy snap script

deploy snap script

error: pathspec '_deploySNAPSHOT.sh' did not match any file(s) known to git


Adding a small script to curl locally for testing

#!/bin/bash

while true; do
	curl -s localhost:8080/  > /dev/null
	sleep 10
done

error: pathspec 'monitor.sh' did not match any file(s) known to git


Add install libcxx script

Add install libcxx script

#!/bin/bash -e

set -x

rm -rf _builds/libcxx _install/libcxx

cmake -H. -B_builds/libcxx -DHUNTER_STATUS_DEBUG=ON \
    -DCMAKE_TOOLCHAIN_FILE=${POLLY_ROOT}/libcxx.cmake \
    -DSOBER_RUN_LONG_TESTS=ON \
    -GXcode \
    -DCMAKE_INSTALL_PREFIX="`pwd`/_install/libcxx"

cmake --build _builds/libcxx --config Release --target install
cmake --build _builds/libcxx --config Debug --target install

error: pathspec 'install-libcxx.sh' did not match any file(s) known to git


add install-pacaur.sh script

add install-pacaur.sh script

#!/bin/bash

sudo pacman -S --noconfirm --needed base-devel expac yajl git

set -ex

TEMP=$(mktemp -d)
cd "$TEMP"

gpg --recv-keys 1EB2638FF56C0C53

curl -o PKGBUILD https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=cower
makepkg PKGBUILD
sudo pacman -U cower*.tar.xz --noconfirm

curl -o PKGBUILD https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=pacaur
makepkg PKGBUILD
sudo pacman -U pacaur*.tar.xz --noconfirm

rm -r "$TEMP"

error: pathspec 'install-pacaur.sh' did not match any file(s) known to git


Added script for JS libs installation

Added script for JS libs installation

#!/bin/bash

mkdir -p /data/wwwlibs
cd /data/wwwlibs
wget http://cdn.sencha.com/ext/gpl/ext-3.4.1.1-gpl.zip
unzip -q ext-3.4.1.1-gpl.zip
wget http://cdn.sencha.com/ext/gpl/ext-4.2.1-gpl.zip
unzip -q ext-4.2.1-gpl.zip

svn co svn://bnhelp.cz/hslayers/branches/hslayers-3.5
cd hslayers-3.5/tools
python build.py -rpica

cd /data/wwwlibs
git clone http://git.ccss.cz/hsrs/hslayers-ng.git
ln -s /usr/bin/nodejs /usr/bin/node
cat >/root/.bowerrc <<"EOF"
{"interactive": false}
EOF
cd hslayers-ng
npm install --unsafe-perm

cd /data/wwwlibs
wget http://packages.sdi4apps.eu/hsproxy-20151012.tar.xz
wget http://packages.sdi4apps.eu/proxy4ows-20151012.tar.xz
wget http://packages.sdi4apps.eu/proj4js-20151012.tar.xz
tar xJf hsproxy-20151012.tar.xz
tar xJf proxy4ows-20151012.tar.xz
tar xJf proj4js-20151012.tar.xz

error: pathspec 'install_jslibs.sh' did not match any file(s) known to git


Deleted never-to-be-finished script

Deleted never-to-be-finished script

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/krystofl/krystof-utils.git/'


Add script to install pre-reqs to run ansible playbook

#!/bin/bash

## Description:
## This script is used to install and configure pre-reqs to run sdn demo
##
## Usage: install_prereq.sh [centos | ubuntu | check]
##
## Options:
##   centos - Install pre-req in CentOS
##	 ubuntu - Install pre-req in Ubuntu
##   check  - Verify if this script run before
##
## Authors:
##          - Artur Baruchi <abaruchi AT ncc DOT unesp DOT br>

#### Constants
CHECK_FILE="/var/tmp/.pre_req"

#### Functions

check ()
{
	if [ -e $CHECK_FILE ]
	then
		echo 1
	else
		echo 0
	fi
}

set_as_check ()
{
	date -u > $CHECK_FILE
}

centos ()
{
	DIR_RPMBUILD="$HOME/rpmbuild"

	echo "---- Installing Pre-Reqs for a CENTOS ----"
	echo
	echo
	echo "-- Installing packages --"
	yum -y install epel

	yum -y install make gcc openssl-devel autoconf automake rpm-build redhat-rpm-config \
	python-devel openssl-devel kernel-devel kernel-debug-devel libtool wget

	yum -y install ansible

	echo "-- Installing Open vSwitch --"
	mkdir -p $DIR_RPMBUILD/SOURCES/ ; cd $DIR_RPMBUILD/SOURCES/
	wget http://openvswitch.org/releases/openvswitch-2.5.1.tar.gz
	tar xzvf openvswitch-2.5.1.tar.gz

	sed 's/openvswitch-kmod, //g' openvswitch-2.5.1/rhel/openvswitch.spec > openvswitch-2.5.1/rhel/openvswitch_no_kmod.spec
	rpmbuild -bb --nocheck openvswitch-2.5.1/rhel/openvswitch_no_kmod.spec
	yum localinstall $DIR_RPMBUILD/RPMS/x86_64/openvswitch-2.5.1-1.x86_64.rpm
	systemctl start openvswitch.service
	chkconfig openvswitch on

	# Create the check file
	set_as_check
}

ubuntu ()
{
	echo "---- Installing Pre-Reqs for a UBUNTU ----"
	echo
	echo
	echo "-- Installing packages --"

	apt-get --yes --force-yes install ansible gcc openssl-devel autoconf automake \
	python-devel openssl-devel kernel-devel kernel-debug-devel libtool wget

	apt-get --yes --force-yes install openvswitch-datapath-source \
	openvswitch-datapath-source openvswitch-common openvswitch-switch

	# Create the check file
	set_as_check
}

#### Main

case $1 in
check)
	code=check
	exit $code
	;;
centos)
	centos
	exit 0
	;;
ubuntu)
	ubuntu
	exit 0
	;;
*)
	echo "ERROR: Invalid Args."
	;;
esac

error: pathspec 'install_prereq.sh' did not match any file(s) known to git


deploy script

deploy script

git pull
bundle --without development test
rake routes
rake db:migrate
rake assets:clobber
rake assets:precompile
touch tmp/restart.txt

# sudo nano /etc/nginx/sites-available/rails
# sudo nginx -s reload

error: pathspec '.deploy.sh' did not match any file(s) known to git


add gen-ssl-certs.sh

add gen-ssl-certs.sh

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/artyomboyko/log-analysis.git/'


Add native command line build script

Add native command line build script

#!/usr/bin/env bash

# Builds the Yarn Spinner command-line tool as a native binary.
# This script currently works on OS X only.

# Build the product
xbuild /verbosity:quiet /p:Configuration=Release YarnSpinner.sln

# Ensure it can find pkg-config:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig:/Library/Frameworks/Mono.framework/Versions/3.4.0/lib/pkgconfig

# Manually set some clang linker properties:
export AS="as "
export CC="cc -lobjc -liconv -framework Foundation"

# Build:
mkbundle YarnSpinnerConsole/bin/Release/YarnSpinnerConsole.exe  YarnSpinnerConsole/bin/Release/*.dll --static --deps -o yarn_native

error: pathspec 'build_native.sh' did not match any file(s) known to git


Add pymongo

Add pymongo

PYTHON_VERSION="2.7.11"

getpkg http://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz
tar zxf Python-${PYTHON_VERSION}.tgz
cd Python-${PYTHON_VERSION}
if [ "$MOS" == "OSX" ]; then
LIBS="-lgdbm_compat"
fi
./configure --prefix=$VENV --enable-shared --with-system-expat
$PMAKE
make install

# hack - fake we're in a virtualenv - pkgs seem to test sys.real_prefix to
# detect this.
cat > $VENV/lib/python2.7/sitecustomize.py <<EOF
import sys
sys.real_prefix = 'hackforvirtualenv'
EOF

cd $BUILD_DIR

getpkg https://bootstrap.pypa.io/get-pip.py
$VENV/bin/python ./get-pip.py

export PIP_TRUSTED_HOST="pypi.python.org"

PIP="$VENV/bin/pip"

$PIP install ansible
$PIP install arrow
$PIP install awscli
$PIP install babel
$PIP install baker
$PIP install bcrypt
$PIP install beanstalkc
$PIP install BeautifulSoup
$PIP install bleach
$PIP install boto
$PIP install boto3
$PIP install certifi
$PIP install coverage
$PIP install cython
$PIP install decorator
$PIP install dill
$PIP install dnspython
$PIP install docutils
$PIP install fabric
$PIP install flask
$PIP install flask-assets
$PIP install Flask-Mako
$PIP install geoip2
$PIP install gevent

$PIP install versiontools  # ssl cert validation fail when installed in gevent-socketio under OSX...
$PIP install git+https://github.com/abourget/gevent-socketio.git

$PIP install git+https://github.com/benoitc/gunicorn.git
$PIP install git+https://github.com/mattbillenstein/flask-classy.git
$PIP install git+https://github.com/mattbillenstein/gstatsd
$PIP install gitpython
$PIP install google-api-python-client
$PIP install greenlet
$PIP install gsutil
$PIP install hiredis
$PIP install html5lib
$PIP install ipdb
$PIP install ipython
$PIP install linode-python
$PIP install lockfile
$PIP install mock
$PIP install nose
$PIP install nose-parallel
(unset CFLAGS; unset CXXFLAGS; unset LDFLAGS; $PIP install numpy)
$PIP install oauth2
$PIP install objgraph
$PIP install pillow
$PIP install psutil
$PIP install psycopg2
$PIP install PyJWT
$PIP install pylint
$PIP install pymongo
$PIP install pymysql
$PIP install pynsq
$PIP install PyPDF2
$PIP install pytz
$PIP install raven
$PIP install redis
$PIP install requests
$PIP install salt
$PIP install saws
# scipy defines these - can't override them
(unset CFLAGS; unset CXXFLAGS; unset LDFLAGS; $PIP install scipy)
$PIP install scikit-learn
$PIP install sendgrid
$PIP install setproctitle
$PIP install simplejson
$PIP install stripe
# more features being put into github...
#$PIP install supervisor
$PIP install git+https://github.com/Supervisor/supervisor.git
$PIP install supervisor-wildcards
$PIP install unidecode
$PIP install virtualenv
$PIP install webassets
$PIP install webtest
$PIP install werkzeug

$VENV/bin/python -m compileall -q -f $VENV || true

PYTHON_VERSION="2.7.11"

getpkg http://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz
tar zxf Python-${PYTHON_VERSION}.tgz
cd Python-${PYTHON_VERSION}
if [ "$MOS" == "OSX" ]; then
LIBS="-lgdbm_compat"
fi
./configure --prefix=$VENV --enable-shared --with-system-expat
$PMAKE
make install

# hack - fake we're in a virtualenv - pkgs seem to test sys.real_prefix to
# detect this.
cat > $VENV/lib/python2.7/sitecustomize.py <<EOF
import sys
sys.real_prefix = 'hackforvirtualenv'
EOF

cd $BUILD_DIR

getpkg https://bootstrap.pypa.io/get-pip.py
$VENV/bin/python ./get-pip.py

export PIP_TRUSTED_HOST="pypi.python.org"

PIP="$VENV/bin/pip"

$PIP install ansible
$PIP install arrow
$PIP install awscli
$PIP install babel
$PIP install baker
$PIP install bcrypt
$PIP install beanstalkc
$PIP install BeautifulSoup
$PIP install bleach
$PIP install boto
$PIP install boto3
$PIP install certifi
$PIP install coverage
$PIP install cython
$PIP install decorator
$PIP install dill
$PIP install dnspython
$PIP install docutils
$PIP install fabric
$PIP install flask
$PIP install flask-assets
$PIP install Flask-Mako
$PIP install geoip2
$PIP install gevent

$PIP install versiontools  # ssl cert validation fail when installed in gevent-socketio under OSX...
$PIP install git+https://github.com/abourget/gevent-socketio.git

$PIP install git+https://github.com/benoitc/gunicorn.git
$PIP install git+https://github.com/mattbillenstein/flask-classy.git
$PIP install git+https://github.com/mattbillenstein/gstatsd
$PIP install gitpython
$PIP install google-api-python-client
$PIP install greenlet
$PIP install gsutil
$PIP install hiredis
$PIP install html5lib
$PIP install ipdb
$PIP install ipython
$PIP install linode-python
$PIP install lockfile
$PIP install mock
$PIP install nose
$PIP install nose-parallel
(unset CFLAGS; unset CXXFLAGS; unset LDFLAGS; $PIP install numpy)
$PIP install oauth2
$PIP install objgraph
$PIP install pillow
$PIP install psutil
$PIP install psycopg2
$PIP install PyJWT
$PIP install pylint
$PIP install pymysql
$PIP install pynsq
$PIP install PyPDF2
$PIP install pytz
$PIP install raven
$PIP install redis
$PIP install requests
$PIP install salt
$PIP install saws
# scipy defines these - can't override them
(unset CFLAGS; unset CXXFLAGS; unset LDFLAGS; $PIP install scipy)
$PIP install scikit-learn
$PIP install sendgrid
$PIP install setproctitle
$PIP install simplejson
$PIP install stripe
# more features being put into github...
#$PIP install supervisor
$PIP install git+https://github.com/Supervisor/supervisor.git
$PIP install supervisor-wildcards
$PIP install unidecode
$PIP install virtualenv
$PIP install webassets
$PIP install webtest
$PIP install werkzeug

$VENV/bin/python -m compileall -q -f $VENV || true


fix GHC 7.10 support with old-locale

fix GHC 7.10 support with old-locale

#!/bin/bash
# This installs a the prerequisites for a given GHC/Cabal config
set -x
set -e
if [ ! -z "$GHCVER" ]; then
    export PATH=/opt/ghc/${GHCVER}/bin:$PATH
fi
if [ ! -z "$CABALVER" ]; then
    export PATH=/opt/cabal/${CABALVER}/bin:$PATH
fi
cabal update
# This is a fairly minimal set
cabal install \
      primitive \
      random \
      tf-random \
      HUnit \
      QuickCheck \
      split \
      text \
      bytestring \
      attoparsec \
      vector \
      parallel \
      stm \
      old-locale


Add functions for papertrail-cli

Add functions for papertrail-cli

#!/bin/sh

# ---
# Pipes papertrail result through lnav.
# ---
function pt() {
  papertrail "$@" | lnav
}

error: pathspec 'zsh/functions/papertrail.sh' did not match any file(s) known to git


sshd plugin

sshd plugin

#/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

if [ -n "$SSHD_ENABLE" ]; then
   echo "Installing and starting sshd server..."
   if [ -n "$SSHD_ROOT_PUBLIC_KEY" ]; then
      sudo mkdir -p /root/.ssh
		sudo chmod 700 /root.ssh
		echo "$SSHD_ROOT_PUBLIC_KEY" > /tmp/authorized_keys
		sudo mv /tmp/authorized_keys /root/.ssh/
		sudo chmod 600 /root/.ssh/authorized_keys
   fi
	sudo apk add --update openssh openssh-client
   sudo ssh-keygen -A
	sudo /usr/sbin/sshd
fi

call-next-plugin "$@"

error: pathspec 'plugins/008_sshd/sshd.sh' did not match any file(s) known to git


Initial commit

Initial commit

#!/usr/bin/env bash
# shellcheck disable=SC1117

####################################################################################################
# wget-save-uniq.sh
# by Stefan Wuensch, 2018-10-03

# This script takes one arg, a URL to download with "wget".
# There are three different scenarios handled by this script.

# 1) If the file to be downloaded does NOT already exist in the
# current location (CWD) then it will be downloaded with no other actions.

# 2) If the file to be downloaded already exists in the CWD with the same name,
# then this script will download the new file, compare the existing and the
# new files via SHA256

# 3a) If there is no difference in the files based on the checksums,
# leave the existing file in place without any changes. In other words...
# If the file in the remote location is the same as the one we already have
# locally, then don't change anything.

# 3b) If the new file and the existing one are different based on the checksums,
# then this script will rename the existing file to include the date/time
# of last modified, and save the downloaded file similarly with its timestamp.

# Example scenario:
# - local file "foo.pdf" with timestamp Feb 6 2018 6:09 PM exists
# - the download URL is http://mydomain.com/path/to/foo.pdf
# - the remote file "foo.pdf" is different in content than the local copy
# - the time stamp of the remote (newly downloaded) file is Feb 13 2018 11:57 AM
# - results:
#      file named "foo.2018-02-06_1809.pdf" (previous file renamed)
#      file named "foo.2018-02-13_1157.pdf" (new file downloaded and renamed)

####################################################################################################

# Set safe path
PATH=/usr/bin:/bin:/usr/local/bin
export PATH

####################################################################################################
usage() {

	echo "Usage: ${0} url-to-download"
	echo "Example: ${0} http://mydomain.com/path/to/foo.pdf"
	exit 1
}

####################################################################################################
# Return last (far right) slash-delimited element of URL string
# Example:
#    Input "http://mydomain.com/path/to/foo.pdf"
#    Output "foo.pdf"

filename_from_url() {
	echo $( echo "${1}" | awk -F/ '{print $NF}' )
}

####################################################################################################
# Usage: mtime_for_platform "name_of_file"
# Returns: last modified time stamp of file, as YYYY-MM-DD_HHMM like 2017-11-02_1230
# Defaults to Mac OS usage of "stat" but detects Linux and changes options appropriately

mtime_for_platform() {

	filename="${1}"
	my_uname=$( uname )

	# Mac default
	stat_command="stat -f %Sm -t %F_%H%M ${filename}"

	[[ "${my_uname}" == "Linux" ]] && stat_command="stat --format=%y ${filename} | cut -d: -f1,2 | sed -e 's/ /_/' -e 's/://'"

	eval "${stat_command}"

}

####################################################################################################
# Usage: get_it "http[s]://some.domain/path/to/file" [ "output_file_name" ]
# (Arg 2 is optional)

get_it() {
	get_url="${1}"
	out_option=""

	# If there's an output file name given, combine with the wget output option
	[[ -n "${2}" ]] && out_option="-O ${2}"
	eval "wget --no-verbose ${out_option} ${get_url}"
}

####################################################################################################
handle_collision() {

	handle_this_url="${1}"
	handle_this_filename="$( filename_from_url ${handle_this_url} )"

	# Escape the variable because we don't have the value set yet.
	trap "rm -f \${TMPFILE}; exit 0" EXIT HUP INT QUIT TERM

	basename=$( basename ${0} )
	TMPFILE=$( mktemp /tmp/${basename}.XXXXXXXXX ) || { echo "Error - coult not make temp file" ; exit 1 ; }

	get_it "${handle_this_url}" "${TMPFILE}"
	[[ ! -s "${TMPFILE}" ]] && echo "Got zero bytes for file - error" && exit 1

	sum_new=$( shasum -a 256 "${TMPFILE}" | awk '{print $1}' )
	sum_existing=$( shasum -a 256 "${handle_this_filename}" | awk '{print $1}' )

	if [[ "${sum_new}" != "${sum_existing}" ]] ; then
		echo "Existing file differs from new file even though names are the same. Renaming the old."
		echo "existing file mtime $( mtime_for_platform ${handle_this_filename} )"
		echo "new file mtime $( mtime_for_platform ${TMPFILE} )"

		# If there's a dot in the file name, we'll assume it's an extension.
		if [[ "${handle_this_filename}" =~ \. ]] ; then
			name_part="${handle_this_filename%.*}"
			extension="${handle_this_filename##*.}"
			mv "${handle_this_filename}" "${name_part}.$( mtime_for_platform ${handle_this_filename} ).${extension}"
			mv "${TMPFILE}" "${name_part}.$( mtime_for_platform ${TMPFILE} ).${extension}"
		else
			mv "${handle_this_filename}" "${handle_this_filename}.$( mtime_for_platform ${handle_this_filename} )"
			mv "${TMPFILE}" "./${handle_this_filename}.$( mtime_for_platform ${TMPFILE} )"
		fi
	fi

	# Cleanup in aisle 3
	rm -f ${TMPFILE}
	trap "" EXIT HUP INT QUIT TERM

}

####################################################################################################

# Main program start

# Handle wrong number of args and help
[[ ${#} -ne 1 ]] && usage
[[ "${1}" == "-h" ]] && usage
[[ "${1}" == "--help" ]] && usage

url="${1}"
filename=$( filename_from_url ${url} )

if [[ -f "${filename}" ]] ; then
	echo "Found \"${filename}\" already there - processing name collision..."
	handle_collision "${url}"
else
	get_it "${url}"
fi

ls -ld "${filename}"*

error: pathspec 'wget-save-uniq.sh' did not match any file(s) known to git


python/memoryfootprint

python/memoryfootprint

# memory footprint
python likes to bloat.

# explicit array member types

    numpy.array( ... , dwtype=<type>)

more types: https://docs.python.org/2/library/stdtypes.html

error: pathspec 'programming/python/memoryfootprint.sh' did not match any file(s) known to git


Create EMEplot.sh

Create EMEplot.sh

Create EMEplot.sh

#!/bin/bash

#. EMEplot - a script to plot out the EME.

[ $# -lt 1 ] && { cat $0 | grep "^#\." ; exit 1; } || :

ActiveLOG=$(sudo lsof | grep eme.log | awk '{print $9}' | sort | uniq | head -$3 | tail -1)
#ActiveLOG=/Users/jdelatorre/work/CNNgo/livegear10/job_57/20140829T223605_eme.log

# OS Type Login

  if [[ "$OSTYPE" == "linux-gnu" ]]; then
          datebin='/bin/date'
  elif [[ "$OSTYPE" == "darwin"* ]]; then
          datebin='/usr/local/bin/gdate'
  else
          echo "Unsupported Platform"; exit 2;
  fi

sHOUR=${1:-6}  # Start Hour  -- default 6 hours ago
eHOUR=${2:-0}  # End Hour    -- default 0 hours ago (now)

echo "$(hostname) -- Active Log : $ActiveLOG"
echo "Report Time [ $( ${datebin} | ${datebin} +"%Y-%m-%d %H:00" -d -${sHOUR}hours ) ] \
-- [ $( ${datebin} | ${datebin} +"%Y-%m-%d %H:00" -d -${eHOUR}hours ) ] UTC"

echo "lc  utctime             raw      scte     sdi      disc     recv     c56M     cCOP     cAKA    lvoX     DNSf     PrbX     fdrp"

for k in $(eval echo {${sHOUR}..${eHOUR}}); do

i=$( ${datebin} -d -${k}hours +"%Y-%m-%d.%H" )
j=$( ${datebin} -d -${k}hours +"%Y-%m-%dT%H:00" )

loctim=$( TZ=DST+4 ${datebin} -d "$(echo ${i} | tr '.' ' '):00:00-0000" +"%Y-%m-%d %H" | cut -d' ' -f2)

   #
   rLOG=$(grep "${i}" "$ActiveLOG" | wc -l)
   SCTE=$(grep "${i}" "$ActiveLOG" | grep -i SCTE | wc -l)
   Hsdi=$(grep "${i}" "$ActiveLOG" | grep -i HD-SDI.Input.Not.Detected | wc -l)
   disc=$(grep "${i}" "$ActiveLOG" | grep -i discontinuity | wc -l)
   recv=$(grep "${i}" "$ActiveLOG" | grep -i recovered | wc -l)

   #seta=$(grep "${i}" "$ActiveLOG" | grep -i setting.alert | wc -l)

   clr5=$(grep "${i}" "$ActiveLOG" | grep -i clearing.alert | grep -i 56m | wc -l)
   clrc=$(grep "${i}" "$ActiveLOG" | grep -i clearing.alert | grep -i cop | wc -l)
   clra=$(grep "${i}" "$ActiveLOG" | grep -i clearing.alert | grep -i aka | wc -l)

   urlx=$(grep "${i}" "$ActiveLOG" | grep -i Unable.to.deliver.content.for.URL | wc -l)
   dnsf=$(grep "${i}" "$ActiveLOG" | grep -i Couldn.t.resolve.host.name | wc -l)

   prob=$(grep "${i}" "$ActiveLOG" | grep -i Probe.info.for.input | wc -l)

   fDRP=$(grep "${i}" "$ActiveLOG" | grep -i frames.dropped | wc -l)

  #[ $disc -gt 0 ] && disc=$(echo "$(tput setaf 1)${disc}$(tput sgr0)" | tr -d ' ') || :

  echo -en "$loctim $j"; printf "   : %-8d %-8d %-8d %-8d %-8d %-8d %-8d %-8d %-8d %-8d %-8d %-8d\n" $rLOG $SCTE $Hsdi $disc $recv $clr5 $clrc $clra $urlx $dnsf $prob $fDRP
done

echo -en "\n===[ last 4 found ]=============================\n"
grep "${i}" "$ActiveLOG" | egrep -i 'D-SDI.Input.Not.Detected|Unable.to.deliver.content.for.URL|Couldn.t.resolve.host.name|discontinuity|recovered|.alert|frames.dropped' | tail -6

# sshpass -p "elemental" scp -rp work/emeplot/EMEplot.lvo   elemental@livecertve8:scripts/EMEplot.lvo

#.
#. USAGE : EMEplot ## .... where ## = number-of-hours
#.
#. raw     Raw Logs Lines
#. scte    SCTE Any Kind
#. sdi     HD-SDI.Input.Not.Detected
#. disc    discontinuity errors, LWS related, generally serious
#. recv    recovered (from Error)
#.
#. clra    clearing.alert  -- old version v1
#.  c56M    setup/clearing.alert pair for 56M
#.  cCOP    setup/clearing.alert pair for COP
#.  cAKA    setup/clearing.alert pair for Akamai
#.
#. lvoX    LVO Unable to deliver content for URL (Generally Serious)
#. DNSf    DNS ERROR or  Couldn't resolve host name  (Generally Serious)
#.
#. prbX    SDI input change, commonly seen ~70/hr RightRail - >1-2 other system serious
#. fdrp    frames.dropped
#.

error: pathspec 'EMEplot.sh' did not match any file(s) known to git


[FIX] Livechat build without NodeJS installed (#15903)

# set -x
export NODE_ENV="production"
export LIVECHAT_DIR="./public/livechat"
export LIVECHAT_ASSETS_DIR="./private/livechat"

ROOT=$(pwd)

rm -rf $LIVECHAT_DIR
mkdir -p $LIVECHAT_DIR

rm -rf $LIVECHAT_ASSETS_DIR
mkdir $LIVECHAT_ASSETS_DIR

#NEW LIVECHAT#
echo "Installing Livechat ${LATEST_LIVECHAT_VERSION}..."
cd $LIVECHAT_DIR

cp -a $ROOT/node_modules/\@rocket.chat/livechat/build/. ./
# change to lowercase so all injected junk from rocket.chat is not sent: https://github.com/meteorhacks/meteor-inject-initial/blob/master/lib/inject-core.js#L10
# this is not harmful since doctype is case-insesitive: https://www.w3.org/TR/html5/syntax.html#the-doctype
meteor node -e 'fs.writeFileSync("index.html", fs.readFileSync("index.html").toString().replace("<!DOCTYPE", "<!doctype"));'
cd $ROOT/$LIVECHAT_ASSETS_DIR
cp ../../public/livechat/index.html .

# set -x
export NODE_ENV="production"
export LIVECHAT_DIR="./public/livechat"
export LIVECHAT_ASSETS_DIR="./private/livechat"

ROOT=$(pwd)

rm -rf $LIVECHAT_DIR
mkdir -p $LIVECHAT_DIR

rm -rf $LIVECHAT_ASSETS_DIR
mkdir $LIVECHAT_ASSETS_DIR

#NEW LIVECHAT#
echo "Installing Livechat ${LATEST_LIVECHAT_VERSION}..."
cd $LIVECHAT_DIR

cp -a $ROOT/node_modules/\@rocket.chat/livechat/build/. ./
# change to lowercase so all injected junk from rocket.chat is not sent: https://github.com/meteorhacks/meteor-inject-initial/blob/master/lib/inject-core.js#L10
# this is not harmful since doctype is case-insesitive: https://www.w3.org/TR/html5/syntax.html#the-doctype
node -e 'fs.writeFileSync("index.html", fs.readFileSync("index.html").toString().replace("<!DOCTYPE", "<!doctype"));'
cd $ROOT/$LIVECHAT_ASSETS_DIR
cp ../../public/livechat/index.html .


Create git_dh_deploy.sh

Create git_dh_deploy.sh

#!/bin/sh
#
# This hook does two things:
#
#  1. update the "info" files that allow the list of references to be
#     queries over dumb transports such as http
#
#  2. if this repository looks like it is a non-bare repository, and
#     the checked-out branch is pushed to, then update the working copy.
#     This makes "push" function somewhat similarly to darcs and bzr.
#
# To enable this hook, make this file executable by "chmod +x post-update".

git update-server-info

is_bare=$(git config --get --bool core.bare)

if [ -z "$is_bare" ]
then
  # for compatibility's sake, guess
  git_dir_full=$(cd $GIT_DIR; pwd)
  case $git_dir_full in */.git) is_bare=false;; *) is_bare=true;; esac
fi

update_wc() {
  ref=$1
  echo "Push to checked out branch $ref" >&2
  if [ ! -f $GIT_DIR/logs/HEAD ]
  then
    echo "E:push to non-bare repository requires a HEAD reflog" >&2
    exit 1
  fi
  if (cd $GIT_WORK_TREE; git diff-files -q --exit-code >/dev/null)
  then
    wc_dirty=0
  else
    echo "W:unstaged changes found in working copy" >&2
    wc_dirty=1
    desc="working copy"
  fi
  if git diff-index --cached HEAD@{1} >/dev/null
  then
    index_dirty=0
  else
    echo "W:uncommitted, staged changes found" >&2
    index_dirty=1
    if [ -n "$desc" ]
    then
      desc="$desc and index"
    else
      desc="index"
    fi
  fi
  if [ "$wc_dirty" -ne 0 -o "$index_dirty" -ne 0 ]
  then
    new=$(git rev-parse HEAD)
    echo "W:stashing dirty $desc - see git-stash(1)" >&2
    ( trap 'echo trapped $$; git symbolic-ref HEAD "'"$ref"'"' 2 3 13 15 ERR EXIT
    git update-ref --no-deref HEAD HEAD@{1}
    cd $GIT_WORK_TREE
    git stash save "dirty $desc before update to $new";
    git symbolic-ref HEAD "$ref"
    )
  fi

  # eye candy - show the WC updates :)
  echo "Updating working copy" >&2
  (cd $GIT_WORK_TREE
  git diff-index -R --name-status HEAD >&2
  git reset --hard HEAD)
}

if [ "$is_bare" = "false" ]
then
  active_branch=`git symbolic-ref HEAD`
  export GIT_DIR=$(cd $GIT_DIR; pwd)
  GIT_WORK_TREE=${GIT_WORK_TREE-..}
  for ref
  do
    if [ "$ref" = "$active_branch" ]
    then
      update_wc $ref
    fi
  done
fi

error: pathspec 'git_dh_deploy.sh' did not match any file(s) known to git


cleaning up

cleaning up

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/enckse/core-scripts.git/'


rebuilding site So 28. Mai 23:55:06 CEST 2017

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/onlytailei/tailei_page.git/'


Use NSPR_4_3_RTM instead of NSPR_4_3_RELEASE.  I decided to follow NSS's cvs tag naming convention.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/makotokato/nsprpub.git/'


Removed hardcoded directory for mysql volume

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/t-ray/malbec.git/'


fixes #2

fixes #2

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/fscherwi/tf-utility.git/'


Correct migration script

Correct migration script

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/cuongquay/citus-iot-ecosystem.git/'


Fix home/end keys

Fix home/end keys

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/WPettersson/oh-my-zsh.git/'


Add script create-bidword-triple-table.sh, upload table huangjingwen_query_triple

GROUP="hdp-guanggao"
table_name="huangjingwen_bidword_triple"

err_args=85

function usage ()
{
    echo "Usage: `basename $0` xxxx-xx-xx"
}

case "$1" in
    ""                    ) usage; exit ${err_args};;
    [0-9]*-[0-9]*-[0-9]*  ) DATE=$1;;
    *                     ) usage; exit ${err_args};;
esac

echo "
create external table if not exists ${table_name} (
bidword_ori string,
bidword_seg string,
bidword_clean string
)
PARTITIONED BY (ds string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;

insert overwrite table ${table_name} partition(ds='$DATE')
select t1.bidword, t1.seg, t2.clean from
(
select bidword, seg from huangjingwen_bidword_seg where ds='${DATE}'
) t1
join
(
select bidword, clean from huangjingwen_bidword_clean where ds='${DATE}'
) t2
on
(
t1.bidword = t2.bidword
);
" | sudo -u $GROUP -E $HIVE_HOME/bin/hive > ./hive.log

error: pathspec 'prev-process/create-bidword-triple-table.sh' did not match any file(s) known to git


create table bash script

create table bash script

#!/bin/bash
/home/vagrant/riak/dev/dev1/bin/riak-admin bucket-type create "GeoCheckin" '{"props": {"n_val": 3, "table_def": "CREATE TABLE GeoCheckin (geohash varchar not null, user varchar not null, time timestamp not null, weather varchar not null, temperature varchar, PRIMARY KEY((quantum(time, 15, s)), time, user))"}}'
/home/vagrant/riak/dev/dev1/bin/riak-admin bucket-type activate "GeoCheckin"

error: pathspec 'priv/create_ts_bucket.sh' did not match any file(s) known to git


git-svn-id: svn://svn.code.sf.net/p/qwtpolar/code/trunk@83 78d0f0fb-6126-4564-b144-e0dd33131c99

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/XelaRellum/qwtpolar.git/'


modify check-syntax

modify check-syntax

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/makasn/ci-test.git/'


Fix php command existing now instead of php7

#!/bin/bash
set -e

# PHP ini
echo "
short_open_tag = Off;
display_errors = Off;
allow_url_fopen = On;

memory_limit = 32M;
post_max_size = 10M;
upload_max_filesize = 10M;
max_file_uploads = 10M;
max_execution_time = 60;
cgi.fix_pathinfo = 0;

session.use_trans_sid = 0;
session.use_only_cookies = 1;
session.hash_function = sha512;
session.hash_bits_per_character = 5;
session.entropy_file = /dev/urandom;
session.entropy_length = 256;
session.cookie_httponly = 1;
" >> /etc/php7/php.ini

# PHP fpm
echo "
[global]
emergency_restart_threshold = 3
emergency_restart_interval = 1m
process_control_timeout = 5s

[www]
listen = /var/run/php-fpm7.sock
listen.mode = 0666
listen.allowed_clients = 127.0.0.1" > /etc/php7/php-fpm.d/www.conf

# PHP alias
if [ ! -f /usr/bin/php ]; then
    ln -s $(which php7) /usr/bin/php
fi

#!/bin/bash
set -e

# PHP ini
echo "
short_open_tag = Off;
display_errors = Off;
allow_url_fopen = On;

memory_limit = 32M;
post_max_size = 10M;
upload_max_filesize = 10M;
max_file_uploads = 10M;
max_execution_time = 60;
cgi.fix_pathinfo = 0;

session.use_trans_sid = 0;
session.use_only_cookies = 1;
session.hash_function = sha512;
session.hash_bits_per_character = 5;
session.entropy_file = /dev/urandom;
session.entropy_length = 256;
session.cookie_httponly = 1;
" >> /etc/php7/php.ini

# PHP fpm
echo "
[global]
emergency_restart_threshold = 3
emergency_restart_interval = 1m
process_control_timeout = 5s

[www]
listen = /var/run/php-fpm7.sock
listen.mode = 0666
listen.allowed_clients = 127.0.0.1" > /etc/php7/php-fpm.d/www.conf

# PHP alias
ln -s $(which php7) /usr/bin/php


quick install without core.git download

quick install without core.git download

#!/bin/bash
#
# Setup MediaWiki (quick--not checking out whole core.git)
#
# Example:
#   bash mediawiki-quick.sh <mysql-root-pass> <wiki-admin-pass>
#
#   $1: mysql-root-pass: the password for your mysql root user
#   $2: wiki-admin-pass: the user "Admin" will be created for this wiki
#       and this will be used as Admin's password
#

#
# Install Composer
#
cd ~/sources
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

#
# Download MediaWiki from tarball
#
cd /var/www/meza1/htdocs
wget http://releases.wikimedia.org/mediawiki/1.25/mediawiki-core-1.25.1.tar.gz

mkdir wiki
tar xpvf mediawiki-core-1.25.1.tar.gz -C ./wiki --strip-components 1
cd wiki

#
# Give apache the right to modify images
#
chown -R apache:www ./images

#
# Update Composer dependencies
#
composer update

#
# Download Vector skin tarball, REL1_25 branch
#
cd skins
https://github.com/wikimedia/mediawiki-skins-Vector/archive/REL1_25.zip
mkdir Vector
tar xpvf meza1.tar.gz -C ./Vector --strip-components 1

#
# Install MW with install.php
#
cd ..
php maintenance/install.php \
	--dbtype mysql \
	--dbuser root \
	--dbpass "$1" \
	--dbname wiki_test \
	--pass "$2" \
	TestWiki Admin \
	--scriptpath /wiki

error: pathspec 'client_files/mediawiki-quick.sh' did not match any file(s) known to git


added more debians

added more debians

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/geoffreychiou/industrial_ci.git/'


updated doc

updated doc

f [ -f $JRE/lib/net.properties ]; then
  dockerRoute=$(route | grep '*')
  dockerNet=${dockerRoute/\.0.*/.*}
  sed -i $JRE/lib/net.properties -e "s/nonProxyHosts=localhost|/nonProxyHosts=${dockerNet}|localhost|/"
fi

error: pathspec 'jvmprep/shinit.sh' did not match any file(s) known to git


Create build.sh

Create build.sh

#!/bin/sh
# This script builds the site when a push is made.

error: pathspec 'source/build.sh' did not match any file(s) known to git


base script for auto running scripts

base script for auto running scripts

python get_pics.py
python swvist_imagegrid.py

error: pathspec 'base_shell.sh' did not match any file(s) known to git


Removed doccker

Removed doccker

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/macp3o/workstation.git/'


gb-locker: fix typo in author.

gb-locker: fix typo in author.

Signed-off-by: GusBricker <711c73f64afdce07b7e38039a96d2224209e9a6c@lapa.com.au>

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/GusBricker/gb-bashutils.git/'


vim diff

vim diff

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/sivakumar-kailasam/dotfiles.git/'