[devel] hsh-rebuild --query-repackage

Dmitry V. Levin ldv на altlinux.org
Ср Янв 16 16:25:37 MSK 2019


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
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 801 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20190116/5239abc2/attachment.bin>


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