diff --git a/cron/hourly/git_maintenance_tasks_lock b/cron/hourly/git_maintenance_tasks_lock new file mode 100755 index 00000000..44777d29 --- /dev/null +++ b/cron/hourly/git_maintenance_tasks_lock @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +# Run git_maintenance_tasks only if not running already +DEVDIR="$(readlink -e "$(dirname $0)/../../dev")" +mkdir -p ~/lmms-repo +flock -w 0 ~/lmms-repo/git_maintenance_tasks.lock \ + "$DEVDIR/git_maintenance_tasks" diff --git a/dev/git_maintenance_tasks b/dev/git_maintenance_tasks new file mode 100755 index 00000000..74a75dac --- /dev/null +++ b/dev/git_maintenance_tasks @@ -0,0 +1,31 @@ +#!/bin/sh +set -e + +BRANCH=master +BRANCH=maintenance-test + +TOPDIR="$(readlink -e "$(dirname $0)/..")" + +# Force C locale +export LC_ALL=C + +mkdir -p ~/lmms-repo +cd ~/lmms-repo + +if [ -e lmms ] +then + cd lmms + PULLRES=$(git pull) + if [ "$PULLRES" = "Already up-to-date." -a -e maintenance-tasks-done ] + then + exit + fi +else + git clone -b "$BRANCH" ssh://github.com/LMMS/lmms + cd lmms +fi + +rm -f maintenance-tasks-done +run-parts --exit-on-error "$TOPDIR/tasks/lmms" +git push origin "$BRANCH" +touch maintenance-tasks-done diff --git a/tasks/lmms/01-project-year b/tasks/lmms/01-project-year new file mode 100755 index 00000000..c79976f1 --- /dev/null +++ b/tasks/lmms/01-project-year @@ -0,0 +1,20 @@ +#!/bin/sh +set -e + +YEAR=$(date -u +%Y) +while true +do + if [ "$(git log -n 1 --since=$YEAR-01-01T00:00:00Z)" ] + then + break + fi + YEAR=$((YEAR - 1)) +done + +sed -e "/^SET(PROJECT_YEAR / c SET(PROJECT_YEAR $YEAR)" -i CMakeLists.txt + +git add CMakeLists.txt +if [ "$(git diff HEAD)" ] +then + git commit -m "Update PROJECT_YEAR" +fi diff --git a/tasks/lmms/02-contributors b/tasks/lmms/02-contributors new file mode 100755 index 00000000..1de64b68 --- /dev/null +++ b/tasks/lmms/02-contributors @@ -0,0 +1,10 @@ +#!/bin/sh +set -e + +git shortlog -sne | cut -c 8- > doc/CONTRIBUTORS + +git add doc/CONTRIBUTORS +if [ "$(git diff HEAD)" ] +then + git commit -m "Update CONTRIBUTORS" +fi diff --git a/tasks/lmms/99-error.disabled b/tasks/lmms/99-error.disabled new file mode 100755 index 00000000..287a2e26 --- /dev/null +++ b/tasks/lmms/99-error.disabled @@ -0,0 +1,5 @@ +#!/bin/sh +set -e + +echo ERROR: This task should be disabled +exit 1