[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