[devel] про sssd, query-repackage и ubt

Evgeny Sinelnikov sin на altlinux.org
Чт Ноя 1 11:38:51 MSK 2018


Здравствуйте,

отвечаю в не HTML-варианте.

Согласен с Иваном:
- "откапывать %ubt из заслуженного %nil уже поздно и, более того, вредно."
- "Куда же пропали все зависимости?"... "я бы всё таки падал, если
файл не найден"

вт, 30 окт. 2018 г. в 19:40, Alexey Sheplyakov <asheplyakov at yandex.ru>:
>
> Привет!
>
> 23.10.2018, 15:03, "Ivan A. Melnikov" <iv at altlinux.org>:
> > Привет,
> >
> > Хочу рассказать вам одну историю. Букв много, мораль не ясна,
> > так что можете не читать это всё.
> >
> > Не так давно в Сизифе перестал пересобираться пакет sssd: падали
> > два теста[0]. Проблему можно воспроизвести и сейчас, забрав из
> > архивов sssd-1.16.3-alt1.S1.src.rpm. Вчерашняя сборка
> > sssd-2.0.0-alt1.src.rpm проблеме не подвержена.
> >
> > asheplyakov@, собиравший 1.16.3-alt1 и исправлявший как раз
> > эти два теста, посмотрел на проблему и сказал, что в сборочной
> > среде во время пересборки не был смонтирован /proc. Тем временем,
> > BR: /proc в спеке, естественно, был.
> >
> > Дальше веселее: оказывается, sssd-1.16.3-alt1.S1.src.rpm
> > пересобирается в сизифном хешере самa по себе, но не пересобирается
> > с --query-repackage. Это странно: мне казалось, что на пакеты,
> > собираетмые в Сизиф из gear, --query-repackage не должен
> > значимо влиять, однако он, очевидно, влиял.
> >
> > В логах hsh --verborse --query-repackage sssd-1.16.3-alt1.S1.src.rpm
> > нашёлся такой фрагмент:
> >
> >   Building for target x86_64
> >   Wrote: /usr/src/in/nosrpm/sssd-1.16.3-alt1.nosrc.rpm
> >   hsh-rebuild: sssd-1.16.3-alt1.S1.src.rpm: created src.rpm file.
> >   hsh-rebuild: sssd-1.16.3-alt1.S1.src.rpm: fetched build dependencies.
> >   hsh-rebuild: sssd-1.16.3-alt1.S1.src.rpm: calculated build dependencies:
> >   hsh-rebuild: calculated mount points:
> >   hsh-rebuild: fetched installed file dependencies.
> >   hsh-rebuild: calculated mount points:
> >
> > Куда же пропали все зависимости? Оказывается, haser пытается получить
> > их вот так[1]:
> >
> >   rpmquery -pR -- "\${@%.src.rpm}".*src.rpm
> >
> > ну то есть выполняется команда
> >
> >   rpmquery -pR -- sssd-1.16.3-alt1.S1.*src.rpm
> >
> > Однако release у sssd на самом деле alt1%ubt, что в современных
> > реалиях раскрывается в просто alt1, и файлов, соответствующих
> > шаблону sssd-1.16.3-alt1.S1.*src.rpm просто нет.
> >
> > Добавьте к этому фишку rpmquery: она умеет раскрывать шаблоны
> > имён файлов сама, и если ни один файл не попал под шаблон, не
> > считает это ошибкой:
> >
> >   $ rpmquery -pR foo; echo "exit code: $?"
> >   error: open of foo failed: No such file or directory
> >   exit code: 1
> >   $ rpmquery -pR 'foo*'; echo "exit code: $?"
> >   exit code: 0
> >
> > В итоге хешер считает, что у пакета просто нет зависимостей.
> > Однако к этому времени в чруте уже достаточно всего чтобы у
> > sssd прошёл ./configure, и сброка падает только на тестах.
> >
> > В новой сборке sssd %ubt в релизе уже нет, так что ежедневная
> > пересборка должна проходить успешно.
> >
> > Вот такая вот история. Много букв, мораль не ясна.
>
>
> Мораль-то как раз ясна.
>
> 1) Принудительная замена %ubt на %nil (кроме свего прочего) сломала пересборку
> пакетов, которые а) используют %ubt, б) требуют  /proc для сборки.  Это изменение
> крайне необдуманное и несвоевременное. Нужно его отменить, и от %ubt уходить
> постепенно (если будет показана польза/необходимость такого ухода).
>
> 2) Метод "обновляйся, потом разберемся", с помощью которого "починили" пересборку sssd,
> в корне неверный, и привел к нерабочему sssd (подробности в https://bugzilla.altlinux.org/show_bug.cgi?id=35545)
> Правильное решение -- починить вычисление зависимостей во время пересборки.
> Обходной путь -- выпилить %ubt из спеки  sssd (и других пакетов, которые "внезапно" перестали пересобираться).
>
>
> Всем бобра,
>      Алексей
> _______________________________________________
> Devel mailing list
> Devel at lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel

вт, 30 окт. 2018 г. в 22:44, Ivan A. Melnikov <iv at altlinux.org>:
>
> On Fri, Oct 26, 2018 at 03:55:20PM +0400, Alexey Sheplyakov wrote:
> >    Привет!
> >
> >    23.10.2018, 15:03, "Ivan A. Melnikov" <iv at altlinux.org>:
> >    > Привет,
> >    >
> >    > Хочу рассказать вам одну историю.
> [...]
> >    >
> >    > Вот такая вот история. Много букв, мораль не ясна.
> >
> >
> >    Мораль-то как раз ясна.
> >
> >    1) Принудительная замена %ubt на %nil (кроме свего прочего) сломала
> >    пересборку
> >    пакетов, которые а) используют %ubt, б) требуют  /proc для сборки.
> [...]
>
> Это один вариант. У меня есть и другие варианты морали, основанные
> на том, что в поломке пересборки виноваты:
> * %ubt, которе было ошибкой с самого начала
> * сборочница, которая не смогла жить с таким прекрасным и удобным
>   %ubt: всё, описаное выше -- её баг
> * --query-repackage на тестовой пересборке
> * недостаточно протестированный переход на nosrc.rpm в query-repackage
>   (я бы всё таки падал, если файл не найден)
> * systemd
> * рептилоиды
> * безблагодатность
>
> Я принципиально отказываюсь выбирать между ними, но требую их
> все учесть.
>
> А откапывать %ubt из заслуженного %nil уже поздно и, более того,
> вредно. Это я, в частности, как мейнтенер догоняющей сборки в mips*
> говорю.
>
> >    2) Метод "обновляйся, потом разберемся", с помощью которого "починили"
> >    пересборку sssd,
> [...]
>
> А вот это здесь совсем ни при чём, и вообще другая история.
>
> --
>   wbr,
>     iv m.
> _______________________________________________
> Devel mailing list
> Devel at lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel


-- 
Sin (Sinelnikov Evgeny)


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