[devel] %__python3

Ivan Zakharyaschev imz на altlinux.org
Вт Сен 19 13:52:09 MSK 2017


On Tue, 19 Sep 2017, Anton Farygin wrote:

> 19.09.2017 13:04, Ivan Zakharyaschev пишет:
>>  On Tue, 19 Sep 2017, Anton Farygin wrote:
>> 
>> >  Кто-то знает, почему такая разница в макросах для python и python3 ?
>> > 
>> >  [builder на localhost .in]$ rpm --eval '%__python'
>> >  /usr/bin/python
>> >  [builder на localhost .in]$ rpm --eval '%__python3'
>> >  python3
>>
>>  Наверное, нет. Я посмотрел их источники.
>>
>>  Первый определяется в /usr/lib/rpm/macros (из пакета librpm), второй -- в
>>  /usr/lib/rpm/macros.d/python3 из пакета rpm-build-python3 и его с самого
>>  начала в таком виде (без абсолютного пути) написали.
>>
>>  Чем они вообще полезны?.. Вижу, например, такую пользу от наличия макроса
>>  %__python3: при сборке собственно пакета python3 его можно переопределить
>>  и указать на новый интерпретатор по необычному пути, и тогда во всех
>>  обычных процедурах по обработке Python3-фалов в пакете (перекомпиляция,
>>  поиск зависимостей) будет использована уже новая версия интерпретатора.
>>
>>  А абсолютный ли там обычно путь, как-то кажется не очень важным. Это для
>>  чего-то оказалось важным?
>> 
> в пакете waf viy@ при добавлении поддержки python3 использовал содержимое 
> этих макросов в качестве shebang
>
> Соответственно waf-3.7 не запускался.
>
> Поправишь ?

Ясно. Надо подумать.

Вообще мне такое использование этих макросов не очень нравится. Есть идея, 
что макросы %__* описывают сборочную среду (как вызывать инструменты 
сборки), а не target-систему. У нас оно как правило совпадает, конечно. Но 
лучше не смешивать.

Продуманного предложения, как лучше заполнять shebang в пакете waf и т.п., 
у меня пока нет.

-- 
Best regards,
Ivan


Подробная информация о списке рассылки Devel