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