From d88ebf05844f5ad3b2405fde2c80e4102b796185 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 25 Apr 2023 11:51:15 +0000 Subject: [PATCH 1/3] Test search for any version of unnessessary library --- source/ubl-settings-manager.c | 42 ++++++++++++++++++----------------- source/ubl-settings-manager.h | 2 ++ 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index 0f97af3..ff749a3 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -137,16 +137,17 @@ void on_ButtonOpenHelp_activated(GtkWidget *button, GtkBuilder *builder){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,"AlwaysOpenHelpCheckbox")))) { #ifdef WEBKIT_FOUND - void *handle=NULL; - handle = dlopen("libwebkit2gtk-4.0.so", RTLD_LAZY); - if (handle) { - GtkBuilder *web_builder=gtk_builder_new_from_file(GladePath); - GtkWidget *browser=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Window")); - GtkWidget *web_place=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Place")); - GtkWidget *WebView=webkit_web_view_new(); - webkit_web_view_load_uri(WEBKIT_WEB_VIEW(WebView),UBLINUX_WIKI_LINK); - gtk_box_pack_start(GTK_BOX(web_place),WebView,1,1,0); - gtk_widget_show_all(browser); + FILE *fl = popen(check_web2kit_command,"r"); + char ssttrr[1000]; + memset(ssttrr,0,1000); + if(fgets(ssttrr,1000,fl)){ + GtkBuilder *web_builder=gtk_builder_new_from_file(GladePath); + GtkWidget *browser=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Window")); + GtkWidget *web_place=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Place")); + GtkWidget *WebView=webkit_web_view_new(); + webkit_web_view_load_uri(WEBKIT_WEB_VIEW(WebView),UBLINUX_WIKI_LINK); + gtk_box_pack_start(GTK_BOX(web_place),WebView,1,1,0); + gtk_widget_show_all(browser); } else if(system(UBLINUX_WIKI_COMMAND)){}; #else @@ -175,16 +176,17 @@ void on_CancelHelpButton_activated(GtkWidget *button,GtkBuilder *builder){ void on_ReadHelpButton_activated(GtkWidget *button, GtkBuilder *builder){ #ifdef WEBKIT_FOUND - void *handle=NULL; - handle = dlopen("libwebkit2gtk-4.0.so", RTLD_LAZY); - if (handle) { - GtkBuilder *web_builder=gtk_builder_new_from_file(GladePath); - GtkWidget *browser=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Window")); - GtkWidget *web_place=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Place")); - GtkWidget *WebView=webkit_web_view_new(); - webkit_web_view_load_uri(WEBKIT_WEB_VIEW(WebView),UBLINUX_WIKI_LINK); - gtk_box_pack_start(GTK_BOX(web_place),WebView,1,1,0); - gtk_widget_show_all(browser); + FILE *fl = popen(check_web2kit_command,"r"); + char ssttrr[1000]; + memset(ssttrr,0,1000); + if(fgets(ssttrr,1000,fl)){ + GtkBuilder *web_builder=gtk_builder_new_from_file(GladePath); + GtkWidget *browser=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Window")); + GtkWidget *web_place=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Place")); + GtkWidget *WebView=webkit_web_view_new(); + webkit_web_view_load_uri(WEBKIT_WEB_VIEW(WebView),UBLINUX_WIKI_LINK); + gtk_box_pack_start(GTK_BOX(web_place),WebView,1,1,0); + gtk_widget_show_all(browser); } else if(system(UBLINUX_WIKI_COMMAND)){}; #else diff --git a/source/ubl-settings-manager.h b/source/ubl-settings-manager.h index 6b7bc06..bb5260a 100644 --- a/source/ubl-settings-manager.h +++ b/source/ubl-settings-manager.h @@ -13,6 +13,8 @@ #define UBLINUX_WIKI_COMMAND "xdg-open http://wiki.ublinux.ru" #define UBLINUX_WIKI_LINK " http://wiki.ublinux.ru" +#define check_web2kit_command "ldconfig -p |grep web2kit" + #define cmdVersionText yon_char_get_augumented(yon_char_get_augumented(_("Version: "),version_application),"\n") #define cmdHelpText yon_char_get_augumented(yon_char_get_augumented(_("ubl-settings-manager version: "),version_application),_("\nGTK settings manager for UBLinux\nUsage: ubl-settings-manager [OPTIONS...]\nOptions:\n -h, --help Show this help\n -V, --version Show package version\n --lock-settings Lock menu settings\n")) #define GladePath "/usr/share/ubl-settings-manager/ui/ubl-settings-manager.glade" From 61a6a46f83c580203fc677747ed5b77c2c035de4 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 25 Apr 2023 12:11:19 +0000 Subject: [PATCH 2/3] Test search for any version of unnessessary library --- source/CMakeLists.txt | 6 ------ source/ubl-settings-manager.c | 8 -------- source/ubl-settings-manager.h | 5 +---- 3 files changed, 1 insertion(+), 18 deletions(-) diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index d693d17..7f3f3ed 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -7,16 +7,10 @@ pkg_check_modules(GTK REQUIRED gtk+-3.0) include_directories(${GTK_INCLUDE_DIRS}) link_directories(${GTK_LIBRARY_DIRS}) add_definitions(${GTK_CFLAGS_OTHER}) -option(USE_WEBKIT "Force turn on or turn off webkit" ON) - -if (USE_WEBKIT) PKG_CHECK_MODULES(WEBKIT REQUIRED webkit2gtk-4.0 webkit2gtk-web-extension-4.0) include_directories(${WEBKIT_INCLUDE_DIRS}) link_directories(${WEBKIT_LIBRARY_DIRS}) add_definitions(${WEBKIT_CFLAGS_OTHER}) -endif() - -configure_file(ubl-settings-manager.h.in ubl-settings-manager-cm.h) #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -std=c++2a") #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -lm") diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index ff749a3..8bbd021 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -136,7 +136,6 @@ void on_item_selection_changed(GtkIconView *IV, actionWidgets *widgets){ void on_ButtonOpenHelp_activated(GtkWidget *button, GtkBuilder *builder){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,"AlwaysOpenHelpCheckbox")))) { - #ifdef WEBKIT_FOUND FILE *fl = popen(check_web2kit_command,"r"); char ssttrr[1000]; memset(ssttrr,0,1000); @@ -150,9 +149,6 @@ void on_ButtonOpenHelp_activated(GtkWidget *button, GtkBuilder *builder){ gtk_widget_show_all(browser); } else if(system(UBLINUX_WIKI_COMMAND)){}; - #else - if(system(UBLINUX_WIKI_COMMAND)){}; - #endif } else { GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder,"HelpSureWindow")); @@ -175,7 +171,6 @@ void on_CancelHelpButton_activated(GtkWidget *button,GtkBuilder *builder){ }; void on_ReadHelpButton_activated(GtkWidget *button, GtkBuilder *builder){ - #ifdef WEBKIT_FOUND FILE *fl = popen(check_web2kit_command,"r"); char ssttrr[1000]; memset(ssttrr,0,1000); @@ -189,9 +184,6 @@ void on_ReadHelpButton_activated(GtkWidget *button, GtkBuilder *builder){ gtk_widget_show_all(browser); } else if(system(UBLINUX_WIKI_COMMAND)){}; - #else - if(system(UBLINUX_WIKI_COMMAND)){}; - #endif GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder,"HelpSureWindow")); gtk_widget_hide(window); }; diff --git a/source/ubl-settings-manager.h b/source/ubl-settings-manager.h index bb5260a..e20a346 100644 --- a/source/ubl-settings-manager.h +++ b/source/ubl-settings-manager.h @@ -5,15 +5,12 @@ #include #include #include -#include "ubl-settings-manager-cm.h" -#ifdef WEBKIT_FOUND #include -#endif #define UBLINUX_WIKI_COMMAND "xdg-open http://wiki.ublinux.ru" #define UBLINUX_WIKI_LINK " http://wiki.ublinux.ru" -#define check_web2kit_command "ldconfig -p |grep web2kit" +#define check_web2kit_command "ldconfig -p |grep webkit2" #define cmdVersionText yon_char_get_augumented(yon_char_get_augumented(_("Version: "),version_application),"\n") #define cmdHelpText yon_char_get_augumented(yon_char_get_augumented(_("ubl-settings-manager version: "),version_application),_("\nGTK settings manager for UBLinux\nUsage: ubl-settings-manager [OPTIONS...]\nOptions:\n -h, --help Show this help\n -V, --version Show package version\n --lock-settings Lock menu settings\n")) From 156385e2ea61888303438f8de611bd10583897ba Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 25 Apr 2023 14:55:16 +0000 Subject: [PATCH 3/3] Unnessessary library check redone --- source/CMakeLists.txt | 10 ++++++++++ source/ubl-settings-manager-cm.h | 1 + source/ubl-settings-manager.c | 30 +++++++++++++----------------- source/ubl-settings-manager.h | 3 +++ 4 files changed, 27 insertions(+), 17 deletions(-) create mode 100644 source/ubl-settings-manager-cm.h diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 7f3f3ed..8caec66 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -7,10 +7,20 @@ pkg_check_modules(GTK REQUIRED gtk+-3.0) include_directories(${GTK_INCLUDE_DIRS}) link_directories(${GTK_LIBRARY_DIRS}) add_definitions(${GTK_CFLAGS_OTHER}) + +option(WEBKIT_FOUND "No" OFF) + +find_library(WEBKIT_LIBRARIES_FOUND webkit2gtk-4.0 webkit2gtk-web-extension-4.0) + +if(WEBKIT_LIBRARIES_FOUND) + option(WEBKIT_FOUND "Yes" ON) PKG_CHECK_MODULES(WEBKIT REQUIRED webkit2gtk-4.0 webkit2gtk-web-extension-4.0) include_directories(${WEBKIT_INCLUDE_DIRS}) link_directories(${WEBKIT_LIBRARY_DIRS}) add_definitions(${WEBKIT_CFLAGS_OTHER}) +endif() + +configure_file(ubl-settings-manager.h.in ubl-settings-manager-cm.h) #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -std=c++2a") #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -lm") diff --git a/source/ubl-settings-manager-cm.h b/source/ubl-settings-manager-cm.h new file mode 100644 index 0000000..26a7931 --- /dev/null +++ b/source/ubl-settings-manager-cm.h @@ -0,0 +1 @@ +#define WEBKIT_FOUND diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index 8bbd021..b22b357 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -136,10 +136,7 @@ void on_item_selection_changed(GtkIconView *IV, actionWidgets *widgets){ void on_ButtonOpenHelp_activated(GtkWidget *button, GtkBuilder *builder){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,"AlwaysOpenHelpCheckbox")))) { - FILE *fl = popen(check_web2kit_command,"r"); - char ssttrr[1000]; - memset(ssttrr,0,1000); - if(fgets(ssttrr,1000,fl)){ + #ifdef WEBKIT_FOUND GtkBuilder *web_builder=gtk_builder_new_from_file(GladePath); GtkWidget *browser=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Window")); GtkWidget *web_place=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Place")); @@ -147,8 +144,9 @@ void on_ButtonOpenHelp_activated(GtkWidget *button, GtkBuilder *builder){ webkit_web_view_load_uri(WEBKIT_WEB_VIEW(WebView),UBLINUX_WIKI_LINK); gtk_box_pack_start(GTK_BOX(web_place),WebView,1,1,0); gtk_widget_show_all(browser); - } else + #else if(system(UBLINUX_WIKI_COMMAND)){}; + #endif } else { GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder,"HelpSureWindow")); @@ -171,19 +169,17 @@ void on_CancelHelpButton_activated(GtkWidget *button,GtkBuilder *builder){ }; void on_ReadHelpButton_activated(GtkWidget *button, GtkBuilder *builder){ - FILE *fl = popen(check_web2kit_command,"r"); - char ssttrr[1000]; - memset(ssttrr,0,1000); - if(fgets(ssttrr,1000,fl)){ - GtkBuilder *web_builder=gtk_builder_new_from_file(GladePath); - GtkWidget *browser=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Window")); - GtkWidget *web_place=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Place")); - GtkWidget *WebView=webkit_web_view_new(); - webkit_web_view_load_uri(WEBKIT_WEB_VIEW(WebView),UBLINUX_WIKI_LINK); - gtk_box_pack_start(GTK_BOX(web_place),WebView,1,1,0); - gtk_widget_show_all(browser); - } else + #ifdef WEBKIT_FOUND + GtkBuilder *web_builder=gtk_builder_new_from_file(GladePath); + GtkWidget *browser=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Window")); + GtkWidget *web_place=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Place")); + GtkWidget *WebView=webkit_web_view_new(); + webkit_web_view_load_uri(WEBKIT_WEB_VIEW(WebView),UBLINUX_WIKI_LINK); + gtk_box_pack_start(GTK_BOX(web_place),WebView,1,1,0); + gtk_widget_show_all(browser); + #else if(system(UBLINUX_WIKI_COMMAND)){}; + #endif GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder,"HelpSureWindow")); gtk_widget_hide(window); }; diff --git a/source/ubl-settings-manager.h b/source/ubl-settings-manager.h index e20a346..b10f3dd 100644 --- a/source/ubl-settings-manager.h +++ b/source/ubl-settings-manager.h @@ -5,7 +5,10 @@ #include #include #include +#include "ubl-settings-manager-cm.h" +#ifdef WEBKIT_FOUND #include +#endif #define UBLINUX_WIKI_COMMAND "xdg-open http://wiki.ublinux.ru" #define UBLINUX_WIKI_LINK " http://wiki.ublinux.ru"