python-pexpect 4.0.1-0~ppatrusty2 from ubuntu-make ppa fails to install

Bug #1507871 reported by Walter Lapchynski on 2015-10-20
52
This bug affects 9 people
Affects Status Importance Assigned to Milestone
ubuntu-make (Ubuntu)
Undecided
Unassigned

Bug Description

STEPS TO REPRODUCE
 1. Make sure ppa:ubuntu-desktop/ubuntu-make repository is added
 2. Make sure version <4.0.1-0~ppatrusty2 of python-pexpect is installed
 3. dist-upgrade

EXPECTED RESULTS
 * Clean install with no errors.

ACTUAL RESULTS
 * Attached syntax error occurs in line 16 of /usr/lib/python2.7/dist-packages/pexpect/async.py.

AFFECTS
 * Lubuntu 14.04 with python-expect 3.1-1ubuntu0.1 installed

NOTES
 * The error points to using "yield from" which is a Python 3 feature whereas python-pexpect depends upon python << 2.8. This explains why python3-pexpect installs with no problems.
 * The Python 3 version of this file that python3-expect installs is in a separate directory, so it appears the appropriate solution would be to rewrite async.py to be Python2 compatible (for instead of from)

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ubuntu-make (Ubuntu):
status: New → Confirmed
Silviu C. (silviucc) wrote :

Yeah I got this problem as well. Worst part is that I can't even remove the ppa with ppa-purge.

Didier Roche (didrocks) wrote :

Hey,

Sorry for the trouble, I've got the same this moring. I did raised that issue on https://github.com/pexpect/pexpect/issues/220 as even if the file isn't used in python2, our postinst precompiler is trying to turn it into .pyc, hence the failure, you are seeing.

I've thus removed the package from the ppa (and it's not available anymore). For people being broken, the easiest path right now would be to revert to trusty's pexpect version with:

$ apt-get install python-pexpect/trusty python3-pexpect/trusty

(you may have to dpkg -P python-pexpect to remove the one in error first).

Do not hesitate if you need any help, sorry again for that issue :)

Changed in ubuntu-make (Ubuntu):
status: Confirmed → Fix Committed
Silviu C. (silviucc) wrote :

That does not work :/

-----
 sudo dpkg --purge python-pexpect
dpkg: dependency problems prevent removal of python-pexpect:
 hplip depends on python-pexpect.

dpkg: error processing package python-pexpect (--purge):
 dependency problems - not removing
Errors were encountered while processing:
----

Silviu C. (silviucc) wrote :

Fixed it by doing:

sudo dpkg --purge --force-depends python-pexpect

sudo apt-get update

sudo apt-get install python-pexpect/trusty python3-pexpect/trusty

Without doing the purge first (which I don't recommend since it can lead to
other dependency issues), I downgraded with:

$ sudo apt-get -y --force-yes install python-pexpect/trusty-updates
python3-pexpect/trusty-updates

Using trusty didn't work for me (perhaps the version was too old?) and the
force-yes was required to deal with the previous errors.

Afterwards, an update/upgrade did not provide a new version, so the ppa is
not providing me the erroneous package.

Didier Roche (didrocks) on 2015-10-29
Changed in ubuntu-make (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers