Меня то же крепко достали сборочные скрипты и я стал смотреть где происходит сбой? Всё оказалось просто до безобразия - при рекрсивном вызове скриптов из-за отсутствия в них команды RETURN (EXIT) получаем старую проблему известную ещё со времён OS/360 - попрограмма отрабатывает свой алгоритм, но возврата в вызывающую программу не происходит и задача переходит в состояние бесконечного ожидания. Особенно чётко это проявляется при последовательных вызовах одной цепочки скриптов с разными параметрами - первый вызов отработает, но один из вложенных скриптов не возвращает управление и обычно происходит прерывание пакетной задачи т.к. она не отвечает.
Повозился, поколдовал с вариантами, но т.к. хотел сделать монолитный пакет, то просто раскрыл сборочные скрипты ./src/NetBox/scripts/ , легонца перекомпоновал подстройку под среду, дописал систему сборки с небольшим изменением - имя выходного архива включает и номер ревизии: _FarNetBox-2.4.2.463_Far3x64.7z или так _FarNetBox-2.4.2.463_Far3x86.7z мне так проще архивы на FTP отслеживать, ну и механизм разброски результата с уборкой мусора. В итоге вот что вышло:
несколько громоздко, зато надёжно - клонируем рабочую копию, копируем в её корень скрипт под именем bld.cmd и при обновлении исходников просто говорим cd /d ./Far-Netbox&bld после чего занимаемся другими делами а скрипт сам всё делает.
Да, забыл сказать - скрипт частично использует команды UNIX (cp, gawk, rm) - их можно или заменить на вин аналоги (cp и rm) или из того же Msys позвать. У меня они прямиком из UNIX-а зовутся.
Меня то же крепко достали сборочные скрипты и я стал смотреть где происходит сбой? Всё оказалось просто до безобразия - при рекрсивном вызове скриптов из-за отсутствия в них команды RETURN (EXIT) получаем старую проблему известную ещё со времён OS/360 - попрограмма отрабатывает свой алгоритм, но возврата в вызывающую программу не происходит и задача переходит в состояние бесконечного ожидания. Особенно чётко это проявляется при последовательных вызовах одной цепочки скриптов с разными параметрами - первый вызов отработает, но один из вложенных скриптов не возвращает управление и обычно происходит прерывание пакетной задачи т.к. она не отвечает.
Повозился, поколдовал с вариантами, но т.к. хотел сделать монолитный пакет, то просто раскрыл сборочные скрипты ./src/NetBox/scripts/ , легонца перекомпоновал подстройку под среду, дописал систему сборки с небольшим изменением - имя выходного архива включает и номер ревизии: _FarNetBox-2.4.2.463_Far3x64.7z или так _FarNetBox-2.4.2.463_Far3x86.7z мне так проще архивы на FTP отслеживать, ну и механизм разброски результата с уборкой мусора. В итоге вот что вышло:
несколько громоздко, зато надёжно - клонируем рабочую копию, копируем в её корень скрипт под именем bld.cmd и при обновлении исходников просто говорим cd /d ./Far-Netbox&bld после чего занимаемся другими делами а скрипт сам всё делает.