[devel] про sssd, query-repackage и ubt
Dmitry V. Levin
ldv на altlinux.org
Вт Окт 30 23:22:05 MSK 2018
Не пишите, пожалуйста, в этот список рассылки html-only письма,
если хотите, чтобы их можно было нормально прочесть.
On Fri, Oct 26, 2018 at 03:55:20PM +0400, Alexey Sheplyakov wrote:
> <div xmlns="http://www.w3.org/1999/xhtml">Привет!</div><div xmlns="http://www.w3.org/1999/xhtml"> </div><div xmlns="http://www.w3.org/1999/xhtml">23.10.2018, 15:03, "Ivan A. Melnikov" <iv на altlinux.org>:</div><div xmlns="http://www.w3.org/1999/xhtml">> Привет,</div><div xmlns="http://www.w3.org/1999/xhtml">></div><div xmlns="http://www.w3.org/1999/xhtml">> Хочу рассказать вам одну историю. Букв много, мораль не ясна,</div><div xmlns="http://www.w3.org/1999/xhtml">> так что можете не читать это всё.</div><div xmlns="http://www.w3.org/1999/xhtml">></div><div xmlns="http://www.w3.org/1999/xhtml">> Не так давно в Сизифе перестал пересобираться пакет sssd: падали</div><div xmlns="http://www.w3.org/1999/xhtml">> два теста[0]. Проблему можно воспроизвести и сейчас, забрав из</div><div xmlns="http://www.w3.org/1999/xhtml">> архивов sssd-1.16.3-alt1.S1.src.rpm. Вчерашняя сборка</div><div xmlns="http://www.w3.org/1999/xhtml">> sssd-2.0.0-alt1.src.rpm проблеме не подвержена.</div><div xmlns="http://www.w3.org/1999/xhtml">></div><div xmlns="http://www.w3.org/1999/xhtml">> asheplyakov@, собиравший 1.16.3-alt1 и исправлявший как раз</div><div xmlns="http://www.w3.org/1999/xhtml">> эти два теста, посмотрел на проблему и сказал, что в сборочной</div><div xmlns="http://www.w3.org/1999/xhtml">> среде во время пересборки не был смонтирован /proc. Тем временем,</div><div xmlns="http://www.w3.org/1999/xhtml">> BR: /proc в спеке, естественно, был.</div><div xmlns="http://www.w3.org/1999/xhtml">></div><div xmlns="http://www.w3.org/1999/xhtml">> Дальше веселее: оказывается, sssd-1.16.3-alt1.S1.src.rpm</div><div xmlns="http://www.w3.org/1999/xhtml">> пересобирается в сизифном хешере самa по себе, но не пересобирается</div><div xmlns="http://www.w3.org/1999/xhtml">> с --query-repackage. Это странно: мне казалось, что на пакеты,</div><div xmlns="http://www.w3.org/1999/xhtml">> собираетмые в Сизиф из gear, --query-repackage не должен</div><div xmlns="http://www.w3.org/1999/xhtml">> значимо влиять, однако он, очевидно, влиял.</div><div xmlns="http://www.w3.org/1999/xhtml">></div><div xmlns="http://www.w3.org/1999/xhtml">> В логах hsh --verborse --query-repackage sssd-1.16.3-alt1.S1.src.rpm</div><div xmlns="http://www.w3.org/1999/xhtml">> нашёлся такой фрагмент:</div><div xmlns="http://www.w3.org/1999/xhtml">></div><div xmlns="http://www.w3.org/1999/xhtml">> Building for target x86_64</div><div xmlns="http://www.w3.org/1999/xhtml">> Wrote: /usr/src/in/nosrpm/sssd-1.16.3-alt1.nosrc.rpm</div><div xmlns="http://www.w3.org/1999/xhtml">> hsh-rebuild: sssd-1.16.3-alt1.S1.src.rpm: created src.rpm file.</div><div xmlns="http://www.w3.org/1999/xhtml">> hsh-rebuild: sssd-1.16.3-alt1.S1.src.rpm: fetched build dependencies.</div><div xmlns="http://www.w3.org/1999/xhtml">> hsh-rebuild: sssd-1.16.3-alt1.S1.src.rpm: calculated build dependencies:</div><div xmlns="http://www.w3.org/1999/xhtml">> hsh-rebuild: calculated mount points:</div><div xmlns="http://www.w3.org/1999/xhtml">> hsh-rebuild: fetched installed file dependencies.</div><div xmlns="http://www.w3.org/1999/xhtml">> hsh-rebuild: calculated mount points:</div><div xmlns="http://www.w3.org/1999/xhtml">></div><div xmlns="http://www.w3.org/1999/xhtml">> Куда же пропали все зависимости? Оказывается, haser пытается получить</div><div xmlns="http://www.w3.org/1999/xhtml">> их вот так[1]:</div><div xmlns="http://www.w3.org/1999/xhtml">></div><div xmlns="http://www.w3.org/1999/xhtml">> rpmquery -pR -- "\${@%.src.rpm}".*src.rpm</div><div xmlns="http://www.w3.org/1999/xhtml">></div><div xmlns="http://www.w3.org/1999/xhtml">> ну то есть выполняется команда</div><div xmlns="http://www.w3.org/1999/xhtml">></div><div xmlns="http://www.w3.org/1999/xhtml">> rpmquery -pR -- sssd-1.16.3-alt1.S1.*src.rpm</div><div xmlns="http://www.w3.org/1999/xhtml">></div><div xmlns="http://www.w3.org/1999/xhtml">> Однако release у sssd на самом деле alt1%ubt, что в современных</div><div xmlns="http://www.w3.org/1999/xhtml">> реалиях раскрывается в просто alt1, и файлов, соответствующих</div><div xmlns="http://www.w3.org/1999/xhtml">> шаблону sssd-1.16.3-alt1.S1.*src.rpm просто нет.</div><div xmlns="http://www.w3.org/1999/xhtml">></div><div xmlns="http://www.w3.org/1999/xhtml">> Добавьте к этому фишку rpmquery: она умеет раскрывать шаблоны</div><div xmlns="http://www.w3.org/1999/xhtml">> имён файлов сама, и если ни один файл не попал под шаблон, не</div><div xmlns="http://www.w3.org/1999/xhtml">> считает это ошибкой:</div><div xmlns="http://www.w3.org/1999/xhtml">></div><div xmlns="http://www.w3.org/1999/xhtml">> $ rpmquery -pR foo; echo "exit code: $?"</div><div xmlns="http://www.w3.org/1999/xhtml">> error: open of foo failed: No such file or directory</div><div xmlns="http://www.w3.org/1999/xhtml">> exit code: 1</div><div xmlns="http://www.w3.org/1999/xhtml">> $ rpmquery -pR 'foo*'; echo "exit code: $?"</div><div xmlns="http://www.w3.org/1999/xhtml">> exit code: 0</div><div xmlns="http://www.w3.org/1999/xhtml">></div><div xmlns="http://www.w3.org/1999/xhtml">> В итоге хешер считает, что у пакета просто нет зависимостей.</div><div xmlns="http://www.w3.org/1999/xhtml">> Однако к этому времени в чруте уже достаточно всего чтобы у</div><div xmlns="http://www.w3.org/1999/xhtml">> sssd прошёл ./configure, и сброка падает только на тестах.</div><div xmlns="http://www.w3.org/1999/xhtml">></div><div xmlns="http://www.w3.org/1999/xhtml">> В новой сборке sssd %ubt в релизе уже нет, так что ежедневная</div><div xmlns="http://www.w3.org/1999/xhtml">> пересборка должна проходить успешно.</div><div xmlns="http://www.w3.org/1999/xhtml">></div><div xmlns="http://www.w3.org/1999/xhtml">> Вот такая вот история. Много букв, мораль не ясна.</div><div xmlns="http://www.w3.org/1999/xhtml"> </div><div xmlns="http://www.w3.org/1999/xhtml"> </div><div xmlns="http://www.w3.org/1999/xhtml">Мораль-то как раз ясна.</div><div xmlns="http://www.w3.org/1999/xhtml"> </div><div xmlns="http://www.w3.org/1999/xhtml">1) Принудительная замена %ubt на %nil (кроме свего прочего) сломала пересборку</div><div xmlns="http://www.w3.org/1999/xhtml">пакетов, которые а) используют %ubt, б) требуют /proc для сборки. Это изменение</div><div xmlns="http://www.w3.org/1999/xhtml">крайне необдуманное и несвоевременное. Нужно его отменить, и от %ubt уходить</div><div xmlns="http://www.w3.org/1999/xhtml">постепенно (если будет показана польза/необходимость такого ухода).</div><div xmlns="http://www.w3.org/1999/xhtml"> </div><div xmlns="http://www.w3.org/1999/xhtml">2) Метод "обновляйся, потом разберемся", с помощью которого "починили" пересборку sssd,</div><div xmlns="http://www.w3.org/1999/xhtml">в корне неверный, и привел к нерабочему sssd (подробности в <a href="https://bugzilla.altlinux.org/show_bug.cgi?id=35545)">https://bugzilla.altlinux.org/show_bug.cgi?id=35545)</a></div><div xmlns="http://www.w3.org/1999/xhtml">Правильное решение -- починить вычисление зависимостей во время пересборки.</div><div xmlns="http://www.w3.org/1999/xhtml">Обходной путь -- выпилить %ubt из спеки sssd (и других пакетов, которые "внезапно" перестали пересобираться).</div><div xmlns="http://www.w3.org/1999/xhtml"> </div><div xmlns="http://www.w3.org/1999/xhtml"> </div><div xmlns="http://www.w3.org/1999/xhtml">Всем бобра,</div><div xmlns="http://www.w3.org/1999/xhtml"> Алексей</div>
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : signature.asc
Тип : application/pgp-signature
Размер : 801 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20181030/2d33df5e/attachment.bin>
Подробная информация о списке рассылки Devel