[devel] %__python3

Ivan Zakharyaschev imz на altlinux.org
Вт Авг 28 13:08:55 MSK 2018


On Tue, 19 Sep 2017, Ivan Zakharyaschev wrote:

> 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 и т.п., у
> меня пока нет.

done in task #210850 by shaba@

shaba@ мне объяснил (хоть это и не написано в chnagelog, но я напишу 
сюда), что это удобно для совместимости со спеками Федоры (там такие 
замены shebang-а sed-ом встречаются), чтобы лишних проблем не создавать 
при копировании их спека. Пример, который нашёл shaba@:

https://src.fedoraproject.org/rpms/virt-manager/blob/master/f/virt-manager.spec#_167

Сожалею, что с задержкой, но хорошо, что теперь мы удволетворили эти 
пожелания в Sisyphus.

-- 
Best regards,
Ivan


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