From 415856bdd4f48ab4f2732996f0bae58595092bbe Mon Sep 17 00:00:00 2001 From: Parabola Date: Tue, 5 Apr 2011 14:26:38 +0000 Subject: Tue Apr 5 14:26:38 UTC 2011 --- extra/xsp/PKGBUILD | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++ extra/xsp/xsp.conf.d | 10 +++++++++ extra/xsp/xsp.install | 37 +++++++++++++++++++++++++++++++ extra/xsp/xsp.rc.d | 40 +++++++++++++++++++++++++++++++++ extra/xsp/xsp.webapp | 8 +++++++ 5 files changed, 156 insertions(+) create mode 100644 extra/xsp/PKGBUILD create mode 100644 extra/xsp/xsp.conf.d create mode 100644 extra/xsp/xsp.install create mode 100644 extra/xsp/xsp.rc.d create mode 100644 extra/xsp/xsp.webapp (limited to 'extra/xsp') diff --git a/extra/xsp/PKGBUILD b/extra/xsp/PKGBUILD new file mode 100644 index 000000000..e78ba6aa7 --- /dev/null +++ b/extra/xsp/PKGBUILD @@ -0,0 +1,61 @@ +# $Id: PKGBUILD 111514 2011-02-27 11:35:42Z daniel $ +# Maintainer: Daniel Isenmann +# Contributor: Tobias Kieslich + +pkgname=xsp +pkgver=2.10 +pkgrel=1 +pkgdesc="A simple webserver based on mono - provides ASP.NET support" +arch=(i686 x86_64) +license=('custom') +url="http://www.go-mono.com" +depends=('mono>=2.10.1' 'sqlite3') +options=(!makeflags) +install=${pkgname}.install +source=(http://ftp.novell.com/pub/mono/sources/${pkgname}/${pkgname}-${pkgver}.tar.bz2 \ + ${pkgname}.rc.d ${pkgname}.conf.d ${pkgname}.webapp) +md5sums=('aec9369a00a9728801ea2587a1a8fd9c' + '9575bd7d6f64d51ba05bdd6370665858' + '35d921df0fefc30f47a438c95d420efc' + 'c917c07f68b945691506c29750db482f') + +build() { + # get rid of that .wapi errors; thanks to brice + export MONO_SHARED_DIR=${srcdir}/src/weird + mkdir -p "${MONO_SHARED_DIR}" + # import pathes + # build + cd ${srcdir}/${pkgname}-${pkgver} + #sed -i 's|/bin/sh|\0\nexport MONO_PATH=${MONO_PATH}:/opt/mono/lib/mono/1.0|' scripts/script.in + ./configure --prefix=/usr --sysconfdir=/etc + make || return 1 + # tweak the xsp shellscript to grab system dll's + for script in scripts/*2; do + sed -i 's|/usr/lib/mono/1.0|/usr/lib/mono/2.0|' $script + done + #destdir related bugfixes + sed -i 's|mkdir \$(datadir)|mkdir $(DESTDIR)$(datadir)|' test/2.0/treeview/Makefile + sed -i 's|gif \$(datadir)|gif $(DESTDIR)$(datadir)|' test/2.0/treeview/Makefile +} + +package(){ + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir}/ install + # move test files from share to arch' default html home + mkdir -p ${pkgdir}/srv/http/html + mv ${pkgdir}/usr/lib/xsp/test ${pkgdir}/srv/http/html/xsp + rm -rf ${pkgdir}/usr/share + chown -R http:http ${pkgdir}/srv/http/html/${pkgname} + + # install a deamon + install -D -m755 ${srcdir}/${pkgname}.rc.d \ + ${pkgdir}/etc/rc.d/${pkgname} + # install a deamon configurationfile + install -D -m644 ${srcdir}/$pkgname.conf.d \ + ${pkgdir}/etc/conf.d/${pkgname} + # install a xsp configuration home + install -D -m644 ${srcdir}/${pkgname}.webapp \ + ${pkgdir}/etc/${pkgname}/${pkgname}.webapp + install -D -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING + +} diff --git a/extra/xsp/xsp.conf.d b/extra/xsp/xsp.conf.d new file mode 100644 index 000000000..99d634929 --- /dev/null +++ b/extra/xsp/xsp.conf.d @@ -0,0 +1,10 @@ +# xsp options + + +# note that is just the helping app for mod_mono if you like production like +# quality +# xsp is for ASP testing mainly -- read the manpage for xsp to know what +# options are available. Archlinux will provide xsp configured by a .webapp +# configuration file which rests in /etc/xsp + +XSP_PARAMS="--appconfigdir /etc/xsp" diff --git a/extra/xsp/xsp.install b/extra/xsp/xsp.install new file mode 100644 index 000000000..b8a8f3136 --- /dev/null +++ b/extra/xsp/xsp.install @@ -0,0 +1,37 @@ +# arg 1: the new package version +post_install() { + cat << EOM + +--> xsp is just the helping app for mod_mono if you like a production like +--> server. xsp itself is for ASP testing mainly -- read the manpage for xsp +--> to know which options are available. +--> Archlinux will provide xsp configured by a .webapp configuration file +--> which rests in /etc/xsp. Just put your other webapp files there to let +--> xsp pick them up. +--> xsp is commandline based configuration is done in /etc/conf.d/xsp. Set all +--> your arguments there. Don't forget that you can run xsp from the console +--> as oridinary user, which is safer and for testing absolutely sufficient!! + +--> You can run the testpages simply by starting the server and calling + http://localhost:8080 +--> from your browser's location bar + + +EOM +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + post_install $1 +} + +# arg 1: the old package version +pre_remove() { + /bin/true +} + +# arg 1: the old package version +post_remove() { + /bin/true +} diff --git a/extra/xsp/xsp.rc.d b/extra/xsp/xsp.rc.d new file mode 100644 index 000000000..b4fcda15c --- /dev/null +++ b/extra/xsp/xsp.rc.d @@ -0,0 +1,40 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +# source application-specific settings +[ -f /etc/conf.d/xsp ] && . /etc/conf.d/xsp + +PID=`pidof -o %PPID /usr/bin/mono` +case "$1" in + start) + stat_busy "Starting Xsp Daemon" + if [ -z "$PID" ]; then + /usr/bin/xsp $XSP_PARAMS --nonstop &> /dev/null & + fi + if [ ! -z "$PID" -o $? -gt 0 ]; then + stat_fail + else + add_daemon xsp + stat_done + fi + ;; + stop) + stat_busy "Stopping Xsp Daemon" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon xsp + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac diff --git a/extra/xsp/xsp.webapp b/extra/xsp/xsp.webapp new file mode 100644 index 000000000..a685dd171 --- /dev/null +++ b/extra/xsp/xsp.webapp @@ -0,0 +1,8 @@ + + + Root + / + /srv/http/html/xsp + localhost + + -- cgit v1.2.3-54-g00ecf