summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
Diffstat (limited to 'libre')
-rw-r--r--libre/parabolaweb-git/Makefile26
-rw-r--r--libre/parabolaweb-git/PKGBUILD43
-rw-r--r--libre/parabolaweb-git/deps-ver.txt7
-rw-r--r--libre/parabolaweb-git/parabolaweb.init.sh52
-rw-r--r--libre/parabolaweb-git/parabolaweb.update.sh.in59
-rw-r--r--libre/parabolaweb-git/requirements_prod.txt7
6 files changed, 194 insertions, 0 deletions
diff --git a/libre/parabolaweb-git/Makefile b/libre/parabolaweb-git/Makefile
new file mode 100644
index 000000000..55115aba3
--- /dev/null
+++ b/libre/parabolaweb-git/Makefile
@@ -0,0 +1,26 @@
+all:
+ makepkg
+
+python_packages=south
+python2_packages=markdown|psycopg2|pyinotify|pytz
+requirements= https://projects.parabolagnulinux.org/parabolaweb.git/plain/requirements_prod.txt
+
+requirements_prod.txt: WEB
+ rm -f $@
+ wget --no-check-certificate $(requirements)
+
+deps-ver.txt: requirements_prod.txt
+ sed -r -e 's/.*/\L&/' -e 's/==/=/' \
+ -e 's/^(${python_packages})/python-&/' \
+ -e 's/^(${python2_packages})/python2-&/' $< >$@
+
+deps-nover.txt: deps-ver.txt
+ sed 's/[<>=].*//' $< >$@
+
+clean:
+ rm requirements_prod.txt deps-ver.txt deps-nover.txt
+
+WEB: FORCE
+FORCE: PHONY
+PHONY:
+.PHONY: PHONY
diff --git a/libre/parabolaweb-git/PKGBUILD b/libre/parabolaweb-git/PKGBUILD
new file mode 100644
index 000000000..4641ea8d3
--- /dev/null
+++ b/libre/parabolaweb-git/PKGBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+pkgname=parabolaweb-git
+pkgver=20120506
+pkgrel=3
+pkgdesc="The Parabola website, fork of archweb"
+arch=('any')
+url="https://projects.parabolagnulinux.org/parabolaweb.git/"
+license=('GPL2')
+
+_deps_file=deps-ver.txt
+#_deps_file=deps-nover.txt
+make "$_deps_file" 1>&2
+depends=('python2' 'git' 'libretools' `cat $_deps_file`)
+
+source=('parabolaweb.init.sh' 'parabolaweb.update.sh.in')
+
+# These will make it install into /http/srv/web
+_install_dir=/srv/http
+_gitname=web
+
+_gitroot=https://projects.parabolagnulinux.org/parabolaweb.git
+_gitbranch="master"
+
+build() {
+ cd "${srcdir}"
+ sed \
+ -e "s|^_install_dir=.*|_install_dir='$_install_dir'|" \
+ -e "s|^_gitname=.*|_gitname='$_gitname'|" \
+ -e "s|^_gitroot=.*|_gitroot='$_gitroot'|" \
+ -e "s|^_gitbranch=.*|_gitbranch='$_gitbranch'|" \
+ < parabolaweb.update.sh.in > parabolaweb.update.sh
+}
+
+package() {
+ cd "${srcdir}"
+ install -d "${pkgdir}/${_install_dir}"
+ install -Dm755 parabolaweb.init.sh "${pkgdir}/etc/rc.d/parabolaweb"
+ install -Dm755 parabolaweb.update.sh "${pkgdir}/usr/sbin/parabolaweb.update"
+}
+
+md5sums=('72bc7092e4e50a2aaca8b871644520d9'
+ 'f495b2e4623691925308cb4a1ec7e5a9')
diff --git a/libre/parabolaweb-git/deps-ver.txt b/libre/parabolaweb-git/deps-ver.txt
new file mode 100644
index 000000000..67fe6848b
--- /dev/null
+++ b/libre/parabolaweb-git/deps-ver.txt
@@ -0,0 +1,7 @@
+django=1.3.1
+python2-markdown>=2.0.3
+python2-psycopg2
+python-south>=0.7.3
+python2-pyinotify>=0.9.2
+python-memcached>=1.47
+python2-pytz>=2011n
diff --git a/libre/parabolaweb-git/parabolaweb.init.sh b/libre/parabolaweb-git/parabolaweb.init.sh
new file mode 100644
index 000000000..cb9f2441e
--- /dev/null
+++ b/libre/parabolaweb-git/parabolaweb.init.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+HOST=127.0.0.1
+PORT=8090 # 80 is nginx
+PIDFILE=/var/run/web/fcgi.pid
+
+case $1 in
+start)
+ stat_busy "Starting ParabolaWeb"
+ if [[ -e /srv/http/web/manage.py ]]; then
+ sudo -u nobody \
+ python2 /srv/http/web/manage.py runfcgi \
+ host=${HOST} \
+ port=${PORT} \
+ pidfile=${PIDFILE} \
+ --settings=settings
+
+ add_daemon parabolaweb
+ stat_done
+ exit 0
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+stop)
+ stat_busy "Stopping ParabolaWeb"
+ if [[ -f ${PIDFILE} ]]; then
+ pid=$(cat ${PIDFILE})
+ kill ${pid}
+ rm_daemon parabolaweb
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+restart)
+ $0 stop
+ $0 start
+ ;;
+
+*)
+ echo "Usage: $0 {start|stop|restart}" >&2
+ exit 1
+
+esac
diff --git a/libre/parabolaweb-git/parabolaweb.update.sh.in b/libre/parabolaweb-git/parabolaweb.update.sh.in
new file mode 100644
index 000000000..8c3aef0f0
--- /dev/null
+++ b/libre/parabolaweb-git/parabolaweb.update.sh.in
@@ -0,0 +1,59 @@
+#!/bin/sh
+set -e
+
+_install_dir=@INSTALL_DIR@
+_gitname=@GIT_NAME@
+
+_gitroot=@GITROOT@
+_gitbranch=@GITBRANCH@
+
+. /usr/bin/libremessages
+
+if [ ! -d "$_install_dir" ]; then
+ mkdir "$_install_dir"
+fi
+cd "$_install_dir"
+
+msg "Connecting to GIT server...."
+if [ -d ${_gitname} ] ; then
+ msg2 "Updating existing tree"
+ cd ${_gitname} && git pull ${_gitroot}
+else
+ msg2 "Cloning tree"
+ git clone ${_gitroot} ${_gitname}
+ cd ${_gitname}
+fi
+git checkout ${_gitbranch}
+msg "GIT checkout done or server timeout"
+
+msg "Purging old .pyc files...."
+find . -name '*.pyc' -delete
+
+msg "Checking configuration...."
+if [ ! -f local_settings.py ]; then
+ cp local_settings.py.example local_settings.tmp.$$.py
+ if ${EDITOR:-xdg-open} local_settings.tmp.$$.py; then
+ mv local_settings.tmp.$$.py local_settings.py
+ else
+ rm local_settings.tmp.$$.py
+ msg "Failed to configure, exiting"
+ exit 1
+ fi
+ msg "Creating database...."
+ ./manage.py syncdb
+fi
+
+msg "Purging old .pyc files...."
+find . -name '*.pyc' -delete
+
+msg "Updating database...."
+msg2 "Running migrations...."
+./manage.py migrate
+msg2 "Loading fixtures...."
+./manage.py loaddata */fixtures/*.json
+
+msg "Checking media/admin_media symlink...."
+if [ ! -e media/admin-media ]; then
+ rm media/admin_media
+ ln -s /usr/lib/python2.7/site-packages/django/contrib/admin/media media/admin_media
+fi
diff --git a/libre/parabolaweb-git/requirements_prod.txt b/libre/parabolaweb-git/requirements_prod.txt
new file mode 100644
index 000000000..78eb51250
--- /dev/null
+++ b/libre/parabolaweb-git/requirements_prod.txt
@@ -0,0 +1,7 @@
+Django==1.3.1
+Markdown>=2.0.3
+psycopg2
+South>=0.7.3
+pyinotify>=0.9.2
+python-memcached>=1.47
+pytz>=2011n