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

Reply via email to