summaryrefslogtreecommitdiff
path: root/extra/xsp
diff options
context:
space:
mode:
Diffstat (limited to 'extra/xsp')
-rw-r--r--extra/xsp/PKGBUILD61
-rw-r--r--extra/xsp/xsp.conf.d10
-rw-r--r--extra/xsp/xsp.install37
-rw-r--r--extra/xsp/xsp.rc.d40
-rw-r--r--extra/xsp/xsp.webapp8
5 files changed, 156 insertions, 0 deletions
diff --git a/extra/xsp/PKGBUILD b/extra/xsp/PKGBUILD
new file mode 100644
index 000000000..3e0a1b614
--- /dev/null
+++ b/extra/xsp/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 120915 2011-04-27 09:28:00Z daniel $
+# Maintainer: Daniel Isenmann <daniel@archlinux.org>
+# Contributor: Tobias Kieslich <tobias@justdreams.de>
+
+pkgname=xsp
+pkgver=2.10.2
+pkgrel=1
+pkgdesc="A simple webserver based on mono - provides ASP.NET support"
+arch=(i686 x86_64 'mips64el')
+license=('custom')
+url="http://www.go-mono.com"
+depends=('mono>=2.10.2' '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=('4fe62fc95ad5dc136d8a7f3299d523b6'
+ '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 @@
+<apps>
+ <web-application>
+ <name>Root</name>
+ <vpath>/</vpath>
+ <path>/srv/http/html/xsp</path>
+ <vhost>localhost</vhost>
+ </web-application>
+</apps>