diff options
Diffstat (limited to 'desktop/xpra')
-rw-r--r-- | desktop/xpra/README | 3 | ||||
-rw-r--r-- | desktop/xpra/doinst.sh | 49 | ||||
-rw-r--r-- | desktop/xpra/mkdoc.sh | 2 | ||||
-rw-r--r-- | desktop/xpra/xpra.SlackBuild | 51 | ||||
-rw-r--r-- | desktop/xpra/xpra.info | 12 |
5 files changed, 107 insertions, 10 deletions
diff --git a/desktop/xpra/README b/desktop/xpra/README index b8af2867a8..206043088e 100644 --- a/desktop/xpra/README +++ b/desktop/xpra/README @@ -7,3 +7,6 @@ and reconnect from the same or another machine(s), without losing any state. This effectively gives you remote access to individual graphical applications. It can also be used to access existing desktop sessions and start remote desktop sessions. + +Note: If 'xpra attach' freezes up with "UI thread is now blocked" on +its stdout, try running it again with --opengl=no. diff --git a/desktop/xpra/doinst.sh b/desktop/xpra/doinst.sh index 9424ce43ff..329bb2856c 100644 --- a/desktop/xpra/doinst.sh +++ b/desktop/xpra/doinst.sh @@ -1,3 +1,52 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + rm $NEW + fi +} + +# this list was made with: +# find /tmp/S?o/package-xpra/etc/xpra/ -type f | cut -d/ -f5- + +for i in \ + etc/xpra/html5-client/default-settings.txt.new \ + etc/xpra/content-parent/10_default.conf.new \ + etc/xpra/xpra.conf.new \ + etc/xpra/http-headers/10_content_security_policy.txt.new \ + etc/xpra/http-headers/00_nocache.txt.new \ + etc/xpra/conf.d/42_client_keyboard.conf.new \ + etc/xpra/conf.d/15_file_transfers.conf.new \ + etc/xpra/conf.d/50_server_network.conf.new \ + etc/xpra/conf.d/55_server_x11.conf.new \ + etc/xpra/conf.d/10_network.conf.new \ + etc/xpra/conf.d/30_picture.conf.new \ + etc/xpra/conf.d/12_ssl.conf.new \ + etc/xpra/conf.d/20_audio.conf.new \ + etc/xpra/conf.d/40_client.conf.new \ + etc/xpra/conf.d/16_printing.conf.new \ + etc/xpra/conf.d/05_features.conf.new \ + etc/xpra/conf.d/65_proxy.conf.new \ + etc/xpra/conf.d/35_webcam.conf.new \ + etc/xpra/conf.d/60_server.conf.new \ + etc/xpra/content-categories/10_default.conf.new \ + etc/xpra/content-type/50_class.conf.new \ + etc/xpra/content-type/30_title.conf.new \ + etc/xpra/content-type/10_role.conf.new \ + etc/xpra/content-type/70_commands.conf.new \ + etc/xpra/xorg.conf.new \ + etc/xpra/xorg-uinput.conf.new +do + config $i +done + +# this symlink has to get created *after* the .new file has been config()'ed. +# I'm not sure what it exists for, but upstream's official RPM includes it. +( cd usr/share/xpra/www/ ; rm -rf default-settings.txt ) +( cd usr/share/xpra/www/ ; ln -sf ../../../../etc/xpra/html5-client/default-settings.txt default-settings.txt ) + if [ -x /usr/bin/update-desktop-database ]; then /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 fi diff --git a/desktop/xpra/mkdoc.sh b/desktop/xpra/mkdoc.sh index b5324851fa..71428ede79 100644 --- a/desktop/xpra/mkdoc.sh +++ b/desktop/xpra/mkdoc.sh @@ -12,7 +12,7 @@ source ./xpra.info OUTDIR=xpra-$VERSION-prebuilt-docs TARBALL=$OUTDIR.tar.xz -RPMFILE=xpra-common-4.3-10.el8.noarch.rpm +RPMFILE=xpra-common-5.0.4-10.r0.el8.x86_64.rpm URL=https://www.xpra.org/dists/CentOS/8/x86_64/$RPMFILE # only download the file if we don't already have it. diff --git a/desktop/xpra/xpra.SlackBuild b/desktop/xpra/xpra.SlackBuild index 69eafd497b..4c0239070a 100644 --- a/desktop/xpra/xpra.SlackBuild +++ b/desktop/xpra/xpra.SlackBuild @@ -6,10 +6,18 @@ # Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. +# 20240126 bkw: update for v5.0.4. +# - add xpra-html5-10.1, by request from Andrew Randrianasulu. +# - make the config files .new! +# 20230112 bkw: update for v4.4.3. +# 20221217 bkw: BUILD=2. +# - fix paths in config file (do not include $PKG). + cd $(dirname $0) ; CWD=$(pwd) PRGNAM=xpra -VERSION=${VERSION:-4.3} +VERSION=${VERSION:-5.0.4} +HTML5VER=${HTML5VER:-10.1} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -27,7 +35,6 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then exit 0 fi -CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} @@ -43,22 +50,41 @@ cd $TMP rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.gz cd $PRGNAM-$VERSION +tar xvf $CWD/xpra-html5-$HTML5VER.tar.gz tar xvf $CWD/$PRGNAM-$VERSION-prebuilt-docs.tar.xz chown -R root:root . -find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ - \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ +find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} + -o \ + \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} + sed -i 's,"share/man","man",' setup.py # without-strict turns off -Werror. without-docs because we don't want # pandoc *and its 139 deps* as a dependency. Include prebuilt docs # instead. +# 20230112 bkw: pandoc now has 196 deps... Could use pandoc-bin, but +# it doesn't do 32-bit. Still using prebuilt docs for now. python3 setup.py install \ --root=$PKG \ --without-docs \ --without-strict \ --without-debug +# 20221217 bkw: grrr. $PKG getting hardcoded in config file. +sed -i "s,$PKG,,g" $PKG/etc/xpra/conf.d/55_server_x11.conf + +# 20230112 bkw: a few things are getting installed in the wrong place. +mkdir -p $PKG/lib +mv $PKG/usr/lib/udev $PKG/lib +if [ -d $PKG/usr/lib64 ]; then + mv $PKG/usr/lib/cups $PKG/usr/lib64 +fi + +# /usr/lib/{sysusers.d,tmpfiles.d} are for systemd. Apparently they +# are in the correct place, I'll leave them there (they won't hurt +# anything and apparently there are Slackware derivatives that use +# systemd). +# rm -rf $PKG/usr/lib/{sysusers.d,tmpfiles.d} + # This is *much* faster than using 'file' to classify them. find $PKG/usr/lib* -name '*.so' | xargs strip --strip-unneeded @@ -83,9 +109,26 @@ mkdir -p $PKGDOC/html # prebuilt docs. See mkdoc.sh for details. cp -a $PRGNAM-$VERSION-prebuilt-docs/* $PKGDOC/html +# 20240127 bkw: include the html5 server-side stuff. +# Nonstandard setup.py, uses positional arguments, undocumented. +# Adapted from packaging/rpm/xpra-html5.spec in the xpra-html5 src, and +# from looking at the finished rpm package. See also the doinst.sh! +cd xpra-html5-$HTML5VER + python3 setup.py install $PKG /usr/share/xpra/www/ /etc/xpra/html5-client copy + mkdir $PKGDOC/xpra-html5-$HTML5VER + # The RPM doesn't include these, but they look useful: + cp -a LICENSE *.md docs $PKGDOC/xpra-html5-$HTML5VER +cd - + cp -a COPYING README.md $PKGDOC cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild +# 20240127 bkw: lots of config files. Maybe not all of them are really meant +# to be user-edited, but it's easier to treat them all the same way here. +find $PKG/etc/xpra -type f | while read f; do + mv $f $f.new +done + mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh diff --git a/desktop/xpra/xpra.info b/desktop/xpra/xpra.info index 138c1167b5..31a7c87a94 100644 --- a/desktop/xpra/xpra.info +++ b/desktop/xpra/xpra.info @@ -1,10 +1,12 @@ PRGNAM="xpra" -VERSION="4.3" +VERSION="5.0.4" HOMEPAGE="https://www.xpra.org/" -DOWNLOAD="https://github.com/Xpra-org/xpra/archive/v4.3/xpra-4.3.tar.gz \ - https://slackware.uk/~urchlay/src/xpra-4.3-prebuilt-docs.tar.xz" -MD5SUM="ef0ce6127936088ee2df6e49c4b3d116 \ - bd0f11b58bc4f02d798af1568b78bb1b" +DOWNLOAD="https://github.com/Xpra-org/xpra/archive/v5.0.4/xpra-5.0.4.tar.gz \ + https://github.com/Xpra-org/xpra-html5/archive/v10.1/xpra-html5-10.1.tar.gz \ + https://slackware.uk/~urchlay/src/xpra-5.0.4-prebuilt-docs.tar.xz" +MD5SUM="4d8a7abd2efbb6d597f5bf4e295e4bae \ + a3b534f7529fa801fd7f947a7125a9bd \ + 9cd81de5ce4f74e6a50e265a5454d77f" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" |