Некоторые пакеты, свои и чужие, я собираю вне хешера, на системе, где есть и сборочные зависимости других пакетов. Иногда я замечаю, что FindRequires/FindProvides как-то непривычно тормозит, и вот сегодня я обнаружил такое: $ time sh -c 'rpm -ql boost-devel-headers | /usr/lib/rpm/qml.prov.files' 101.29user 45.46system 2:27.10elapsed 99%CPU (0avgtext+0avgdata 13152maxresident)k 0inputs+1864outputs (1major+5896857minor)pagefaults 0swaps Да, в boost-devel-headers сейчас 13258 файлов и каталогов, поэтому не удевительно, что shell не очень быстро это пережёввывает. Однако можно внести в usr/lib/rpm/qml.prov.files простое изменение, которое приведёт к быстрому ответу "нет" для тех файлов, которые к qml явно не имеют никакого отношения: @@ -1,6 +1,6 @@ #!/bin/sh -efu -while IFS=$'\t' read -r f t; do +grep -F '/qt5/' | while IFS=$'\t' read -r f t; do # skip all that cannot be provided due to rpmbuild restrictions case "${f##*/}" in [^_[:alnum:]]*) и, без видимых изменений логики работы, мы получим серьёзное ускорение: $ time sh -c 'rpm -ql boost-devel-headers | /usr/lib/rpm/qml.prov.files' 0.04user 0.01system 0:00.05elapsed 114%CPU (0avgtext+0avgdata 13200maxresident)k 0inputs+0outputs (0major+3141minor)pagefaults 0swaps Нельзя ли сделать такое изменение в пакете? И в /usr/lib/rpm/qml.req.files пофильтровать по 'qml' заодно?
(In reply to Ivan A. Melnikov from comment #0) > grep -F '/qt5/' Наверное, можно. P.S. Только не устанавливайте rpm-build-ruby. ;-)
qt5-declarative-5.15.7-alt4 -> sisyphus: Thu Dec 15 2022 Sergey V Turchin <zerg@altlinux> 5.15.7-alt4 - optimize provides generator (thanks iv@alt) (closes: 44642)