+++ This bug was initially created as a clone of Bug #1329657 +++
Description of problem:
The installation of the ovirt-vmconsole rpm fails if shadow-utils are not installed
Version-Release number of selected component (if applicable):
1.0.0-1
How reproducible:
always
Steps to Reproduce:
1. Install a clean system without shadow-utils
2. Install ovirt-vmconsole
3.
Actual results:
Fails
Expected results:
Should not fail
Additional info:
This happens when we build Node Next
--- Additional comment from Francesco Romani on 2016-04-25 09:38:31 CEST ---
The first fix is to add explicit dependency to shadow-utils. I will take this chance to review the package to see if there are more hidden dependencies.
That said, I'm not sure it is completely ok to create the user at %pre stage.
Unfortunately, this has to be kept this way for the time being, since ovirt-vmconsole owns the user; For the longer term, it is probably worth to ask to add this user in the basesystem, so we can get rid of the %pre scriptlet entirely, but this won't happen anytime soon.
--- Additional comment from Fabian Deutsch on 2016-04-25 12:40:33 CEST ---
For the record: This was only catched in downstream, because of a small difference in the build process.
In upstream we use %packages for the platform, and %post for ovirt (because of ovirt-release). These are basically two independent (rpm) transactions, shadow-utils is getting installed in the first %packages transaction.
When ovirt-vmconsole is getting installed in %post (indirectly through vdsm and/or ovirt-hosted-engine-setup), then shadow-utils was already installed as a dependency durign the %packages tx.
In downstream however, one transaction is used. RHEL + RHEV are both getting installed during %packages. And there it happens that - because ovirt-vmconsole has so few deps - it is getting installed quite early during the transaction, and at that point in time shadow-utils is not yet installed, which then is causing this problem.
--- Additional comment from Sandro Bonazzola on 2016-04-26 09:23:50 CEST ---
Moving to virt, integration may assist if needed.
--- Additional comment from Francesco Romani on 2016-04-26 09:46:02 CEST ---
This is a purely-packaging change that cannot be verified using standard systems like RHEL, or CentOS. On those platforms should not be any user-visible difference.
On custom platforms (e.g. node) we could verify the package is not installable without shadow-utils, and that it pulls shadow-utils in.
--- Additional comment from Fabian Deutsch on 2016-04-26 10:20:29 CEST ---
It can actually be verified on regular Fedora/CentOS/RHEL as well:
1. Create a kickstart file for auto installation
2. Add vm-console only to the %packages section
3. Perform the installation
This should fail without the patch.
But we can also verify it on Node.
--- Additional comment from Dan Kenigsberg on 2016-04-26 12:17:26 CEST ---
I suspect no one would care if I approve this from devel PoV.