Git-Url:
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=9d758b89a325f3d97fa62cb8d319cd662fa43176
commit 9d758b89a325f3d97fa62cb8d319cd662fa43176
Author: crazy <[EMAIL PROTECTED]>
Date: Sun Oct 7 16:15:03 2007 +0200
hardinfo-0.4.2.2-2-i686
* relbump
* added an patch from svn to fix some issues
* added G_SLICE 'workaround' to fix #2441 for stable
diff --git a/source/gnome-extra/hardinfo/FrugalBuild
b/source/gnome-extra/hardinfo/FrugalBuild
index a9fe279..f8ff2b1 100644
--- a/source/gnome-extra/hardinfo/FrugalBuild
+++ b/source/gnome-extra/hardinfo/FrugalBuild
@@ -4,14 +4,29 @@
pkgname=hardinfo
pkgver=0.4.2.2
-pkgrel=1
+pkgrel=2
pkgdesc="A system information and benchmark tool."
_F_berlios_ext=".tar.bz2"
Finclude berlios
-source=($source frugalware.patch)
+source=($source frugalware.patch backport_fixes.patch)
options=('scriptlet')
depends=('gtk+2' 'libsoup' 'pciutils')
groups=('gnome-extra')
archs=('i686' 'x86_64')
sha1sums=('e3ec42cdb5ee03b002aa071d418f951579998408' \
- '18894bbc8fb42655660e700543adb04db5568308')
+ '18894bbc8fb42655660e700543adb04db5568308' \
+ 'e5e6fcc602aede6f28fbdde0ea5456bc833601e6')
+
+build()
+{
+ Fcd
+ Fpatchall
+ Fmake
+ Fmakeinstall
+ # 'workaround' bug #2441 for 0.7
+ Fmv usr/bin/hardinfo usr/bin/hardinfo.bin
+ echo '#!/bin/sh' >$Fdestdir/usr/bin/hardinfo
+ echo 'G_SLICE=always-malloc /usr/bin/hardinfo.bin' \
+ >$Fdestdir/usr/bin/hardinfo
+ chmod 0755 $Fdestdir/usr/bin/hardinfo || Fdie
+}
diff --git a/source/gnome-extra/hardinfo/backport_fixes.patch
b/source/gnome-extra/hardinfo/backport_fixes.patch
new file mode 100644
index 0000000..0613b5e
--- /dev/null
+++ b/source/gnome-extra/hardinfo/backport_fixes.patch
@@ -0,0 +1,369 @@
+Index: hardinfo2/hardinfo.h
+===================================================================
+--- hardinfo2/hardinfo.h (Revision 149)
++++ hardinfo2/hardinfo.h (Revision 160)
+@@ -98,7 +98,9 @@
+
+ gchar *h_strdup_cprintf(const gchar *format, gchar *source, ...);
+ gchar *h_strconcat(gchar *string1, ...);
++void h_hash_table_remove_all (GHashTable *hash_table);
+
++
+ void module_entry_scan_all_except(ModuleEntry *entries, gint
except_entry);
+ void module_entry_scan_all(ModuleEntry *entries);
+ void module_entry_reload(ShellModuleEntry *module_entry);
+Index: hardinfo2/configure
+===================================================================
+--- hardinfo2/configure (Revision 149)
++++ hardinfo2/configure (Revision 160)
+@@ -167,7 +167,7 @@
+ # --------------------------------------------------------------------------
+
+ if [ $SOUP -eq -1 ]; then
+- echo "Disabling libsoup support. (Network Manager won't be available.)"
++ echo "Disabling libsoup support. (Network Updater won't be available.)"
+ fi
+
+ # --------------------------------------------------------------------------
+Index: hardinfo2/computer.h
+===================================================================
+--- hardinfo2/computer.h (Revision 149)
++++ hardinfo2/computer.h (Revision 160)
+@@ -34,6 +34,7 @@
+ { DB_PREFIX "SuSE-release", "suse" },
+ { DB_PREFIX "sun-release", "sun" },
+ { DB_PREFIX "zenwalk-version", "zen" },
++ { DB_PREFIX "puppyversion", "ppy" },
+ /*
+ * RedHat must be the *last* one to be checked, since
+ * some distros (like Mandrake) includes a redhat-relase
+Index: hardinfo2/syncmanager.c
+===================================================================
+--- hardinfo2/syncmanager.c (Revision 149)
++++ hardinfo2/syncmanager.c (Revision 160)
+@@ -110,7 +110,7 @@
+ {
+ #ifndef HAS_LIBSOUP
+ g_warning
+- ("HardInfo was compiled without libsoup support. (Network Manager
requires it.)");
++ ("HardInfo was compiled without libsoup support. (Network Updater
requires it.)");
+ #else /* !HAS_LIBSOUP */
+ SyncDialog *sd = sync_dialog_new();
+
+Index: hardinfo2/util.c
+===================================================================
+--- hardinfo2/util.c (Revision 149)
++++ hardinfo2/util.c (Revision 160)
+@@ -1041,3 +1041,16 @@
+
+ return concat;
+ }
++
++static gboolean h_hash_table_remove_all_true(gpointer key, gpointer data,
gpointer user_data)
++{
++ return TRUE;
++}
++
++void
++h_hash_table_remove_all(GHashTable *hash_table)
++{
++ g_hash_table_foreach_remove(hash_table,
++ h_hash_table_remove_all_true,
++ NULL);
++}
+Index: hardinfo2/devices.c
+===================================================================
+--- hardinfo2/devices.c (Revision 149)
++++ hardinfo2/devices.c (Revision 160)
+@@ -23,6 +23,7 @@
+ #include <hardinfo.h>
+ #include <shell.h>
+ #include <iconcache.h>
++#include <syncmanager.h>
+
+ #include <expr.h>
+ #include <socket.h>
+@@ -346,8 +347,20 @@
+
+ void hi_module_init(void)
+ {
+- moreinfo =
+- g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
++ if (!g_file_test("/usr/share/misc/pci.ids", G_FILE_TEST_EXISTS)) {
++ static SyncEntry se[] = {
++ {
++ .fancy_name = "Update PCI ID listing",
++ .name = "GetPCIIds",
++ .save_to = "pci.ids",
++ .get_data = NULL
++ }
++ };
++
++ sync_manager_add_entry(&se[0]);
++ }
++
++ moreinfo = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
+ __init_memory_labels();
+ }
+
+Index: hardinfo2/arch/linux/common/sensors.h
+===================================================================
+--- hardinfo2/arch/linux/common/sensors.h (Revision 149)
++++ hardinfo2/arch/linux/common/sensors.h (Revision 160)
+@@ -254,7 +254,7 @@
+
+ if ((tz = g_dir_open(path_tz, 0, NULL))) {
+ const gchar *entry;
+- gchar *temp = "";
++ gchar *temp = g_strdup("");
+
+
+ while ((entry = g_dir_read_name(tz))) {
+Index: hardinfo2/arch/linux/common/storage.h
+===================================================================
+--- hardinfo2/arch/linux/common/storage.h (Revision 149)
++++ hardinfo2/arch/linux/common/storage.h (Revision 160)
+@@ -335,7 +335,7 @@
+ g_hash_table_insert(moreinfo, devid, strhash);
+
+ g_free(model);
+- model = "";
++ model = g_strdup("");
+ } else
+ g_free(device);
+
+Index: hardinfo2/arch/linux/common/pci.h
+===================================================================
+--- hardinfo2/arch/linux/common/pci.h (Revision 149)
++++ hardinfo2/arch/linux/common/pci.h (Revision 160)
+@@ -21,16 +21,32 @@
+ {
+ FILE *lspci;
+ gchar buffer[256], *buf, *strhash = NULL, *strdevice = NULL;
+- gchar *category = NULL, *name = NULL;
+- gint n = 0;
++ gchar *category = NULL, *name = NULL, *icon;
++ gint n = 0, x = 0;
+
+- if (!(lspci = popen(LSPCI, "r"))) {
+- goto pci_error;
++ buf = g_build_filename(g_get_home_dir(), ".hardinfo", "pci.ids", NULL);
++ if (!g_file_test(buf, G_FILE_TEST_EXISTS)) {
++ DEBUG("using system-provided PCI IDs");
++ g_free(buf);
++ if (!(lspci = popen(LSPCI, "r"))) {
++ goto pci_error;
++ }
++ } else {
++ gchar *tmp;
++
++ tmp = g_strdup_printf("%s -i '%s'", LSPCI, buf);
++ g_free(buf);
++ buf = tmp;
++
++ DEBUG("using updated PCI IDs (from %s)", buf);
++ if (!(lspci = popen(tmp, "r"))) {
++ g_free(buf);
++ goto pci_error;
++ } else {
++ g_free(buf);
++ }
+ }
+
+- gchar *icon;
+-
+- int x = 0; /* unique Memory, Capability and I/O
port */
+ while (fgets(buffer, 256, lspci)) {
+ buf = g_strstrip(buffer);
+
+Index: hardinfo2/arch/linux/common/alsa.h
+===================================================================
+--- hardinfo2/arch/linux/common/alsa.h (Revision 149)
++++ hardinfo2/arch/linux/common/alsa.h (Revision 160)
+@@ -20,16 +20,15 @@
+ computer_get_alsacards(Computer * computer)
+ {
+ GSList *p;
+- gchar *tmp = "";
++ gchar *tmp = g_strdup("");
+ gint n = 0;
+
+ if (computer->alsa) {
+ for (p = computer->alsa->cards; p; p = p->next) {
+ AlsaCard *ac = (AlsaCard *) p->data;
+
+- tmp =
+- g_strdup_printf("Audio Adapter#%d=%s\n%s", ++n,
+- ac->friendly_name, tmp);
++ tmp = h_strdup_cprintf("Audio Adapter#%d=%s\n",
++ tmp, ++n, ac->friendly_name);
+ }
+ }
+
+Index: hardinfo2/arch/linux/common/os.h
+===================================================================
+--- hardinfo2/arch/linux/common/os.h (Revision 149)
++++ hardinfo2/arch/linux/common/os.h (Revision 160)
+@@ -185,6 +185,15 @@
+ os->distro = g_strdup(buf);
+ }
+ }
++
++ if (g_str_equal(distro_db[i].codename, "ppy")) {
++ gchar *tmp;
++
++ tmp = g_strdup_printf("Puppy Linux %.2f", atof(os->distro) /
100.0);
++ g_free(os->distro);
++ os->distro = tmp;
++ }
++
+ os->distrocode = g_strdup(distro_db[i].codename);
+
+ break;
+Index: hardinfo2/shell.c
+===================================================================
+--- hardinfo2/shell.c (Revision 149)
++++ hardinfo2/shell.c (Revision 160)
+@@ -544,6 +544,8 @@
+ shell->info = info_tree_new(FALSE);
+ shell->moreinfo = info_tree_new(TRUE);
+ shell->loadgraph = load_graph_new(75);
++ update_tbl = g_hash_table_new_full(g_str_hash, g_str_equal,
++ g_free, g_free);
+
+ gtk_paned_pack1(GTK_PANED(shell->hpaned), shell->tree->scroll,
+ SHELL_PACK_RESIZE, SHELL_PACK_SHRINK);
+@@ -585,8 +587,14 @@
+
+ static gboolean update_field(gpointer data)
+ {
+- ShellFieldUpdate *fu = (ShellFieldUpdate *) data;
+- GtkTreeIter *iter = g_hash_table_lookup(update_tbl, fu->field_name);
++ ShellFieldUpdate *fu;
++ GtkTreeIter *iter;
++
++ fu = (ShellFieldUpdate *) data;
++ g_return_val_if_fail(fu != NULL, FALSE);
++
++ iter = g_hash_table_lookup(update_tbl, fu->field_name);
++ g_return_val_if_fail(iter != NULL, FALSE);
+
+ /* if the entry is still selected, update it */
+ if (iter && fu->entry->selected && fu->entry->fieldfunc) {
+@@ -1002,9 +1010,8 @@
+ module_selected_show_info(ShellModuleEntry * entry, gboolean reload)
+ {
+ GKeyFile *key_file = g_key_file_new();
+- gchar *key_data;
+- gchar **groups;
+ GtkTreeStore *store;
++ gchar *key_data, **groups;
+ gint i;
+ gsize ngroups;
+
+@@ -1016,16 +1023,9 @@
+
+ /* recreate the iter hash table */
+ if (!reload) {
+- if (update_tbl) {
+- g_hash_table_foreach_remove(update_tbl, (GHRFunc) gtk_true,
+- NULL);
+- } else {
+- update_tbl =
+- g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+- g_free);
+- }
++ h_hash_table_remove_all(update_tbl);
+ }
+-
++
+ if (update_sfusrc) {
+ GSList *sfusrc;
+
+@@ -1123,23 +1123,19 @@
+ GtkTreeIter parent;
+ ShellModuleEntry *entry;
+ static ShellModuleEntry *current = NULL;
+- static gboolean updating = FALSE;
+
+- if (updating)
+- return;
+-
+- updating = TRUE;
+-
+ /* Gets the currently selected item on the left-side TreeView; if there
is no
+ selection, silently return */
+ if (!gtk_tree_selection_get_selected
+- (shelltree->selection, &model, &parent))
++ (shelltree->selection, &model, &parent)) {
+ return;
++ }
+
+ /* Mark the currently selected module as "unselected"; this is used to
kill the
+ update timeout. */
+- if (current)
++ if (current) {
+ current->selected = FALSE;
++ }
+
+ /* Get the current selection and shows its related info */
+ gtk_tree_model_get(model, &parent, TREE_COL_DATA, &entry, -1);
+@@ -1190,7 +1186,6 @@
+ }
+
+ current = entry;
+- updating = FALSE;
+ }
+
+ static void info_selected(GtkTreeSelection * ts, gpointer data)
+Index: hardinfo2/report.c
+===================================================================
+--- hardinfo2/report.c (Revision 149)
++++ hardinfo2/report.c (Revision 160)
+@@ -366,7 +366,7 @@
+ GTK_RESPONSE_ACCEPT, NULL);
+
+ gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog),
+- "hardinfo report");
++ "hardinfo_report");
+
+ file_chooser_add_filters(dialog, file_types);
+ file_chooser_open_expander(dialog);
+Index: hardinfo2/iconcache.c
+===================================================================
+--- hardinfo2/iconcache.c (Revision 149)
++++ hardinfo2/iconcache.c (Revision 160)
+@@ -48,7 +48,9 @@
+ g_free(path);
+ }
+
+- g_object_ref(icon);
++ if (icon) {
++ g_object_ref(icon);
++ }
+
+ return icon;
+ }
+@@ -81,7 +83,9 @@
+ g_free(path);
+ }
+
+- g_object_ref(icon);
++ if (icon) {
++ g_object_ref(icon);
++ }
+
+ return icon;
+ }
+Index: hardinfo2/vendor.c
+===================================================================
+--- hardinfo2/vendor.c (Revision 149)
++++ hardinfo2/vendor.c (Revision 160)
+@@ -57,6 +57,7 @@
+ {"Logitech", "Logitech International SA", "www.logitech.com"},
+ {"FUJITSU", "Fujitsu", "www.fujitsu.com"},
+ {"CDU", "Sony", "www.sony.com"},
++ {"SanDisk", "SanDisk", "www.sandisk.com"},
+ {NULL, NULL, NULL},
+ };
+
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git