[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