diff options
Diffstat (limited to 'libre')
-rw-r--r-- | libre/parabolaweb-git/Makefile | 26 | ||||
-rw-r--r-- | libre/parabolaweb-git/PKGBUILD | 43 | ||||
-rw-r--r-- | libre/parabolaweb-git/deps-ver.txt | 7 | ||||
-rw-r--r-- | libre/parabolaweb-git/parabolaweb.init.sh | 52 | ||||
-rw-r--r-- | libre/parabolaweb-git/parabolaweb.update.sh.in | 59 | ||||
-rw-r--r-- | libre/parabolaweb-git/requirements_prod.txt | 7 |
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 |