[arch-commits] Commit in (6 files)
andyrtr at archlinux.org
andyrtr at archlinux.org
Sat Jan 12 08:56:15 UTC 2013
Date: Saturday, January 12, 2013 @ 03:56:15
Author: andyrtr
Revision: 175041
add X2goserver
Added:
x2goserver/
x2goserver/repos/
x2goserver/trunk/
x2goserver/trunk/PKGBUILD
x2goserver/trunk/x2goserver.install
x2goserver/trunk/x2goserver.service
--------------------+
PKGBUILD | 58 ++++++++++++++++++
x2goserver.install | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++
x2goserver.service | 11 +++
3 files changed, 226 insertions(+)
Added: x2goserver/trunk/PKGBUILD
===================================================================
--- x2goserver/trunk/PKGBUILD (rev 0)
+++ x2goserver/trunk/PKGBUILD 2013-01-12 08:56:15 UTC (rev 175041)
@@ -0,0 +1,58 @@
+# $Id$
+# Maintainer: AndyRTR <andyrtr at archlinux.org>
+
+# Contributor: Gerhard Brauer <gerbra at archlinux.de>
+# Contributor: Richard Murri <admin at richardmurri.com>
+# Contributor: Markus Opitz <mastero23 at gmail dot com>
+# Contributor: Milan Knížek <knizek at volny.cz>
+
+pkgname=x2goserver
+pkgver=4.0.0.0
+pkgrel=1
+pkgdesc="Open source terminal server"
+arch=('i686' 'x86_64')
+url="http://www.x2go.org/"
+license=('GPL')
+depends=('openssh' 'perl-config-simple' 'perl-dbd-sqlite' 'python' 'x2goagent' 'xorg-xauth')
+makedepends=('man2html')
+optdepends=('cups-x2go: printing support')
+# x2gofmbindings are already included in the source, however the executable and mime type
+# is not installed by "make install" on purpose - it would conflict x2gognomebindings, etc.
+#conflicts=('x2gofmbindings')
+options=(emptydirs)
+install=x2goserver.install
+backup=('etc/x2go/x2goserver.conf' 'etc/x2go/x2gosql/sql')
+groups=('x2go' 'alts')
+source=('x2goserver.rc.d'
+ 'x2goserver.service'
+ "http://code.x2go.org/releases/source/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # -r option does not exist in Arch linux
+ # (However, html man pages do not get installed anyway...)
+ for Makefile in $(find . -type f -name Makefile); do
+ sed -i 's@(MAN2HTML_BIN) -r @(MAN2HTML_BIN) < @g' $Makefile
+ sed -i 's@ \$(MAN2HTML_SRC)/@ < \$(MAN2HTML_SRC)/@g' $Makefile
+ done
+# sed -i 's at share/x2gofeature at share/x2go/x2gofeature at g' x2goserver-fmbindings/Makefile
+# sed -i 's at VERSION.x2goserver-extensions@VERSION.x2goserver-fmbindings at g' x2goserver-fmbindings/Makefile
+# patch -p0 < ../x2gostartagent-xauthority.patch
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+
+ install -D -m 755 "$srcdir/x2goserver.rc.d" "$pkgdir/etc/rc.d/x2goserver"
+ install -D -m 644 "$srcdir/x2goserver.service" "$pkgdir/usr/lib/systemd/system/x2goserver.service"
+
+ install -m 755 -d "${pkgdir}/usr/share/doc/${pkgname}"
+ install -m 644 "debian/changelog" "${pkgdir}/usr/share/doc/${pkgname}/changelog.DEBIAN"
+ install -m 644 "debian/copyright" "${pkgdir}/usr/share/doc/${pkgname}/copyright.DEBIAN"
+}
+md5sums=('8083819ac423401440c0ad5feef1a128'
+ '3bdfe6a4f2c3847bb8d021e88a6706e5'
+ '1fc38566832c30897c6583e7ffa1fda3')
Property changes on: x2goserver/trunk/PKGBUILD
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: x2goserver/trunk/x2goserver.install
===================================================================
--- x2goserver/trunk/x2goserver.install (rev 0)
+++ x2goserver/trunk/x2goserver.install 2013-01-12 08:56:15 UTC (rev 175041)
@@ -0,0 +1,157 @@
+fix_permissions_server()
+{
+ # make sure db permissions are set correctly
+ chown -R root:x2gouser /var/lib/x2go
+ # egid x2gouser needs write access to the db dir (for temporary db journal file)
+ chmod 0770 /var/lib/x2go
+ # ... and to the db file itself, of course
+ test -f /var/lib/x2go/x2go_sessions && chmod 0660 /var/lib/x2go/x2go_sessions
+ # we may be upgrading versions of x2goserver that had
+ # /usr/lib/x2go/x2gosqlitewrapper.pl set to setuid x2gouser.
+ chown root:x2gouser /usr/lib/x2go/x2gosqlitewrapper
+ chmod 2755 /usr/lib/x2go/x2gosqlitewrapper
+}
+
+fix_permissions_print()
+{
+ # make sure x2goprint spool dir permissions are set correctly
+ chown -R x2goprint:x2goprint /var/spool/x2goprint
+ # egid x2goprint needs write access to the spool dir
+ chmod 0700 /var/spool/x2goprint
+}
+
+pre_install()
+{
+ # cleanup old x2goserver installations
+ rm -Rfv /var/db/x2go/ > /dev/null 2>&1
+ if getent group x2gousers >/dev/null; then
+ echo " ==> The ,,x2gousers'' is no longer used by x2go and can be"
+ echo " ==> removed as soon as no users are members of this group."
+ fi
+}
+
+pre_upgrade()
+{
+ pre_install
+}
+
+post_install_server()
+{
+ # setup x2gouser and group
+ if ! getent group x2gouser >/dev/null; then
+ groupadd -K GID_MIN=500 -K GID_MAX=999 x2gouser
+ echo " ==> Group x2gouser created."
+ else
+ echo " ==> Group x2gouser already exists."
+ fi
+
+ if ! getent passwd x2gouser > /dev/null; then
+ test ! -d /var/lib/x2go && mkdir -p /var/lib/x2go
+ useradd -r -g x2gouser -d /var/lib/x2go -s /bin/false x2gouser
+ passwd -l x2gouser > /dev/null
+ echo " ==> User x2gouser created."
+
+ else
+ echo " ==> User x2gouser already exists."
+ # make sure all settings are appropriate
+ if [ "`id -gn x2gouser`" != "x2gouser" ]; then
+ usermod --gid x2gouser x2gouser
+ test -d /var/lib/x2go && \
+ usermod --home /var/lib/x2go x2gouser || \
+ usermod --move-home --home /var/lib/x2go x2gouser
+ fi
+ if [ "`ls -1d ~x2gouser`" != "/var/lib/x2go" ]; then
+ usermod --move-home --home /var/lib/x2go x2gouser
+ fi
+ # we leave user shell alone. we have never set this wrongly
+ # and we need to respect the administrator's choices
+ fi
+}
+
+post_install_print()
+{
+ ###
+ ### X2Go printing
+ ###
+ # setup x2goprint user and x2goprint group
+ if ! getent group x2goprint >/dev/null; then
+ groupadd -K GID_MIN=500 -K GID_MAX=999 x2goprint
+ echo " ==> Group x2goprint created."
+ else
+ echo " ==> Group x2goprint already exists."
+ fi
+ if ! getent passwd x2goprint >/dev/null; then
+ test ! -d /var/spool/x2goprint && mkdir -p /var/spool/x2goprint
+ useradd -r -g x2goprint -s /bin/sh -d /var/spool/x2goprint x2goprint
+ passwd -l x2goprint > /dev/null
+ echo " ==> User x2goprint created."
+ else
+ echo " ==> User x2goprint already exists."
+ # make sure all settings are appropriate
+ if [ "`id -gn x2goprint`" != "x2goprint" ]; then
+ usermod --gid x2goprint x2goprint
+ fi
+ if getent passwd x2goprint | egrep -v ".*:x:.*:.*:.*:.*:/bin/sh" 1>/dev/null 2>/dev/null; then
+ usermod -s /bin/sh x2goprint
+ fi
+ if [ "`ls -1d ~x2goprint`" != "/var/spool/x2goprint" ]; then
+ test -d /var/spool/x2goprint && \
+ usermod --home /var/spool/x2goprint x2goprint || \
+ usermod --move-home --home /var/spool/x2goprint x2goprint
+ fi
+ # we leave user shell alone. we have never set this wrongly
+ # and we need to respect the administrator's choices
+ fi
+}
+
+post_install()
+{
+ post_install_server
+ post_install_print
+ fix_permissions_server
+ fix_permissions_print
+
+cat << 'EOM'
+
+ ==> Use the following command to setup sqlite database:
+ ==> x2godbadmin --createdb
+
+ ==> You may want to add x2goserver to your /etc/rc.conf DAEMONS array
+ ==> and also start it:
+ ==> /etc/rc.d/x2goserver start
+EOM
+}
+
+
+post_upgrade()
+{
+ post_install_server
+ post_install_print
+ fix_permissions_server
+ fix_permissions_print
+ echo "X2Go server now has both /etc/rc.d script and systemd service file."
+ echo "Depending on your setup, you may prefer the new systemd approach."
+ echo "('systemctl enable x2goserver.service')"
+}
+
+pre_remove()
+{
+ if [ -x "/etc/rc.d/x2goserver" ]; then
+ /etc/rc.d/x2goserver stop > /dev/null 2>&1
+ fi
+}
+
+post_remove()
+{
+ rm -Rfv /var/lib/x2go > /dev/null 2>&1
+ echo " ==> x2go session database removed."
+ getent passwd x2gouser > /dev/null && userdel x2gouser
+ getent group x2gouser > /dev/null && groupdel x2gouser
+ echo " ==> User and group x2gouser removed."
+
+ rm -Rfv /var/spool/x2goprint > /dev/null 2>&1
+ getent passwd x2goprint > /dev/null && userdel x2goprint
+ getent group x2goprint > /dev/null && groupdel x2goprint
+ echo " ==> User and group x2goprint removed."
+}
+
Added: x2goserver/trunk/x2goserver.service
===================================================================
--- x2goserver/trunk/x2goserver.service (rev 0)
+++ x2goserver/trunk/x2goserver.service 2013-01-12 08:56:15 UTC (rev 175041)
@@ -0,0 +1,11 @@
+[Unit]
+Description=x2go - remote desktop server
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/x2gocleansessions
+PIDFile=/run/x2goserver.pid
+
+
+[Install]
+WantedBy=multi-user.target
More information about the arch-commits
mailing list