Comment 2 for bug 489839

Revision history for this message
Mark Purcell (msp) wrote : Re: Bug#555361: hplip: Embedded code copy of python-pexpect

On Sunday 29 November 2009 21:03:07 Jakub Wilk wrote:
> * Mark Purcell <email address hidden>, 2009-11-29, 16:26:
> >> Please modify your package to use the system-wide module provided by
> >> the python-pexpect package.
> >
> >Btw, do you have some advice on how best to modify the package?
>
> 1. Assure that copy of pexpect.py bundled in the package is either
> unmodified or the package does not rely on any non-standard behaviour.
> (This doesn't seem to be the issue for hplip, it uses pexpect in a very
> basic way.)

Jakub,

hplip ships pexpect from 2006, current system version in Debian is 2008, there is a bit of difference between the two. But as you say hplip appears to use in a standard manner.

> 2. Check how the package imports pexpect and possibly fix the imports.
> ("import pexpect", "import pexpect as ...", "from pexpect import ..."
> are OK.)

import pexpect in two places:

base/tui.py:import pexpect
base/utils.py:import pexpect

tui.py looks like:
# Std Lib
import sys
import re

# Local
from g import *
import pexpect
import utils

Do I need to move the "import pexpect" statement up to the Std Lib stanza or will it just look for the system version automatically?

> 3. Add appropriate Depends: or Recommends: header(s).

done

> 4. Don't let the embedded pexpect.py be installed into binary packages
> (either by fixing *.install files or debian/rules).

So if I don't install the obsolete hplip pexpect.py the python will automatically pick up the system version with the standard import stanza above?

> 5. Last but not least, test the package thoroughly.

Thanks!

Mark