Having private fallback six.py will work for everybody, just it cannot
be installed into the global path along with Python libraries:

$ pkg_info -L lldb|grep six.py
/usr/pkg/lib/python2.7/site-packages/six.py

Maybe in lldb/utils/?

chieftec$ pkg_info -L lldb|grep py
/usr/pkg/lib/python2.7/site-packages/lldb/__init__.py
/usr/pkg/lib/python2.7/site-packages/lldb/_lldb.so
/usr/pkg/lib/python2.7/site-packages/lldb/embedded_interpreter.py
/usr/pkg/lib/python2.7/site-packages/lldb/formatters/Logger.py
/usr/pkg/lib/python2.7/site-packages/lldb/formatters/__init__.py
/usr/pkg/lib/python2.7/site-packages/lldb/formatters/attrib_fromdict.py
/usr/pkg/lib/python2.7/site-packages/lldb/formatters/cache.py
/usr/pkg/lib/python2.7/site-packages/lldb/formatters/cpp/__init__.py
/usr/pkg/lib/python2.7/site-packages/lldb/formatters/cpp/gnu_libstdcpp.py
/usr/pkg/lib/python2.7/site-packages/lldb/formatters/cpp/libcxx.py
/usr/pkg/lib/python2.7/site-packages/lldb/formatters/metrics.py
/usr/pkg/lib/python2.7/site-packages/lldb/lldb-argdumper
/usr/pkg/lib/python2.7/site-packages/lldb/runtime/__init__.py
/usr/pkg/lib/python2.7/site-packages/lldb/utils/__init__.py
/usr/pkg/lib/python2.7/site-packages/lldb/utils/symbolication.py
/usr/pkg/lib/python2.7/site-packages/six.py

On 03.05.2016 02:13, Greg Clayton via lldb-dev wrote:
> Can we take care of this with python include path ordering? If we are on a 
> system that has its own six.py somewhere in the python libraries, how is it 
> picking our version incorrectly? Aren't there search paths for the modules? 
> If so, we might need to put any compatibility modules into a specific 
> directory and add that to the python search paths as the last path so it 
> would always pick up any system versions or installed versions first, then 
> fall back to our extra ones in our directories.
> 
> Greg
> 
>> On May 2, 2016, at 4:08 PM, Ted Woodward via lldb-dev 
>> <lldb-dev@lists.llvm.org> wrote:
>>
>> This may be true, but telling my users "you have to install six" is a 
>> non-starter.
>>
>> --
>> Qualcomm Innovation Center, Inc.
>> The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a 
>> Linux Foundation Collaborative Project
>>
>>> -----Original Message-----
>>> From: lldb-dev [mailto:lldb-dev-boun...@lists.llvm.org] On Behalf Of Kamil
>>> Rytarowski via lldb-dev
>>> Sent: Monday, May 02, 2016 4:36 PM
>>> To: Reid Kleckner <r...@google.com>
>>> Cc: LLDB <lldb-dev@lists.llvm.org>
>>> Subject: Re: [lldb-dev] Redundant six.py copy
>>>
>>>
>>>
>>> On 02.05.2016 18:40, Reid Kleckner wrote:
>>>> On Sun, May 1, 2016 at 2:21 PM, Kamil Rytarowski via lldb-dev
>>>> <lldb-dev@lists.llvm.org <mailto:lldb-dev@lists.llvm.org>> wrote:
>>>>
>>>>    It has been noted that LLDB installs its own copy of six.py
>>>>    (third_party/Python/module/six/six.py) that conflicts with a
>>> standalone
>>>>    one lang/py-six (path in pkgsrc).
>>>>
>>>>    Could we reuse an external version shipped with a system?
>>> Alternatively
>>>>    are there plans to migrate to Python 3 and remove need for it?
>>>>
>>>>    How to address this conflict cleanly?
>>>>
>>>>
>>>> LLDB should continue to ship its own copy of six.py. It's a single 900
>>>> line source file. Avoiding this duplication is not worth the headache
>>>> of asking users to install dependencies. I can't imagine a world where
>>>> checking in your own copy *wasn't* the intended distribution model for
>>>> six.py.
>>>>
>>>
>>> I don't agree here, built in libraries have security and maintainability 
>>> issues
>>> downstream. Correct packaging is about removing these builtin redundant
>>> libraries and link with upstream ones. And in case of a vulnerability (or 
>>> other
>>> kind of bug) upgrade a dependency for everybody at once.
>>>
>>>> I'm sure LLDB would take patches to mitigate the namespace conflict.
>>>> For example, LLDB could do something like "from lldbutils import six"
>>>> instead of "import six", or we could avoid putting it on sys.path if
>>>> we notice a system installation of six.
>>>
>>> Dynamic detection of system capabilities isn't reproducible. Also there is a
>>> scenario of installing lldb and later one of other packages installing 
>>> global py-
>>> six.
>>
>>
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev@lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
> 
> _______________________________________________
> lldb-dev mailing list
> lldb-dev@lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
> 

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

Reply via email to