summaryrefslogtreecommitdiff
path: root/libre/parabolaweb-utils/parabolaweb-download
diff options
context:
space:
mode:
Diffstat (limited to 'libre/parabolaweb-utils/parabolaweb-download')
-rw-r--r--libre/parabolaweb-utils/parabolaweb-download47
1 files changed, 47 insertions, 0 deletions
diff --git a/libre/parabolaweb-utils/parabolaweb-download b/libre/parabolaweb-utils/parabolaweb-download
new file mode 100644
index 000000000..823a18811
--- /dev/null
+++ b/libre/parabolaweb-utils/parabolaweb-download
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+. /etc/conf.d/parabolaweb
+. /usr/bin/libremessages
+
+dir=$WEBDIR
+repo=git://parabolagnulinux.org/parabolaweb.git
+ref=master
+
+cd_safe() {
+ if ! cd "$1"; then
+ error "$(gettext "Failed to change to directory %s")" "$1"
+ plain "$(gettext "Aborting...")"
+ exit 1
+ fi
+}
+
+download_git() {
+ if [[ ! -d "$dir/.git" ]] ; then
+ msg2 "$(gettext "Cloning %s %s repo...")" "${repo}" "git"
+ if ! git clone "$repo" "$dir"; then
+ error "$(gettext "Failure while downloading %s %s repo")" "${repo}" "git"
+ plain "$(gettext "Aborting...")"
+ exit 1
+ fi
+ else
+ cd_safe "$dir"
+ # Make sure we are fetching the right repo
+ # if [[ "$repo" != "$(git config --get remote.origin.url)" ]] ; then
+ # error "$(gettext "%s is not a clone of %s")" "$dir" "$repo"
+ # plain "$(gettext "Aborting...")"
+ # exit 1
+ # fi
+ msg2 "$(gettext "Updating %s %s repo...")" "${repo}" "git"
+ if ! git pull origin "$ref"; then
+ # only warn on failure to allow offline builds
+ warning "$(gettext "Failure while updating %s %s repo")" "${repo}" "git"
+ fi
+ fi
+}
+
+main() {
+ [[ -d "${dir%/*}" ]] || mkdir -p "${dir%/*}"
+ download_git
+}
+
+main "$@"