[prev in list] [next in list] [prev in thread] [next in thread] 

List:       opensuse-packaging
Subject:    [opensuse-packaging] Re: call for volunteers: singlespec auto-conversion
From:       jan matejek <jmatejek () suse ! com>
Date:       2017-08-28 15:56:06
Message-ID: 67757d5f-31ca-9c25-5990-8edfa995004a () suse ! com
[Download RAW message or body]

[Attachment #2 (multipart/mixed)]


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


["signature.asc" (application/pgp-signature)]
-- 
To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org
To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic