[devel] сломалась инициализация hasher для aarch64 с использованием qemu

Dmitry V. Levin ldv на altlinux.org
Вт Дек 22 15:37:13 MSK 2020


On Tue, Dec 22, 2020 at 04:10:29PM +0400, Ivan A. Melnikov wrote:
> On Tue, Dec 22, 2020 at 03:28:38PM +0400, Ivan A. Melnikov wrote:
> > On Tue, Dec 22, 2020 at 05:58:55PM +0700, Антон Мидюков wrote:
> > > 22.12.2020 15:00, Антон Мидюков пишет:
> > > > 22.12.2020 01:01, Dmitry V. Levin пишет:
> > > >> On Tue, Dec 22, 2020 at 12:51:35AM +0700, Антон Мидюков wrote:
> > > >>> Здравствуйте
> > > >>>
> > > >>> 19 декабря сего года сломалась инициализация hasher (как минимум) для aarch64 с использованием qemu с использованием репозитория Сизиф.
> > > >>>
> > > >>> hsh --init --target=aarch64 --apt-config=apt.conf.sisyphus.aarch64 --with-qemu aarch64 -v
> > > >>>
> > > >>> ...
> > > >>>
> > > >>> hsh-initroot: Created fakedata.
> > > >>> libfakeroot: semop(-1): Function not implemented
> > > >>> hsh-initroot: Unpack of setup_2.2.16-alt1_noarch_1577333714.rpm for fakedata failed.
> > > >>> mki-prepare: /tmp/.private/antohami/mkimage-profiles.build.lZWMzx4/live/.work: unable to make initial chroot: rc=1
> > > >>>
> > > >>> Версия qemu 4.1.1-alt1
> > > >>
> > > >> С актуальной версией qemu не пробовали?
> > > >>
> > > > 
> > > > Попробовал актуальную версию для p9 4.2.1-alt2 на стартерките builder x86_64. Та же проблема для всех архитектур.
> > > > О результатах на Сизифном qemu сообщу позже.
> > > 
> > > На сизифном qemu 5.2.0-alt1 невозможно проверить из-за бага:
> > > https://bugzilla.altlinux.org/show_bug.cgi?id=39141
> > > 
> > > Проверил 5.0.0-alt1 проблема со сборкой на базе Сизифа та же, что и у более ранних версий.
> > 
> > Подтверждаю, у меня такая же конфигурация (боевая x86_64 c сегодняшним
> > Сизифом, qemu-user-static-aarch64-5.0.0-alt1 на hold'е). Формирование
> > чрута с aarch64 Сизифом завершается ошибкой:
> > 
> > hsh-initroot: Unpacked initial package list.
> > hsh-initroot: Created entry point: /tmp/.private/iv/aaaa/chroot/.host/entry
> > libfakeroot: semop(-1): Function not implemented
> 
> glibc начиная с 2.31 реализует semop через semtimedop
> 
> http://git.altlinux.org/gears/g/..git?p=glibc.git;a=commitdiff;h=765cdd0bffd77960ae852104fc4ea5edcdb8aed3
> 
> Если я правильно понимаю, на 32-битных архитектурах на самом деле
> используется системный вызов semtimedop_time64.

На 32-битных архитектурах используется semtimedop_time64, но если
ядро его не поддерживает, то используется обычный semtimedop.

На 64-битных архитектурах используется обычный semtimedop.

> Однако поддержка этого системного вызова в qemu-user появилась
> только в 5.2:

Поддержки старого доброго semtimedop в qemu-user тоже раньше не было, что ли?

> http://git.altlinux.org/gears/q/..git?p=qemu.git;a=commitdiff;h=cac46eb021fbbac77f1f98223b19608f31fc2236
> 
> То есть, рабочего qemu-user (без ALTBUG #39141), который мог бы запустить
> fakeroot на Сизифе (т.е. 5.2+) у нас нет и не было.

Зачем же было ломать qemu-user?


-- 
ldv


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