Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bionic packages do not play well with HWE 18.04 #2190

Closed
totaam opened this issue Mar 4, 2019 · 16 comments
Closed

Bionic packages do not play well with HWE 18.04 #2190

totaam opened this issue Mar 4, 2019 · 16 comments
Labels

Comments

@totaam
Copy link
Collaborator

totaam commented Mar 4, 2019

Issue migrated from trac ticket # 2190

component: packaging | priority: major | resolution: fixed

2019-03-04 13:37:00: pma created the issue


Upgraded one bionic system to HWE 18.04. XPRA was removed in upgrade process. When I tried to install it afterwards, it would have wanted to downgrade X to pre HWE state.

@totaam
Copy link
Collaborator Author

totaam commented Mar 4, 2019

Please post the full upgrade messages.

@totaam
Copy link
Collaborator Author

totaam commented Mar 4, 2019

2019-03-04 13:51:13: pma commented


XPRA seems to install fine, if all needed HWE X packages are already installed in the system, but if one is missing, say xorg-video-dummy, gdebi says:

Reading package lists... Done
Building dependency tree        
Reading state information... Done
Reading state information... Done
Requires the REMOVAL of the following packages: xserver-xorg-core-hwe-18.04 xserver-xorg-hwe-18.04 xserver-xorg-input-all-hwe-18.04 xserver-xorg-input-libinput-hwe-18.04 xserver-xorg-input-wacom-hwe-18.04 xserver-xorg-video-all-hwe-18.04 xserver-xorg-video-amdgpu-hwe-18.04 xserver-xorg-video-ati-hwe-18.04 xserver-xorg-video-fbdev-hwe-18.04 xserver-xorg-video-intel-hwe-18.04 xserver-xorg-video-nouveau-hwe-18.04 xserver-xorg-video-qxl-hwe-18.04 xserver-xorg-video-radeon-hwe-18.04 xserver-xorg-video-vesa-hwe-18.04 xserver-xorg-video-vmware-hwe-18.04 
Requires the installation of the following packages: xserver-xorg-core xserver-xorg-video-dummy 

tool to detach/reattach running X programs
 Xpra gives you the functionality of GNU Screen for X applications.
 .
 It allows the user to view remote X applications on their local machine, and
 disconnect and reconnect from the remote machine without losing the state of
 the running applications.
 .
 Unlike VNC, these applications are "rootless".  They appear as individual
 windows inside your window manager rather than being contained within a single
 window.
Do you want to install the software package? [y/N]:

@totaam
Copy link
Collaborator Author

totaam commented Mar 4, 2019

How are we supposed to support HWE using a single repository?

@totaam
Copy link
Collaborator Author

totaam commented Mar 5, 2019

This seems to be the same problem: https://bugs.launchpad.net/ubuntu/+source/xpra/+bug/1691025

I tried installing from xpra repo, but the problem remained. If xorg-video-dummy is not installed, xpra wants to remove all xorg hwe packages, but if it is, it installs just fine.

@totaam
Copy link
Collaborator Author

totaam commented Mar 7, 2019

Links:

If we provide both ABIs in the repository, will apt be able to figure it out?

@totaam
Copy link
Collaborator Author

totaam commented Mar 7, 2019

So I installed xpra stable on a fresh Ubuntu 18.04.2 installation which includes HWE by default, and everything works OK out of the box.
The only problem is that they ship a new dummy driver named xserver-xorg-video-dummy-hwe which is almost guaranteed to be missing the patches we carry.
Maybe they've messed up the package dependencies (Conflicts vs Provides attributes?)

@totaam
Copy link
Collaborator Author

totaam commented Mar 10, 2019

