Proposal: default to concurrent
John W. O'Brien
john at saltant.com
Tue Jan 31 14:16:40 UTC 2017
On 1/30/17 14:43, Roland Smith wrote:
> On Sun, Jan 29, 2017 at 08:26:27PM -0500, John W. O'Brien wrote:
>> Thank you for your input.
>>
>> On 1/29/17 19:50, Roland Smith wrote:
>> [...]
>>> There also seems to be a trend of separate py3-* ports. This is sometimes a
>>> much better solution than trying to make a single port support python 2 and 3.
>>
>> If I am not mistaken, the purpose of the py3-* ports is mainly to
>> deliver some python3 support via the default build and thence the
>> official pkg repository. As a convenience for those of who build our own
>> ports, it also enables 2+3 support within a single build instead of
>> having to coordinate multiple builds and maintain multiple repositories.
>
> There are more issues with building the same port for two different python
> versions. The #!-line will be different which leads to daily warnings about
> mismatching checksums.
To which checksums are you referring? The shebang line is fixed up at
package build time, so that the installed files have valid checksums.
% sudo pkg check -sx xlrd
Checking xlrd: 100%
% pkg info -lx xlrd | grep bin | xargs head -1
==> /usr/local/bin/runxlrd.py <==
#!/usr/local/bin/python2.7
==> /usr/local/bin/runxlrd.py-2.7 <==
#!/usr/local/bin/python2.7
==> /usr/local/bin/runxlrd.py-3.4 <==
#!/usr/local/bin/python3.4
==> /usr/local/bin/runxlrd.py-3.5 <==
#!/usr/local/bin/python3.5
==> /usr/local/bin/runxlrd.py-3.6 <==
#!/usr/local/bin/python3.6
>> py-SPAM and py3-SPAM, or py2-SPAM and py-SPAM, concurrent *installation*
>> still requires that the intersection of plists is the empty set.
>
> To achieve this, any scripts/binaries installed by a Python package would
> *always* have to be suffixed. Personally, I don't mind since basically every
> shell has tab-completion.
>
> Maybe we should just suffix *all* python-based scripts, and *don't* install a
> suffix-less one? That would certainly make things clear (explicit even ;-).
> But as others have mentioned, it might not be what some people expect.
I'm not sure I follow. What would be the benefit of omitting a
suffix-less script for the default python? What would be the drawback of
providing one?
What I'm proposing would not change the user experience under the system
default version of python. All scripts would still could be invoked
without a suffix due to their symlinks.
Yes, it's true that those who only require the default version would
still get a suffixed file and a suffix-less symlink. Could you give me
an example of a case where that would cause breakage or even just
inconvenience?
> Could we add an automatic extra to the pkg-message, like:
>
> To enable the installation of package FOO for multiple Python versions,
> the script BAR has been installed for Python-X.Y as BAR-X.Y.
This wouldn't be necessary if we continue to ship suffix-less scripts.
-J
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-python/attachments/20170131/dcf0b2d5/attachment.sig>
More information about the freebsd-python
mailing list