summaryrefslogtreecommitdiff
path: root/libre/xsp
diff options
context:
space:
mode:
Diffstat (limited to 'libre/xsp')
-rw-r--r--libre/xsp/PKGBUILD60
-rw-r--r--libre/xsp/xsp.conf.d10
-rw-r--r--libre/xsp/xsp.install37
-rw-r--r--libre/xsp/xsp.rc.d40
-rw-r--r--libre/xsp/xsp.service8
-rw-r--r--libre/xsp/xsp.webapp8
6 files changed, 163 insertions, 0 deletions
diff --git a/libre/xsp/PKGBUILD b/libre/xsp/PKGBUILD
new file mode 100644
index 000000000..701de9e28
--- /dev/null
+++ b/libre/xsp/PKGBUILD
@@ -0,0 +1,60 @@
+# $Id: PKGBUILD 188153 2013-06-10 16:36:32Z daniel $
+# Maintainer (Arch): Daniel Isenmann <daniel@archlinux.org>
+# Contributor (Arch): Tobias Kieslich <tobias@justdreams.de>
+
+pkgname=xsp
+pkgver=3.0.11
+pkgrel=1.parabola1
+pkgdesc="A simple webserver based on mono - provides ASP.NET support (Parabola rebranded)"
+arch=('i686' 'x86_64' 'mips64el')
+license=('custom')
+url="http://www.go-mono.com"
+depends=('mono' 'sqlite')
+options=(!makeflags)
+replaces=(${pkgname}-parabola)
+conflicts=(${pkgname}-parabola)
+install=${pkgname}.install
+source=(https://github.com/mono/xsp/archive/${pkgver}.tar.gz
+ ${pkgname}.webapp
+ ${pkgname}.service)
+md5sums=('6a694d5e87ebe57e532ec80a16b6966d'
+ 'c917c07f68b945691506c29750db482f'
+ '9d83bd36d209f8d36a11dfbc4fa50819')
+
+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
+ ./autogen.sh
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+ # 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 xsp configuration home
+ install -D -m644 ${srcdir}/${pkgname}.webapp \
+ ${pkgdir}/etc/${pkgname}/${pkgname}.webapp
+ install -D -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING
+ # install systemd service file
+ install -D -m644 ${srcdir}/${pkgname}.service \
+ ${pkgdir}/usr/lib/systemd/system/xsp.service
+}
diff --git a/libre/xsp/xsp.conf.d b/libre/xsp/xsp.conf.d
new file mode 100644
index 000000000..b100baef1
--- /dev/null
+++ b/libre/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. Parabola will provide xsp configured by a .webapp
+# configuration file which rests in /etc/xsp
+
+XSP_PARAMS="--appconfigdir /etc/xsp"
diff --git a/libre/xsp/xsp.install b/libre/xsp/xsp.install
new file mode 100644
index 000000000..d2cc5955a
--- /dev/null
+++ b/libre/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.
+--> Parabola 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/libre/xsp/xsp.rc.d b/libre/xsp/xsp.rc.d
new file mode 100644
index 000000000..b4fcda15c
--- /dev/null
+++ b/libre/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/libre/xsp/xsp.service b/libre/xsp/xsp.service
new file mode 100644
index 000000000..36b802e21
--- /dev/null
+++ b/libre/xsp/xsp.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=XSP Web Server
+
+[Service]
+ExecStart=/usr/bin/xsp --appconfigdir /etc/xsp --nonstop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/xsp/xsp.webapp b/libre/xsp/xsp.webapp
new file mode 100644
index 000000000..a685dd171
--- /dev/null
+++ b/libre/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>