Add missing import of apt.debfile

In cases when the python-apt package is not installed, ansible will
attempt to install it. After this attempt, it tries to import the
needed apt modules, but forgets to import the apt.debfile module.

The result is that playbooks that use the dpkg argument on a machine
that does not initially have the python-apt package available will
fail with the following error

AttributeError: 'module' object has no attribute 'debfile'

This patch adds the appropriate import to the apt module to ensure
that necessary libraries are available in cases when the dpkg argument
is being used on a system that does not initially have the python-apt
package installed
pull/18777/head
Tim Rupp 10 years ago committed by Matt Clay
parent 04fcfdad2c
commit db6c2bac75

@ -523,6 +523,7 @@ def main():
module.run_command('apt-get update && apt-get install python-apt -y -q', use_unsafe_shell=True, check_rc=True) module.run_command('apt-get update && apt-get install python-apt -y -q', use_unsafe_shell=True, check_rc=True)
global apt, apt_pkg global apt, apt_pkg
import apt import apt
import apt.debfile
import apt_pkg import apt_pkg
except ImportError: except ImportError:
module.fail_json(msg="Could not import python modules: apt, apt_pkg. Please install python-apt package.") module.fail_json(msg="Could not import python modules: apt, apt_pkg. Please install python-apt package.")

Loading…
Cancel
Save