Fixed crash when application is launched without root

pull/9/head
parent 5313404058
commit 5bd400ad84

@ -138,11 +138,16 @@ void *yon_interface_update(main_window *widgets){
int kernels_size; int kernels_size;
config_str kernels = yon_resource_open_file(kernels_path, &kernels_size); config_str kernels = yon_resource_open_file(kernels_path, &kernels_size);
char *boot_config_run = config(KERNEL_BOOT_parameter);
char *boot_config_run=NULL;
int boot_size; int boot_size;
config_str boot_run = yon_config_load(get_active_kernel_command,&boot_size); config_str boot_run=NULL;
yon_char_remove_last_symbol(boot_run[0],'\n'); if(!getuid()){
boot_config_run = config(KERNEL_BOOT_parameter);
boot_run = yon_config_load(get_active_kernel_command,&boot_size);
yon_char_remove_last_symbol(boot_run[0],'\n');
}
for (int i=1;i<kernels_size;i++){ for (int i=1;i<kernels_size;i++){
kernels_tab *tab = yon_tab_row_new(GTK_LIST_BOX(widgets->KernelsPackageBox),kernels[i],widgets); kernels_tab *tab = yon_tab_row_new(GTK_LIST_BOX(widgets->KernelsPackageBox),kernels[i],widgets);
@ -152,17 +157,19 @@ void *yon_interface_update(main_window *widgets){
gtk_widget_destroy(g_list_nth_data(list,i)); gtk_widget_destroy(g_list_nth_data(list,i));
} }
g_list_free(list);} g_list_free(list);}
if (!strcmp(boot_run[0],tab->package)){ if(!getuid()){
yon_tag_add(GTK_BOX(tab->run_tags_box),RUNNING_LABEL,"tag_green",NULL); if (boot_run&&!strcmp(boot_run[0],tab->package)){
gtk_widget_hide(tab->remove_module_button); yon_tag_add(GTK_BOX(tab->run_tags_box),RUNNING_LABEL,"tag_green",NULL);
gtk_widget_hide(tab->remove_package_button); gtk_widget_hide(tab->remove_module_button);
gtk_widget_hide(tab->launch_button); gtk_widget_hide(tab->remove_package_button);
} else if (!yon_char_is_empty(boot_config_run)&&!strcmp(boot_config_run,tab->package)){ gtk_widget_hide(tab->launch_button);
yon_tag_add(GTK_BOX(tab->run_tags_box),BOOT_RUN_LABEL,"tag_orange",NULL); } else if (!yon_char_is_empty(boot_config_run)&&!strcmp(boot_config_run,tab->package)){
gtk_widget_hide(tab->launch_button); yon_tag_add(GTK_BOX(tab->run_tags_box),BOOT_RUN_LABEL,"tag_orange",NULL);
gtk_widget_hide(tab->remove_module_button); gtk_widget_hide(tab->launch_button);
gtk_widget_hide(tab->remove_package_button); gtk_widget_hide(tab->remove_module_button);
} gtk_widget_hide(tab->remove_package_button);
}
}
gtk_widget_set_can_focus(gtk_widget_get_parent(tab->main_box),0); gtk_widget_set_can_focus(gtk_widget_get_parent(tab->main_box),0);
} }
yon_char_parsed_free(kernels,kernels_size); yon_char_parsed_free(kernels,kernels_size);
@ -554,6 +561,14 @@ kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_windo
g_signal_connect(G_OBJECT(tab->remove_package_button),"clicked",G_CALLBACK(on_package_remove_clicked),dict); g_signal_connect(G_OBJECT(tab->remove_package_button),"clicked",G_CALLBACK(on_package_remove_clicked),dict);
g_signal_connect(G_OBJECT(tab->changelog_button),"clicked",G_CALLBACK(on_changelog_clicked),tab); g_signal_connect(G_OBJECT(tab->changelog_button),"clicked",G_CALLBACK(on_changelog_clicked),tab);
g_signal_connect(G_OBJECT(tab->launch_button),"clicked",G_CALLBACK(on_launch_cliked),dict); g_signal_connect(G_OBJECT(tab->launch_button),"clicked",G_CALLBACK(on_launch_cliked),dict);
if(getuid()){
gtk_widget_set_sensitive(tab->launch_button,0);
gtk_widget_set_sensitive(tab->remove_module_button,0);
gtk_widget_set_sensitive(tab->install_module_button,0);
gtk_widget_set_sensitive(tab->remove_package_button,0);
gtk_widget_set_sensitive(tab->install_package_button,0);
}
tab->module_installed=-1; tab->module_installed=-1;
tab->package_installed=-1; tab->package_installed=-1;
tab->name = yon_char_new(parsed[0]); tab->name = yon_char_new(parsed[0]);
@ -590,29 +605,33 @@ kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_windo
tab->module_requirements = yon_char_parse(parsed[3],&tab->module_requirements_size,","); tab->module_requirements = yon_char_parse(parsed[3],&tab->module_requirements_size,",");
tab->package_requirements = yon_char_parse(parsed[4],&tab->package_requirements_size,","); tab->package_requirements = yon_char_parse(parsed[4],&tab->package_requirements_size,",");
char *check_install_command = get_package_is_installed_command(tab->module); char *check_install_command = get_package_is_installed_command(tab->module);
if (!system(check_install_command)){ if (!getuid()){
yon_tag_add(GTK_BOX(tab->install_tags_box),MODULE_INSTALLED_LABEL,"tag_green",NULL);
tab->module_installed=1;
gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),module_icon_path,GTK_ICON_SIZE_BUTTON);
gtk_widget_show(tab->remove_module_button);
gtk_widget_hide(tab->install_module_button);
gtk_widget_show(tab->changelog_button);
gtk_widget_show(tab->launch_button);
} else tab->module_installed=0;
{
free(check_install_command);
check_install_command = get_package_is_installed_command(tab->package);
if (!system(check_install_command)){ if (!system(check_install_command)){
tab->package_installed=1; yon_tag_add(GTK_BOX(tab->install_tags_box),MODULE_INSTALLED_LABEL,"tag_green",NULL);
yon_tag_add(GTK_BOX(tab->install_tags_box),PACKAGE_INSTALLED_LABEL,"tag_green",NULL); tab->module_installed=1;
gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),package_icon_path,GTK_ICON_SIZE_BUTTON);
gtk_widget_hide(tab->install_package_button); gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),module_icon_path,GTK_ICON_SIZE_BUTTON);
gtk_widget_show(tab->remove_package_button); gtk_widget_show(tab->remove_module_button);
gtk_widget_hide(tab->install_module_button);
gtk_widget_show(tab->changelog_button); gtk_widget_show(tab->changelog_button);
gtk_widget_show(tab->launch_button); gtk_widget_show(tab->launch_button);
} else tab->package_installed=0;
} else tab->module_installed=0;
{
free(check_install_command);
check_install_command = get_package_is_installed_command(tab->package);
if (!system(check_install_command)){
tab->package_installed=1;
yon_tag_add(GTK_BOX(tab->install_tags_box),PACKAGE_INSTALLED_LABEL,"tag_green",NULL);
gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),package_icon_path,GTK_ICON_SIZE_BUTTON);
gtk_widget_hide(tab->install_package_button);
gtk_widget_show(tab->remove_package_button);
gtk_widget_show(tab->changelog_button);
gtk_widget_show(tab->launch_button);
} else tab->package_installed=0;
}
} else {
yon_tag_add(GTK_BOX(tab->install_tags_box),UNKNOWN_LABEL,"tag_grey",NULL);
} }
yon_char_parsed_free(types_parsed,types_size); yon_char_parsed_free(types_parsed,types_size);
gtk_label_set_markup(GTK_LABEL(tab->name_label),name); gtk_label_set_markup(GTK_LABEL(tab->name_label),name);
@ -963,6 +982,9 @@ void yon_main_window_complete(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->LoadLocalMenuItem),"activate",G_CALLBACK(on_config_local_load),widgets); g_signal_connect(G_OBJECT(widgets->LoadLocalMenuItem),"activate",G_CALLBACK(on_config_local_load),widgets);
g_signal_connect(G_OBJECT(widgets->LoadCustomMenuItem),"activate",G_CALLBACK(on_config_custom_load),widgets); g_signal_connect(G_OBJECT(widgets->LoadCustomMenuItem),"activate",G_CALLBACK(on_config_custom_load),widgets);
if (getuid()){
gtk_widget_set_sensitive(widgets->BuildingButton,0);
}
gtk_progress_bar_set_pulse_step(GTK_PROGRESS_BAR(widgets->InstallationProgress),1); gtk_progress_bar_set_pulse_step(GTK_PROGRESS_BAR(widgets->InstallationProgress),1);
GdkRGBA rgba; GdkRGBA rgba;
vte_terminal_get_color_background_for_draw(VTE_TERMINAL(widgets->InstallTerminal),&rgba); vte_terminal_get_color_background_for_draw(VTE_TERMINAL(widgets->InstallTerminal),&rgba);
@ -989,7 +1011,8 @@ int main(int argc, char *argv[]){
int size=0; int size=0;
yon_ubl_setup_arguments(argc,argv,&unfound,&size,NULL); yon_ubl_setup_arguments(argc,argv,&unfound,&size,NULL);
gtk_init(&argc,&argv); gtk_init(&argc,&argv);
template_main_window *widgets = yon_ubl_window_setup(); template_main_window *widgets = yon_ubl_window_setup();
yon_root_button_setup(widgets,argv,argc);
yon_main_window_complete((main_window*)widgets); yon_main_window_complete((main_window*)widgets);
char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL); char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL);
yon_window_config_load(path); yon_window_config_load(path);

