diff options
Diffstat (limited to 'libre/xsp')
-rw-r--r-- | libre/xsp/PKGBUILD | 64 | ||||
-rw-r--r-- | libre/xsp/xsp.conf.d | 10 | ||||
-rw-r--r-- | libre/xsp/xsp.install | 37 | ||||
-rw-r--r-- | libre/xsp/xsp.rc.d | 40 | ||||
-rw-r--r-- | libre/xsp/xsp.service | 8 | ||||
-rw-r--r-- | libre/xsp/xsp.webapp | 8 |
6 files changed, 167 insertions, 0 deletions
diff --git a/libre/xsp/PKGBUILD b/libre/xsp/PKGBUILD new file mode 100644 index 000000000..5dcb57baf --- /dev/null +++ b/libre/xsp/PKGBUILD @@ -0,0 +1,64 @@ +# $Id$ +# Maintainer: Daniel Isenmann <daniel@archlinux.org> +# Contributor: Tobias Kieslich <tobias@justdreams.de> + +pkgname=xsp +pkgver=2.10.2 +pkgrel=4.1 +pkgdesc="A simple webserver based on mono - provides ASP.NET support, Parabola branding" +arch=(i686 x86_64 mips64el) +license=('custom') +url="http://www.go-mono.com" +depends=('mono>=2.10.2' 'sqlite') +options=(!makeflags) +install=${pkgname}.install +source=(http://download.mono-project.com/sources/xsp/xsp-2.10.2.tar.bz2 + ${pkgname}.rc.d ${pkgname}.conf.d ${pkgname}.webapp ${pkgname}.service) + +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 + # install systemd service file + install -D -m644 ${srcdir}/${pkgname}.service \ + ${pkgdir}/usr/lib/systemd/system/xsp.service +} +md5sums=('4fe62fc95ad5dc136d8a7f3299d523b6' + '9575bd7d6f64d51ba05bdd6370665858' + '35d921df0fefc30f47a438c95d420efc' + 'c917c07f68b945691506c29750db482f' + '9d83bd36d209f8d36a11dfbc4fa50819') 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> |