repack.sh: 95: Syntax error: "(" unexpected (expecting "then")
Closed this issue · 19 comments
Текущая версия bea5319
При попытки сборки
bash repack.sh Yandex_Music_x64_5.0.10.exe
Выводит ошибку и прекращает сборку
repack.sh: 72: read: Illegal option -d
SecretKey replaced
Fixing Title
repack.sh: 80: read: Illegal option -d
Title Fixed
repack.sh: 95: Syntax error: "(" unexpected (expecting "then")
ubuntu 23.10
а если запускать через sh
?
вот полный вывод команды sh build_deb.sh Yandex_Music_x64_5.0.10.exe
Downloading Yandex_Music_x64_5.0.10.exe
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 69.3M 100 69.3M 0 0 31.2M 0 0:00:02 0:00:02 --:--:-- 31.2M
Checking sha256
/tmp/tmp.VkeOlT8uvV/Yandex_Music_x64_5.0.10.exe: ЦЕЛ
Repaking Yandex_Music_x64_5.0.10.exe
repack.sh: 17: Bad substitution
7-Zip 23.01 (x64) : Copyright (c) 1999-2023 Igor Pavlov : 2023-06-20
64-bit locale=ru_RU.UTF-8 Threads:16 OPEN_MAX:1024
Scanning the drive for archives:
1 file, 72716536 bytes (70 MiB)
Extracting archive: /tmp/tmp.VkeOlT8uvV/Yandex_Music_x64_5.0.10.exe
--
Path = /tmp/tmp.VkeOlT8uvV/Yandex_Music_x64_5.0.10.exe
Type = PE
Physical Size = 72716536
CPU = x86
Characteristics = Executable 32-bit NoRelocs NoLineNums NoLocalSyms
Created = 2018-12-16 02:26:14
Headers Size = 1024
Checksum = 72722671
Image Size = 2068480
Section Alignment = 4096
File Alignment = 512
Code Size = 26624
Initialized Data Size = 473088
Uninitialized Data Size = 16384
Linker Version = 6.0
OS Version = 4.0
Image Version = 6.0
Subsystem Version = 4.0
Subsystem = Windows GUI
DLL Characteristics = Relocated NX-Compatible NoSEH TerminalServerAware
Stack Reserve = 1048576
Stack Commit = 4096
Heap Reserve = 1048576
Heap Commit = 4096
Image Base = 4194304
Comment =
{
FileVersion: 5.0.10.0
FileVersion: 5.0.10.release-beta-10/b1ebaba6
ProductVersion: 5.0.10.0
ProductVersion: 5.0.10
CompanyName: Яндекс Музыка
FileDescription: Персональные рекомендации, подборки на любой случай и музыкальные новинки
LegalCopyright: Яндекс Музыка
LegalTrademarks: Яндекс Музыка
ProductName: Яндекс Музыка
}
----
Path = [0]
Size = 72306272
Packed Size = 72306272
Virtual Size = 72306272
Offset = 399872
--
Path = [0]
Type = Nsis
Physical Size = 72306267
Tail Size = 5
Method = Deflate
Solid = -
Headers Size = 51792
Embedded Stub Size = 0
SubType = NSIS-3 Unicode
Everything is Ok
Files: 8
Size: 72924614
Compressed: 72716536
7-Zip 23.01 (x64) : Copyright (c) 1999-2023 Igor Pavlov : 2023-06-20
64-bit locale=ru_RU.UTF-8 Threads:16 OPEN_MAX:1024
Scanning the drive for archives:
1 file, 71884166 bytes (69 MiB)
Extracting archive: /tmp/tmp.KFfUYDV5SV/app-64.7z
--
Path = /tmp/tmp.KFfUYDV5SV/app-64.7z
Type = 7z
Physical Size = 71884166
Headers Size = 1166
Method = LZMA2:26 LZMA:20 BCJ2
Solid = +
Blocks = 2
Everything is Ok
Folders: 2
Files: 74
Size: 281779432
Compressed: 71884166
Fixing SecretKey
repack.sh: 72: read: Illegal option -d
SecretKey replaced
Fixing Title
repack.sh: 80: read: Illegal option -d
Title Fixed
repack.sh: 95: Syntax error: "(" unexpected (expecting "then")
а если запускать через
sh
?
Запустите с bash -x repack.sh
read: Illegal option -d
выглядит как-будто запускается из под sh а не bash. Какие-то проблемы с синтаксисом. Проверьте что у вас установле bash в /bin/bash
и попробуйте запустить как исполняемый файл
Запустите с
bash -x repack.sh
не, проблема в интерпретаторе
Запустите с
bash -x repack.sh
не, проблема в интерпретаторе
Возможно, и в версии bash. Какая версия используется?
GNU bash, версия 5.2.21(1)-release (x86_64-pc-linux-gnu)
Запустите с
bash -x repack.sh
не, проблема в интерпретаторе
Возможно, и в версии bash. Какая версия используется?
Запустите с
bash -x repack.sh
не, проблема в интерпретаторе
Возможно, и в версии bash. Какая версия используется?
Ubuntu 22.04.
На версии
GNU bash, версия 5.1.16(1)-release (x86_64-pc-linux-gnu)
Такая же ошибка
repack.sh: 95: Syntax error: "(" unexpected (expecting "then")
Проблема где-то в моем коде. Через часок до компа доберусь - разберусь.
Очень странно, но как на версии GNU bash, version 5.2.21(1)-release (x86_64-pc-linux-gnu)
, так и на версии GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
я получасю совсем другую ошибку
Applying patch '/home/shved/Projects/nix/yandex-music-linux/patches/0003-Create-app-tray-icon.patch'
patching file main/lib/createTray.js
patching file main/index.js
Hunk #1 FAILED at 23.
Hunk #2 succeeded at 29 with fuzz 1 (offset -1 lines).
1 out of 2 hunks FAILED -- saving rejects to file main/index.js.rej
буду пытаться воспроизвести вашу...
@va-proger можете попробовать запустить с таким патчем:
diff --git a/repack.sh b/repack.sh
index 91252cc..8157d03 100755
--- a/repack.sh
+++ b/repack.sh
@@ -86,13 +86,13 @@ echo "Title Fixed"
# applying patches
apply_patch()
{
- local patchfile patchname
+ local patchfile patchname re
patchfile="$(realpath "$1")"
patchname="$(basename "$patchfile")"
patchname="${patchname,,}"
-
- if [[ $patchname =~ [[:digit:]]+\-optional\-(.+).patch ]]; then
+ re='[[:digit:]]+\-optional\-(.+).patch ]]'
+ if [[ $patchname =~ $re ]]; then
patchname="${BASH_REMATCH[1]}"
patchname="${patchname//[- ]/_}"
if eval [ \"\$"patch_$patchname"\" != 1 ]; then
Hunk #1 FAILED at 23.
Ааа это у меня старая версия YM была...
@va-proger можете попробовать запустить с таким патчем:
diff --git a/repack.sh b/repack.sh index 91252cc..8157d03 100755 --- a/repack.sh +++ b/repack.sh @@ -86,13 +86,13 @@ echo "Title Fixed" # applying patches apply_patch() { - local patchfile patchname + local patchfile patchname re patchfile="$(realpath "$1")" patchname="$(basename "$patchfile")" patchname="${patchname,,}" - - if [[ $patchname =~ [[:digit:]]+\-optional\-(.+).patch ]]; then + re='[[:digit:]]+\-optional\-(.+).patch ]]' + if [[ $patchname =~ $re ]]; then patchname="${BASH_REMATCH[1]}" patchname="${patchname//[- ]/_}" if eval [ \"\$"patch_$patchname"\" != 1 ]; then
sh build_deb.sh x64 Yandex_Music_x64_5.0.10.exe
Downloading Yandex_Music_x64_5.0.10.exe
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 69.3M 100 69.3M 0 0 27.5M 0 0:00:02 0:00:02 --:--:-- 27.5M
Checking sha256
/tmp/tmp.7PekMdP5JE/Yandex_Music_x64_5.0.10.exe: ЦЕЛ
Repaking Yandex_Music_x64_5.0.10.exe
repack.sh: 17: Bad substitution
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,64 bits,12 CPUs AMD Ryzen 5 5600H with Radeon Graphics (A50F00),ASM,AES-NI)
Scanning the drive for archives:
1 file, 72716536 bytes (70 MiB)
Extracting archive: /tmp/tmp.7PekMdP5JE/Yandex_Music_x64_5.0.10.exe
--
Path = /tmp/tmp.7PekMdP5JE/Yandex_Music_x64_5.0.10.exe
Type = PE
Physical Size = 72716536
CPU = x86
Characteristics = Executable 32-bit NoRelocs NoLineNums NoLocalSyms
Created = 2018-12-16 02:26:14
Headers Size = 1024
Checksum = 72722671
Image Size = 2068480
Section Alignment = 4096
File Alignment = 512
Code Size = 26624
Initialized Data Size = 473088
Uninitialized Data Size = 16384
Linker Version = 6.0
OS Version = 4.0
Image Version = 6.0
Subsystem Version = 4.0
Subsystem = Windows GUI
DLL Characteristics = Relocated NX-Compatible NoSEH TerminalServerAware
Stack Reserve = 1048576
Stack Commit = 4096
Heap Reserve = 1048576
Heap Commit = 4096
Image Base = 4194304
Comment = FileVersion: 5.0.10.0
FileVersion: 5.0.10.release-beta-10/b1ebaba6
ProductVersion: 5.0.10.0
ProductVersion: 5.0.10
CompanyName: Яндекс Музыка
FileDescription: Персональные рекомендации, подборки на любой случай и музыкальные новинки
LegalCopyright: Яндекс Музыка
LegalTrademarks: Яндекс Музыка
ProductName: Яндекс Музыка
----
Path = [0]
Size = 72306272
Packed Size = 72306272
Virtual Size = 72306272
Offset = 399872
--
Path = [0]
Type = Nsis
Physical Size = 72306267
Tail Size = 5
Method = Deflate
Solid = -
Headers Size = 51792
Embedded Stub Size = 0
SubType = NSIS-3 Unicode BadCmd=11
Everything is Ok
Files: 8
Size: 72924614
Compressed: 72716536
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,64 bits,12 CPUs AMD Ryzen 5 5600H with Radeon Graphics (A50F00),ASM,AES-NI)
Scanning the drive for archives:
1 file, 71884166 bytes (69 MiB)
Extracting archive: /tmp/tmp.ccMjUYAl72/app-64.7z
--
Path = /tmp/tmp.ccMjUYAl72/app-64.7z
Type = 7z
Physical Size = 71884166
Headers Size = 1166
Method = LZMA2:26 LZMA:20 BCJ2
Solid = +
Blocks = 2
Everything is Ok
Folders: 2
Files: 74
Size: 281779432
Compressed: 71884166
Fixing SecretKey
repack.sh: 72: read: Illegal option -d
SecretKey replaced
Fixing Title
repack.sh: 80: read: Illegal option -d
Title Fixed
repack.sh: 99: Bad substitution
bash build_deb.sh x64 Yandex_Music_x64_5.0.10.exe
Downloading Yandex_Music_x64_5.0.10.exe
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 69.3M 100 69.3M 0 0 25.1M 0 0:00:02 0:00:02 --:--:-- 25.1M
Checking sha256
/tmp/tmp.pbtpG6rR9g/Yandex_Music_x64_5.0.10.exe: ЦЕЛ
Repaking Yandex_Music_x64_5.0.10.exe
repack.sh: 17: Bad substitution
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,64 bits,12 CPUs AMD Ryzen 5 5600H with Radeon Graphics (A50F00),ASM,AES-NI)
Scanning the drive for archives:
1 file, 72716536 bytes (70 MiB)
Extracting archive: /tmp/tmp.pbtpG6rR9g/Yandex_Music_x64_5.0.10.exe
--
Path = /tmp/tmp.pbtpG6rR9g/Yandex_Music_x64_5.0.10.exe
Type = PE
Physical Size = 72716536
CPU = x86
Characteristics = Executable 32-bit NoRelocs NoLineNums NoLocalSyms
Created = 2018-12-16 02:26:14
Headers Size = 1024
Checksum = 72722671
Image Size = 2068480
Section Alignment = 4096
File Alignment = 512
Code Size = 26624
Initialized Data Size = 473088
Uninitialized Data Size = 16384
Linker Version = 6.0
OS Version = 4.0
Image Version = 6.0
Subsystem Version = 4.0
Subsystem = Windows GUI
DLL Characteristics = Relocated NX-Compatible NoSEH TerminalServerAware
Stack Reserve = 1048576
Stack Commit = 4096
Heap Reserve = 1048576
Heap Commit = 4096
Image Base = 4194304
Comment = FileVersion: 5.0.10.0
FileVersion: 5.0.10.release-beta-10/b1ebaba6
ProductVersion: 5.0.10.0
ProductVersion: 5.0.10
CompanyName: Яндекс Музыка
FileDescription: Персональные рекомендации, подборки на любой случай и музыкальные новинки
LegalCopyright: Яндекс Музыка
LegalTrademarks: Яндекс Музыка
ProductName: Яндекс Музыка
----
Path = [0]
Size = 72306272
Packed Size = 72306272
Virtual Size = 72306272
Offset = 399872
--
Path = [0]
Type = Nsis
Physical Size = 72306267
Tail Size = 5
Method = Deflate
Solid = -
Headers Size = 51792
Embedded Stub Size = 0
SubType = NSIS-3 Unicode BadCmd=11
Everything is Ok
Files: 8
Size: 72924614
Compressed: 72716536
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,64 bits,12 CPUs AMD Ryzen 5 5600H with Radeon Graphics (A50F00),ASM,AES-NI)
Scanning the drive for archives:
1 file, 71884166 bytes (69 MiB)
Extracting archive: /tmp/tmp.9Lv51PBX5l/app-64.7z
--
Path = /tmp/tmp.9Lv51PBX5l/app-64.7z
Type = 7z
Physical Size = 71884166
Headers Size = 1166
Method = LZMA2:26 LZMA:20 BCJ2
Solid = +
Blocks = 2
Everything is Ok
Folders: 2
Files: 74
Size: 281779432
Compressed: 71884166
Fixing SecretKey
repack.sh: 72: read: Illegal option -d
SecretKey replaced
Fixing Title
repack.sh: 80: read: Illegal option -d
Title Fixed
Я собрал старой сборкой, работает и гуд. Новой не собирает. Может кончено у меня проблема, но я как раз переустанавливал ubuntu, и так получилось что пытался собирать на двух версиях стабильной 22.04 и 23.10, результат один и тот же
repack.sh: 72: read: Illegal option -d
SecretKey replaced
Fixing Title
repack.sh: 80: read: Illegal option -d
Title Fixed
repack.sh: 95: Syntax error: "(" unexpected (expecting "then")
сейчас ошибка выше.
В общем другие не жалуются, значит у них нормально собирается. я и старой могу собирать. Возможно как то я не правильно собираю🙂
Возможно как то я не правильно собираю🙂
да нет, очень странно выглядит, как будто бы интерпретатор другой и не поддерживает часть команд которые мы используем. Непонятно в чем проблема, но я бы на вашем месте просто скачал бинарник из релиза или yandexmusic.asar уже перепакованный и его уже крутил просто вместо самостоятельной перепаковки.
@va-proger, можете, пожалуйста запустить точно вот такой командой:
bash -x ./repack.sh Yandex_Music_x64_5.0.10.exe
и скинуть полный лог.
ого, автоматически закрывает)
@va-proger закрываю пока не будет предоставлено больше информации