LINUX.ORG.RU

Помогите исправить скрипт

 , ,


0

1

У меня есть сборка Firefox 52 ESR для SLES 11, теперь надо сделать Firefox 60 ESR. Он хочет RUST, который хочет LLVM.

Вот проблемный кусочек SPEC-файла LLVM 5:

%if %{with lldb_python}
# Python: fix binary libraries location.
liblldb=$(basename $(readlink -e %{buildroot}%{_libdir}/liblldb.so))
ln -vsf "../../../${liblldb}" %{buildroot}%{python_sitearch}/lldb/_lldb.so
ln -vsf "../../${liblldb}"    %{buildroot}%{python_sitearch}/_lldb.so
%endif

Вот что мне выдаёт выдаёт сборка:

+ mv /var/tmp/llvm5-5.0.0-build/usr/share/opt-viewer/optrecord.py /var/tmp/llvm5-5.0.0-build/usr/lib64/python2.6/site-packages/optrecord.py
+ mkdir -p /var/tmp/llvm5-5.0.0-build/etc/bash_completion.d
+ mv /var/tmp/llvm5-5.0.0-build/usr/share/clang/bash-autocomplete.sh /var/tmp/llvm5-5.0.0-build/etc/bash_completion.d/clang.sh
+ chmod -x /var/tmp/llvm5-5.0.0-build/etc/bash_completion.d/clang.sh
+ chmod -x /var/tmp/llvm5-5.0.0-build/usr/share/man/man1/scan-build.1
+++ readlink -e /var/tmp/llvm5-5.0.0-build/usr/lib64/liblldb.so
++ basename
basename: missing operand
Try `basename --help' for more information.
+ liblldb=
error: Bad exit status from /var/tmp/rpm-tmp.12942 (%install)

Возможно, старый bash имеет другой синтаксис. Помогите, пожалуйста, исправить

★★★★★

Последнее исправление: ZenitharChampion (всего исправлений: 4)

Ну там же всё написано. Посмотри basename --help и узнаешь, что ему надо. Так же проверь, что возвращает readlink и сравни это с тем, что ожидает basename. Стандартный режим отладки.

shell-script ★★★★★
()

liblldb=$(basename $(readlink -e %{buildroot}%{_libdir}/liblldb.so))

У тебя readlink возвращает пустую строку и basename не хочет работать.

legolegs ★★★★★
()

readlink -e /var/tmp/llvm5-5.0.0-build/usr/lib64/liblldb.so

man readlink

-e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.