/tmp/.private/user/pulsejoin-buildroot/usr/bin/pulsejoin: line 82: syntax error near unexpected token `<' /tmp/.private/user/pulsejoin-buildroot/usr/bin/pulsejoin: line 82: ` done < <(sed -e 's/ /\'$'\n/g' -e '/^$/d' "${pa_modules_list_file}")' shell.req: ERROR: /tmp/.private/user/pulsejoin-buildroot/usr/bin/pulsejoin: /bin/sh --rpm-requires failed Участок кода: pa_remove_devices(){ if [ -f "$pa_modules_list_file" ]; then while read -r line do pactl unload-module "$line" done < <(sed -e 's/ /\'$'\n/g' -e '/^$/d' "${pa_modules_list_file}") rm -fv "${pa_modules_list_file}" fi } https://gitlab.com/mikhailnov/pulsejoin/blob/master/pulsejoin.sh#L82 В сизифе не пробовал.
$ rpmbuild --version RPM версия 4.0.4 (это p8) Для воспроизведения: git clone https://gitlab.com/mikhailnov/pulsejoin cd pulsejoin rpmbb
bash --rpm-requires pulsejoin.sh - все хорошо, sh --rpm-requires pulsejoin.sh - ошибка. Шебанг #!/usr/bin/env bash
Замена шебанга sed -i %{buildroot}/usr/bin/pulsejoin -e 's,#!/usr/bin/env bash,#!/bin/bash,g' помогает. То есть /usr/lib/rpm/shell.req вызывает sh вместо bash, не распознав /usr/bin/env bash
rpm-build-4.0.4-alt126 -> sisyphus: Thu Jan 31 2019 Gleb F-Malinovskiy <glebfm@altlinux> 4.0.4-alt126 - imz@: + shell.req: correctly detect #!/bin/env bash (ALT#35376). + platform.in: completely expand %_libsuff (/usr/lib%nil was ugly). - Fixed getopt(3) use in parameterized macros parser.