cucumber-sp/yandex-music-linux

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")

При этом данная 06880d7 прекрасно собрала и запустила
image

Проблема где-то в моем коде. Через часок до компа доберусь - разберусь.

Очень странно, но как на версии 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 закрываю пока не будет предоставлено больше информации