Skip to content

Commit

Permalink
#3802 split X11 bindings to a separate package
Browse files Browse the repository at this point in the history
  • Loading branch information
totaam committed Mar 22, 2023
1 parent 921e30c commit f7d4bd0
Show file tree
Hide file tree
Showing 5 changed files with 60 additions and 31 deletions.
20 changes: 17 additions & 3 deletions packaging/debian/xpra/control
Original file line number Diff line number Diff line change
Expand Up @@ -72,14 +72,22 @@ Description: tool to detach/reattach running X programs
window.


Package: xpra-x11
Architecture: any
Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends}, ${x11:Depends}
,gir1.2-gtk-3.0
,python3-cairo
,python3-gi
Description: tool to detach/reattach running X programs,
this package contains the X11 bindings
used by both the server and client under X11


Package: xpra-common
Conflicts: python2-xpra, python3-xpra
Architecture: any
Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends}
,python3-gi
,python3-cairo
,python3-gi-cairo
,python3-pil
,gir1.2-glib-2.0
Recommends:
,${x11:Depends}
Expand Down Expand Up @@ -112,6 +120,8 @@ Architecture: any
Depends: xpra-common (= ${binary:Version})
,${python3:Depends}
,gir1.2-gtk-3.0
,python3-cairo
,python3-pil
# ssl (generate cert), wss:
,openssl
# we need a vfb: either Xdummy or Xvfb
Expand All @@ -120,6 +130,7 @@ Depends: xpra-common (= ${binary:Version})
,xvfb
,keyboard-configuration
Recommends: xpra-codecs (= ${binary:Version})
,xpra-x11 (= ${binary:Version})
,xpra-html5
# socket activation:
,libsystemd
Expand Down Expand Up @@ -176,8 +187,11 @@ Description: tool to detach/reattach running X programs,
Package: xpra-client-gtk3
Architecture: any
Depends: xpra-client (= ${binary:Version})
,xpra-x11 (= ${binary:Version})
,${python3:Depends}
,gir1.2-gtk-3.0
,python3-cairo
,python3-pil
Recommends: xpra-codecs (= ${binary:Version}), xpra-audio (= ${binary:Version})
# client opengl acceleration:)
,python3-opengl
Expand Down
1 change: 0 additions & 1 deletion packaging/debian/xpra/xpra-common.files
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ usr/lib/python3*/*/xpra/keyboard/
usr/lib/python3*/*/xpra/net/
usr/lib/python3*/*/xpra/platform/
usr/lib/python3*/*/xpra/scripts/
usr/lib/python3*/*/xpra/x11/
usr/lib/python3*/*/xpra/rectangle.*.so
usr/lib/python3*/*/xpra/*.py*
usr/lib/python3*/*/xpra/codecs/argb/
Expand Down
2 changes: 2 additions & 0 deletions packaging/debian/xpra/xpra-x11.files
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
usr/lib/python3*/*/xpra/x11/

2 changes: 1 addition & 1 deletion packaging/debian/xpra/xpra.service
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Requires=xpra.socket

[Service]
Type=simple
EnvironmentFile=-/etc/default/xpra
EnvironmentFile=-/etc/sysconfig/xpra
ExecStart=/usr/bin/xpra proxy :14500 --daemon=no \
--tcp-auth=${TCP_AUTH} \
--ssl-cert=/etc/xpra/ssl-cert.pem --ssl=on \
Expand Down
66 changes: 40 additions & 26 deletions packaging/rpm/xpra.spec
Original file line number Diff line number Diff line change
Expand Up @@ -70,14 +70,17 @@ Requires: xpra-server = %{version}-%{release}
%if 0%{?fedora}
Requires: xpra-audio = %{version}-%{release}
%else
Suggests: xpra-audio = %{version}-%{release}
Recommends: xpra-audio = %{version}-%{release}
%endif
%description
Xpra gives you "persistent remote applications" for X. That is, unlike normal X applications, applications run with xpra are "persistent" -- you can run them remotely, and they don't die if your connection does. You can detach them, and reattach them later -- even from another computer -- with no loss of state. And unlike VNC or RDP, xpra is for remote applications, not remote desktops -- individual applications show up as individual windows on your screen, managed by your window manager. They're not trapped in a box.

So basically it's screen for remote X apps.

This metapackage installs the xpra in full, including the python client, server and HTML5 client.
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: python3-Cython


%package common
Expand Down Expand Up @@ -268,11 +271,13 @@ Suggests: sshpass
%description client
This package contains the xpra client.


%package client-gtk3
Summary: GTK3 xpra client
Group: Networking
Requires: xpra-client = %{version}-%{release}
Recommends: xpra-codecs = %{version}-%{release}
Recommends: xpra-x11 = %{version}-%{release}
Recommends: pinentry
Recommends: xpra-audio
Recommends: python3-pyopengl
Expand All @@ -296,12 +301,42 @@ BuildRequires: zlib-devel
This package contains the GTK3 xpra client.


%package x11
Summary: X11 bindings
BuildRequires: libxkbfile-devel
BuildRequires: libXtst-devel
BuildRequires: libXcomposite-devel
BuildRequires: libXdamage-devel
BuildRequires: libXres-devel
Requires: libxkbfile
Requires: libXtst
Requires: libXcomposite
Requires: libXdamage
Requires: libXres
%if 0%{?fedora}
Suggests: xmodmap
Suggests: xrandr
Recommends: xrdb
%else
Requires: xorg-x11-server-utils
%endif
Requires: xorg-x11-drv-dummy
Requires: xorg-x11-xauth
Recommends: xterm
BuildRequires: libfakeXinerama
Recommends: libfakeXinerama
Recommends: mesa-dri-drivers
%description x11
This package contains the x11 bindings


%package server
Summary: xpra server
Group: Networking
#Provides: python3-xpra-server
Obsoletes: python3-xpra-server < 5.0-10.r32075
Requires: xpra-common = %{version}-%{release}
Recommends: xpra-x11 = %{version}-%{release}
Recommends: xpra-client = %{version}-%{release}
Recommends: xpra-codecs = %{version}-%{release}
Recommends: xpra-codecs-extra = %{version}-%{release}
Expand All @@ -320,42 +355,18 @@ Suggests: tcp_wrappers-libs
Suggests: python3-ldap3
Suggests: python3-ldap
Suggests: python3-oauthlib
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: python3-Cython
BuildRequires: systemd-devel
BuildRequires: checkpolicy
BuildRequires: selinux-policy-devel
BuildRequires: pam-devel
BuildRequires: libxkbfile-devel
BuildRequires: libXtst-devel
BuildRequires: libXcomposite-devel
BuildRequires: libXdamage-devel
BuildRequires: libXres-devel
Requires: libxkbfile
Requires: libXtst
Requires: libXcomposite
Requires: libXdamage
Requires: libXres
%if 0%{?fedora}
Suggests: xmodmap
Suggests: xrandr
Recommends: xrdb
BuildRequires: procps-devel
%else
Requires: xorg-x11-server-utils
%endif
Requires: xorg-x11-drv-dummy
Requires: xorg-x11-xauth
Requires: selinux-policy
Requires(post): openssl
Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
Recommends: xterm
BuildRequires: libfakeXinerama
Recommends: libfakeXinerama
Recommends: mesa-dri-drivers
Recommends: redhat-menus
Recommends: gnome-menus
Recommends: gnome-icon-theme
Expand Down Expand Up @@ -489,12 +500,15 @@ rm -rf $RPM_BUILD_ROOT
%{python3_sitearch}/xpra/net/
%{python3_sitearch}/xpra/platform/
%{python3_sitearch}/xpra/scripts/
%{python3_sitearch}/xpra/x11/
%{python3_sitearch}/xpra/rectangle.*.so
%pycached %{python3_sitearch}/xpra/*.py
%{python3_sitearch}/xpra-*.egg-info


%files x11
%{python3_sitearch}/xpra/x11/


%files codecs
%{python3_sitearch}/xpra/codecs/drm
#%{python3_sitearch}/xpra/codecs/evdi
Expand Down

0 comments on commit f7d4bd0

Please sign in to comment.