Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-1.0.git;a=commitdiff;h=56b3fdd24628dcc95882bbd44a915edce1e69435
commit 56b3fdd24628dcc95882bbd44a915edce1e69435 Author: Priyank Gosalia <priy...@frugalware.org> Date: Wed Jun 3 01:02:12 2009 +0530 gfpm-1.2.3-1anacreon1-i686 * Version bump * Also add a couple of patches to fix the package search bug * Closes many bugs (see NEWS) diff --git a/source/xapps/gfpm/FrugalBuild b/source/xapps/gfpm/FrugalBuild index 2445431..65b87a9 100644 --- a/source/xapps/gfpm/FrugalBuild +++ b/source/xapps/gfpm/FrugalBuild @@ -2,8 +2,8 @@ # Maintainer: Priyank Gosalia <priyan...@gmail.com> pkgname=gfpm -pkgver=1.2.1 -pkgrel=1 +pkgver=1.2.3 +pkgrel=1anacreon1 pkgdesc="Graphical Frugalware Package Manager" url="http://ftp.frugalware.org/pub/other/gfpm" depends=('glib2' 'gtk+2>=2.14.7' 'libglade' 'pacman-g2>=3.7.3' 'frugalwareutils>=0.8.7') @@ -14,8 +14,8 @@ archs=('i686' 'x86_64' 'ppc') _F_gnome_iconcache="y" Finclude gnome-scriptlet up2date="lynx -dump $url | Flasttar" -source=($url/$pkgname-$pkgver.tar.gz) -signatures=(${source[0]}.asc) +source=($url/$pkgname-$pkgver.tar.gz gfpm-bug2738.patch gfpm-search_fix.diff) +signatures=(${source[0]}.asc '' '') build() { diff --git a/source/xapps/gfpm/gfpm-bug2738.patch b/source/xapps/gfpm/gfpm-bug2738.patch new file mode 100644 index 0000000..d385be5 --- /dev/null +++ b/source/xapps/gfpm/gfpm-bug2738.patch @@ -0,0 +1,193 @@ +diff -Naur gfpm-1.2.3/src/gfpm-interface.c gfpm-1.2.3.new/src/gfpm-interface.c +--- gfpm-1.2.3/src/gfpm-interface.c 2009-05-30 15:59:59.000000000 +0530 ++++ gfpm-1.2.3.new/src/gfpm-interface.c 2009-05-30 17:18:15.000000000 +0530 +@@ -494,8 +494,11 @@ + gfpm_progress_install) == -1) + { + gchar *str; +- str = g_strdup_printf (_("Failed to init transaction (%s)\n"), pacman_strerror(pm_errno)); ++ gchar *p_error_utf8 = gfpm_convert_to_utf8 (pacman_strerror(pm_errno)); ++ str = g_strdup_printf (_("Failed to init transaction (%s)\n"), p_error_utf8); + errorstr = g_string_append (errorstr, str); ++ if (p_error_utf8) ++ g_free (p_error_utf8); + if (pm_errno == PM_ERR_HANDLE_LOCK) + g_string_printf (errorstr, "%s", lck_error); + if (gfpm_question (_("Error"), errorstr->str) == GTK_RESPONSE_YES) +@@ -562,8 +565,11 @@ + itry: if (pacman_trans_init(PM_TRANS_TYPE_SYNC, flags, gfpm_progress_event, cb_gfpm_trans_conv, gfpm_progress_install) == -1) + { + gchar *str; +- str = g_strdup_printf (_("Failed to init transaction (%s)\n"), pacman_strerror(pm_errno)); ++ gchar *p_error_utf8 = gfpm_convert_to_utf8 (pacman_strerror(pm_errno)); ++ str = g_strdup_printf (_("Failed to init transaction (%s)\n"), p_error_utf8); + errorstr = g_string_append (errorstr, str); ++ if (p_error_utf8) ++ g_free (p_error_utf8); + if (pm_errno == PM_ERR_HANDLE_LOCK) + g_string_printf (errorstr, "%s", lck_error); + if (gfpm_question (_("Error"), errorstr->str) == GTK_RESPONSE_YES) +@@ -1215,9 +1221,11 @@ + PM_LIST *i; + GList *pkgs = NULL; + gchar *str = NULL; +- str = g_strdup_printf (_("Failed to prepare transaction (%s)\n"), pacman_strerror (pm_errno)); ++ gchar *p_error_utf8 = gfpm_convert_to_utf8 (pacman_strerror(pm_errno)); ++ str = g_strdup_printf (_("Failed to prepare transaction (%s)\n"), p_error_utf8); + gfpm_error (_("Error"), str); + g_free (str); ++ g_free (p_error_utf8); + int t = (long)pacman_trans_getinfo (PM_TRANS_TYPE); + switch ((long)pm_errno) + { +@@ -1230,9 +1238,9 @@ + if (t == PM_TRANS_TYPE_REMOVE) + { + val = g_strdup_printf ("%s : %s %s", +- (char*)pacman_dep_getinfo (m, PM_DEP_TARGET), +- _("is required by"), +- (char*)pacman_dep_getinfo (m, PM_DEP_NAME)); ++ (char*)pacman_dep_getinfo (m, PM_DEP_TARGET), ++ _("is required by"), ++ (char*)pacman_dep_getinfo (m, PM_DEP_NAME)); + depstring = g_string_append (depstring, val); + } + else +@@ -1298,9 +1306,11 @@ + PM_LIST *i; + GList *pkgs = NULL; + gchar *str = NULL; +- str = g_strdup_printf (_("Failed to commit transaction (%s)\n"), pacman_strerror (pm_errno)); ++ gchar *p_error_utf8 = gfpm_convert_to_utf8 (pacman_strerror(pm_errno)); ++ str = g_strdup_printf (_("Failed to commit transaction (%s)\n"), p_error_utf8); + gfpm_error (_("Error"), str); + g_free (str); ++ g_free (p_error_utf8); + + switch ((long)pm_errno) + { +@@ -1378,7 +1388,7 @@ + while (dbs != NULL) + { + PM_DB *tdb = dbs->data; +- ret = pacman_db_update (0, tdb); ++ ret = pacman_db_update (1, tdb); + dbs = g_list_next (dbs); + } + gfpm_progress_show (FALSE); +@@ -1411,17 +1421,21 @@ + { + gchar *str; + GString *errorstr = g_string_new (""); +- str = g_strdup_printf (_("Failed to init transaction (%s)\n"), pacman_strerror(pm_errno)); ++ gchar *p_error_utf8 = gfpm_convert_to_utf8 (pacman_strerror(pm_errno)); ++ str = g_strdup_printf (_("Failed to init transaction (%s)\n"), p_error_utf8); + errorstr = g_string_append (errorstr, str); + if (pm_errno == PM_ERR_HANDLE_LOCK) + errorstr = g_string_append (errorstr, + _("If you're sure a package manager is not already running, you can delete /tmp/pacman-g2.lck")); + gfpm_error (_("Error"), errorstr->str); ++ g_free (p_error_utf8); + return; + } + if (pacman_trans_sysupgrade()==-1) + { +- g_print ("error %s", pacman_strerror(pm_errno)); ++ gchar *p_error_utf8 = gfpm_convert_to_utf8 (pacman_strerror(pm_errno)); ++ g_print ("Error: %s\n", p_error_utf8); ++ g_free (p_error_utf8); + } + packages = pacman_trans_getinfo (PM_TRANS_PACKAGES); + +@@ -2089,9 +2103,11 @@ + gfpm_message ("Gfpm", _("Finished clearing the cache")); + else + { +- errstr = g_strdup_printf (_("Failed to clean the cache (%s)"), pacman_strerror(pm_errno)); ++ gchar *p_error_utf8 = gfpm_convert_to_utf8 (pacman_strerror(pm_errno)); ++ errstr = g_strdup_printf (_("Failed to clean the cache (%s)"), p_error_utf8); + gfpm_error (_("Error clearing cache"), errstr); + g_free (errstr); ++ g_free (p_error_utf8); + } + } + return; +@@ -2107,9 +2123,11 @@ + gfpm_message ("Gfpm", _("Finished clearing the cache")); + else + { +- errstr = g_strdup_printf (_("Failed to clean the cache (%s)"), pacman_strerror(pm_errno)); +- gfpm_message (_("Error clearing cache"), errstr); ++ gchar *p_error_utf8 = gfpm_convert_to_utf8 (pacman_strerror(pm_errno)); ++ errstr = g_strdup_printf (_("Failed to clean the cache (%s)"), p_error_utf8); ++ gfpm_error (_("Error clearing cache"), errstr); + g_free (errstr); ++ g_free (p_error_utf8); + } + } + return; +@@ -2145,12 +2163,14 @@ + flags |= PM_TRANS_FLAG_FORCE; + if (pacman_trans_init(type, flags, gfpm_progress_event, cb_gfpm_trans_conv, gfpm_progress_install) == -1) + { +- str = g_strdup_printf (_("Failed to init transaction (%s)\n"), pacman_strerror(pm_errno)); ++ gchar *p_error_utf8 = gfpm_convert_to_utf8 (pacman_strerror(pm_errno)); ++ str = g_strdup_printf (_("Failed to init transaction (%s)\n"), p_error_utf8); + errorstr = g_string_append (errorstr, str); + if (pm_errno == PM_ERR_HANDLE_LOCK) + { errorstr = g_string_append (errorstr, + _("If you're sure a package manager is not already running, you can delete /tmp/pacman-g2.lck")); + gfpm_error (_("Error"), errorstr->str); ++ g_free (p_error_utf8); + } + return; + } +@@ -2164,9 +2184,11 @@ + } + if (pacman_trans_commit(&trans_data) == -1) + { +- str = g_strdup_printf (_("Failed to commit transaction (%s)\n"), pacman_strerror (pm_errno)); ++ gchar *p_error_utf8 = gfpm_convert_to_utf8 (pacman_strerror(pm_errno)); ++ str = g_strdup_printf (_("Failed to commit transaction (%s)\n"), p_error_utf8); + gfpm_error (_("Error"), str); + g_free (str); ++ g_free (p_error_utf8); + goto cleanup; + } + else +diff -Naur gfpm-1.2.3/src/gfpm-util.c gfpm-1.2.3.new/src/gfpm-util.c +--- gfpm-1.2.3/src/gfpm-util.c 2009-05-30 15:59:59.000000000 +0530 ++++ gfpm-1.2.3.new/src/gfpm-util.c 2009-05-30 17:18:21.000000000 +0530 +@@ -100,3 +100,21 @@ + return; + } + ++gchar * ++gfpm_convert_to_utf8 (const char *str) ++{ ++ gchar *ret = NULL; ++ GError *error = NULL; ++ if (str) ++ { ++ ret = g_convert (str, strlen(str), "UTF-8", "", NULL, NULL, &error); ++ if (ret == NULL) ++ { ++ g_print ("Error converting string to utf-8: %s\n", error->message); ++ } ++ } ++ ++ return ret; ++} ++ ++ +diff -Naur gfpm-1.2.3/src/gfpm-util.h gfpm-1.2.3.new/src/gfpm-util.h +--- gfpm-1.2.3/src/gfpm-util.h 2009-05-30 15:59:59.000000000 +0530 ++++ gfpm-1.2.3.new/src/gfpm-util.h 2009-05-30 17:18:26.000000000 +0530 +@@ -22,4 +22,7 @@ + + void gfpm_update_iconcache (void); + ++/* Converts a string to UTF-8. Returned string must be freed */ ++gchar * gfpm_convert_to_utf8 (const char *str); ++ + #endif diff --git a/source/xapps/gfpm/gfpm-search_fix.diff b/source/xapps/gfpm/gfpm-search_fix.diff new file mode 100644 index 0000000..e22f191 --- /dev/null +++ b/source/xapps/gfpm/gfpm-search_fix.diff @@ -0,0 +1,53 @@ +diff -Naur gfpm-1.2.3/src/gfpm-interface.c gfpm-1.2.3.new/src/gfpm-interface.c +--- gfpm-1.2.3/src/gfpm-interface.c 2009-06-01 20:25:17.000000000 +0530 ++++ gfpm-1.2.3.new/src/gfpm-interface.c 2009-06-01 20:24:32.000000000 +0530 +@@ -1867,7 +1867,7 @@ + g_free (srepo); + srepo = g_strdup ("local"); + } +- ++ /* enter the gdk critical section */ + gdk_threads_enter (); + + model = gtk_tree_view_get_model (GTK_TREE_VIEW(gfpm_pkgs_tvw)); +@@ -1902,10 +1902,8 @@ + + if (l == NULL) + { +- g_print ("NOT FOUND !!!\n"); +- gdk_flush (); +- gdk_threads_leave (); +- //gfpm_error (_("Package not found"), _("No such package found")); ++ g_print ("package not found\n"); ++ gfpm_error (_("Package not found"), _("No such package found")); + goto cleanup; + } + +@@ -2012,8 +2010,8 @@ + pacman_pkg_free (pm_lpkg); + } + } +- gdk_flush (); +- gdk_threads_leave (); ++ cleanup: ++ g_print ("cleaning up..\n"); + + pacman_set_option (PM_OPT_NEEDLES, (long)NULL); + if (search_db!=NULL && !nounreg) +@@ -2021,12 +2019,15 @@ + pacman_db_unregister (search_db); + } + +- cleanup: + gfpm_update_status (_("Searching for packages ...DONE")); + g_object_unref (icon_yes); + g_object_unref (icon_no); + g_object_unref (icon_up); + g_object_unref (icon_ln); ++ ++ /* leave the gdk critical section */ ++ gdk_flush (); ++ gdk_threads_leave (); + g_mutex_unlock (search_mutex); + + return; _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git