Mailinglist Archive: opensuse-packaging (127 mails)

< Previous Next >
[opensuse-packaging] Re: call for volunteers: singlespec auto-conversion
On 28.8.2017 16:44, Luigi Baldoni wrote:
jan matejek-4 wrote
On 26.8.2017 20:16, Luigi Baldoni wrote:
Factory still contains
python-argparse, which has not been necessary since openSUSE 12.1
(because
it's in stdlib of all
shipped pythons). Worse, packages still list is as a requirement. This
needs to go.

I think I had stumbled upon that a while ago, but thing is the packages
themselves often rely on the
separate argparse module and therefore require patching.

I don't think so. python-argparse installs %{sitelib}/argparse.py, so
"import argparse" is the same
for the bundled version as for the separate version.
(let me know if you come across a package where argparse must be patched)

Would that satisfy requirements.txt ?

short answer: Yes.

long answer: That's not the right question. There are two questions here:

- Does pkg_info recognize python's stdlib argparse?
No.
So if a package explicitly asks for "argparse" through something like pkg_info,
it will fail.

- Do we care? Will it break our builds / packages?
Again, no :)
requirements.txt by themselves are irrelevant, what matters is setup.py.
Explicit requirement for
argparse in setup.py would fail because of pkg_info above. (Also if setup.py
reads requirements txt,
dependencies expressed in egg-info and similar, etc.)
BUT, packages recent enough to know about python 2.7 will usually have argparse
guarded by
"if python < 2.7" -- which can be (and usually is) expressed even in
requirements.txt

Packages *not* recent enough to know about 2.7 probably don't work anymore
anyway and should be
dropped from the distro.
Packages that are alive and explicitly require argparse should be patched and
patches sent upstream,
because they're doing it wrong.

- Will it break someone's scripts?
Probably not.
I mean, every change breaks someone's workflow. But here you'd need someone who
is at the same time
a) advanced enough to use argparse before it was part of stdlib, b) precise
enough to express this
in setup.py or ask for it in pkg_info, yet c) sloppy enough to ignore python
2.7. That's an unlikely
combination.
(The requirement could have been carried over from a legacy deployment, but
again, the whole thing
would probably be long broken by now.)

regards
m.



jan matejek-4 wrote
What you say is true for (some) backports modules though. The stand-alone
ones are imported under
different names.

It was some time ago, perhaps you're right.

Regards




--
View this message in context:
http://opensuse.14.x6.nabble.com/call-for-volunteers-singlespec-auto-conversion-tp5094191p5094381.html
Sent from the opensuse-packaging mailing list archive at Nabble.com.



< Previous Next >