[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