On 02/26/2017 04:52 PM, The Wanderer wrote: > On 2017-02-26 at 10:47, Ghislain Vaillant wrote: > >> On Sun, 2017-02-26 at 10:15 -0500, matt jones wrote: >> >>> I am packaging a gui that has dependencies for qt and such. How do >>> I go about ensuring that X is available as well? Do I list that as >>> a dependency as well. The upstream maintainers don’t call it out >>> specifically but it is understood. Links to docs are always >>> welcome. >> >> Usually, the toolkit your application depends on (here Qt), will >> bring the necessary dependencies for you. So you don't need to care >> about X. > > I recall that historically the rule was "you don't depend on having X > packages installed" regardless, on the grounds that it is or was > possible to connect to an X instance running on a different machine (it > is called "the X server", after all) - but I don't spot that in current > policy, and I do seem to remember reading discussion about repealing > that rule on the grounds that doing this hasn't actually _worked_ in > modern X for years if not longer.
I'm not saying it works great, and X forwarding has its problems, but in general from my experience most programs do still work when forwarded via X11. Heck, even Firefox works. And I know plenty of people that use X11 forwarding in various ways (though not necessarily Firefox). Even OpenGL stuff works, it just falls back to software rendering via Mesa in that case. >From my POV, packaging a GUI application is simple in general: - dh_shlibdeps will take care of all the dependencies via shared libraries (e.g. Qt) automatically, so you don't have to care about that directly - if you require certain plugins for a library you are using to be available, Depend: or Recommend: those packages (depending on how fatal their non-availability is) - if you need some framework such as KDE, Depend: on that (for example, KDE5 packages typically require a Depends: kde-runtime) - if you require a DBus bus to be around, Depend: dbus-x11 (or Recommend: it if the non-availability is non-fatal) - if the package contains any scripts, make sure that any tools required from those scripts are in your dependencies (since they won't be auto-detected at build time) Regards, Christian