diff --git a/packagedef b/packagedef index 0c6008e..7749f62 100644 --- a/packagedef +++ b/packagedef @@ -1,5 +1,5 @@ Описание.Имя("ovm") - .Версия("1.2.0") + .Версия("1.2.1") .Автор("Nikita Gryzlov") .АдресАвтора("nixel2007@gmail.com") .Описание("OneScript Version Manager") @@ -10,10 +10,9 @@ .ЗависитОт("fs") .ЗависитОт("tempfiles") .ЗависитОт("strings") - .ЗависитОт("decorator", "1.5.2") .ЗависитОт("autumn", "3.2.0") .ЗависитОт("autumn-logos", "1.1.1") - .ЗависитОт("autumn-cli", "1.0.3") + .ЗависитОт("autumn-cli", "1.0.5") .ЗависитОт("collectionos", "0.3.0") .РазработкаЗависитОт("1bdd", "1.13.0") .ИсполняемыйФайл("src/cmd/ovm.os", "ovm") diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\320\265\321\200\321\201\320\270\320\270OneScript.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\320\265\321\200\321\201\320\270\320\270OneScript.os" index fb0c4c6..c4d91b1 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\320\265\321\200\321\201\320\270\320\270OneScript.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\320\265\321\200\321\201\320\270\320\270OneScript.os" @@ -119,7 +119,8 @@ ПутьКИсполняемомуФайлу = ПутьКИсполняемомуФайлу + ".exe"; ИначеЕсли ЭтоWindows Тогда ПутьКИсполняемомуФайлу = ПутьКИсполняемомуФайлу + ".bat"; - ИначеЕсли ФС.ФайлСуществует(ПутьКИсполняемомуФайлу + ".sh") Тогда + ИначеЕсли ФС.ФайлСуществует(ПутьКИсполняемомуФайлу + ".sh") + И Не ФС.ФайлСуществует(ПутьКИсполняемомуФайлу) Тогда ПутьКИсполняемомуФайлу = ПутьКИсполняемомуФайлу + ".sh"; КонецЕсли; // BSLLS:IfElseIfEndsWithElse-off diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" index 0432f39..80a537c 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" @@ -12,5 +12,5 @@ КонецФункции Функция ВерсияПриложения() Экспорт - Возврат "1.2.0"; + Возврат "1.2.1"; КонецФункции diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\321\211\320\270\320\272OneScript.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\321\211\320\270\320\272OneScript.os" index 6075e54..9532036 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\321\211\320\270\320\272OneScript.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\321\211\320\270\320\272OneScript.os" @@ -107,6 +107,7 @@ УстановитьOneScriptИзZipАрхива(ФайлУстановщика, КаталогУстановкиВерсии); ДобавитьSHСкриптыПриНеобходимости(КаталогУстановкиВерсии); + УстановитьРазрешениеДляSHСкриптовПриНеобходимости(КаталогУстановкиВерсии); Исключение УдалитьФайлы(КаталогУстановкиВерсии); ВызватьИсключение ОписаниеОшибки(); @@ -264,17 +265,41 @@ ЗаписьТекста.Записать(ТекстСкрипта); ЗаписьТекста.Закрыть(); - - Лог.Отладка("Установка флага выполнения..."); - Команда = Новый Команда; - Команда.УстановитьКоманду("chmod"); - Команда.ДобавитьПараметр("+x"); - Команда.ДобавитьПараметр(ПутьКСкрипту); - Команда.УстановитьПравильныйКодВозврата(0); +КонецПроцедуры + +Процедура УстановитьРазрешениеДляSHСкриптовПриНеобходимости(КаталогУстановкиВерсии) - Команда.Исполнить(); - Лог.Отладка(Команда.ПолучитьВывод()); + Если ЭтоWindows Тогда + Возврат; + КонецЕсли; + + ФайлыДляУстановкиРазрешений = Новый Массив; + ФайлыДляУстановкиРазрешений.Добавить("opm"); + ФайлыДляУстановкиРазрешений.Добавить("opm.sh"); + ФайлыДляУстановкиРазрешений.Добавить("oscript"); + ФайлыДляУстановкиРазрешений.Добавить("oscript.sh"); + + Для каждого Файл Из ФайлыДляУстановкиРазрешений Цикл + + ПутьКСкрипту = ОбъединитьПути(КаталогУстановкиВерсии, "bin", Файл); + + Если Не ФС.ФайлСуществует(ПутьКСкрипту) Тогда + Продолжить; + КонецЕсли; + + Лог.Отладка("Установка флага выполнения %1", ПутьКСкрипту); + + Команда = Новый Команда; + Команда.УстановитьКоманду("chmod"); + Команда.ДобавитьПараметр("+x"); + Команда.ДобавитьПараметр(ПутьКСкрипту); + Команда.УстановитьПравильныйКодВозврата(0); + + Команда.Исполнить(); + Лог.Отладка(Команда.ПолучитьВывод()); + + КонецЦикла; КонецПроцедуры