[arch-commits] Commit in x2goserver/trunk (3 files)

andyrtr at archlinux.org andyrtr at archlinux.org
Sat Jan 12 11:24:46 UTC 2013


    Date: Saturday, January 12, 2013 @ 06:24:45
  Author: andyrtr
Revision: 175057

upgpkg: x2goserver 4.0.0.0-2

initial pkg based on the AUR one

Modified:
  x2goserver/trunk/PKGBUILD
  x2goserver/trunk/x2goserver.install
  x2goserver/trunk/x2goserver.service

--------------------+
 PKGBUILD           |   48 ++++++++-----
 x2goserver.install |  178 +++++++++++----------------------------------------
 x2goserver.service |    1 
 3 files changed, 69 insertions(+), 158 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-01-12 11:05:33 UTC (rev 175056)
+++ PKGBUILD	2013-01-12 11:24:45 UTC (rev 175057)
@@ -8,24 +8,20 @@
 
 pkgname=x2goserver
 pkgver=4.0.0.0
-pkgrel=1
+pkgrel=2
 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')
+depends=('openssh' 'perl-config-simple' 'perl-dbd-sqlite' 'python' 'x2go-agent' '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)
+#optdepends=('cups-x2go: printing support')
+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")
+source=(http://code.x2go.org/releases/source/${pkgname}/${pkgname}-${pkgver}.tar.gz x2goserver.service)
+md5sums=('1fc38566832c30897c6583e7ffa1fda3'
+         'b09799f9203150dc1277a56058be48a8')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
@@ -36,9 +32,12 @@
     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
+
+  # fix some Makefile permission options
+  for Makefile in $(find . -type f -name Makefile); do
+    sed -i "s:-o root -g root ::g" $Makefile
+  done
+
   make
 }
 
@@ -46,13 +45,22 @@
   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"
+  # systemd service file - only runs x2gocleansessions
+  install -Dm 644 "$srcdir/x2goserver.service" "$pkgdir/usr/lib/systemd/system/x2goserver.service"
+  
+  # X2go homedir + printing spool dir
+  install -dm 755 $pkgdir/var/lib/x2go
+  install -dm 755 $pkgdir/var/spool/x2go
+  
+  # load fuse module at system start
+  install -dm755 $pkgdir/usr/lib/modprobe.d
+  echo "fuse" > $pkgdir/usr/lib/modprobe.d/x2goserver.conf
 
-  install -m 755 -d "${pkgdir}/usr/share/doc/${pkgname}"
+  install -dm 755 "${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"
+  
+  # cleanup unneded files/directories
+  rmdir $pkgdir/etc/X11/Xsession.d
+  rm -f $pkgdir/etc/x2go/Xresources
 }
-md5sums=('8083819ac423401440c0ad5feef1a128'
-         '3bdfe6a4f2c3847bb8d021e88a6706e5'
-         '1fc38566832c30897c6583e7ffa1fda3')

Modified: x2goserver.install
===================================================================
--- x2goserver.install	2013-01-12 11:05:33 UTC (rev 175056)
+++ x2goserver.install	2013-01-12 11:24:45 UTC (rev 175057)
@@ -1,157 +1,61 @@
-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
+pre_install() {
+  cat << 'EOM'
+  ==> Use the following command to setup sqlite database:
+  ==> x2godbadmin --createdb
+EOM
 }
 
-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
-}
+post_install() {
 
-pre_upgrade()
-{
-  pre_install
-}
+  # Make sure the group and user "x2gouser"(111) +"x2goprint"(112) exists on this system and have the correct values
 
-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."
+  # x2gouser
+  if grep -q "^x2gouser:" /etc/group &> /dev/null ; then
+    groupmod -g 111 -n x2gouser x2gouser &> /dev/null
   else
-    echo "  ==> Group x2gouser already exists."
+    groupadd -g 111 x2gouser &> /dev/null
   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."
+  if grep -q "^x2gouser:" /etc/passwd 2> /dev/null ; then
+    usermod -s /sbin/false -c "X2GoUser user" -M -d /var/lib/x2go -u 111 -g x2gouser x2gouser &> /dev/null
+  else
+    useradd -s /sbin/false -c "X2GoUser user" -M -d /var/lib/x2go -u 111 -g x2gouser -r x2gouser &> /dev/null
+  fi 
 
+  # x2goprint
+  if grep -q "^x2goprint:" /etc/group &> /dev/null ; then
+    groupmod -g 112 -n x2goprint x2goprint &> /dev/null
   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
+    groupadd -g 112 x2goprint &> /dev/null
   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."
+  if grep -q "^x2goprint:" /etc/passwd 2> /dev/null ; then
+    usermod -s /sbin/false -c "X2GoPrint user" -M -d /var/spool/x2go -u 112 -g x2goprint x2goprint &> /dev/null
   else
-    echo "  ==> Group x2goprint already exists."
+    useradd -s /sbin/false -c "X2GoPrint user" -M -d /var/spool/x2go -u 112 -g x2goprint -r x2goprint &> /dev/null
   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
+  # fix permissions - see INSTALL file
+  chown -R x2goprint:x2goprint /var/spool/x2go
+  chmod 0770 /var/spool/x2go
+  
+  chown root:x2gouser /usr/lib/x2go/x2gosqlitewrapper
+  chmod 2755 /usr/lib/x2go/x2gosqlitewrapper
+  
+  chown root:x2goprint /usr/bin/x2goprint
+  chmod 2755 /usr/bin/x2goprint
 }
 
-
-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')"
+post_upgrade() {
+  post_install $1
 }
 
-pre_remove()
-{
-  if [ -x "/etc/rc.d/x2goserver" ]; then
-        /etc/rc.d/x2goserver stop > /dev/null 2>&1
-  fi
+pre_remove() {
+    userdel x2gouser &> /dev/null
+    userdel x2goprint &> /dev/null
+    groupdel x2gouser &> /dev/null || /bin/true
+    groupdel x2goprint &> /dev/null || /bin/true
+    rm -rf /var/lib/x2go/* &> /dev/null || /bin/true
+    rm -rf /var/spool/x2go/* &> /dev/null || /bin/true
 }
-
-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."
-}
-

Modified: x2goserver.service
===================================================================
--- x2goserver.service	2013-01-12 11:05:33 UTC (rev 175056)
+++ x2goserver.service	2013-01-12 11:24:45 UTC (rev 175057)
@@ -6,6 +6,5 @@
 ExecStart=/usr/sbin/x2gocleansessions
 PIDFile=/run/x2goserver.pid
 
-
 [Install]
 WantedBy=multi-user.target




More information about the arch-commits mailing list