Bug 7917

Summary: Формировать макрос pkgconfigdir в зависимости от того, является ли пакет noarch
Product: Sisyphus Reporter: Vitaly Lipatov <lav>
Component: rpm-buildAssignee: placeholder <placeholder>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: arseny, glebfm, imz, ktirf, ldv, mhz, mike, n3npq, placeholder, vt
Version: unstable   
Hardware: all   
OS: Linux   

Description Vitaly Lipatov 2005-09-10 19:20:52 MSD
В Сбт, 10/09/2005 в 21:20 +0400, Vitaly Lipatov пишет:  
> On Saturday 10 September 2005 20:58, Mikhail Zabaluev wrote:  
> > Доброго времени суток.  
> >  
> > В Sisyphus ушел пакет pkg-config, который я буду поддерживать.  
> > Этот пакет заменяет pkgconfig (имя сменилось и в upstream).  
> > В путь поиска .pc-файлов включен каталог /usr/share/pkgconfig,  
> > который должны использовать пакеты с архитектурой noarch.  
> Макрос %_pkgconfigdir должен формироваться в этом случае в   
> зависимости от архитектуры.
Comment 1 Dmitry V. Levin 2005-09-11 22:27:16 MSD
Если иметь в виду noarch, то это совсем не trivial :(
Comment 2 Vitaly Lipatov 2008-01-08 13:38:15 MSK
Вроде бы в rpm для каждой архитектуры могут быть заданы свои значения 
макросов?
И вообще странно, зачем указывать BuildArch в пакете, если это нельзя потом 
проверить :)
Comment 3 Jeff Johnson 2012-01-02 19:15:52 MSK
tracked at https://bugs.launchpad.net/rpm/+bug/910868
Comment 4 Dmitry V. Levin 2012-12-22 19:37:50 MSK
Предлагается заменить значение %_pkgconfigdir с нынешнего %_libdir/pkgconfig на %_target_libdir/pkgconfig?  Думаете, оно того стоит?
Comment 5 Jeff Johnson 2012-12-22 21:18:35 MSK
If the change is to support cross-compilation, then the change is reasonable.

If the change is to support ix86 <-> x86_64 multlib, you're better off  not
changing the path but fixing/unifying differences in other ways.
Comment 6 Vitaly Lipatov 2018-07-01 22:23:46 MSK
Может быть, уже можно подвести итог по _pkgconfigdir?

У нас есть 62 пакета, которые кладут файлы в /usr/share/pkgconfig/

$ epmsf /usr/share/pkgconfig/ | cut -d: -f1 | sort -u | wc -l
 $ apt-repo list
 $ $ cat contents_index  | egrep -i --color -- "(/usr/share/pkgconfig/)"
62

Вот пример из пакета systemd:
%files -n libudev-devel
...
%_pkgconfigdir/libudev.pc
%_datadir/pkgconfig/udev.pc

Может быть, нужно добавить _pkgconfigdir_noarch?
Comment 7 Vitaly Lipatov 2023-05-04 21:39:08 MSK
(Ответ для Dmitry V. Levin на комментарий #4)
> Предлагается заменить значение %_pkgconfigdir с нынешнего %_libdir/pkgconfig
> на %_target_libdir/pkgconfig?  Думаете, оно того стоит?
Нет, имелось в виду, что для пакета noarch
путь к pkgconfig это
%_datadir/pkgconfig

(Ответ для Dmitry V. Levin на комментарий #1)
> Если иметь в виду noarch, то это совсем не trivial :(
А что именно нетривиального? python вроде как успешно справляется.