#555361 hplip: Embedded code copy of python-pexpect

Package:
hplip
Source:
hplip
Description:
HP Linux Printing and Imaging System (HPLIP)
Submitter:
Jakub Wilk
Date:
2022-01-11 13:03:05 UTC
Severity:
normal
#555361#5
Date:
2009-11-09 12:02:57 UTC
From:
To:
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.

#555361#10
Date:
2009-11-29 05:26:59 UTC
From:
To:
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

#555361#17
Date:
2009-11-29 10:03:07 UTC
From:
To:
* Mark Purcell <msp@debian.org>, 2009-11-29, 16:26:

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,

#555361#22
Date:
2009-11-29 10:22:33 UTC
From:
To:
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.

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?

done

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?

Thanks!

Mark

#555361#27
Date:
2009-11-29 10:43:06 UTC
From:
To:
* Mark Purcell <msp@debian.org>, 2009-11-29, 21:22:

No, no need to move anything.

That's right.

#555361#34
Date:
2022-01-10 20:54:19 UTC
From:
To:
Dear Debian User,

Use of our limited, volunteer supported resources is best served by not
keeping open inactive bugs any longer than desirable, especially in
cases where the package concerned is older than the current stable
Debian version and upstream support has been limited. Consequently, the
report is now being closed.

Regards,

Brian.

#555361#39
Date:
2022-01-11 00:07:35 UTC
From:
To:
Control: reopen -1
Control: found -1 3.21.8+dfsg0-2

This is not very respectful of our users and social contract.

Users should be given the opportunity to reproduce old bugs before they
are summarily closed without any attempt at reproducing them. Old bugs
are extremely likely to still be present, them being open usually means
no-one bothered to look at and fix them, at least in my experience.

The social contract states that we should not hide bugs. Closing old
bugs without attempting to verify if they are fixed or giving users the
opportunity to do so is definitely hiding bugs.

https://www.debian.org/social_contract

When the bug is trivial to verify if it is still present or not,
you should at very least run the two commands needed to do that:

$ chronic apt source hplip
$ find -iwholename '*expect*'
./hplip-3.21.8+dfsg0/base/pexpect
./hplip-3.21.8+dfsg0/base/pexpect/__init__.py

Please also notify the security team of the embedded copy:

https://wiki.debian.org/EmbeddedCopies

#555361#48
Date:
2022-01-11 12:58:29 UTC
From:
To:
Thank you for reopening the report. The security team appears to be
aware of the embedded copy.

https://salsa.debian.org/security-tracker-team/security-tracker/raw/master/data/embedded-code-copies

Regards,

Brian.