Using debootstrap made this more difficult. Steps:

  • debootstrap a new bionic instance
  • add build-essential devscripts debhelper
  • add universe repository: echo "deb http://archive.ubuntu.com/ubuntu bionic universe" >> /etc/apt/sources.list
  • add quilt pkg-config xserver-xorg-dev x11proto-video-dev x11proto-xf86dga-dev x11proto-core-dev x11proto-fonts-dev x11proto-randr-dev x11proto-render-dev xutils-dev
  • add bionic-updates repository (this step is not documented): echo "deb http://archive.ubuntu.com/ubuntu bionic-updates main" >> /etc/apt/sources.list
  • add HWE: [https://wiki.ubuntu.com/Kernel/LTSEnablementStack]: sudo apt-get install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04
  • add xorg-dev
  • rebuilt the package, and again, and again...

Through trial and error (well mostly error):


And so the official solution is now to run this command to upgrade to the HWE version (adding xserver-xorg-video-dummy-hwe-18.04):

sudo apt-get install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04 xserver-xorg-video-dummy-hwe-18.04

That's because the Ubuntu repositories don't upgrade the dummy package during the HWE upgrade unless we tell it to. (that's an upstream bug - nothing to do with us)

The only positive thing we've gained is that we now ensure that we update the dummy package with the patched one, even when HWE is enabled.

@totaam
Copy link
Collaborator Author

totaam commented Mar 30, 2019

2019-03-30 00:32:04: okappa commented


The fix above doesn't work because xpra depends on xserver-xorg-input-void as well.

$ apt search xserver-xorg-input-void
Sorting... Done
Full Text Search... Done
xserver-xorg-input-void/bionic 1:1.4.1-1build3 amd64
  X.Org X server -- void input driver

xserver-xorg-input-void-hwe-16.04/bionic 3:14.1 amd64
  Transitional package for xserver-xorg-input-void-hwe-16.04

Atemmpting to install xserver-xorg-input-void I get the "remove all hwe" thing:

$ sudo apt install xserver-xorg-input-void
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  xserver-xorg xserver-xorg-core
Suggested packages:
  xfonts-100dpi | xfonts-75dpi
Recommended packages:
  xserver-xorg-video-all
The following packages will be REMOVED:
  xorg xserver-xorg-core-hwe-18.04 xserver-xorg-hwe-18.04 xserver-xorg-input-all-hwe-18.04
  xserver-xorg-input-libinput-hwe-18.04 xserver-xorg-video-all-hwe-18.04 xserver-xorg-video-amdgpu-hwe-18.04
  xserver-xorg-video-ati-hwe-18.04 xserver-xorg-video-fbdev-hwe-18.04 xserver-xorg-video-intel-hwe-18.04
  xserver-xorg-video-nouveau-hwe-18.04 xserver-xorg-video-qxl-hwe-18.04 xserver-xorg-video-radeon-hwe-18.04
  xserver-xorg-video-vesa-hwe-18.04 xserver-xorg-video-vmware-hwe-18.04
The following NEW packages will be installed:
  xserver-xorg xserver-xorg-core xserver-xorg-input-void
0 upgraded, 3 newly installed, 15 to remove and 0 not upgraded.
Need to get 1,423 kB of archives.
After this operation, 4,760 kB disk space will be freed.
Do you want to continue? [Y/n] n
Abort.

Attempting to install xserver-xorg-input-void-hwe-16.04 I get this

$ sudo apt install xserver-xorg-input-void-hwe-16.04
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 xserver-xorg-input-void-hwe-16.04 : Depends: xserver-xorg-input-void but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

So atm xpra can't be installed on ubuntu 18.04.2 with hwe because of xserver-xorg-input-void dependency.

@totaam
Copy link
Collaborator Author

totaam commented Mar 30, 2019

So atm xpra can't be installed on ubuntu 18.04.2 with hwe because of xserver-xorg-input-void dependency.

Right you are, and this is another epic mistake by Ubuntu upstream packaging.
Why on earth is void-hwe depending on a package that it ends up conflicting with? (void which brings the non-hwe server and its conflict)
I should be able to fix it in our repos by overriding their package with a correct one, but really they need to stop this senseless breakage.

@totaam
Copy link
Collaborator Author

totaam commented Mar 30, 2019

2019-03-30 12:58:34: okappa commented


Also isn't it wrong having xserver-xorg-input-void-hwe-16.04 but not xserver-xorg-input-void-hwe-18.04 in 18.04.2 hwe?

@totaam
Copy link
Collaborator Author

totaam commented Apr 1, 2019

Updates:

  • r22241 rebuild dummy with new headers (was it wrong before?)
  • r22242 add input-void

Both are now available in the stable repository.

@pma: does that help?

@totaam
Copy link
Collaborator Author

totaam commented Apr 1, 2019

2019-04-01 16:32:46: pma commented


@okappa had problems with input-void, not me.

@totaam
Copy link
Collaborator Author

totaam commented Apr 1, 2019

@pma: oops, thanks!

BTW, we no longer use or require input-void: removed in r9166 - 4 years ago.

So this package fix isn't for xpra at all, it just makes it easier for people who do have input-void installed to enable HWE. (basically fixing Ubuntu's mess)

@totaam
Copy link
Collaborator Author

totaam commented Apr 2, 2019

2019-04-02 14:45:19: okappa commented


@antoine Martin Oops, I didn't figure out at first this whole issue was about xpra.org's packaged xpra. I was speaking about the stock ubuntu packages

@totaam
Copy link
Collaborator Author

totaam commented Apr 2, 2019

I was speaking about the stock ubuntu packages

Don't use those, they're always seriously messed up. For details see Packaging DistributionPackages.

@totaam totaam closed this as completed Apr 2, 2019
@totaam
Copy link
Collaborator Author

totaam commented Apr 13, 2019

More fixes: r22381 + r22382, the package name for bionic must be xserver-xorg-video-dummy-hwe-18.04 (the 18.04 is part of the package name).
With this change we now correctly upgrade the system package and avoid the DPI warnings.

@totaam totaam added the v2.4.x label Jan 22, 2021
totaam added a commit that referenced this issue Apr 17, 2022
…erver

See #2834 for details.
As for Ubuntu, we can't enable Xdummy by default there because of the HWE conflict mess: #2190
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant