#1253 closed task (fixed)
split client and server builds
Reported by: | Antoine Martin | Owned by: | Smo |
---|---|---|---|
Priority: | major | Milestone: | 2.1 |
Component: | packaging | Version: | trunk |
Keywords: | Cc: |
Description (last modified by )
Make it possible to install just the client or just the server.
For rpm packaging, this probably means having:
xpra
: meta packagexpra-common
: unchanged, common bitspython2-xpra-common
: the python2 code used by both client and serverpython2-xpra-server
: the python2 server codepython2-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.
Change History (14)
comment:1 Changed 6 years ago by
Milestone: | 1.0 → 1.1 |
---|
comment:2 Changed 6 years ago by
Description: | modified (diff) |
---|---|
Status: | new → assigned |
comment:4 Changed 5 years ago by
r14547 moves the html5 client to its own package so we can update it separately: xpra-html5
.
comment:5 Changed 5 years ago by
Milestone: | 2.0 → 2.1 |
---|
Too late for this sort of structural change, re-scheduling.
comment:6 Changed 5 years ago by
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.
comment:7 Changed 5 years ago by
- 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
comment:8 Changed 5 years ago by
r15341 renames "python2-xpra-common" to just "python2-xpra" to resolve conflicts when upgrading on centos7
comment:9 Changed 5 years ago by
Owner: | changed from Antoine Martin to Smo |
---|---|
Status: | assigned → 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
- 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)
comment:10 Changed 5 years ago by
FYI: r15672 also introduces weak dependencies, available since Fedora 21 - sadly not available in centos7. (was only added in RPM 4.12)
comment:11 Changed 5 years ago by
r15684 restores the ability to take screenshots in client-only builds - but maybe this should still be optional?
comment:14 Changed 16 months ago by
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1253
Milestone renamed