Skip to content

Установка прав на оскрипт 2.0 + мелкие правки #24

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Oct 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions packagedef
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Описание.Имя("ovm")
.Версия("1.2.0")
.Версия("1.2.1")
.Автор("Nikita Gryzlov")
.АдресАвтора("[email protected]")
.Описание("OneScript Version Manager")
Expand All @@ -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")
Expand Down
3 changes: 2 additions & 1 deletion src/core/Классы/ВерсииOneScript.os
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,8 @@
ПутьКИсполняемомуФайлу = ПутьКИсполняемомуФайлу + ".exe";
ИначеЕсли ЭтоWindows Тогда
ПутьКИсполняемомуФайлу = ПутьКИсполняемомуФайлу + ".bat";
ИначеЕсли ФС.ФайлСуществует(ПутьКИсполняемомуФайлу + ".sh") Тогда
ИначеЕсли ФС.ФайлСуществует(ПутьКИсполняемомуФайлу + ".sh")
И Не ФС.ФайлСуществует(ПутьКИсполняемомуФайлу) Тогда
ПутьКИсполняемомуФайлу = ПутьКИсполняемомуФайлу + ".sh";
КонецЕсли; // BSLLS:IfElseIfEndsWithElse-off

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@
КонецФункции

Функция ВерсияПриложения() Экспорт
Возврат "1.2.0";
Возврат "1.2.1";
КонецФункции
43 changes: 34 additions & 9 deletions src/core/Классы/УстановщикOneScript.os
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@

УстановитьOneScriptИзZipАрхива(ФайлУстановщика, КаталогУстановкиВерсии);
ДобавитьSHСкриптыПриНеобходимости(КаталогУстановкиВерсии);
УстановитьРазрешениеДляSHСкриптовПриНеобходимости(КаталогУстановкиВерсии);
Исключение
УдалитьФайлы(КаталогУстановкиВерсии);
ВызватьИсключение ОписаниеОшибки();
Expand Down Expand Up @@ -264,17 +265,41 @@

ЗаписьТекста.Записать(ТекстСкрипта);
ЗаписьТекста.Закрыть();

Лог.Отладка("Установка флага выполнения...");

Команда = Новый Команда;
Команда.УстановитьКоманду("chmod");
Команда.ДобавитьПараметр("+x");
Команда.ДобавитьПараметр(ПутьКСкрипту);
Команда.УстановитьПравильныйКодВозврата(0);
КонецПроцедуры

Процедура УстановитьРазрешениеДляSHСкриптовПриНеобходимости(КаталогУстановкиВерсии)

Команда.Исполнить();
Лог.Отладка(Команда.ПолучитьВывод());
Если ЭтоWindows Тогда
Возврат;
КонецЕсли;

ФайлыДляУстановкиРазрешений = Новый Массив;
ФайлыДляУстановкиРазрешений.Добавить("opm");
ФайлыДляУстановкиРазрешений.Добавить("opm.sh");
ФайлыДляУстановкиРазрешений.Добавить("oscript");
ФайлыДляУстановкиРазрешений.Добавить("oscript.sh");

Для каждого Файл Из ФайлыДляУстановкиРазрешений Цикл

ПутьКСкрипту = ОбъединитьПути(КаталогУстановкиВерсии, "bin", Файл);

Если Не ФС.ФайлСуществует(ПутьКСкрипту) Тогда
Продолжить;
КонецЕсли;

Лог.Отладка("Установка флага выполнения %1", ПутьКСкрипту);

Команда = Новый Команда;
Команда.УстановитьКоманду("chmod");
Команда.ДобавитьПараметр("+x");
Команда.ДобавитьПараметр(ПутьКСкрипту);
Команда.УстановитьПравильныйКодВозврата(0);

Команда.Исполнить();
Лог.Отладка(Команда.ПолучитьВывод());

КонецЦикла;

КонецПроцедуры

Expand Down