Bug#555361: hplip: Embedded code copy of python-pexpect

View: New views
5 Messages — Rating Filter:   Alert me  

Bug#555361: hplip: Embedded code copy of python-pexpect

by Jakub Wilk :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Package: hplip
Version: 3.9.8-1
Severity: normal
Usertags: embedded-code-copy

Hello,

Your binary package embeds a copy of the Python pexpect module. This
is violation of Debian Policy 4.13:

"Debian packages should not make use of these convenience copies
unless the included package is explicitly intended to be used in this
way. If the included code is already in the Debian archive in the
form of a library, the Debian packaging should ensure that binary
packages reference the libraries already in Debian and the
convenience copy is not used."

Please modify your package to use the system-wide module provided by
the python-pexpect package.




--
To UNSUBSCRIBE, email to debian-printing-request@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Bug#555361: hplip: Embedded code copy of python-pexpect

by Bugzilla from msp@debian.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Monday 09 November 2009 23:02:57 ubanus@... wrote:
> Please modify your package to use the system-wide module provided by
> the python-pexpect package.

Ubanus,

Thanks for the report.

Btw, do you have some advice on how best to modify the package?

Any examples where this has been fixed in other packages with python-pexpect?

Thanks,
Mark


signature.asc (205 bytes) Download Attachment

Bug#555361: hplip: Embedded code copy of python-pexpect

by Jakub Wilk :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

* Mark Purcell <msp@...>, 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?

You should:

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.)

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

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

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

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

Hope that helps,

--
Jakub Wilk


signature.asc (853 bytes) Download Attachment

Bug#555361: hplip: Embedded code copy of python-pexpect

by Bugzilla from msp@debian.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sunday 29 November 2009 21:03:07 Jakub Wilk wrote:

> * Mark Purcell <msp@...>, 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


signature.asc (205 bytes) Download Attachment

Bug#555361: hplip: Embedded code copy of python-pexpect

by Jakub Wilk :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

* Mark Purcell <msp@...>, 2009-11-29, 21:22:

>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?
No, no need to move anything.

>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?

That's right.

--
Jakub Wilk


signature.asc (853 bytes) Download Attachment