Subject: latest release of x2goclient for Ubuntu has dependency on hello

From: Seth Galitzer <[email-masked]>
Date: Fri, 14 Feb 2020 16:38:47 -0600

Package: x2goclient
Version: 4.1.2.2

When installing the latest update for x2goclient on Ubuntu 18.04 from 
the x2go PPA, it has a dependency on the hello package, specifically 
hello-traditional. The full package version is 
4.1.2.2-0~1913~ubuntu18.04.1. I suspect this is unintentional, but 
filing a bug to check. Output from apt below confirms dependency.

$ apt-cache depends x2goclient
x2goclient
   Depends: libc6
   Depends: libcups2
   Depends: libgcc1
   Depends: libldap-2.4-2
   Depends: libqt4-network
   Depends: libqt4-svg
   Depends: libqtcore4
   Depends: libqtgui4
   Depends: libssh-4
   Depends: libstdc++6
   Depends: libx11-6
   Depends: libxpm4
   Depends: openssh-client
     openssh-client:i386
  |Depends: nxproxy
     nxproxy:i386
   Depends: <qvd-nxproxy>
  |Depends: <x2gokdriveclient>
   Depends: hello
     hello-traditional
   Conflicts: <x2goclient-gtk>
   Recommends: openssh-server
     openssh-server:i386
  |Recommends: freerdp2-x11
  |Recommends: rdesktop
   Recommends: freerdp-x11
   Suggests: pinentry-x2go
   Replaces: <x2goclient-gtk>

$ apt-cache rdepends hello
hello
Reverse Depends:
   x2gothinclient-minidesktop
     hello-traditional
   x2gothinclient-minidesktop
     hello-traditional
   x2goclient
     hello-traditional
   junior-system
     hello-traditional
   hello-traditional
     hello-traditional
   hello-traditional

$ apt show x2goclient
Package: x2goclient
Version: 4.1.2.2-0~1913~ubuntu18.04.1
Priority: extra
Section: x11
Maintainer: X2Go Developers <[email-masked]>
Installed-Size: 2,793 kB
Depends: libc6 (>= 2.15), libcups2 (>= 1.4.0), libgcc1 (>= 1:3.0), 
libldap-2.4-2 (>= 2.4.7), libqt4-network (>= 4:4.5.3), libqt4-svg (>= 
4:4.5.3), libqtcore4 (>= 4:4.8.0), libqtgui4 (>= 4:4.6.1), libssh-4 (>= 
0.7.3), libstdc++6 (>= 5.2), libx11-6, libxpm4, openssh-client, nxproxy 
| qvd-nxproxy, x2gokdriveclient | hello
Recommends: openssh-server, freerdp2-x11 | rdesktop | freerdp-x11
Suggests: pinentry-x2go
Conflicts: x2goclient-gtk
Replaces: x2goclient-gtk
Download-Size: 1,299 kB
APT-Manual-Installed: yes
APT-Sources: http://ppa.launchpad.net/x2go/stable/ubuntu bionic/main 
amd64 Packages
Description: X2Go Client application (Qt4)
  X2Go is a serverbased computing environment with
  - session resuming
  - low bandwidth support
  - session brokerage support
  - client-side mass storage mounting support
  - client-side printing support
  - audio support
  - authentication by smartcard and USB stick
  .
  X2Go Client is a graphical client (Qt4) for the X2Go system.
  You can use it to connect to running sessions and start new sessions.

--
Seth Galitzer
Systems Coordinator
Computer Science Department
Kansas State University
http://www.cs.ksu.edu/~sgsax
[email-masked]
785-532-7790

---

From: Mihai Moldovan <[email-masked]>
Date: Sat, 15 Feb 2020 12:11:57 +0100

Control: tag -1 invalid
Control: close -1

> filing a bug to check. Output from apt below confirms dependency.

It's fully intentional! "hello" is a very important package that ANY system
should have, however minimal!

No, seriously, it's intentional. Optional dependencies, like for
x2gokdriveclient, are most often resolved via an OR'd dependency with hello in
Debian packaging, since Debian doesn't truly have support for optional
dependencies and hello is small enough to not cause trouble. We could have made
x2gokdriveclient a Recommends: instead, but eventually it shall really be a hard
dependency, like the nxproxy one.

x2gokdriveclient needs further love (esp. regarding packaging) and is currently
only available for Debian in our upstream repositories - like I mentioned in the
release announcement. Not for Ubuntu, not for RPM-based distros, nothing else
yet. We'll eventually naturally package it, and once it's available
cross-distribution, it'll be a hard dependency. For now, I'd ask you to live
with hello as a nop-replacement. :)

Mihai

---

From: Ulrich Sibiller <[email-masked]>
Date: Sat, 15 Feb 2020 16:23:59 +0100

Hi Mihai,

two things come to mind while reading this:
1. why choose hello and not something that's on the system anyway,
like the kernel or bin-utils or some X package?
2. why do you want to mak x2gokdriveclient (or is it x2gokdrive?)  a
hard dependency? Nobody needs it unless he's wants to use it. People
can use x2go without it. So I see it as optional either way...

Uli

On Sat, Feb 15, 2020 at 12:15 PM Mihai Moldovan <[email-masked]> wrote:
> _______________________________________________
> x2go-dev mailing list
> [email-masked]
> https://lists.x2go.org/listinfo/x2go-dev

---

From: Mihai Moldovan <[email-masked]>
Date: Sat, 15 Feb 2020 17:00:27 +0100

> like the kernel or bin-utils or some X package?

I'm not a DD, so my answer isn't authoritative and Mike#1 can probably explain
this better, but optionaldep | hello seems to be a very common pattern in Debian
packaging. If a DD sees such a dependency, he'll recognize it and its meaning
immediately.

Depending on a package in the base system set (i.e., those marked "essential")
MIGHT be easier, but this is seems to be generally frowned upon because it makes
degrading essential-set packages to optional ones more difficult, if I recall
correctly. I've also read that normal (i.e., optional, non-core/essential)
packages should generally NOT depend upon packages in the essential-set but just
assume them to available unconditionally.

> can use x2go without it. So I see it as optional either way...

Hm, Mike#1 wanted it to be a hard dependency, but moving it to Recommends might
make sense after all, since other software that X2Go Client *can* make use of,
like FreeRDP2, is also not strictly necessary and merely a recommended package.

Note that Debian installs recommended packages by default (unless users
explicitly configure or tell the package manager not to do this), so user
experience wouldn't be affected by that change anyway.

Mihai

---

From: Ulrich Sibiller <[email-masked]>
Date: Sat, 15 Feb 2020 18:19:07 +0100

Ok, thanks for the clarification!

Uli

---

From: Mike Gabriel <[email-masked]>
Date: Fri, 21 Feb 2020 14:05:30 +0000

Hi Mihai,

> experience wouldn't be affected by that change anyway.

let's please make a Recommends: relation out of this here.

Whenever x2gokdriveclient has been released, then we can still switch  
this to Depends:.

Mike
-- 

DAS-NETZWERKTEAM
c\o Technik- und Ökologiezentrum Eckernförde
Mike Gabriel, Marienthaler str. 17, 24340 Eckernförde
mobile: +49 (1520) 1976 148
landline: +49 (4351) 850 8940

GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22  0782 9AF4 6B30 2577 1B31
mail: [email-masked], http://das-netzwerkteam.de