@ -14,6 +14,7 @@
#define PACKAGE_INSTALLED_LABEL _("Package installed") #define PACKAGE_INSTALLED_LABEL _("Package installed")
#define MODULE_INSTALLED_LABEL _("Module installed") #define MODULE_INSTALLED_LABEL _("Module installed")
#define UNKNOWN_LABEL _("Installation unknown")
#define BOOT_RUN_LABEL _("Startup boot") #define BOOT_RUN_LABEL _("Startup boot")
#define RUNNING_LABEL _("Running") #define RUNNING_LABEL _("Running")

@ -196,4 +196,13 @@ background:transparent;
color:#2f2f2f; color:#2f2f2f;
background-color:#80ff80 background-color:#80ff80
}
.tag_grey{
border-radius: 2px;
border-width: 0.5px;
border-style: solid;
margin:2px;
color:#2f2f2f;
background-color:#999999
} }

@ -59,162 +59,166 @@ msgid "Module installed"
msgstr "" msgstr ""
#: source/ubl-strings.h:17 #: source/ubl-strings.h:17
msgid "Startup boot" msgid "Installation unknown"
msgstr "" msgstr ""
#: source/ubl-strings.h:18 #: source/ubl-strings.h:18
msgid "Startup boot"
msgstr ""
#: source/ubl-strings.h:19
msgid "Running" msgid "Running"
msgstr "" msgstr ""
#: source/ubl-strings.h:21 #: source/ubl-strings.h:22
msgid "Initramfs building" msgid "Initramfs building"
msgstr "" msgstr ""
#: source/ubl-strings.h:22 #: source/ubl-strings.h:23
msgid "Execute" msgid "Execute"
msgstr "" msgstr ""
#: source/ubl-strings.h:23 #: source/ubl-strings.h:24
msgid "Kernel version:" msgid "Kernel version:"
msgstr "" msgstr ""
#: source/ubl-strings.h:24 #: source/ubl-strings.h:25
msgid "Image file:" msgid "Image file:"
msgstr "" msgstr ""
#: source/ubl-strings.h:25 #: source/ubl-strings.h:26
msgid "Add debug components" msgid "Add debug components"
msgstr "" msgstr ""
#: source/ubl-strings.h:26 #: source/ubl-strings.h:27
msgid "Add drivers for current hardware components only" msgid "Add drivers for current hardware components only"
msgstr "" msgstr ""
#: source/ubl-strings.h:28 #: source/ubl-strings.h:29
msgid "Install module" msgid "Install module"
msgstr "" msgstr ""
#: source/ubl-strings.h:29 #: source/ubl-strings.h:30
msgid "Remove module" msgid "Remove module"
msgstr "" msgstr ""
#: source/ubl-strings.h:30 #: source/ubl-strings.h:31
msgid "Install package" msgid "Install package"
msgstr "" msgstr ""
#: source/ubl-strings.h:31 #: source/ubl-strings.h:32
msgid "Remove package" msgid "Remove package"
msgstr "" msgstr ""
#: source/ubl-strings.h:32 #: source/ubl-strings.h:33
msgid "Changelog" msgid "Changelog"
msgstr "" msgstr ""
#: source/ubl-strings.h:33 #: source/ubl-strings.h:34
msgid "Launch" msgid "Launch"
msgstr "" msgstr ""
#: source/ubl-strings.h:34 #: source/ubl-strings.h:35
msgid "LTS" msgid "LTS"
msgstr "" msgstr ""
#: source/ubl-strings.h:35 #: source/ubl-strings.h:36
msgid "Reactive" msgid "Reactive"
msgstr "" msgstr ""
#: source/ubl-strings.h:36 #: source/ubl-strings.h:37
msgid "Recomended" msgid "Recomended"
msgstr "" msgstr ""
#: source/ubl-strings.h:37 #: source/ubl-strings.h:38
msgid "Hardened" msgid "Hardened"
msgstr "" msgstr ""
#: source/ubl-strings.h:38 #: source/ubl-strings.h:39
msgid "RealTime" msgid "RealTime"
msgstr "" msgstr ""
#: source/ubl-strings.h:39 #: source/ubl-strings.h:40
msgid "Stable" msgid "Stable"
msgstr "" msgstr ""
#: source/ubl-strings.h:41 #: source/ubl-strings.h:42
msgid "Kernels" msgid "Kernels"
msgstr "" msgstr ""
#: source/ubl-strings.h:42 #: source/ubl-strings.h:43
msgid "Additions" msgid "Additions"
msgstr "" msgstr ""
#: source/ubl-strings.h:43 #: source/ubl-strings.h:44
msgid "Update" msgid "Update"
msgstr "" msgstr ""
#: source/ubl-strings.h:44 #: source/ubl-strings.h:45
msgid "Open package information" msgid "Open package information"
msgstr "" msgstr ""
#: source/ubl-strings.h:45 #: source/ubl-strings.h:46
msgid "More" msgid "More"
msgstr "" msgstr ""
#: source/ubl-strings.h:47 #: source/ubl-strings.h:48
msgid "Accept" msgid "Accept"
msgstr "" msgstr ""
#: source/ubl-strings.h:48 #: source/ubl-strings.h:49
msgid "Warning" msgid "Warning"
msgstr "" msgstr ""
#: source/ubl-strings.h:49 #: source/ubl-strings.h:50
msgid "Dependences" msgid "Dependences"
msgstr "" msgstr ""
#: source/ubl-strings.h:51 #: source/ubl-strings.h:52
msgid "Module" msgid "Module"
msgstr "" msgstr ""
#: source/ubl-strings.h:52 #: source/ubl-strings.h:53
msgid "Package" msgid "Package"
msgstr "" msgstr ""
#: source/ubl-strings.h:53 #: source/ubl-strings.h:54
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#: source/ubl-strings.h:55 #: source/ubl-strings.h:56
msgid "Terminal operation success" msgid "Terminal operation success"
msgstr "" msgstr ""
#: source/ubl-strings.h:55 #: source/ubl-strings.h:57
msgid "Terminal operation in process"
msgstr ""
#: source/ubl-strings.h:56
msgid "Terminal operation failed" msgid "Terminal operation failed"
msgstr "" msgstr ""
#: source/ubl-strings.h:58 #: source/ubl-strings.h:58
msgid "Terminal operation in process"
msgstr ""
#: source/ubl-strings.h:60
msgid "Are you sure want to install kernel" msgid "Are you sure want to install kernel"
msgstr "" msgstr ""
#: source/ubl-strings.h:59 #: source/ubl-strings.h:61
msgid "Are you sure want to install package" msgid "Are you sure want to install package"
msgstr "" msgstr ""
#: source/ubl-strings.h:60 #: source/ubl-strings.h:62
msgid "Are you sure want to remove module" msgid "Are you sure want to remove module"
msgstr "" msgstr ""
#: source/ubl-strings.h:61 #: source/ubl-strings.h:63
msgid "Are you sure want to remove package" msgid "Are you sure want to remove package"
msgstr "" msgstr ""
#: source/ubl-strings.h:62 #: source/ubl-strings.h:64
msgid "Are you sure want to launch" msgid "Are you sure want to launch"
msgstr "" msgstr ""
#: source/ubl-strings.h:62 #: source/ubl-strings.h:64
msgid "" msgid ""
"for boot?\n" "for boot?\n"
"\n" "\n"

