Xpra: Ticket #1253: split client and server builds
Make it possible to install just the client or just the server.
For rpm packaging, this probably means having:
xpra
: meta package
xpra-common
: unchanged, common bits
python2-xpra-common
: the python2 code used by both client and server
python2-xpra-server
: the python2 server code
python2-xpra-gtk-client
: the current pygtk client
Not shown here: python3
For win32 and OSX, this means having 3 different types of builds:
- full - same as today
- client only
- server only
See also #1258.
Tue, 12 Jul 2016 16:51:50 GMT - Antoine Martin: milestone changed
- milestone
changed from 1.0 to 1.1
Milestone renamed
Sun, 17 Jul 2016 15:56:37 GMT - Antoine Martin: status, description changed
- status
changed from new to assigned
- description
modified (diff)
Sun, 21 Aug 2016 09:55:49 GMT - Antoine Martin: milestone changed
- milestone
changed from 1.1 to 2.0
Milestone renamed
Fri, 16 Dec 2016 19:11:10 GMT - Antoine Martin:
r14547 moves the html5 client to its own package so we can update it separately: xpra-html5
.
Wed, 15 Feb 2017 09:46:38 GMT - Antoine Martin: milestone changed
- milestone
changed from 2.0 to 2.1
Too late for this sort of structural change, re-scheduling.
Fri, 17 Feb 2017 06:24:11 GMT - Antoine Martin:
As per xpra - ImportError: No module named client.gtk2.client, people will get confused if they install a "server-only" build or package and find that they cannot run "xpra info" or "xpra stop".
So maybe we will need an "python2-xpra-client-cli" package? (and rename "python2-xpra-client-gtk2"). We should be able to use the "python3" version of the package for those, in our endless efforts to move away from python2.
Sun, 19 Mar 2017 12:30:42 GMT - Antoine Martin:
- r15333 improves the error message when trying to run the client or server and its python components are not installed
- r15334 splits the RPM into multiple packages
New sub packages:
- "xpra" meta package that installs everything (so upgrades will continue to work)
- "xpra-common": man page, base config files, icon, etc
- "xpra-common-client": client config files, .desktop files, mime entry
- "xpra-common-server": server config files, systemd unit file, tmpfiles.d, cups backend, xorg config, cuda+nvenc configs, .. triggers SSL key generation on install, firewall rules
- "python2-xpra-common": common python2 modules
- "python2-xpra-client": python2 xpra client
- "python2-xpra-server": python2 xpra X11 server
- "python3-xpra-common": common python3 modules
- "python3-xpra-client": python3 xpra client (limited)
- "python3-xpra-server": python3 xpra X11 server (limited)
Remaining issues:
- shadow server complains that "no system tray implementation available" if the client package is not installed - this needs to be moved to "common"
- websockify is not available with python3 (only in Fedora rawhide)
- Debian packaging? (meh)
- win32 and osx
Mon, 20 Mar 2017 13:36:13 GMT - Antoine Martin:
r15341 renames "python2-xpra-common" to just "python2-xpra" to resolve conflicts when upgrading on centos7
Wed, 22 Mar 2017 07:22:38 GMT - Antoine Martin: owner, status changed
- owner
changed from Antoine Martin to Smo
- status
changed from assigned to new
MS Windows
r15342 + r15343 add the ability to build "client only" win32 builds using:
sh win32/PY27_MINGW_BUILD.sh CLIENT /silent
Beta builds uploaded: http://xpra.org/beta/windows/
Mac OSX
mostly done in r15344 using:
CLIENT_ONLY=1 DO_TESTS=0 ./make-all.sh
Both the client builds and the regular full builds should be parallel installable, though there may be some conflicts:
- both apps will claim the mimetype
- both apps contain an
Xpra_NoDock.app
sub app with the same app id
Beta builds uploaded: http://xpra.org/beta/osx/
RPM
r15346:
- splits printing dependencies between client and server packages
- adds "python[23]-xpra-audio" packages so we can install the gstreamer sink + source without the client or server, or install the client or server without audio forwarding
- makes the html5 package optional: you can install a server without it
PS: upgrades from previous 2.1 snapshots may or may not work (the "python[23]-xpra-common" is no more and may conflict)
I think this will do for this release.
@smo: not sure you care - feel free to just close, but the ability to install a more minimal python3 build for sound forwarding is nice (we could take this further and split "bus", "codecs", etc... probably not worth the pain)
Wed, 19 Apr 2017 13:07:41 GMT - Antoine Martin:
FYI: r15672 also introduces RPM 4.12)
Thu, 20 Apr 2017 15:29:26 GMT - Antoine Martin:
r15684 restores the ability to take screenshots in client-only builds - but maybe this should still be optional?
Thu, 20 Jul 2017 07:14:23 GMT - Antoine Martin: status changed; resolution set
- status
changed from new to closed
- resolution
set to fixed
crickets - works for me
Sun, 12 Nov 2017 14:14:49 GMT - Antoine Martin:
Audio issue with centos7 packaging: #1683
Sat, 23 Jan 2021 05:19:12 GMT - migration script:
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1253