From: "Ivan A. Melnikov" <iv@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: [devel] про sssd, query-repackage и ubt
Date: Tue, 23 Oct 2018 15:03:37 +0400
Message-ID: <20181023110337.57ja34mncqxwxuya@titan.localdomain> (raw)
[-- Attachment #1: Type: text/plain, Size: 3961 bytes --]
Привет,
Хочу рассказать вам одну историю. Букв много, мораль не ясна,
так что можете не читать это всё.
Не так давно в Сизифе перестал пересобираться пакет 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 в релизе уже нет, так что ежедневная
пересборка должна проходить успешно.
Вот такая вот история. Много букв, мораль не ясна. Спасибо
что были с нами.
Refs:
[0] http://git.altlinux.org/beehive/logs/Sisyphus-x86_64/archive/2018/1022/error/sssd-1.16.3-alt1.S1.zst
[1] http://git.altlinux.org/gears/h/hasher.git?p=hasher.git;a=blob;f=hasher/hsh-rebuild;h=dbb8471ab6ac59ada7a5f08d2dec3ffa1e150670;hb=d5279152e6ae7bf21df760bbf09931f021a9f7d6#l247
--
wbr,
iv m.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
next reply other threads:[~2018-10-23 11:03 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-23 11:03 Ivan A. Melnikov [this message]
2018-10-30 18:45 ` Ivan A. Melnikov
2018-10-30 20:22 ` Dmitry V. Levin
2018-11-01 8:38 ` Evgeny Sinelnikov
2018-11-01 9:30 ` [devel] про hasher и rpmquery Dmitry V. Levin
2018-11-01 9:47 ` [devel] /proc // " Ivan A. Melnikov
2018-11-01 10:07 ` Dmitry V. Levin
2018-12-29 13:44 ` [devel] " Dmitry V. Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181023110337.57ja34mncqxwxuya@titan.localdomain \
--to=iv@altlinux.org \
--cc=devel@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git