On Wed, Jan 16, 2019 at 04:15:03PM +0300, Dmitry V. Levin wrote: > On Wed, Jan 16, 2019 at 01:38:50PM +0400, Ivan A. Melnikov wrote: > > On Wed, Jan 16, 2019 at 12:29:50PM +0300, Sergey V Turchin wrote: > > > On Wednesday, 16 January 2019 12:22:19 MSK Ivan Zakharyaschev wrote: > > > > > > [...] > > > > Нет, этот как-то вызвано %ubt, а не необработкой glob-ов в rpm. > > > Возможно, продолжение > > > https://lists.altlinux.org/pipermail/devel/2018-October/205623.html > > > > > > > Исходный пакет хранился как bird-1.6.4-alt1.S1 , а после обработки стал > > > > без .S1. > > > > > > [...] > > > > Да, это оно. > > > > Часть 1: https://lists.altlinux.org/pipermail/devel/2018-October/205623.html > > Часть 2: https://lists.altlinux.org/pipermail/devel/2018-November/205788.html > > Часть 3: https://bugzilla.altlinux.org/35828 > > Часть 4: этот тред. > > > > Теперь все пакеты, собранные с релизом, заканчивающимся на %ubt, > > до бана %ubt, вместо того, чтобы пересобираться с потенциально > > неполным набором зависимостей, не пересобираются. > > > > Интрига. > > hsh-rebuild --query-repackage делает следующее: > > make_srpm_from_pkgtar '"$HOME/in/nosrpm"' > > # The repackaged in/nosrpm/*.(no)src.rpm is > # only used to query the build dependencies; > # the original in/srpm/*.src.rpm is used for the final rebuild. > # It may seem that if the build dependencies have shrunk > # after repackaging, then the final build could fail because > # the original srpm would list more build dependencies. > # This is not a problem, however, because rpmbuild --rebuild > # calculates correctly the new set of build deps; > # --nodeps is not needed for it to work properly. > > cat >chroot/.host/query_req <<__EOF__ > #!/bin/sh -e > cd "\$HOME/in/nosrpm" > rpmquery -pR -- "\${@%.src.rpm}".*src.rpm > __EOF__ > > Для того, чтобы в этом коде заменить эту жёсткую конструкцию > на что-то менее жесткое, например, *src.rpm, надо очищать > "$HOME/in/nosrpm" каждый раз перед заполнением. Как думаете? Поскольку перед make_srpm_from_pkgtar есть вызов install_source_package (который делает именно это -- удаляет $HOME/in), а сам make_srpm_from_pkgtar страхуется от ошибки с помощью mkdir $HOME/in/nosrpm (без -p), то условие выполнено и этот жёсткий шаблон поиска действительно можно ослабить. -- ldv