Bug 34506 - Неверные имена эмуляторов в конфигурационных файлах
Summary: Неверные имена эмуляторов в конфигурационных файлах
Status: NEW
Alias: None
Product: Branch p8
Classification: Distributions
Component: qemu-user-static-binfmt (show other bugs)
Version: не указана
Hardware: x86_64 Linux
: P3 critical
Assignee: Andrey Cherepanov
QA Contact: qa-p8@altlinux.org
URL: https://forum.altlinux.org/index.php?...
Keywords:
Depends on: 37083
Blocks:
  Show dependency tree
 
Reported: 2018-02-02 22:15 MSK by xdsl
Modified: 2019-08-09 19:55 MSK (History)
4 users (show)

See Also:


Attachments
патч на спек (412 bytes, patch)
2018-06-09 11:28 MSK, Ivan A. Melnikov
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description xdsl 2018-02-02 22:15:27 MSK
Например, файл /lib/binfmt.d/qemu-arm-static.conf из пакета qemu-user-static-binfmt ссылается на /usr/bin/qemu-arm-static, в то время как соответствующий эмулятор из пакета qemu-user-static находится в файле /usr/bin/qemu-arm.static
Comment 1 Ivan A. Melnikov 2018-06-09 11:28:12 MSK
Created attachment 7580 [details]
патч на спек

Эта ошибка воспроизводится и на Сизифе.

В приложенном патче изменение одного символа в спеке, которое решает проблему (at least, works on my machine). Патч сделан поверх сизифного qemu 2.12.0-alt1 (commit a3bb60b).
Comment 2 Dmitry V. Levin 2019-08-09 19:55:06 MSK
Какой ужас в этом спеке:

for i in %buildroot%_binfmtdir/*; do
    mv $i $(echo $i | sed 's/.conf/-dynamic.conf/')
done

%if user_static
for regularfmt in %buildroot%_binfmtdir/*; do
    staticfmt="$(echo $regularfmt | sed 's/-dynamic/-static/g')"
    cat $regularfmt | tr -d '\n' | sed "s/:$/-static:F/" > $staticfmt
done
%endif

Вместо того, чтобы написать что-нибудь простое и понятное, например,

for f in %buildroot%_binfmtdir/*.conf; do
    [ -f "$f" ]
    dynamic="${f%.conf}-dynamic.conf"
    mv "$f" "$dynamic"
%if user_static
    static="${f%.conf}-static.conf"
    sed 's/:$/-static:/' < "$dynamic" > "$static"
%endif
done