%%PYTHON_SITELIBDIR%% in pkg-plist
Nikolai Lifanov
lifanov at mail.lifanov.com
Sat Jul 6 23:20:58 UTC 2013
On 2013-07-06 11:54, Bryan Drewery wrote:
> On 7/6/2013 10:43 AM, Kubilay Kocak wrote:
>> On 7/07/2013 12:51 AM, Nikolai Lifanov wrote:
>>> Hello.
>>>
>>> I maintain sysutils/ansible, and I keep wanting to @dirrmtry
>>> %%PYTHON_SITELIBDIR%% and perhaps %%PYTHON_LIBDIR%%.
>>> portlint tells me that this is a wrong thing to do, while poudriere
>>> testport complains about leftover directories.
>>>
>>> What is the correct thing to do with these?
>>>
>>> - Nikolai Lifanov
>>>
>>> _______________________________________________
>>> freebsd-ports at freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
>>> To unsubscribe, send any mail to
>>> "freebsd-ports-unsubscribe at freebsd.org"
>>
>> The following are 'normal'leftover entries when testing python ports,
>> and can safely be ignored:
>>
>> %%PYTHON_LIBDIR%%/site-packages/easy-install.pth
>> %%PYTHON_LIBDIR%%/site-packages/site.py
>> %%PYTHON_LIBDIR%%/site-packages/site.pyc
>> %%PYTHON_LIBDIR%%/site-packages/site.pyo
>> @dirrm %%PYTHON_LIBDIR%%/site-packages
>> @dirrm %%PYTHON_LIBDIR%%
>>
>> The above output is from poudriere, and
>> %%PYTHON_LIBDIR%%/site-packages/
>> is actually %%PYTHON_SITELIBDIR%%. Here, poudriere is just making a
>> first-variable-from-the-list-wins guess.
>>
>> If you see porttools `port test` output, you'll note it displays
>> %%PYTHON_SITELIBDIR%% as the leftover prefix. They can be ignored as
>> well.
>>
>> Hope that helps :)
>>
>
> The problem is just that the port (and python ports) do not respect
> PREFIX when it does not equal LOCALBASE. By default, 'poudriere
> testport' uses a custom PREFIX. In general, ports should pass leftover
> tests by default. If they use ports framework support that does not
> respect PREFIX, try using -n as well, which will stick to
> PREFIX=LOCALBASE. In this case, using -n passes the test with testport
> on ansible.
Hmm... This works and makes sense, since python sys.prefix is set
depending on its location.
I might be naive here, but what would be the effect of depending on
virtualenv magic if PREFIX != LOCALBASE? This way a package can ask for
dependencies with the same PREFIX if they would otherwise exist
somewhere else during a single make, and it shouldn't conflict with
anything else. This can go into a package name
(py27-non_localbase_prefix_with_encoded_slashes-mypackage) or, after
pkg_* tools are out, a pkgng annotation?
For example, if py27-foo depends on py27-bar, py27-opt_baz-foo would
depend on py27-opt_baz-bar without conflicting.
- Nikolai Lifanov
More information about the freebsd-python
mailing list