@ -60,162 +60,166 @@ msgid "Module installed"
msgstr "Установлен модуль" msgstr "Установлен модуль"
#: source/ubl-strings.h:17 #: source/ubl-strings.h:17
msgid "Installation unknown"
msgstr "Статус неизвестен"
#: source/ubl-strings.h:18
msgid "Startup boot" msgid "Startup boot"
msgstr "Будет запущено" msgstr "Будет запущено"
#: source/ubl-strings.h:18 #: source/ubl-strings.h:19
msgid "Running" msgid "Running"
msgstr "Запущено" msgstr "Запущено"
#: source/ubl-strings.h:21 #: source/ubl-strings.h:22
msgid "Initramfs building" msgid "Initramfs building"
msgstr "Сборка Initramfs" msgstr "Сборка Initramfs"
#: source/ubl-strings.h:22 #: source/ubl-strings.h:23
msgid "Execute" msgid "Execute"
msgstr "Выполнить" msgstr "Выполнить"
#: source/ubl-strings.h:23 #: source/ubl-strings.h:24
msgid "Kernel version:" msgid "Kernel version:"
msgstr "Версия ядра:" msgstr "Версия ядра:"
#: source/ubl-strings.h:24 #: source/ubl-strings.h:25
msgid "Image file:" msgid "Image file:"
msgstr "Файл образа:" msgstr "Файл образа:"
#: source/ubl-strings.h:25 #: source/ubl-strings.h:26
msgid "Add debug components" msgid "Add debug components"
msgstr "Добавить компоненты отладки" msgstr "Добавить компоненты отладки"
#: source/ubl-strings.h:26 #: source/ubl-strings.h:27
msgid "Add drivers for current hardware components only" msgid "Add drivers for current hardware components only"
msgstr "Добавить драйвера только текущих аппаратных компонентов" msgstr "Добавить драйвера только текущих аппаратных компонентов"
#: source/ubl-strings.h:28 #: source/ubl-strings.h:29
msgid "Install module" msgid "Install module"
msgstr "Установить модуль" msgstr "Установить модуль"
#: source/ubl-strings.h:29 #: source/ubl-strings.h:30
msgid "Remove module" msgid "Remove module"
msgstr "Удалить модуль" msgstr "Удалить модуль"
#: source/ubl-strings.h:30 #: source/ubl-strings.h:31
msgid "Install package" msgid "Install package"
msgstr "Установить пакет" msgstr "Установить пакет"
#: source/ubl-strings.h:31 #: source/ubl-strings.h:32
msgid "Remove package" msgid "Remove package"
msgstr "Удалить пакет" msgstr "Удалить пакет"
#: source/ubl-strings.h:32 #: source/ubl-strings.h:33
msgid "Changelog" msgid "Changelog"
msgstr "Список изменений" msgstr "Список изменений"
#: source/ubl-strings.h:33 #: source/ubl-strings.h:34
msgid "Launch" msgid "Launch"
msgstr "Запускать" msgstr "Запускать"
#: source/ubl-strings.h:34 #: source/ubl-strings.h:35
msgid "LTS" msgid "LTS"
msgstr "LTS" msgstr "LTS"
#: source/ubl-strings.h:35 #: source/ubl-strings.h:36
msgid "Reactive" msgid "Reactive"
msgstr "Реактивное" msgstr "Реактивное"
#: source/ubl-strings.h:36 #: source/ubl-strings.h:37
msgid "Recomended" msgid "Recomended"
msgstr "Рекомендуется" msgstr "Рекомендуется"
#: source/ubl-strings.h:37 #: source/ubl-strings.h:38
msgid "Hardened" msgid "Hardened"
msgstr "" msgstr ""
#: source/ubl-strings.h:38 #: source/ubl-strings.h:39
msgid "RealTime" msgid "RealTime"
msgstr "Реальное время" msgstr "Реальное время"
#: source/ubl-strings.h:39 #: source/ubl-strings.h:40
msgid "Stable" msgid "Stable"
msgstr "Стабильное" msgstr "Стабильное"
#: source/ubl-strings.h:41 #: source/ubl-strings.h:42
msgid "Kernels" msgid "Kernels"
msgstr "Ядра" msgstr "Ядра"
#: source/ubl-strings.h:42 #: source/ubl-strings.h:43
msgid "Additions" msgid "Additions"
msgstr "Дополнения" msgstr "Дополнения"
#: source/ubl-strings.h:43 #: source/ubl-strings.h:44
msgid "Update" msgid "Update"
msgstr "Обновить" msgstr "Обновить"
#: source/ubl-strings.h:44 #: source/ubl-strings.h:45
msgid "Open package information" msgid "Open package information"
msgstr "Открыть информацию о пакете" msgstr "Открыть информацию о пакете"
#: source/ubl-strings.h:45 #: source/ubl-strings.h:46
msgid "More" msgid "More"
msgstr "Подробнее" msgstr "Подробнее"
#: source/ubl-strings.h:47 #: source/ubl-strings.h:48
msgid "Accept" msgid "Accept"
msgstr "Принять" msgstr "Принять"
#: source/ubl-strings.h:48 #: source/ubl-strings.h:49
msgid "Warning" msgid "Warning"
msgstr "Внимание" msgstr "Внимание"
#: source/ubl-strings.h:49 #: source/ubl-strings.h:50
msgid "Dependences" msgid "Dependences"
msgstr "Зависимости" msgstr "Зависимости"
#: source/ubl-strings.h:51 #: source/ubl-strings.h:52
msgid "Module" msgid "Module"
msgstr "Модуль" msgstr "Модуль"
#: source/ubl-strings.h:52 #: source/ubl-strings.h:53
msgid "Package" msgid "Package"
msgstr "Пакет" msgstr "Пакет"
#: source/ubl-strings.h:53 #: source/ubl-strings.h:54
msgid "Description" msgid "Description"
msgstr "Описание" msgstr "Описание"
#: source/ubl-strings.h:55 #: source/ubl-strings.h:56
msgid "Terminal operation success" msgid "Terminal operation success"
msgstr "Операция терминала успешно завершена" msgstr "Операция терминала успешно завершена"
#: source/ubl-strings.h:56 #: source/ubl-strings.h:57
msgid "Terminal operation failed" msgid "Terminal operation failed"
msgstr "Операция терминала завершена с ошибкой" msgstr "Операция терминала завершена с ошибкой"
#: source/ubl-strings.h:55 #: source/ubl-strings.h:58
msgid "Terminal operation in process" msgid "Terminal operation in process"
msgstr "Операция терминала в процессе выполнения" msgstr "Операция терминала в процессе выполнения"
#: source/ubl-strings.h:58 #: source/ubl-strings.h:60
msgid "Are you sure want to install kernel" msgid "Are you sure want to install kernel"
msgstr "Вы хотите установить в систему ядро" msgstr "Вы хотите установить в систему ядро"
#: source/ubl-strings.h:59 #: source/ubl-strings.h:61
msgid "Are you sure want to install package" msgid "Are you sure want to install package"
msgstr "Вы хотите установить в систему пакет с ядром" msgstr "Вы хотите установить в систему пакет с ядром"
#: source/ubl-strings.h:60 #: source/ubl-strings.h:62
msgid "Are you sure want to remove module" msgid "Are you sure want to remove module"
msgstr "Вы действительно хотите удалить из системы пакет с модулем ядра" msgstr "Вы действительно хотите удалить из системы пакет с модулем ядра"
#: source/ubl-strings.h:61 #: source/ubl-strings.h:63
msgid "Are you sure want to remove package" msgid "Are you sure want to remove package"
msgstr "Вы действительно хотите удалить из системы пакет с ядром" msgstr "Вы действительно хотите удалить из системы пакет с ядром"
#: source/ubl-strings.h:62 #: source/ubl-strings.h:64
msgid "Are you sure want to launch" msgid "Are you sure want to launch"
msgstr "Выбрать ядро" msgstr "Выбрать ядро"
#: source/ubl-strings.h:62 #: source/ubl-strings.h:64
msgid "" msgid ""
"for boot?\n" "for boot?\n"
"\n" "\n"

Loading…
Cancel
Save