Bug #21504
closedruby-smart-proxy-remote-execution-ssh installation fails on Ubuntu Xenial using packages on 1.15 repos
Description
I'm setting up a puppet + foreman + foreman-proxy server using the theforeman-* puppet modules, and got stuck when trying to install ruby-smart-proxy-remote-execution-ssh. Seems like the Ubuntu Xenial repo dependencies are broken for latest versions available. I've figured out a workaround to install some older versions of the packages, however at the moment the Puppet modules does not allow specifying the individual versions of plugins.
To check if this is not an issue with how I've setup the box, I've tried it out in a fresh OS install as well, the repos in-fact seems to have missing dependencies.
Steps to reproduce¶
On a fresh Ubuntu Xenial install,
- Added the foreman repo
deb http://deb.theforeman.org/ xenial 1.15 deb http://deb.theforeman.org/ plugins 1.15
- Updated package list
sudo apt-get update
- Installed foreman proxy
sudo apt-get install foreman-proxy
- Tried installing ruby-smart-proxy-remote-execution-ssh
apt-get install ruby-smart-proxy-remote-execution-ssh 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: ruby-smart-proxy-remote-execution-ssh : Depends: ruby-foreman-remote-execution-core (>= 1.0.6) but 1.0.5-1 is to be installed Depends: ruby-smart-proxy-dynflow (>= 0.1.0) but it is not going to be installed Depends: ruby-smart-proxy-dynflow (< 0.2.0) but it is not going to be installed E: Unable to correct problems, you have held broken packages.
Investigation notes¶
Based on the packages available in the 1.15 repos, this is what I found so far,
ruby-smart-proxy-remote-execution-ssh (latest = 0.1.6-1) | |-- requires | |-- ruby-foreman-remote-execution-core (>= 1.0.6) -- MISSING - http://deb.theforeman.org/dists/xenial/1.15/binary-amd64/Packages only has up to 1.0.5-1 | |-- ruby-smart-proxy-dynflow (>= 0.1.0, < 0.2.0) (latest = 0.1.8-1) | |-- requires | |-- ruby-smart-proxy-dynflow-core (>= 0.1.5) (latest = 0.1.8-1) | |-- requires | |-- ruby-foreman-tasks-core (>= 0.1.7) -- MISSING - http://deb.theforeman.org/dists/xenial/1.15/binary-amd64/Packages only has up to 0.1.4-1
Workaround¶
You can get around this by manually installing specific versions without relying upon the latest available in the repo. The following combination worked.
sudo apt-get install ruby-foreman-tasks-core # installs 0.1.4-1 sudo apt-get install ruby-smart-proxy-dynflow-core=0.1.6-1 sudo apt-get install ruby-foreman-remote-execution-core # installs 1.0.5-1 sudo apt-get install ruby-smart-proxy-remote-execution-ssh=0.1.5-1