diff options
Diffstat (limited to 'scripts/utils.sh')
-rwxr-xr-x | scripts/utils.sh | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/scripts/utils.sh b/scripts/utils.sh new file mode 100755 index 0000000..7dc061b --- /dev/null +++ b/scripts/utils.sh @@ -0,0 +1,109 @@ +#!/bin/bash + +do_install() { + local GTKDIR GTK320DIR GTKVER INSTALL_DIR + INSTALL_DIR="$1" + GTKDIR="${INSTALL_DIR}/gtk-3.0" + GTK320DIR="${INSTALL_DIR}/gtk-3.20" + + install -dm755 "${INSTALL_DIR}" + + cd src + + cp index.theme "${INSTALL_DIR}" + + cp -rt "${INSTALL_DIR}" \ + assets gtk-2.0 metacity-1 openbox-3 xfwm4 unity + + for _DIR in "${GTKDIR}" "${GTK320DIR}" + do + GTKVER="${_DIR##*/}" + + mkdir -p "${_DIR}" + + cp -t "${_DIR}" \ + "${GTKVER}/gtk.css" \ + "${GTKVER}/gtk-dark.css" \ + "${GTKVER}/gtk.gresource" \ + "${GTKVER}/thumbnail.png" + + cd "${_DIR}" + ln -srf ../assets assets + cd - + done +} + + +output_changes_file_version_marker() { + + line() { + dashes="$(printf '%0.s-' $(seq 1 13))" + echo "${dashes}>>>> $1 <<<<${dashes}" + } + + tag_line="$(line $1)" + + echo "-${tag_line}${tag_line}${tag_line}-" +} + + +update_changes_file() { + LAST_STABLE_RELEASE=$(git describe --abbrev=0 --tags $(git rev-list --tags --max-count=1)) + LAST_MAJOR_MINOR="${LAST_STABLE_RELEASE%.*}" + + LAST_MAJOR="${LAST_STABLE_RELEASE%%.*}" + LAST_MINOR="${LAST_MAJOR_MINOR#*.}" + LAST_PATCH="${LAST_STABLE_RELEASE##*.}" + + case "${PWD##*/}" in + numix-gtk-theme) + NEXT_PATCH=$(($LAST_PATCH + 1)) + + NEXT_STABLE_RELEASE="${LAST_MAJOR_MINOR}.${NEXT_PATCH}" + ;; + + Librix-Frost) + LAST_MAJOR=$(($LAST_MAJOR + 1)) + NEXT_STABLE_RELEASE="${LAST_MAJOR}.${LAST_MINOR}.${LAST_PATCH}" + LAST_PATCH=$(($LAST_PATCH - 1)) + + LAST_STABLE_RELEASE="${LAST_MAJOR}.${LAST_MINOR}.${LAST_PATCH}" + ;; + + *) + echo 'Unknown directory!' && exit 1 + ;; + esac + + [[ -f CHANGES ]] && mv CHANGES CHANGES.old + + output_changes_file_version_marker "${NEXT_STABLE_RELEASE}" > CHANGES + + { git log \ + --pretty=format:"[%ai] %<(69,trunc) %s %><(15) %aN {%h}" \ + --cherry-pick "${LAST_STABLE_RELEASE}...HEAD"; } >> CHANGES + + + [[ -f CHANGES.old ]] && echo "" >> CHANGES && cat CHANGES.old >> CHANGES && rm CHANGES.old + + git add CHANGES + git commit -m 'RELEASE PREP :: Update CHANGES file.' + git push +} + + + +case $1 in + changes) + update_changes_file + exit $? + ;; + + install) + do_install "$2" + ;; + + *) + exit 0 + ;; +esac |