diff options
Diffstat (limited to '.bash_utils')
-rw-r--r-- | .bash_utils/cxx.sh | 118 | ||||
-rw-r--r-- | .bash_utils/distr.sh | 29 | ||||
-rw-r--r-- | .bash_utils/file.sh | 35 | ||||
-rw-r--r-- | .bash_utils/git.sh | 102 | ||||
-rw-r--r-- | .bash_utils/text.sh | 43 |
5 files changed, 0 insertions, 327 deletions
diff --git a/.bash_utils/cxx.sh b/.bash_utils/cxx.sh deleted file mode 100644 index 527c120..0000000 --- a/.bash_utils/cxx.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2016 Egor Tensin <Egor.Tensin@gmail.com> -# This file is part of the "Cygwin configuration files" project. -# For details, see https://github.com/egor-tensin/cygwin-home. -# Distributed under the MIT License. - -runc_flags=('-Wall' '-Wextra') - -runc() ( - set -o errexit -o nounset -o pipefail - - local -a c_flags=("${runc_flags[@]+"${runc_flags[@]}"}") - local -a src_files - local -a prog_flags - - while [ "$#" -gt 0 ]; do - case "$1" in - -c|--c-flags) - if [ "$#" -le 1 ]; then - echo "${FUNCNAME[0]}: missing argument for parameter: $1" >&2 - return 1 - fi - shift - c_flags+=("$1") - shift - ;; - - -h|--help) - echo "usage: ${FUNCNAME[0]} [-h|--help] [-c|--c-flags FLAG]... [--] [SRC_PATH]..." - return 0 - ;; - - --) - shift - break - ;; - - *) - src_files+=("$( realpath "$1" )") - shift - ;; - esac - done - - prog_flags=("$@") - - local build_dir - build_dir="$( mktemp --directory )" - - trap "$( printf 'popd > /dev/null && rm -rf %q' "$build_dir" )" 0 - pushd "$build_dir" > /dev/null - - local output_name - output_name="$( mktemp --tmpdir=. "${FUNCNAME[0]}XXX.exe" )" - - gcc -o "$output_name" \ - "${c_flags[@]+"${c_flags[@]}"}" \ - "${src_files[@]+"${src_files[@]}"}" - - "$output_name" "${prog_flags[@]+"${prog_flags[@]}"}" -) - -runcxx_flags=('-Wall' '-Wextra' '-std=c++14') - -runcxx() ( - set -o errexit -o nounset -o pipefail - - local -a cxx_flags=("${runcxx_flags[@]+"${runcxx_flags[@]}"}") - local -a src_files - local -a prog_flags - - while [ "$#" -gt 0 ]; do - case "$1" in - -c|--cxx-flags) - if [ "$#" -le 1 ]; then - echo "${FUNCNAME[0]}: missing argument for parameter: $1" >&2 - return 1 - fi - shift - cxx_flags+=("$1") - shift - ;; - - -h|--help) - echo "usage: ${FUNCNAME[0]} [-h|--help] [-c|--cxx-flags FLAG]... [--] [SRC_PATH]..." - return 0 - ;; - - --) - shift - break - ;; - - *) - src_files+=("$( realpath "$1" )") - shift - ;; - esac - done - - prog_flags=("$@") - - local build_dir - build_dir="$( mktemp --directory )" - - trap "$( printf 'popd > /dev/null && rm -rf %q' "$build_dir" )" 0 - pushd "$build_dir" > /dev/null - - local output_name - output_name="$( mktemp --tmpdir=. "${FUNCNAME[0]}XXX.exe" )" - - g++ -o "$output_name" \ - "${cxx_flags[@]+"${cxx_flags[@]}"}" \ - "${src_files[@]+"${src_files[@]}"}" - - "$output_name" "${prog_flags[@]+"${prog_flags[@]}"}" -) diff --git a/.bash_utils/distr.sh b/.bash_utils/distr.sh deleted file mode 100644 index 06d342a..0000000 --- a/.bash_utils/distr.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2016 Egor Tensin <Egor.Tensin@gmail.com> -# This file is part of the "Cygwin configuration files" project. -# For details, see https://github.com/egor-tensin/cygwin-home. -# Distributed under the MIT License. - -checksums_path='sha1sums.txt' - -update_checksums() { - sha1sum -- "$@" > "$checksums_path" -} - -update_checksums_distr() ( - set -o errexit -o nounset -o pipefail - - local -a paths - local path - - while IFS= read -d '' -r path; do - paths+=("$path") - done < <( find . -type f -\( -iname '*.exe' -o -iname '*.iso' -\) -print0 ) - - update_checksums "${paths[@]+"${paths[@]}"}" -) - -verify_checksums() { - sha1sum --check "$checksums_path" -} diff --git a/.bash_utils/file.sh b/.bash_utils/file.sh deleted file mode 100644 index 0321833..0000000 --- a/.bash_utils/file.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2016 Egor Tensin <Egor.Tensin@gmail.com> -# This file is part of the "Cygwin configuration files" project. -# For details, see https://github.com/egor-tensin/cygwin-home. -# Distributed under the MIT License. - -swap_files() ( - set -o errexit -o nounset -o pipefail - - if [ "$#" -ne 2 ]; then - echo "usage: ${FUNCNAME[0]} PATH1 PATH2" >&2 - return 1 - fi - - local path1="$1" - local path2="$2" - - if [ ! -f "$path1" ]; then - echo "${FUNCNAME[0]}: must be a regular file: $path1" >&2 - return 1 - fi - - if [ ! -f "$path2" ]; then - echo "${FUNCNAME[0]}: must be a regular file: $path2" >&2 - return 1 - fi - - local tmp_path - tmp_path="$( mktemp "$( dirname "$path1" )/XXX" )" - - mv "$path1" "$tmp_path" - mv "$path2" "$path1" - mv "$tmp_path" "$path2" -) diff --git a/.bash_utils/git.sh b/.bash_utils/git.sh deleted file mode 100644 index 54e50f6..0000000 --- a/.bash_utils/git.sh +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2016 Egor Tensin <Egor.Tensin@gmail.com> -# This file is part of the "Cygwin configuration files" project. -# For details, see https://github.com/egor-tensin/cygwin-home. -# Distributed under the MIT License. - -list_repo_files() ( - set -o errexit -o nounset -o pipefail - - local -a cmd=(git ls-files) - - while [ "$#" -gt 0 ]; do - case "$1" in - -z|-0) - cmd+=(-z) - shift - ;; - - -h|--help) - echo "usage: ${FUNCNAME[0]} [-h|--help] [-z|-0]" - return 0 - ;; - - *) - echo "${FUNCNAME[0]}: unrecognized parameter: $1" >&2 - return 1 - ;; - esac - done - - eval "${cmd[@]+"${cmd[@]}"}" -) - -list_repo_dirs() ( - set -o errexit -o nounset -o pipefail - - local -a cmd=(git ls-tree -d -r) - - while [ "$#" -gt 0 ]; do - case "$1" in - -z|-0) - cmd+=(-z) - shift - ;; - - -h|--help) - echo "usage: ${FUNCNAME[0]} [-h|--help] [-z|-0]" - return 0 - ;; - - *) - echo "${FUNCNAME[0]}: unrecognized parameter: $1" >&2 - return 1 - ;; - esac - done - - cmd+=(--name-only HEAD) - - eval "${cmd[@]+"${cmd[@]}"}" -) - -tighten_repo_security() ( - set -o errexit -o nounset -o pipefail - - list_repo_files -z | xargs -0 chmod 0600 - list_repo_dirs -z | xargs -0 chmod 0700 - chmod 0700 .git -) - -backup_repo() ( - set -o errexit -o nounset -o pipefail - - local repo_dir - repo_dir="$( realpath . )" - local repo_name - repo_name="$( basename "$repo_dir" )" - local backup_dir="$repo_dir" - - if [ $# -eq 1 ]; then - backup_dir="$1" - elif [ $# -gt 1 ]; then - echo "usage: ${FUNCNAME[0]} [BACKUP_DIR]" >&2 - exit 1 - fi - - local zip_name - zip_name="${repo_name}_$( date -u +'%Y%m%dT%H%M%S' ).zip" - - git archive \ - --format=zip -9 \ - --output="$backup_dir/$zip_name" \ - --remote="$repo_dir" \ - HEAD -) - -backup_repo_dropbox() ( - set -o errexit -o nounset -o pipefail - - backup_repo "$USERPROFILE/Dropbox/backups" -) diff --git a/.bash_utils/text.sh b/.bash_utils/text.sh deleted file mode 100644 index ad3f203..0000000 --- a/.bash_utils/text.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2016 Egor Tensin <Egor.Tensin@gmail.com> -# This file is part of the "Cygwin configuration files" project. -# For details, see https://github.com/egor-tensin/cygwin-home. -# Distributed under the MIT License. - -alias dos2eol='sed --binary --in-place '"'"'s/\(\r\?\)$//'"'" -alias eol2dos='sed --binary --in-place '"'"'s/\r\?$/\r/'"'" - -alias trim='sed --binary --in-place '"'"'s/[[:blank:]]*\(\r\?\)$/\1/'"'" - -alias trimeol='sed --binary --in-place -e :a -e '"'"'/^\n*$/{$d;N;ba}'"'" -alias trimdoseol='sed --binary --in-place -e :a -e '"'"'/^\(\r\n\)*\r$/{$d;N;ba}'"'" - -alias eol='sed --binary --in-place '"'"'$a\'"'" -alias doseol='sed --binary --in-place '"'"'$s/\r\?$/\r/;a\'"'" - -alias trimbom='sed --binary --in-place '"'"'1 s/^\xef\xbb\xbf//'"'" - -lint() { - trim "$@" && trimeol "$@" && eol "$@" -} - -doslint() { - trim "$@" && trimdoseol "$@" && doseol "$@" -} - -replace_word() ( - set -o errexit -o nounset -o pipefail - - if [ "$#" -lt 3 ]; then - echo "usage: ${FUNCNAME[0]} OLD NEW PATH..." >&2 - return 1 - fi - - local old="$1" - shift - local new="$2" - shift - - sed --binary --in-place "s/\\b$old\\b/$new/g" "$@" -) |