aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-support')
-rw-r--r--meta-oe/recipes-support/hddtemp/files/hddtemp-0.3-beta15-autodetect-717479.patch90
-rw-r--r--meta-oe/recipes-support/hddtemp/files/hddtemp-db.patch133
-rw-r--r--meta-oe/recipes-support/hddtemp/files/hddtemp-no-nls-support.patch66
-rw-r--r--meta-oe/recipes-support/hddtemp/files/hddtemp.db523
-rw-r--r--meta-oe/recipes-support/hddtemp/files/hddtemp_0.3-beta15-52.diff2256
-rw-r--r--meta-oe/recipes-support/hddtemp/files/init100
-rw-r--r--meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb31
7 files changed, 3199 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/hddtemp/files/hddtemp-0.3-beta15-autodetect-717479.patch b/meta-oe/recipes-support/hddtemp/files/hddtemp-0.3-beta15-autodetect-717479.patch
new file mode 100644
index 0000000000..19f8380b47
--- /dev/null
+++ b/meta-oe/recipes-support/hddtemp/files/hddtemp-0.3-beta15-autodetect-717479.patch
@@ -0,0 +1,90 @@
+Auto-detect disks if none specified
+
+Refer to:
+https://bugzilla.redhat.com/show_bug.cgi?id=717479
+
+diff -up hddtemp-0.3-beta15/doc/hddtemp.8~ hddtemp-0.3-beta15/doc/hddtemp.8
+--- hddtemp-0.3-beta15/doc/hddtemp.8~ 2011-08-18 00:36:05.689001470 +0300
++++ hddtemp-0.3-beta15/doc/hddtemp.8 2011-08-18 00:44:46.753006253 +0300
+@@ -19,7 +19,7 @@
+ hddtemp \- Utility to monitor hard drive temperature
+ .SH SYNOPSIS
+ .B hddtemp
+-.RI [ options ] " [type:]disk" ...
++.RI [ options ] " [[type:]disk]" ...
+ .SH "DESCRIPTION"
+ .PP
+ .B hddtemp
+@@ -35,7 +35,8 @@ You can specify one or more device drive
+ with a
+ .B type
+ like PATA, SATA or SCSI to force hddtemp too use one of these type
+-(because detection can fail).
++(because detection can fail). If no paths are specified, autodetection of
++installed drives is attempted.
+
+
+ .SH "OPTIONS"
+diff -up hddtemp-0.3-beta15/src/hddtemp.c~ hddtemp-0.3-beta15/src/hddtemp.c
+--- hddtemp-0.3-beta15/src/hddtemp.c~ 2011-08-18 00:36:05.638996861 +0300
++++ hddtemp-0.3-beta15/src/hddtemp.c 2011-08-18 00:35:55.485060798 +0300
+@@ -54,6 +54,7 @@
+ #include <linux/hdreg.h>
+ #include <ctype.h>
+ #include <assert.h>
++#include <glob.h>
+
+ // Application specific includes
+ #include "ata.h"
+@@ -255,6 +256,7 @@ int main(int argc, char* argv[]) {
+ int ret = 0;
+ int show_db;
+ struct disk * ldisks;
++ glob_t diskglob;
+
+ backtrace_sigsegv();
+ backtrace_sigill();
+@@ -419,11 +421,6 @@ int main(int argc, char* argv[]) {
+ exit(0);
+ }
+
+- if(argc - optind <= 0) {
+- fprintf(stderr, _("Too few arguments: you must specify one drive, at least.\n"));
+- exit(1);
+- }
+-
+ if(debug) {
+ /* argc = optind + 1;*/
+ quiet = 1;
+@@ -434,6 +431,23 @@ int main(int argc, char* argv[]) {
+ exit(1);
+ }
+
++ memset(&diskglob, 0, sizeof(glob_t));
++ if(argc - optind <= 0) {
++ if(glob("/dev/[hs]d[a-z]", 0, NULL, &diskglob) == 0) {
++ argc = diskglob.gl_pathc;
++ argv = diskglob.gl_pathv;
++ optind = 0;
++ } else {
++ argc = 0;
++ }
++ }
++
++ if(argc - optind <= 0) {
++ globfree(&diskglob);
++ fprintf(stderr, _("Too few arguments: you must specify one drive, at least.\n"));
++ exit(1);
++ }
++
+ init_bus_types();
+
+ /* collect disks informations */
+@@ -527,6 +541,7 @@ int main(int argc, char* argv[]) {
+ else {
+ do_direct_mode(ldisks);
+ }
++ globfree(&diskglob);
+
+ return ret;
+ }
diff --git a/meta-oe/recipes-support/hddtemp/files/hddtemp-db.patch b/meta-oe/recipes-support/hddtemp/files/hddtemp-db.patch
new file mode 100644
index 0000000000..a71a9dd4a4
--- /dev/null
+++ b/meta-oe/recipes-support/hddtemp/files/hddtemp-db.patch
@@ -0,0 +1,133 @@
+hddtemp database update
+
+Patch from Fedora 18 SRPM.
+
+--- ../hddtemp.db~ 2007-09-14 21:11:37.000000000 +0300
++++ ../hddtemp.db 2008-02-09 22:10:31.000000000 +0200
+@@ -80,6 +80,8 @@
+
+ "FUJITSU MHV2100AH" 194 C "FUJITSU MHV2100AH"
+ "FUJITSU MHV2100AT" 194 C "FUJITSU MHV2100AT"
++"FUJITSU MHV2100BH" 194 C "FUJITSU MHV2100BH"
++"FUJITSU MHV2060AH" 194 C "FUJITSU MHV2060AH"
+ "FUJITSU MHV2080[AB]H" 194 C "FUJITSU MHV2080AH"
+
+ "FUJITSU MPF3204AH" 194 C "Fujitsu MPF3204AH"
+@@ -325,11 +327,14 @@
+ "ST3120026A" 194 C "Seagate Barracuda V ST3120026A"
+ "ST3160021A" 194 C "Seagate Barracuda 7200.7 - ST3160021A"
+ "ST3160023(A|AS)" 194 C "Seagate Barracuda V ST3160023A and AS (160Gb, ATA100 or Serial ATA)"
++"ST316081[12](A|AS)" 194 C "Seagate Barracuda 7200.9 160GB"
+ "ST3160827AS" 194 C "Seagate Barracuda 7200.7 160GB (Serial ATA)"
+ "ST3200021A" 194 C "Seagate Barracuda 7200.7 Plus 200GB"
+ "ST3200822(A|AS)" 194 C "Seagate Barracuda 7200.7 Plus 200GB (PATA or SATA)"
+-"ST3200826A" 194 C "Seagate Barracuda 7200.8 200Gb"
++"ST3200826A" 194 C "Seagate Barracuda 7200.8 200GB"
+ "ST3250623A" 194 C "Seagate Barracuda 7200.16 250GB"
++"ST3250624AS" 194 C "Seagate Barracuda 7200.9 250GB SATA"
++"ST3250624NS" 194 C "Seagate NL35 SATA (RAID-Edition) 7200 250GB"
+ "ST3250823A" 194 C "Seagate Barracuda 7200.8 250GB"
+ "ST3250823A" 194 C "Seagate Barracuda 7200.7 Plus 250GB"
+ "ST3250823NS" 194 C "Seagate NL35 SATA (RAID-Edition) 7200 250GB"
+@@ -338,9 +343,7 @@
+ "ST3400633(A|AS)" 194 C "Seagate Barracuda 7200.7 400 GB"
+ "ST3500630NS" 194 C "Seagate"
+ "ST3400632NS" 194 C "Seagate"
+-"ST3320620AS" 194 C "Seagate Barracuda 7200.7 320 GB"
+-"ST3500630AS" 194 C "Seagate Barracuda 7200.7 500 GB"
+-"ST3802110A" 194 C "Seagate Barracuda 7200.9 80 GB"
++"ST380[28]110(A|AS)" 194 C "Seagate Barracuda 7200.9 80 GB"
+ "ST910021A" 194 C "Seagate Momentus 7200.1 100GB"
+ "ST910082[35]A" 194 C "Seagate Momentus 5400.2 100GB"
+ "ST9120821A" 194 C "Seagate Momentus 5400.2 120GB"
+@@ -351,12 +354,14 @@
+ "ST960822A" 194 C "Seagate Momentus 5400.2 60GB"
+ "ST96812AS" 194 C "Seagate Momentus 5400.2 60GB SATA"
+ "ST9808211A" 194 C "Seagate Momentus 5400.2 80GB"
++"ST98823AS" 194 C "Seagate Momentus 5400.2 80GB SATA"
+
+ ########################################
+ ############# TOSHIBA Laptops
+ ########################################
+ "MK4313MAT" 220 C "Toshiba MK4313MAT"
+ "TOSHIBA MK1032GAX" 194 C "Toshiba MK1032GAX"
++"TOSHIBA MK1032GSX" 194 C "Toshiba MK1032GSX"
+ "TOSHIBA MK1517GAP" 0 C "Toshiba MK1517GAP"
+ "TOSHIBA MK2018GAS" 226 F "Toshiba MK2018GAS"
+ "TOSHIBA MK2023GAS" 194 C "Toshiba MK2023GAS"
+@@ -377,6 +382,7 @@
+ "TOSHIBA MK6026GAX" 194 C "Toshiba MK6026GAX"
+ "TOSHIBA MK8025GAS" 194 C "Toshiba MK8025GAS"
+ "TOSHIBA MK8026GAX" 194 C "Toshiba MK8026GAX"
++"TOSHIBA MK8032GSX" 194 C "Toshiba MK8032GSX"
+
+ "MK4025GAS" 194 C "Toshiba MK4025GAS"
+
+@@ -397,7 +403,7 @@
+ "WDC WD300BB-00CAA0" 0 C "Western Digital WD300BB"
+ "WDC WD360GD-00FNA0" 194 C "Western Digital SATA Raptor 36.7GB"
+ "WDC WD400BB-00CAA0" 0 C "Western Digital 400BB-00CAA0"
+-"WDC WD400BB-00J[KH]A0" 194 C "Western Digital Caviar WD400BB"
++"WDC WD400BB-00[DJ][KH]A0" 194 C "Western Digital Caviar WD400BB"
+ "WDC WD400BB-23JHC0" 194 C "Western Digital 23JHC0"
+ #"WDC WD400BB-00GFA0" 0 C ""
+ "WDC WD400BB-55HEA0" 194 C "Western Digital Caviar WD400BB"
+@@ -416,7 +422,7 @@
+ "WDC WD600VE-75HDT0" 194 C "Western Digital 600VE-75HDT0"
+ "WDC WD600VE-00HDT0" 194 C "Western Digital 600VE-00HDT0"
+ "WDC WD740GD-00FL21.0" 194 C "Western Digital SATA Raptor"
+-"WDC WD740GD-([05]0FL[AC]0|75FLA1)" 194 C "Western Digital SATA Raptor 74GB 8MB"
++"WDC WD740GD-([05]0FL[AC][01]|75FLA1)" 194 C "Western Digital SATA Raptor 74GB 8MB"
+ "WDC WD800BB-00CAA1" 0 C "Western Digital WD800BB-00CAA1"
+ "WDC WD800BB-(00|22)DKA0" 194 C "Western Digital WD800BB 80 Go"
+ "WDC WD800BB-32CCB0" 194 C "Western Digital 800BB-32CCB0"
+@@ -428,14 +434,13 @@
+ "WDC WD800JB-00CRA1" 0 C "Western Digital Caviar WD800JB"
+ "WDC WD800JB-00(ET|FM|FS)A0" 194 C "Western Digital Caviar 80GB Special Edition 8MB"
+ "WDC WD800JB-00JJ[AC]0" 194 C "Western Digital WD800JB"
+-"WDC WD800JD-(00|55)(HK|JR)A0" 194 C "Western Digital SATA 80GB, 8MB Cache"
+-"WDC WD800JD-00(HK|JN)A0" 194 C "Western Digital SATA 80GB, 8MB Cache"
++"WDC WD800JD-(00|55|75)(HK|JR|JN)[AC]0" 194 C "Western Digital SATA 80GB, 8MB Cache"
+ "WDC WD800LB-(00|55)DNA0" 194 C "Western Digital Caviar WD800LB 80 Go ATA-100"
+ "WDC WD800VE-07HDT0" 194 C "Western Digital 800VE-07HDT0"
+ "WDC WD1200BB-00(FTA|GUA)0" 194 C "Western Digital Caviar EIDE 2MB Cache"
+-"WDC WD1200JB-00(EV|FU|GV)A0" 194 C "Western Digital Caviar 120GB Special Edition 8MB"
++"WDC WD1200JB-00(EV|FU|GV|RE)A0" 194 C "Western Digital Caviar 120GB Special Edition 8MB"
+ "WDC WD1200JB-22GVA0" 194 C "Western Digital Caviar 120GB"
+-"WDC WD1200JD-00(GBB|HBC)0" 194 C "Western Digital WD1200JD"
++"WDC WD1200JD-00(FYB|GBB|HBC)0" 194 C "Western Digital WD1200JD"
+ "WDC WD1200LB-55EDA0" 194 C "Western Digital WD1220LB"
+ "WDC WD1200SB-01KB[AC]0" 194 C "Western Digital Caviar RE (Raid Edition) 120 GB"
+ "WDC WD1600BB-00DWA0" 194 C "Western Digital Caviar WD1600BB"
+@@ -443,10 +448,11 @@
+ "WDC WD2000BB-00FTA0" 194 C "Western Digital WD2000BB"
+ "WDC WD2000JB-(00EV|32EV|34EV|00FU|00GV|55GV|98GV|00KF)A0" 194 C "Western Digital Caviar 200GB Special Edition 8MB"
+ "WDC WD2000JB-00GVC0" 194 C "Western Digital WD2000JB"
++"WDC WD2000JD-00FYB0" 194 C "Western Digital WD2000JD"
+ "WDC WD2000JS-00MHB1" 194 C "Western Digital SATA 200GB"
+ "WDC WD2500JB-(00RE|00EV|00FU|32FU|00GV|55GV)A0" 194 C "Western Digital Caviar 250GB Special Edition 8MB"
+ "WDC WD2500JB-00GVC0" 194 C "Western Digital 250GB"
+-"WDC WD2500JD-(00G|32H)BB0" 194 C "Western Digital SATA Caviar 250GB Special Edition 8MB"
++"WDC WD2500JD-(00G|32H|75H)BB0" 194 C "Western Digital SATA Caviar 250GB Special Edition 8MB"
+ "WDC WD2500JD-40HBC0" 194 C "Western Digital WD2500JD-40HBC0"
+ "WDC WD2500PB-98FBA0" 194 C "Western Digital Caviar 250GB Special Edition 8MB"
+ "WDC WD2500PD-00FZB1" 194 C "Western Digital WD2500PD-00FZB1"
+@@ -510,7 +516,7 @@
+ "Maxtor 7(L|V)300(F|R|S)0" 194 C "Maxtor MaXLine III 300GB 7200rpm"
+ "MAXTOR STM3320620AS" 194 C ""
+
+-"WDC WD1500ADFD-00NLR1" 194 C "Western Digital Raptor 150GB"
++"WDC WD1500ADFD-00NLR[01]" 194 C "Western Digital Raptor 150GB"
+ "WDC WD1600JS-00NCB1" 194 C "Western Digital Caviar 1600JS 160GB Sata"
+ "WDC WD1600SD-01KCC0" 194 C "Western Digital Caviar RE Serial ATA series"
+ "WDC WD2500JD-57HBC0" 194 C "Western Digital Caviar SE (Serial ATA) 250 GB"
+@@ -518,6 +524,8 @@
+ "WDC WD2500JS-41MVB1" 194 C "Western Digital SATAII Caviar 250GB Special Edition 8MB"
+ "WDC WD2500JD-00HBB0" 194 C "Western Digital SATA 250GB"
+ "WDC WD2500KS-00MJB0" 194 C "Western Digital SATA-II Caviar 250GB Special Edition 16MB"
++"WDC WD2500YD-01NVB1" 194 C "Western Digital Caviar RE 250GB 16MB"
+ "WDC WD3000JS-00PDB0" 194 C "Western Digital WD3000JS"
+-"WDC WD3200KS-00PFB0" 194 C ""
++"WDC WD3200KS-00PFB0" 194 C "Western Digital Caviar 320GB 16MB"
+ "WDC WD3200JD-22KLB0" 194 C "Western Digital Caviar SE 320GB 8MB"
++"WDC WD3200SD-01KNB0" 194 C "Western Digital Caviar RE 320GB SATA 8MB"
diff --git a/meta-oe/recipes-support/hddtemp/files/hddtemp-no-nls-support.patch b/meta-oe/recipes-support/hddtemp/files/hddtemp-no-nls-support.patch
new file mode 100644
index 0000000000..8f6b9c3c4b
--- /dev/null
+++ b/meta-oe/recipes-support/hddtemp/files/hddtemp-no-nls-support.patch
@@ -0,0 +1,66 @@
+diff -ru hddtemp-0.3-beta15.orig/configure.in hddtemp-0.3-beta15/configure.in
+--- hddtemp-0.3-beta15.orig/configure.in 2005-10-17 20:14:19.000000000 +0100
++++ hddtemp-0.3-beta15/configure.in 2008-06-27 00:00:46.000000000 +0100
+@@ -17,6 +17,7 @@
+ # append the host alias to the tools for cross compiling
+ AC_HEADER_STDC
+ AC_CHECK_HEADERS(fcntl.h)
++AC_CHECK_HEADERS(iconv.h)
+ AC_CHECK_HEADERS(netinet/in.h)
+ AC_CHECK_TYPE(in_addr_t, ,[AC_DEFINE_UNQUOTED([in_addr_t], [uint32_t], [Define to 'uint32_t' if <netinet/in.h> does not define.])], [#include <netinet/in.h>])
+
+@@ -29,6 +30,8 @@
+ AM_GNU_GETTEXT
+ #AM_GNU_GETTEXT([external])
+
++AC_CHECK_FUNCS([bindtextdomain textdomain iconv])
++
+ dnl reasonable guesses for where stuff is installed
+ dnl if we don't do that now, the config.h will use ${prefix}
+ dnl for DEFAULT_DATABASE_PATH.
+diff -ru hddtemp-0.3-beta15.orig/src/hddtemp.c hddtemp-0.3-beta15/src/hddtemp.c
+--- hddtemp-0.3-beta15.orig/src/hddtemp.c 2006-04-19 03:37:35.000000000 +0100
++++ hddtemp-0.3-beta15/src/hddtemp.c 2008-06-26 23:59:40.000000000 +0100
+@@ -276,8 +276,12 @@
+ backtrace_sigbus();
+
+ setlocale (LC_ALL, "");
++#ifdef HAVE_BINDTEXTDOMAIN
+ bindtextdomain (PACKAGE, LOCALEDIR);
++#endif
++#ifdef HAVE_TEXTDOMAIN
+ textdomain (PACKAGE);
++#endif
+
+ show_db = debug = numeric = quiet = wakeup = af_hint = syslog_interval = 0;
+ unit = DEFAULT;
+diff -ru hddtemp-0.3-beta15.orig/src/utf8.c hddtemp-0.3-beta15/src/utf8.c
+--- hddtemp-0.3-beta15.orig/src/utf8.c 2006-04-19 03:37:02.000000000 +0100
++++ hddtemp-0.3-beta15/src/utf8.c 2008-06-27 00:02:15.000000000 +0100
+@@ -23,7 +23,9 @@
+
+ // Standard includes
+ #include <stdlib.h>
++#ifdef HAVE_ICONV_H
+ #include <iconv.h>
++#endif
+ #include <langinfo.h>
+ #include <locale.h>
+ #include <string.h>
+@@ -34,6 +36,7 @@
+
+ static char *iconv_from_utf8_to_locale(const char *string, const char* fallback_string)
+ {
++#ifdef HAVE_ICONV
+ const size_t buffer_inc = 80; // Increment buffer size in 80 bytes step
+ const char *charset;
+ iconv_t cd;
+@@ -93,6 +96,8 @@
+ if (dest_buffer != NULL)
+ free(dest_buffer); // free buffer
+ free(src_buffer); // free string
++#endif
++
+ return strdup(fallback_string); // and return fallback string
+ }
+
diff --git a/meta-oe/recipes-support/hddtemp/files/hddtemp.db b/meta-oe/recipes-support/hddtemp/files/hddtemp.db
new file mode 100644
index 0000000000..4a061cfcb6
--- /dev/null
+++ b/meta-oe/recipes-support/hddtemp/files/hddtemp.db
@@ -0,0 +1,523 @@
+#
+# Insert a regular expression for support of the model or the serie of your hard drive.
+# If you don't know what to put in the second field, put the number
+# that appears most often for your brand :o)
+# A value of zero meens that we know that the drive doesn't have
+# a temperature sensor (you can set the unit to C or F).
+#
+############################################################################
+# The following list was found at (http://www.almico.com/forumharddisks.php)
+# If your drive is in the list send me a mail.
+#
+# Manufacturer Model Size Notes
+# FUJITSU FUJITSU MPF3102AH 10.0GB
+# FUJITSU FUJITSU MPG3204AH E 20.0GB
+# FUJITSU FUJITSU MPG3307AT 30.0GB
+# FUJITSU FUJITSU MPG3409AH 40.0GB
+# FUJITSU FUJITSU MPG3409AH EF 40.0GB
+# HITACHI HITACHI_DK23CA-10 9.8GB
+# HITACHI HITACHI_DK23CA-15 14.7GB
+# SAMSUNG SAMSUNG SV3012H 29.4GB
+# SEAGATE ST310210A 10.0GB
+# SEAGATE ST310211A 9.8GB
+# SEAGATE ST310215A 10.0GB
+# SEAGATE ST315320A 14.9GB
+# SEAGATE ST320410A 19.6GB
+# SEAGATE ST320413A 19.6GB
+# SEAGATE ST320420A 19.9GB
+# SEAGATE ST330610A 29.3GB
+# SEAGATE ST330620A 29.3GB
+# SEAGATE ST330621A 29.3GB
+# SEAGATE ST330630A 29.9GB
+# SEAGATE ST340016A 39.1GB
+# SEAGATE ST340810ACE 39.1GB
+# SEAGATE ST380020ACE 78.2GB
+# WESTERN DIGITAL WDC AC210200D 10.0GB
+# WESTERN DIGITAL WDC AC29100D 8.9GB
+# WESTERN DIGITAL WDC AC420400D 19.9GB
+# WESTERN DIGITAL WDC WD102AA 10.0GB
+#
+#################################################
+
+########################################
+############# ExcelStor drives
+########################################
+# "ExcelStor Technology CT215" ??? ? "ExcelStor CT215"
+"ExcelStor Technology J3.0" 194 C "ExcelStor Technology 3xy (xy GB)"
+"ExcelStor Technology J6.0" 194 C "ExcelStor Technology 6xy (xy GB)"
+"ExcelStor Technology J680" 194 C "ExcelStor Technology J680 (80 GB)"
+"ExcelStor Technology J860" 194 C "ExcelStor Technology J860 (60 GB)"
+"ExcelStor Technology J880" 194 C "ExcelStor Technology J880 (80 GB)"
+
+
+
+########################################
+############# Fujitsu drives
+########################################
+"FUJITSU MHM2100AT" 0 C "Fujitsu MHM2100AT"
+
+"FUJITSU MHN2150AT" 194 C "Fujitsu MHN2150AT"
+"FUJITSU MHN2200AT" 194 C "Fujitsu MHN2200AT"
+"FUJITSU MHN2300AT" 194 C "Fujitsu MHN2300AT"
+
+"FUJITSU MHR2020AT" 194 C "Fujitsu MHR2020AT"
+"FUJITSU MHR2030AT" 194 C "Fujitsu MHR2030AT"
+
+"FUJITSU MHS2030AT" 194 C "Fujitsu MHS2030AT"
+"FUJITSU MHS2040AT" 194 C "Fujitsu MHS2040AT"
+"FUJITSU MHS2060AT" 194 C "Fujitsu MHS2060AT (Apple PowerBook G4)"
+
+"FUJITSU MHT2030AC" 194 C "Fujitsu Mobile 30GB, 2MB, 4200RPM (automotive)"
+
+"FUJITSU MHT2030AT" 194 C "Fujitsu MHT2030AT"
+"FUJITSU MHT2040AH" 194 C "Fujitsu MHT2040AH"
+"FUJITSU MHT2040AT" 194 C "Fujitsu MHT2040AT"
+"FUJITSU MHT2060AH" 194 C "Fujitsu MHT2060AH"
+"FUJITSU MHT2060AT" 194 C "Fujitsu MHT2060AT"
+"FUJITSU MHT2080AH" 194 C "Fujitsu MHT2080AH"
+
+"FUJITSU MHU2100AT" 194 C "Fujitsu MHU2100AT 100GB, 8MB (4200RPM)"
+
+"FUJITSU MHV2100AH" 194 C "FUJITSU MHV2100AH"
+"FUJITSU MHV2100AT" 194 C "FUJITSU MHV2100AT"
+"FUJITSU MHV2080[AB]H" 194 C "FUJITSU MHV2080AH"
+
+"FUJITSU MPF3204AH" 194 C "Fujitsu MPF3204AH"
+
+"FUJITSU MPG3204AT.*" 194 C "Fujitsu MPG3204AT"
+"FUJITSU MPG3307AT" 194 C "Fujitsu MPG3307AT"
+"FUJITSU MPG3409AT.*" 194 C "Fujitsu MPG3409AT E"
+"FUJITSU MPG3409AH.*" 194 C "Fujitsu MPG3409AH E"
+"FUJITSU MPG3204AH" 194 C "Fujitsu MPG3204AH"
+"FUJITSU MPG3102AT E" 194 C "FUJITSU MPG3102AT E"
+
+
+
+########################################
+############# Hitachi drives
+########################################
+"HITACHI_DK13FA-40B" 194 C "Hitachi DK13FA-40B"
+"HITACHI_DK228A-65" 0 C "Hitachi DK228A-65"
+"HITACHI_DK23CA-(15|20|30|30B|75)" 194 C "Hitachi DK23CA series"
+"HITACHI_DK23DA-[234]0" 194 C "Hitachi DK23DA series"
+"HITACHI_DK23EA-[2346]0" 194 C "Hitachi DK23EA series"
+"HITACHI_DK23EB-40" 194 C "Hitachi DK23EB series"
+"HITACHI_DK23FA-[468]0" 194 C "Hitachi DK23FA series"
+"HITACHI_DK23FB-[46]0" 194 C "Hitachi DK23FB series"
+
+"HDS722516VLAT[28]0" 194 C "Hitachi Deskstar 7K250 160GB 2/8MB cache"
+"HDS722525VLAT80" 194 C "Hitachi Deskstar 7K250 200/250GB, 7200RPM, 8MB, Parallel-ATA"
+"HDS722512VLAT80" 194 C "Hitachi Deskstar 7K250 80GB"
+"HDS722540VLAT20" 194 C "Hitachi Deskstar 7K250, 40GB, 7200RPM, 2MB cache"
+"HDS722580VLAT20" 194 C "Deskstar 7K250 60GB"
+"HDS724040KLSA80" 194 C "Hitachi Deskstar 7K250 400GB, 7200RPM, 8MB, Serial-ATA"
+"HDS728080PLAT20" 194 C "Hitachi Deskstar 7K80 80GB"
+
+"HDS722525VLSA80" 194 C "Hitachi Deskstar 7K250 250GB, 7200RPM, 8MB, SATA"
+"HDS722516VLSA80" 194 C "Hitachi Deskstar 7K250 160GB 8Mo cache SATA"
+"HDS722580VLSA80" 194 C "Hitachi Deskstar 7K250 80GB SATA"
+"HDS728040PLAT20" 194 C "Hitachi Deskstar 7K80 40GB"
+
+"HDS724040KLAT80" 194 C "Hitachi Deskstar 7K400 400GB 8Mo cache PATA"
+
+"HDT7225(16|25)DLAT80" 194 C "Hitachi Deskstar T7K250 series, 7200RPM, 8MB, PATA"
+"HDT722516DLA380 V43O" 194 C "Hitachi T7K250 SATA"
+"HDT722525DLA380" 194 C "Hitachi Deskstar T7K250 250GB 8Mo cache SATAII"
+"HDT725050VLA360" 194 C "Hitachi Deskstar T7K500 500GB, 7200RPM, 16MB, SATA II"
+
+"HTE721010G9AT00" 194 C "Hitachi Travelstar 100GB (7200RPM)"
+"HTE726060M9AT00" 194 C "Hitachi Travelstar 60GB (7200RPM)"
+"HTS424030M9AT00" 194 C "Hitachi Travelstar 30GB (4200RPM)"
+"HTS424040M9AT00" 194 C "Hitachi Travelstar 4K40 40GB 2MB cache (4200RPM)"
+"HTS541010G9SA00" 194 C "Hitachi Travelstar 100GB SATA"
+"HTS541040G9AT00" 194 C "Hitachi Travelstar 40GB (5400RPM)"
+"HTS541080G9AT00" 194 C "Hitachi Travelstar 80GB (5400RPM)"
+"HTS548020M9AT00" 194 C "Hitachi Travelstar 20GB (5400RPM)"
+"HTS548030M9AT00" 194 C "Hitachi Travelstar 30GB (5400RPM)"
+"HTS548040M9AT00" 194 C "Hitachi Travelstar 40GB (5400RPM)"
+"HTS548060M9AT00" 194 C "Hitachi Travelstar 60GB (5400RPM)"
+"HTS548080M9AT00" 194 C "Hitachi Travelstar 80GB (5400RPM)"
+"HTS721080G9AT00" 194 C "Hitachi Travelstar 7K100 80GB (7200RPM)"
+"HTS726060M9AT00" 194 C "Hitachi Travelstar 60GB"
+
+
+########################################
+############# IBM drives
+########################################
+
+# DJSA serie is using F0h command to report temperature and also have
+# SMART capabilties but it was reported not to work.
+# "DJSA-2(30|32|10|20|05)" 0 C "IBM Travelstar 20GN, 32GH, 30GT series"
+
+"IBM-DARA-212000" 0 C "IBM Travelstar 12GN"
+"IBM-DTTA-35*" 0 C "IBM Deskstar 16GP serie"
+
+# according to specifications they do not seems to have sensor
+# but I prefer waiting for a report
+#"IBM-DTTA-37*" 0 C "IBM Deskstar 14GXP serie"
+
+"IBM-DJNA-35.*" 231 C "IBM Deskstar 25 GP serie"
+"IBM-DJNA-37.*" 231 C "IBM Deskstar 22 GXP serie"
+"IBM-DHEA-(34330|36480)" 0 C "IBM Deskstar 5 serie"
+"IBM-DHEA-(34331|36481|38451)" 0 C "IBM Deskstar 8 serie"
+"IBM-DPTA-37.*" 231 C "IBM Deskstar 34GXP serie"
+"IBM-DPTA-35.*" 231 C "IBM Deskstar 37GP serie"
+"IBM-DTLA-30[57]0[123467][05]" 194 C "IBM Deskstar 40GV & 75GXP series"
+"IC25N0[1234]0ATCS04-0" 194 C "IBM Travelstar 40GN serie"
+"IC25N0[24]0ATC[SX]05-0" 194 C "IBM Travelstar 40GNX serie"
+"IC25N0(10|15|20|30)ATDA04-0" 194 C "IBM Travelstar 30GN serie"
+"IC25N0[23468]0ATMR04*" 194 C "Hitachi Travelstar 80GN"
+"IC25T048ATDA05-0" 194 C "IBM Travelstar 48GH serie"
+"IC25T060ATC[SX]05-0" 194 C "IBM Travelstar 60GH serie"
+"IC35L0[12346]0AVER07" 194 C "IBM Deskstar 60GXP serie"
+"IC35L[01][02468]0AVV[AN]07*" 194 C "IBM Deskstar 120GXP serie"
+"IC35L[01][23689]0AVV207*" 194 C "IBM Deskstar 180GXP serie"
+
+########################################
+############# Maxtor drives
+########################################
+#"Maxtor 2B0[012][04568]H1" ??? C "Maxtor Fireball 541DX"
+"Maxtor 2F0[234]0[LJ]0" 194 C "Maxtor Fireball 3"
+# which one must I trust ?
+#"Maxtor 4D040H2" 9 C "Maxtor DiamondMax D540X-4D"
+#"Maxtor 4D040H2" 0 C "Maxtor 4D040H2"
+#"Maxtor 4D080H4" 12 C "Maxtor DiamondMax D540X-4D"
+#"Maxtor 4D060H3" 12 C "Maxtor DiamondMax D540X-4D"
+#"Maxtor 4D080H4" 9 C "Maxtor DiamondMax D540X-4D"
+"MAXTOR 4K0[468]0H[234]" 194 C "Maxtor DiamondMax D540X serie"
+"MAXTOR 4K020H1" 194 C "Maxtor 4K020H1"
+"Maxtor 4A300J0" 194 C "Maxtor MaxLine II 300GB 5400RPM"
+"Maxtor 4[RA](25|16|12|08|06)0[LJ]0" 194 C "Maxtor DiamondMax 16"
+"Maxtor 5(1024|1369|2049|2732|3073|4098)U(2|3|4|6|8)" 0 C "Maxtor DiamondMax Plus 40"
+"Maxtor 5A250J0" 194 C "Maxtor MaXline II 250GB 5400RPM"
+"Maxtor 5A300J0" 194 C "Maxtor 5A300J0"
+"Maxtor 5T0[24]0H[24]" 0 C "Maxtor DiamondMax Plus 60"
+"Maxtor 6E0[234]0L0" 194 C "Maxtor DiamondMax Plus 8"
+"MAXTOR 6L0[2468]0[LJ][1234]" 194 C "Maxtor DiamondMax Plus D740X family"
+"Maxtor 6V320F0" 194 C "Maxtor Diamond Max 10 SATA II 320 GB"
+"Maxtor 6Y(06|08|12|16|20|25)0[LPM]0" 194 C "Maxtor DiamondMax Plus 9"
+"Maxtor 7L300[RS]0" 194 C "Maxtor 7L300R0 MaxLine+III 300GB 7200rpm"
+"Maxtor 7Y250[PM]0" 194 C "Maxtor MaXLine Plus II 250GB 7200RPM"
+"Maxtor 94098U8" 11 C "Maxtor DiamondMax 40 94098U8"
+
+#"Maxtor 6(B|L)(08|12|16|20|25|30)0[RSPM]0" 194 C "Maxtor DiamondMax Plus 10"
+"Maxtor 6B080M0" 194 C "Maxtor DiamondMax 10 80GB 8MB SATA"
+"Maxtor 6B120M0" 194 C "Maxtor DiamondMax 10 120GB 8MB SATA"
+"Maxtor 6B160M0" 194 C "Maxtor DiamondMax 10 160GB 8MB SATA"
+"Maxtor 6B160P0" 194 C "Maxtor DiamondMax 10 160GB 8MB ATA/133"
+"Maxtor 6B200M0" 194 C "Maxtor DiamondMax 10 200GB 8MB SATA"
+"Maxtor 6B200P0" 194 C "Maxtor DiamondMax 10 200GB 8MB ATA/133"
+"Maxtor 6B250R0" 194 C "Maxtor DiamondMax 10 250GB 16MB ATA/133"
+"Maxtor 6B250S0" 194 C "Maxtor DiamondMax 10 250GB 16MB SATA"
+"Maxtor 6B300R0" 194 C "Maxtor DiamondMax 10 300GB 16MB ATA/133"
+"Maxtor 6B300S0" 194 C "Maxtor DiamondMax 10 300GB 16MB SATA"
+"Maxtor 6L080L0" 194 C "Maxtor DiamondMax 10 80GB 2MB ATA/133 RoHS"
+"Maxtor 6L080M0" 194 C "Maxtor DiamondMax 10 80GB 8MB SATA RoHS"
+"Maxtor 6L080P0" 194 C "Maxtor DiamondMax 10 80GB 8MB ATA/133 RoHS"
+"Maxtor 6L120M0" 194 C "Maxtor DiamondMax 10 120GB 8MB SATA RoHS"
+"Maxtor 6L120P0" 194 C "Maxtor DiamondMax 10 120GB 8MB ATA/133 RoHS"
+"Maxtor 6L160M0" 194 C "Maxtor DiamondMax 10 160GB 8MB SATA RoHS"
+"Maxtor 6L160P0" 194 C "Maxtor DiamondMax 10 160GB 8MB ATA/133 RoHS"
+"Maxtor 6L200M0" 194 C "Maxtor DiamondMax 10 200GB 8MB SATA RoHS"
+"Maxtor 6L200P0" 194 C "Maxtor DiamondMax 10 200GB 8MB ATA/133 RoHS"
+"Maxtor 6L250R0" 194 C "Maxtor DiamondMax 10 250GB 16MB ATA/133 RoHS"
+"Maxtor 6L250S0" 194 C "Maxtor DiamondMax 10 250GB 16MB SATA RoHS"
+"Maxtor 6L300R0" 194 C "Maxtor DiamondMax 10 300GB 16MB ATA/133 RoHS"
+"Maxtor 6L300S0" 194 C "Maxtor DiamondMax 10 300GB 16MB SATA RoHS"
+"Maxtor 6V080E0" 194 C "Maxtor DiamondMax 10 80GB 8MB SATAII RoHS"
+"Maxtor 6V160E0" 194 C "Maxtor DiamondMax 10 160GB 8MB SATAII RoHS"
+"Maxtor 6V200E0" 194 C "Maxtor DiamondMax 10 200GB 8MB SATAII RoHS"
+"Maxtor 6V250F0" 194 C "Maxtor DiamondMax 10 250GB 16MB SATAII RoHS"
+"Maxtor 6V300F0" 194 C "Maxtor DiamondMax 10 300GB 16MB SATAII RoHS"
+
+
+
+########################################
+############# Quantum drives
+########################################
+"QUANTUM FIREBALLP AS40.0" 0 C "Quantum Fireball AS40"
+"QUANTUM FIREBALL CX10.2A" 0 C "Quantum Fireball CX10.2A"
+#"QUANTUM FIREBALLlct10 20" 4 C "Quantum Fireball CT10 20GB"
+# I suspect the QUANTUM FIREBALL_TM2110A to have a sensor in field 9...
+# "QUANTUM FIREBALL_TM2110A" 9 C "Quantum Fireball TM2110A"
+
+
+
+########################################
+############# Samsung drives
+########################################
+# somenone reported a problem with the SP8004H which reports a temperature
+# 10°C below the ambient temperature
+"SAMSUNG HA(200|250)JC" 194 C "Samsung SpinPoint V120CE series"
+"SAMSUNG HD160JJ" 194 C "Samsung 160GB, 7200RPM, 8MB cache, SATA"
+"SAMSUNG HD160JJ/P" 194 C "Samsung SpinPoint P80 SD 160GB (7200RPM, 8MB cache)"
+"SAMSUNG HD[30|32|40][01]L[DJ]" 194 C "Samsung SpinPoint T133 series (300-400MB)"
+"SAMSUNG HD250KD" 194 C "Samsung SpinPoint T133 series (250 MB PATA)"
+"SAMSUNG HD321KJ" 194 C "Samsung Spinpoint T166 (7200RPM, 16MB cache) - SATA"
+"SAMSUNG HD501LJ" 194 C "Samsung HD501LJ"
+"SAMSUNG MP0(302|402|603|804)H" 194 C "Samsung SpinPoint M40 2.5inch"
+"SAMSUNG SW0434A" 0 C "Samsung SW0434A"
+"SAMSUNG SP(2001|4002|6003|8004|40A2)H" 194 C "Samsung SpinPoint P40 serie"
+"SAMSUNG SP(0612|0802|1203|1604|0812|1213|1614)N" 194 C "Samsung SpinPoint P80 serie"
+"SAMSUNG SP(0612|0802|1203|1604|0812|1213|1614)C" 194 C "Samsung SpinPoint P80 series - SATA"
+"SAMSUNG SP0411N" 194 C "Samsung SpinPoint PL40 serie"
+"SAMSUNG SP0822N" 194 C "Samsung SP0822N"
+"SAMSUNG SP(0812|1213|1614)C" 194 C "Samsung Spinpoint 160G SATA"
+"SAMSUNG SP2[05]14N" 194 C "Samsung SpinPoint P120 series (7200RPM, 8MB cache)"
+"SAMSUNG SP2[05]04C" 194 C "Samsung SpinPoint P120 series - SATA"
+"SAMSUNG SV0432A" 0 C "Samsung SV0432A"
+"SAMSUNG SV3002H" 0 C "Samsung SpinPoint V30 serie"
+"SAMSUNG SV(2001|4002|4012|6003|8004)H" 194 C "Samsung SpinPoint V40 serie"
+#"SAMSUNG SV(0221|0602|0813|1204)H" 9 C "Samsung SpinPoint V60 serie"
+#"SAMSUNG SV1204H" 194 C "Samsung 120G"
+"SAMSUNG SV(0401|0802|1203|1604)N" 194 C "Samsung SpinPoint V80 serie"
+"SAMSUNG SV4012H" 194 C "Samsung 40GB, 5400RPM, 2MB cache"
+
+########################################
+############# Seagate drives
+########################################
+"Seagate Technology 1275MB - ST31276A" 0 C "Seagate ST31276A"
+"ST3412A" 0 C "Seagate ST3412A"
+"ST38641A" 0 C "Seagate ST38641A"
+"ST310014A" 194 C "Seagate ST310014A"
+"ST310210A" 0 C "Seagate ST310210A"
+"ST310211A" 194 C "Seagate ST310211A"
+"ST310220A" 0 C "Seagate ST310220A"
+# SEAGATE ST313021A 13.0GB
+"ST313021A" 0 C "Seagate U8 ST313021A"
+"ST310240A" 0 C "Seagate Medalist 10240 Ultra ATA-3"
+"ST315320A" 194 C "Seagate ST315320A"
+"ST320423A" 0 C "Seagate U10 20423, Ultra ATA/66"
+"ST320011A" 194 C "Seagate ST320011A"
+"ST320014A" 194 C "Seagate ST320014A (5400 rpm, 20Gb)"
+"ST320410A" 194 C "Seagate ST320410A"
+"ST320413A" 194 C "Seagate ST320413A"
+"ST320414A" 194 C "Seagate ST320414A"
+"ST320420A" 194 C "Seagate Barracuda II ST320420A"
+"ST330013A" 194 C "Seagate ST330013A Barracuda ATA V 30GB, 7200 rpm"
+"ST330620A" 194 C "Seagate ST330620A"
+"ST330621A" 194 C "Seagate ST330621A"
+"ST330630A" 194 C "Seagate Barracuda ST330630A"
+"ST340014A" 194 C "Seagate Barracuda 7200.7 40Gb"
+"ST340015A" 194 C "Seagate Barracuda 5400.1 40GB"
+"ST340016A" 194 C "Seagate ST340016A"
+"ST340810A" 194 C "Seagate U Series 40810 (40Gb, Ultra ATA/100, 5400 rpm)"
+"ST340823A" 194 C "Seagate U Series 5 40823"
+"ST340824A" 194 C "Seagate Barracuda III"
+"ST360015A" 194 C "Seagate Barracuda V ST360015A"
+"ST360020A" 194 C "Seagate U Series 60020"
+"ST360021A" 194 C "Seagate Barracuda IV ST360021A"
+"ST380011A" 194 C "Seagate Barracuda 7200.7 80GB"
+"ST380012A" 194 C "Seagate ST380012A 80GB"
+"ST380013A" 194 C "Seagate Barracuda 7200.7 80GB"
+"ST380013AS" 194 C "Seagate Barracuda 7200.7 80GB (Serial ATA)"
+"ST380020A" 194 C "Seagate U Series 80020 (80Gb, Ultra ATA/100, 5400 rpm)"
+"ST380021A" 194 C "Seagate Barracuda IV ST380021A"
+"ST380022A" 194 C "Seagate Barracuda U7 80022, Ultra ATA/100"
+"ST380023A" 194 C "Seagate Barracuda V ST380023A"
+"ST380817AS" 194 C "Seagate Barracuda 7200.7 80GB - SATA"
+"ST39111A" 194 C "Seagate ST39111A (from Sun Ultra)"
+"ST3120020A" 194 C "Seagate ST3120020A"
+"ST3120022A" 194 C "Seagate Baraccuda 7200.7 120GB"
+"ST3120023A" 194 C "Seagate Barracuda V ST3120023A"
+"ST3120024A" 194 C "Seagate Barracuda V ST3120024A"
+"ST3120025ACE" 194 C "Seagate Barracuda V ST3120025ACE"
+"ST3120026A" 194 C "Seagate Barracuda V ST3120026A"
+"ST3160021A" 194 C "Seagate Barracuda 7200.7 - ST3160021A"
+"ST3160023(A|AS)" 194 C "Seagate Barracuda V ST3160023A and AS (160Gb, ATA100 or Serial ATA)"
+"ST3160827AS" 194 C "Seagate Barracuda 7200.7 160GB (Serial ATA)"
+"ST3200021A" 194 C "Seagate Barracuda 7200.7 Plus 200GB"
+"ST3200822(A|AS)" 194 C "Seagate Barracuda 7200.7 Plus 200GB (PATA or SATA)"
+"ST3200826A" 194 C "Seagate Barracuda 7200.8 200Gb"
+"ST3250623A" 194 C "Seagate Barracuda 7200.16 250GB"
+"ST3250823A" 194 C "Seagate Barracuda 7200.8 250GB"
+"ST3250823A" 194 C "Seagate Barracuda 7200.7 Plus 250GB"
+"ST3250823NS" 194 C "Seagate NL35 SATA (RAID-Edition) 7200 250GB"
+"ST3300831A" 194 C "Seagate 300GB ST3300831A"
+"ST3400832A" 194 C "Seagate Barracuda 7200.8 Plus 400GB"
+"ST3400633(A|AS)" 194 C "Seagate Barracuda 7200.7 400 GB"
+"ST3500630NS" 194 C "Seagate"
+"ST3400632NS" 194 C "Seagate"
+"ST3320620AS" 194 C "Seagate Barracuda 7200.7 320 GB"
+"ST3500630AS" 194 C "Seagate Barracuda 7200.7 500 GB"
+"ST3802110A" 194 C "Seagate Barracuda 7200.9 80 GB"
+"ST910021A" 194 C "Seagate Momentus 7200.1 100GB"
+"ST910082[35]A" 194 C "Seagate Momentus 5400.2 100GB"
+"ST9120821A" 194 C "Seagate Momentus 5400.2 120GB"
+"ST94019A" 194 C "Seagate ST94019A"
+"ST94813A" 194 C "Seagate Momentus 5400.2 40GB"
+"ST94[08]11A" 194 C "Seagate ST94011A"
+"ST960821A" 194 C "Seagate ST960821A"
+"ST960822A" 194 C "Seagate Momentus 5400.2 60GB"
+"ST96812AS" 194 C "Seagate Momentus 5400.2 60GB SATA"
+"ST9808211A" 194 C "Seagate Momentus 5400.2 80GB"
+
+########################################
+############# TOSHIBA Laptops
+########################################
+"MK4313MAT" 220 C "Toshiba MK4313MAT"
+"TOSHIBA MK1032GAX" 194 C "Toshiba MK1032GAX"
+"TOSHIBA MK1517GAP" 0 C "Toshiba MK1517GAP"
+"TOSHIBA MK2018GAS" 226 F "Toshiba MK2018GAS"
+"TOSHIBA MK2023GAS" 194 C "Toshiba MK2023GAS"
+
+"TOSHIBA MK3017GAP" 0 C "Toshiba MK3017GAP"
+"TOSHIBA MK3021GAS" 194 C "Toshiba MK3021GAS"
+"TOSHIBA MK3025GAS" 194 C "Toshiba MK3025GAS"
+
+#"TOSHIBA MK4019GAX" 222 C "Toshiba MK4019GAX"
+"TOSHIBA MK4021GAS" 194 C "Toshiba MK4021GAS"
+"TOSHIBA MK4025GAS" 194 C "Toshiba MK4025GAS 40 Go"
+"TOSHIBA MK4026GAS" 194 C "Toshiba MK4026GAS 40 Go"
+"TOSHIBA MK4032GAX" 194 C "Toshiba MK4032GAX"
+
+"TOSHIBA MK6021GAS" 194 C "Toshiba MK6021GAS"
+"TOSHIBA MK6022GAX" 194 C "Toshiba MK6022GAX"
+"TOSHIBA MK6025GAS" 194 C "Toshiba MK6025GAS"
+"TOSHIBA MK6026GAX" 194 C "Toshiba MK6026GAX"
+"TOSHIBA MK8025GAS" 194 C "Toshiba MK8025GAS"
+"TOSHIBA MK8026GAX" 194 C "Toshiba MK8026GAX"
+
+"MK4025GAS" 194 C "Toshiba MK4025GAS"
+
+
+########################################
+############# Western Digital drives
+########################################
+# WDC AC310100B and WDC AC2850F are reported not working
+# no more informations were given
+"WDC AC22000L" 0 C "Western Digital Caviar AC22000"
+"WDC AC420400D" 231 C "Western Digital Caviar AC420400D"
+"WDC AC418000D" 231 C "Western Digital AC418000D"
+"WDC WD135BA" 231 C "Western Digital WD135BA"
+
+"WDC WD100EB-00BHF0" 0 C "Western Digital 100EB-00BHF0"
+"WDC WD200BB-00AUA1" 0 C "Western Digital Caviar WD200BB"
+#"WDC WD200BB-60DGA0" 0 C "Western Digital Caviar WD200BB"
+"WDC WD300BB-00CAA0" 0 C "Western Digital WD300BB"
+"WDC WD360GD-00FNA0" 194 C "Western Digital SATA Raptor 36.7GB"
+"WDC WD400BB-00CAA0" 0 C "Western Digital 400BB-00CAA0"
+"WDC WD400BB-00J[KH]A0" 194 C "Western Digital Caviar WD400BB"
+"WDC WD400BB-23JHC0" 194 C "Western Digital 23JHC0"
+#"WDC WD400BB-00GFA0" 0 C ""
+"WDC WD400BB-55HEA0" 194 C "Western Digital Caviar WD400BB"
+"WDC WD400BB-(18CA|00DE)A0" 0 C "Western Digital Caviar WD400BB"
+"WDC WD400BB-75FJA1" 194 C "Western Digital Caviar WD400BB"
+"WDC WD400EB-00CPF0" 0 C "Western Digital 400EB-00CPF0"
+"WDC WD400JB-00(JJ|FM|FS)A0" 194 C "Western Digital Caviar 40GB Special Edition 8MB"
+"WDC WD400JB-00ETA0" 194 C "Western Digital 400JB-00ETA0"
+"WDC WD400JB-00JJC0" 194 C "Western Digital 400JB-00JJC0 40GB"
+"WDC WD400LB-00DNA0" 194 C "Western Digital 400LB-00DNA0"
+"WDC WD400UE-22HCT0" 194 C "Western Digital 40GB Notebook HDD"
+"WDC WD400VE-75HDT1" 194 C "Western Digital Scorpio 40GB"
+"WDC WD600BB-32BSA0" 0 C "Western Digital 600BB-32BSA0"
+"WDC WD600JB-00ETA0" 194 C "Western Digital 600JB-00ETA0"
+"WDC WD600LB-00DNA0" 194 C "Western Digital 60GB"
+"WDC WD600VE-75HDT0" 194 C "Western Digital 600VE-75HDT0"
+"WDC WD600VE-00HDT0" 194 C "Western Digital 600VE-00HDT0"
+"WDC WD740GD-00FL21.0" 194 C "Western Digital SATA Raptor"
+"WDC WD740GD-([05]0FL[AC]0|75FLA1)" 194 C "Western Digital SATA Raptor 74GB 8MB"
+"WDC WD800BB-00CAA1" 0 C "Western Digital WD800BB-00CAA1"
+"WDC WD800BB-(00|22)DKA0" 194 C "Western Digital WD800BB 80 Go"
+"WDC WD800BB-32CCB0" 194 C "Western Digital 800BB-32CCB0"
+"WDC WD800BB-55HEA0" 194 C "Western Digital 800BB-55HEA0"
+"WDC WD800BB-00JHA0" 194 C "Western Digital 800BB-00JHA0"
+"WDC WD800BB-00JKA0" 194 C "Western Digital 800BB-00JKA0"
+"WDC WD800BB-55JKA0" 194 C "Western Digital 800BB-55JKA0"
+"WDC WD800BB-75FRA0" 194 C "Western Digital Caviar WD800BB"
+"WDC WD800JB-00CRA1" 0 C "Western Digital Caviar WD800JB"
+"WDC WD800JB-00(ET|FM|FS)A0" 194 C "Western Digital Caviar 80GB Special Edition 8MB"
+"WDC WD800JB-00JJ[AC]0" 194 C "Western Digital WD800JB"
+"WDC WD800JD-(00|55)(HK|JR)A0" 194 C "Western Digital SATA 80GB, 8MB Cache"
+"WDC WD800JD-00(HK|JN)A0" 194 C "Western Digital SATA 80GB, 8MB Cache"
+"WDC WD800LB-(00|55)DNA0" 194 C "Western Digital Caviar WD800LB 80 Go ATA-100"
+"WDC WD800VE-07HDT0" 194 C "Western Digital 800VE-07HDT0"
+"WDC WD1200BB-00(FTA|GUA)0" 194 C "Western Digital Caviar EIDE 2MB Cache"
+"WDC WD1200JB-00(EV|FU|GV)A0" 194 C "Western Digital Caviar 120GB Special Edition 8MB"
+"WDC WD1200JB-22GVA0" 194 C "Western Digital Caviar 120GB"
+"WDC WD1200JD-00(GBB|HBC)0" 194 C "Western Digital WD1200JD"
+"WDC WD1200LB-55EDA0" 194 C "Western Digital WD1220LB"
+"WDC WD1200SB-01KB[AC]0" 194 C "Western Digital Caviar RE (Raid Edition) 120 GB"
+"WDC WD1600BB-00DWA0" 194 C "Western Digital Caviar WD1600BB"
+"WDC WD1600JB-(00EV|00FU|00GV|22GV|75GV)A0" 194 C "Western Digital Caviar 160GB Special Edition 8MB"
+"WDC WD2000BB-00FTA0" 194 C "Western Digital WD2000BB"
+"WDC WD2000JB-(00EV|32EV|34EV|00FU|00GV|55GV|98GV|00KF)A0" 194 C "Western Digital Caviar 200GB Special Edition 8MB"
+"WDC WD2000JB-00GVC0" 194 C "Western Digital WD2000JB"
+"WDC WD2000JS-00MHB1" 194 C "Western Digital SATA 200GB"
+"WDC WD2500JB-(00RE|00EV|00FU|32FU|00GV|55GV)A0" 194 C "Western Digital Caviar 250GB Special Edition 8MB"
+"WDC WD2500JB-00GVC0" 194 C "Western Digital 250GB"
+"WDC WD2500JD-(00G|32H)BB0" 194 C "Western Digital SATA Caviar 250GB Special Edition 8MB"
+"WDC WD2500JD-40HBC0" 194 C "Western Digital WD2500JD-40HBC0"
+"WDC WD2500PB-98FBA0" 194 C "Western Digital Caviar 250GB Special Edition 8MB"
+"WDC WD2500PD-00FZB1" 194 C "Western Digital WD2500PD-00FZB1"
+"WDC WD2500SD-01KCB0" 194 C "Western Digital Caviar RE 250GB 8MB"
+"WDC WD3000JB-00KFA0" 194 C "Western Digital WD3000JB"
+"WDC WD3200JB-00KFA0" 194 C "Western Digital Caviar 320GB 8MB"
+"WDC WD4000KD-00NAB0" 194 C "Western Digital Caviar SE16 400GB 16MB"
+"WDC WD4000YR-01PLB0" 194 C "Western Digital Caviar RE2 400GB 16MB"
+"WD4000YS-01MPB0" 194 C "Western Digital RE2 7200 SATA II 400 GB"
+
+# not sure for next
+# "WDC WD1200JB-00CRA1" 9 C "Western Digital 1200JB-00CRA1"
+# "WDC WD273BA" 9 C "Western Digital WD273BA"
+
+
+
+
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+
+"ST3750640AS" 194 C "Seagate Barracuda 7200.10 SATA 750GB"
+"ST3750840AS" 194 C "Seagate Barracuda 7200.10 SATA 750GB"
+"ST3500630AS" 194 C "Seagate Barracuda 7200.10 SATA 500GB"
+"ST3500830AS" 194 C "Seagate Barracuda 7200.10 SATA 500GB"
+"ST3400620AS" 194 C "Seagate Barracuda 7200.10 SATA 400GB"
+"ST3400620A" 194 C "Seagate Barracuda 7200.10 400GB"
+"ST3400820AS" 194 C "Seagate Barracuda 7200.10 SATA 400GB"
+"ST3320620AS" 194 C "Seagate Barracuda 7200.10 SATA 320GB"
+"ST3320820AS" 194 C "Seagate Barracuda 7200.10 SATA 320GB"
+"ST3300620AS" 194 C "Seagate Barracuda 7200.10 SATA 300GB"
+"ST3300820AS" 194 C "Seagate Barracuda 7200.10 SATA 300GB"
+"ST3250620AS" 194 C "Seagate Barracuda 7200.10 SATA 250GB"
+"ST3250820AS" 194 C "Seagate Barracuda 7200.10 SATA 250GB"
+"ST3250410AS" 194 C "Seagate Barracuda 7200.10 SATA 250GB"
+"ST3250310AS" 194 C "Seagate Barracuda 7200.10 SATA 250GB"
+"ST3200820AS" 194 C "Seagate Barracuda 7200.10 SATA 200GB"
+"ST3160815AS" 194 C "Seagate Barracuda 7200.10 SATA 160GB"
+"ST3160215AS" 194 C "Seagate Barracuda 7200.10 SATA 160GB"
+"ST3120815AS" 194 C "Seagate Barracuda 7200.10 SATA 120GB"
+"ST3120215AS" 194 C "Seagate Barracuda 7200.10 SATA 120GB"
+"ST380815AS" 194 C "Seagate Barracuda 7200.10 SATA 80GB"
+"ST380215AS" 194 C "Seagate Barracuda 7200.10 SATA 80GB"
+"ST340815AS" 194 C "Seagate Barracuda 7200.10 SATA 40GB"
+"ST340215AS" 194 C "Seagate Barracuda 7200.10 SATA 40GB"
+"ST3300622AS" 194 C "Seagate Barracuda 7200.9 SATA2.5 300GB"
+"ST3300831A" 194 C "Seagate Barracuda 7200.8 PATA 300GB"
+
+"Maxtor 7(L|V)250(F|R|S)0" 194 C "Maxtor MaXLine III 250GB 7200rpm"
+"Maxtor 7(L|V)300(F|R|S)0" 194 C "Maxtor MaXLine III 300GB 7200rpm"
+"MAXTOR STM3320620AS" 194 C ""
+
+"WDC WD1500ADFD-00NLR1" 194 C "Western Digital Raptor 150GB"
+"WDC WD1600JS-00NCB1" 194 C "Western Digital Caviar 1600JS 160GB Sata"
+"WDC WD1600SD-01KCC0" 194 C "Western Digital Caviar RE Serial ATA series"
+"WDC WD2500JD-57HBC0" 194 C "Western Digital Caviar SE (Serial ATA) 250 GB"
+"WDC WD2500JS" 194 C "Western Digital WD2500JS"
+"WDC WD2500JS-41MVB1" 194 C "Western Digital SATAII Caviar 250GB Special Edition 8MB"
+"WDC WD2500JD-00HBB0" 194 C "Western Digital SATA 250GB"
+"WDC WD2500KS-00MJB0" 194 C "Western Digital SATA-II Caviar 250GB Special Edition 16MB"
+"WDC WD3000JS-00PDB0" 194 C "Western Digital WD3000JS"
+"WDC WD3200KS-00PFB0" 194 C ""
+"WDC WD3200JD-22KLB0" 194 C "Western Digital Caviar SE 320GB 8MB"
diff --git a/meta-oe/recipes-support/hddtemp/files/hddtemp_0.3-beta15-52.diff b/meta-oe/recipes-support/hddtemp/files/hddtemp_0.3-beta15-52.diff
new file mode 100644
index 0000000000..f61c1649a4
--- /dev/null
+++ b/meta-oe/recipes-support/hddtemp/files/hddtemp_0.3-beta15-52.diff
@@ -0,0 +1,2256 @@
+Megapatch from debian
+
+Original URL: http://ftp.debian.org/debian/pool/main/h/hddtemp/hddtemp_0.3-beta15-52.diff.gz
+
+Filtered with:
+ filterdiff -p1 -x README -x 'debian/*'
+
+
+Upstream-Status: unmaintained
+
+--- hddtemp-0.3-beta15.orig/doc/hddtemp.8
++++ hddtemp-0.3-beta15/doc/hddtemp.8
+@@ -58,6 +58,10 @@
+ .B \-f, \-\-file=\fIfile\fI
+ Specify the database file to use.
+ .TP
++.B \-F, \-\-foreground
++Don't fork into the background even in daemon mode. This is useful
++when running under a process supervisor.
++.TP
+ .B \-l, \-\-listen=\fIaddr\fR
+ Listen on a specific address. \fIaddr\fR is a string containing a
+ host name or a numeric host address string. The numeric host address
+@@ -80,6 +84,9 @@
+ .B \-q, \-\-quiet
+ Don't check if the drive is supported.
+ .TP
++.B \-u, \-\-unit=\fIC|F\fR
++Force output temperature either in Celsius or Fahrenheit.
++.TP
+ .B \-v, \-\-version
+ Display hddtemp version number.
+ .TP
+@@ -96,7 +103,7 @@
+ .SH "DRIVE DATABASE"
+ If you know your drive has a temperature sensor but it is being
+ reported unsupported, tell me which model and which manufacturer it
+-is, and/or just add a new entry in /usr/share/misc/hddtemp.db. Each
++is, and/or just add a new entry in /etc/hddtemp.db. Each
+ line of hddtemp.db is either a comment, a blank line or a line
+ containing:
+ .TP
+@@ -112,7 +119,7 @@
+ Feedback is welcome (see the REPORT section below).
+
+ .SH "TCP/IP DAEMON MODE"
+-Exemple of type forcing:
++Example of type forcing:
+ .PP
+ # hddtemp SATA:/dev/sda PATA:/dev/hda
+ .PP
+@@ -120,7 +127,7 @@
+ .B hddtemp
+ in daemon mode, start it like this:
+ .PP
+-# hddtemp -d /dev/hd[abcd]
++# hddtemp \-d /dev/hd[abcd]
+ .PP
+ .PP
+ and use
+@@ -165,8 +172,8 @@
+ investigation they do not. But fields 194 (which is the standard
+ field for temperature) and 231 are good candidates.
+ .PP
+-Then, you can send me a report with outputs from `hddtemp --debug ...',
+-`smartctl' or `hdparm -i ...', and/or add an entry in hddtemp.db
++Then, you can send me a report with outputs from `hddtemp \-\-debug ...',
++`smartctl' or `hdparm \-i ...', and/or add an entry in hddtemp.db
+ yourself.
+
+ .SH "BUGS"
+@@ -183,5 +190,5 @@
+ .PP
+ Emmanuel Varagnat (hddtemp@guzu.net).
+ .PP
+-This manual page was originaly written by Aurelien Jarno <aurel32@debian.org>,
++This manual page was originally written by Aurelien Jarno <aurel32@debian.org>,
+ for the Debian GNU/Linux system (but may be used by others).
+--- hddtemp-0.3-beta15.orig/po/fr.po
++++ hddtemp-0.3-beta15/po/fr.po
+@@ -7,9 +7,9 @@
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: fr\n"
+-"Report-Msgid-Bugs-To: hddtemp@guzu.net\n"
+-"POT-Creation-Date: 2005-02-25 22:43+0100\n"
+-"PO-Revision-Date: 2003-06-03 00:58GMT+1\n"
++"Report-Msgid-Bugs-To: \n"
++"POT-Creation-Date: 2006-06-29 16:24+0200\n"
++"PO-Revision-Date: 2011-08-30 16:38+0200\n"
+ "Last-Translator: Aurelien Jarno <aurelien@aurel32.net>\n"
+ "Language-Team: FRANCAIS <fr@li.org>\n"
+ "MIME-Version: 1.0\n"
+@@ -17,23 +17,7 @@
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Generator: KBabel 1.0.1\n"
+
+-#: src/hddtemp.c:112
+-#, c-format
+-msgid ""
+-"\n"
+-"Regexp%s| Value | Description\n"
+-"------%s---------------------\n"
+-msgstr ""
+-"\n"
+-"Regexp%s| Valeur | Description\n"
+-"------%s----------------------\n"
+-
+-#: src/hddtemp.c:118
+-#, c-format
+-msgid "%s%s| %5d | %s\n"
+-msgstr "%s%s| %5d | %s\n"
+-
+-#: src/hddtemp.c:161
++#: src/hddtemp.c:156
+ #, c-format
+ msgid ""
+ "\n"
+@@ -46,7 +30,7 @@
+ "Modèle: %s\n"
+ "\n"
+
+-#: src/hddtemp.c:188
++#: src/hddtemp.c:189
+ #, c-format
+ msgid ""
+ "WARNING: Drive %s doesn't seem to have a temperature sensor.\n"
+@@ -60,75 +44,60 @@
+ "net).\n"
+ "ATTENTION : Voir les options --help, --debug et --drivebase.\n"
+
+-#: src/hddtemp.c:192
++#: src/hddtemp.c:197
+ #, c-format
+ msgid "%s: %s: no sensor\n"
+ msgstr "%s: %s : pas de capteur\n"
+
+-#: src/hddtemp.c:197
+-#, c-format
+-msgid ""
+-"WARNING: Drive %s doesn't appear in the database of supported drives\n"
+-"WARNING: But using a common value, it reports something.\n"
+-"WARNING: Note that the temperature shown could be wrong.\n"
+-"WARNING: See --help, --debug and --drivebase options.\n"
+-"WARNING: And don't forget you can add your drive to hddtemp.db\n"
+-msgstr ""
+-"ATTENTION : Le lecteur %s n'apparait pas dans la base de données des "
+-"lecteurs supportés\n"
+-"ATTENTION : Mais en utilisant une valeur courante, il renvoie quelque "
+-"chose.\n"
+-"ATTENTION : Notez que la température renvoyée peut être erronée.\n"
+-"ATTENTION : Voir les options --help, --debug et --drivebase.\n"
+-"ATTENTION : Et n'oubliez pas d'ajouter votre lecteur au fichier hddtemp.db\n"
+-
+-#: src/hddtemp.c:202
++#: src/hddtemp.c:211
+ #, c-format
+ msgid "%s: %s: %d%sC or %sF\n"
+ msgstr "%s: %s : %d%sC ou %sF\n"
+
+-#: src/hddtemp.c:214
++#: src/hddtemp.c:235
+ #, c-format
+ msgid "%s: %s: drive is sleeping\n"
+ msgstr "%s: %s : le lecteur est en veille\n"
+
+-#: src/hddtemp.c:217
++#: src/hddtemp.c:242
+ #, c-format
+-msgid "%s: %s: known drive, but it doesn't have a temperature sensor.\n"
++msgid "%s: %s: drive supported, but it doesn't have a temperature sensor.\n"
+ msgstr ""
+ "%s: %s: lecteur connu, mais il ne possède pas de capteur de température.\n"
+
+-#: src/hddtemp.c:220
++#: src/hddtemp.c:246
+ #, c-format
+ msgid "ERROR: %s: %s: unknown returned status\n"
+ msgstr "ERREUR : %s : %s : status inconnu\n"
+
+-#: src/hddtemp.c:235
++#: src/hddtemp.c:261
+ #, c-format
+ msgid ""
+ "\n"
+ "If one of the field value seems to match the temperature, be sure to read\n"
+-"the hddtemp man page before sending me a report (section REPORT). Thanks.\n"
++"the hddtemp man page before sending a report (section REPORT). Thanks.\n"
+ msgstr ""
+
+-#: src/hddtemp.c:308
++#: src/hddtemp.c:338
+ #, c-format
+ msgid "ERROR: invalid separator.\n"
+ msgstr "ERREUR : séparateur invalide.\n"
+
+-#: src/hddtemp.c:319
++#: src/hddtemp.c:349
+ #, c-format
+ msgid "ERROR: invalid port number.\n"
+ msgstr "ERREUR : numéro de port invalide.\n"
+
+-#: src/hddtemp.c:329
+-#, fuzzy, c-format
++#: src/hddtemp.c:371
++#, c-format
+ msgid ""
+-" Usage: hddtemp [OPTIONS] DISK1 [DISK2]...\n"
++" Usage: hddtemp [OPTIONS] [TYPE:]DISK1 [[TYPE:]DISK2]...\n"
+ "\n"
+ " hddtemp displays the temperature of drives supplied in argument.\n"
+ " Drives must support S.M.A.R.T.\n"
+ "\n"
++" TYPE could be SATA, PATA or SCSI. If omitted hddtemp will try to guess.\n"
++"\n"
+ " -b --drivebase : display database file content that allow hddtemp to\n"
+ " recognize supported drives.\n"
+ " -D --debug : display various S.M.A.R.T. fields and their values.\n"
+@@ -138,6 +107,7 @@
+ " -d --daemon : run hddtemp in TCP/IP daemon mode (port %d by "
+ "default.)\n"
+ " -f --file=FILE : specify database file to use.\n"
++" -F --foreground : don't daemonize, stay in foreground.\n"
+ " -l --listen=addr : listen on a specific interface (in TCP/IP daemon "
+ "mode).\n"
+ " -n --numeric : print only the temperature.\n"
+@@ -145,6 +115,8 @@
+ " -s --separator=C : separator to use between fields (in TCP/IP daemon "
+ "mode).\n"
+ " -S --syslog=s : log temperature to syslog every s seconds.\n"
++" -u --unit=[C|F] : force output temperature either in Celsius or "
++"Fahrenheit.\n"
+ " -q --quiet : do not check if the drive is supported.\n"
+ " -v --version : display hddtemp version number.\n"
+ " -w --wake-up : wake-up the drive if need.\n"
+@@ -153,11 +125,14 @@
+ "\n"
+ "Report bugs or new drives to <hddtemp@guzu.net>.\n"
+ msgstr ""
+-" Utilisation: hddtemp [OPTIONS] DISQUE1 [DISQUE2]...\n"
++" Utilisation: hddtemp [OPTIONS] [TYPE:]DISQUE1 [[TYPE:]DISQUE2]...\n"
+ "\n"
+ " hddtemp affiche la température des lecteurs passés en argument.\n"
+ " Les lecteurs doivent avoir le support S.M.A.R.T.\n"
+ "\n"
++" TYPE peut être SATA, PATA ou SCSI. Si le type est omis, hddtemp essaiera\n"
++" de le deviner.\n"
++"\n"
+ " -b --drivebase : affiche le contenu du fichier de base de donnée "
+ "qui \n"
+ " permet à hddtemp de reconnaître les lecteurs "
+@@ -172,6 +147,7 @@
+ "défaut).\n"
+ " -f --file=FILE : specifie le fichier à utiliser comme base de "
+ "données.\n"
++" -F --foreground : ne pas démoniser, rester au premier plan.\n"
+ " -l --listen=addr : écoute sur une interface spécifique (en mode démon "
+ "TCP/IP).\n"
+ " -n --numeric : affiche seulement la température.\n"
+@@ -180,6 +156,8 @@
+ "démon TCP/IP).\n"
+ " -S --syslog=s : enregistre la température dans syslog tous les s "
+ "secondes.\n"
++" -u --unit=[C|F] : affiche la température en degrés Celsius ou "
++"Fahrenheit.\n"
+ " -q --quiet : ne vérifie pas si le lecteur est supporté.\n"
+ " -v --version : affiche la version de hddtemp.\n"
+ " -w --wake-up : réveiller le lecteur si nécessaire.\n"
+@@ -188,62 +166,95 @@
+ "\n"
+ "Report bugs or new drives to <hddtemp@guzu.net>.\n"
+
+-#: src/hddtemp.c:522
++#: src/hddtemp.c:402
+ #, c-format
+ msgid "hddtemp version %s\n"
+ msgstr "hddtemp version %s\n"
+
+-#: src/hddtemp.c:547
++#: src/hddtemp.c:418
+ #, c-format
+ msgid "ERROR: invalid interval.\n"
+ msgstr "ERREUR : intervalle invalide.\n"
+
+-#: src/hddtemp.c:547
++#: src/hddtemp.c:438
++#, c-format
+ msgid "Too few arguments: you must specify one drive, at least.\n"
+ msgstr "Trop peu d'arguments : vous devez spécifier au moins un lecteur.\n"
+
+-#: src/hddtemp.c:557
++#: src/hddtemp.c:448
++#, c-format
+ msgid "ERROR: can't use --debug and --daemon or --syslog options together.\n"
+ msgstr ""
+ "ERREUR: impossible d'utiliser les options --debug et --daemon ou --syslog en "
+ "même temps.\n"
+
+-#: src/hddtemp.c:583
++#: src/hddtemp.c:505
+ #, c-format
+ msgid "ERROR: %s: can't determine bus type (or this bus type is unknown)\n"
+ msgstr ""
+ "ERREUR: %s: impossible de déterminer le type de bus (ou ce type de bus est "
+ "inconnu)\n"
+
+-#: src/ata.c:66 src/scsi.c:68
++#: src/ata.c:66 src/scsi.c:64
+ msgid "unknown"
+ msgstr "inconnu"
+
+-#: src/ata.c:98
++#: src/ata.c:85 src/ata.c:104 src/scsi.c:91
+ #, c-format
+-msgid "field(%d)\t = %d\n"
+-msgstr "champ(%d)\t = %d\n"
+-
+-#: src/ata.c:167
+ msgid "S.M.A.R.T. not available"
+ msgstr "S.M.A.R.T. non disponible"
+
+-#: src/db.c:180
++#: src/db.c:115
++#, c-format
++msgid ""
++"\n"
++"Regexp%s| Value | Description\n"
++"------%s---------------------\n"
++msgstr ""
++"\n"
++"Regexp%s| Valeur | Description\n"
++"------%s----------------------\n"
++
++#: src/db.c:121
++#, c-format
++msgid "%s%s| %5d | %s\n"
++msgstr "%s%s| %5d | %s\n"
++
++#: src/db.c:236
+ #, c-format
+ msgid "hddtemp: can't open %1$s: %2$s\n"
+ msgstr "hddtemp: ne peut ouvrir %1$s: %2$s\n"
+
+-#: src/db.c:194
++#: src/db.c:250
+ #, c-format
+ msgid "ERROR: syntax error at line %1$d in %2$s\n"
+ msgstr "ERREUR: erreur de syntaxe à la ligne %1$d: %2$s\n"
+
+-#: src/db.c:201
++#: src/db.c:257
+ #, c-format
+ msgid " ERROR: line exceed %1$d characters in %2$s.\n"
+ msgstr " ERREUR: ligne exécdant %1$d caractères dans %2$s.\n"
+
+-#: src/scsi.c:112 src/scsi.c:130
++#: src/scsi.c:111 src/scsi.c:129
+ #, c-format
+ msgid "log sense failed : %s"
+ msgstr "echec de 'log sense' : %s "
++
++#~ msgid ""
++#~ "WARNING: Drive %s doesn't appear in the database of supported drives\n"
++#~ "WARNING: But using a common value, it reports something.\n"
++#~ "WARNING: Note that the temperature shown could be wrong.\n"
++#~ "WARNING: See --help, --debug and --drivebase options.\n"
++#~ "WARNING: And don't forget you can add your drive to hddtemp.db\n"
++#~ msgstr ""
++#~ "ATTENTION : Le lecteur %s n'apparait pas dans la base de données des "
++#~ "lecteurs supportés\n"
++#~ "ATTENTION : Mais en utilisant une valeur courante, il renvoie quelque "
++#~ "chose.\n"
++#~ "ATTENTION : Notez que la température renvoyée peut être erronée.\n"
++#~ "ATTENTION : Voir les options --help, --debug et --drivebase.\n"
++#~ "ATTENTION : Et n'oubliez pas d'ajouter votre lecteur au fichier hddtemp."
++#~ "db\n"
++
++#~ msgid "field(%d)\t = %d\n"
++#~ msgstr "champ(%d)\t = %d\n"
+--- hddtemp-0.3-beta15.orig/po/ru.po
++++ hddtemp-0.3-beta15/po/ru.po
+@@ -6,8 +6,8 @@
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: hddtemp 0.3-beta3\n"
+-"Report-Msgid-Bugs-To: hddtemp@guzu.net\n"
+-"POT-Creation-Date: 2005-02-25 22:43+0100\n"
++"Report-Msgid-Bugs-To: \n"
++"POT-Creation-Date: 2006-06-29 16:24+0200\n"
+ "PO-Revision-Date: 2003-03-08 16:42+0300\n"
+ "Last-Translator: Michael Shigorin <mike@altlinux.ru>\n"
+ "Language-Team: Russian <ru@li.org>\n"
+@@ -15,23 +15,7 @@
+ "Content-Type: text/plain; charset=koi8-r\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+-#: src/hddtemp.c:112
+-#, c-format
+-msgid ""
+-"\n"
+-"Regexp%s| Value | Description\n"
+-"------%s---------------------\n"
+-msgstr ""
+-"\n"
+-"òÅÇÜËÓ%s| úÎÁÞ. | ïÐÉÓÁÎÉÅ \n"
+-"------%s---------------------\n"
+-
+-#: src/hddtemp.c:118
+-#, c-format
+-msgid "%s%s| %5d | %s\n"
+-msgstr ""
+-
+-#: src/hddtemp.c:161
++#: src/hddtemp.c:156
+ #, c-format
+ msgid ""
+ "\n"
+@@ -40,7 +24,7 @@
+ "\n"
+ msgstr ""
+
+-#: src/hddtemp.c:188
++#: src/hddtemp.c:189
+ #, c-format
+ msgid ""
+ "WARNING: Drive %s doesn't seem to have a temperature sensor.\n"
+@@ -53,72 +37,59 @@
+ "÷îéíáîéå: åÓÌÉ ×Ù ÔÏÞÎÏ ÚÎÁÅÔÅ, ÞÔÏ ÄÁÔÞÉË ÅÓÔØ, ÎÁÐÉÛÉÔÅ hddtemp@guzu.net\n"
+ "÷îéíáîéå: (ÓÍ. ÏÐÃÉÉ --help, --debug É --drivebase).\n"
+
+-#: src/hddtemp.c:192
++#: src/hddtemp.c:197
+ #, c-format
+ msgid "%s: %s: no sensor\n"
+ msgstr "%s: %s: ÎÅÔ ÄÁÔÞÉËÁ\n"
+
+-#: src/hddtemp.c:197
+-#, c-format
+-msgid ""
+-"WARNING: Drive %s doesn't appear in the database of supported drives\n"
+-"WARNING: But using a common value, it reports something.\n"
+-"WARNING: Note that the temperature shown could be wrong.\n"
+-"WARNING: See --help, --debug and --drivebase options.\n"
+-"WARNING: And don't forget you can add your drive to hddtemp.db\n"
+-msgstr ""
+-"÷îéíáîéå: äÉÓË %s ÎÅ ×ËÌÀÞÅÎ × ÂÁÚÕ ÄÁÎÎÙÈ ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ ÐÒÉ×ÏÄÏ×.\n"
+-"÷îéíáîéå: îÏ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÒÁÓÐÒÏÓÔÒÁÎÅÎÎÙÈ ÐÁÒÁÍÅÔÒÏ× ÏÎ ÞÔÏ-ÔÏ ×ÙÄÁÅÔ.\n"
+-"÷îéíáîéå: úÁÍÅÔØÔÅ, ÞÔÏ ÐÏËÁÚÁÎÎÁÑ ÔÅÍÐÅÒÁÔÕÒÁ ÍÏÖÅÔ ÔÁËÏ×ÏÊ ÎÅ Ñ×ÌÑÔØÓÑ.\n"
+-"÷îéíáîéå: óÍ. ÏÐÃÉÉ --help, --debug É --drivebase.\n"
+-"÷îéíáîéå: é ÎÅ ÚÁÂÕÄØÔÅ, ÞÔÏ ÍÏÖÎÏ ÄÏÂÁ×ÉÔØ ÐÒÉ×ÏÄ × hddtemp.db\n"
+-
+-#: src/hddtemp.c:202
++#: src/hddtemp.c:211
+ #, c-format
+ msgid "%s: %s: %d%sC or %sF\n"
+ msgstr "%s: %s: %d%sC ÉÌÉ %sF\n"
+
+-#: src/hddtemp.c:214
++#: src/hddtemp.c:235
+ #, c-format
+ msgid "%s: %s: drive is sleeping\n"
+ msgstr "%s: %s: ÎÅÔ ÄÁÔÞÉËÁ\n"
+
+-#: src/hddtemp.c:217
+-#, c-format
+-msgid "%s: %s: known drive, but it doesn't have a temperature sensor.\n"
++#: src/hddtemp.c:242
++#, fuzzy, c-format
++msgid "%s: %s: drive supported, but it doesn't have a temperature sensor.\n"
+ msgstr "%s: %s: ÉÚ×ÅÓÔÎÙÊ ÄÉÓË, ÎÅ ÓÏÄÅÒÖÁÝÉÊ ÄÁÔÞÉËÁ ÔÅÍÐÅÒÁÔÕÒÙ.\n"
+
+-#: src/hddtemp.c:220
++#: src/hddtemp.c:246
+ #, c-format
+ msgid "ERROR: %s: %s: unknown returned status\n"
+ msgstr "ïûéâëá: %s: %s: ÎÅÉÚ×ÅÓÔÎÙÊ ÓÔÁÔÕÓ ×ÏÚ×ÒÁÔÁ\n"
+
+-#: src/hddtemp.c:235
++#: src/hddtemp.c:261
+ #, c-format
+ msgid ""
+ "\n"
+ "If one of the field value seems to match the temperature, be sure to read\n"
+-"the hddtemp man page before sending me a report (section REPORT). Thanks.\n"
++"the hddtemp man page before sending a report (section REPORT). Thanks.\n"
+ msgstr ""
+
+-#: src/hddtemp.c:308
++#: src/hddtemp.c:338
+ #, c-format
+ msgid "ERROR: invalid separator.\n"
+ msgstr "ïûéâëá: ÎÅ×ÅÒÎÙÊ ÒÁÚÄÅÌÉÔÅÌØ.\n"
+
+-#: src/hddtemp.c:319
++#: src/hddtemp.c:349
+ #, c-format
+ msgid "ERROR: invalid port number.\n"
+ msgstr "ïýéâëá: ÎÅ×ÅÒÎÙÊ ÎÏÍÅÒ ÐÏÒÔÁ.\n"
+
+-#: src/hddtemp.c:329
++#: src/hddtemp.c:371
+ #, fuzzy, c-format
+ msgid ""
+-" Usage: hddtemp [OPTIONS] DISK1 [DISK2]...\n"
++" Usage: hddtemp [OPTIONS] [TYPE:]DISK1 [[TYPE:]DISK2]...\n"
+ "\n"
+ " hddtemp displays the temperature of drives supplied in argument.\n"
+ " Drives must support S.M.A.R.T.\n"
+ "\n"
++" TYPE could be SATA, PATA or SCSI. If omitted hddtemp will try to guess.\n"
++"\n"
+ " -b --drivebase : display database file content that allow hddtemp to\n"
+ " recognize supported drives.\n"
+ " -D --debug : display various S.M.A.R.T. fields and their values.\n"
+@@ -128,6 +99,7 @@
+ " -d --daemon : run hddtemp in TCP/IP daemon mode (port %d by "
+ "default.)\n"
+ " -f --file=FILE : specify database file to use.\n"
++" -F --foreground : don't daemonize, stay in foreground.\n"
+ " -l --listen=addr : listen on a specific interface (in TCP/IP daemon "
+ "mode).\n"
+ " -n --numeric : print only the temperature.\n"
+@@ -135,6 +107,8 @@
+ " -s --separator=C : separator to use between fields (in TCP/IP daemon "
+ "mode).\n"
+ " -S --syslog=s : log temperature to syslog every s seconds.\n"
++" -u --unit=[C|F] : force output temperature either in Celsius or "
++"Fahrenheit.\n"
+ " -q --quiet : do not check if the drive is supported.\n"
+ " -v --version : display hddtemp version number.\n"
+ " -w --wake-up : wake-up the drive if need.\n"
+@@ -168,59 +142,90 @@
+ "\n"
+ "óÏÏÂÝÅÎÉÑ Ï ÏÛÉÂËÁÈ É ÄÁÎÎÙÅ ÄÌÑ ÄÉÓËÏ× ÏÔÐÒÁ×ÌÑÊÔÅ ÎÁ <hddtemp@guzu.net>.\n"
+
+-#: src/hddtemp.c:522
++#: src/hddtemp.c:402
+ #, c-format
+ msgid "hddtemp version %s\n"
+ msgstr "÷ÅÒÓÉÑ hddtemp: %s\n"
+
+-#: src/hddtemp.c:547
++#: src/hddtemp.c:418
+ #, fuzzy, c-format
+ msgid "ERROR: invalid interval.\n"
+ msgstr "ïûéâëá: ÎÅ×ÅÒÎÙÊ ÒÁÚÄÅÌÉÔÅÌØ.\n"
+
+-#: src/hddtemp.c:547
++#: src/hddtemp.c:438
++#, c-format
+ msgid "Too few arguments: you must specify one drive, at least.\n"
+ msgstr ""
+
+-#: src/hddtemp.c:557
+-#, fuzzy
++#: src/hddtemp.c:448
++#, fuzzy, c-format
+ msgid "ERROR: can't use --debug and --daemon or --syslog options together.\n"
+ msgstr "ïûéâëá: ÏÄÎÏ×ÒÅÍÅÎÎÏÅ ÉÓÐÏÌØÚÏ×ÁÎÉÅ --debug É --daemon ÎÅÄÏÐÕÓÔÉÍÏ.\n"
+
+-#: src/hddtemp.c:583
++#: src/hddtemp.c:505
+ #, c-format
+ msgid "ERROR: %s: can't determine bus type (or this bus type is unknown)\n"
+ msgstr "ïûéâëá: %s: ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÔÉÐ ÛÉÎÙ\n"
+
+-#: src/ata.c:66 src/scsi.c:68
++#: src/ata.c:66 src/scsi.c:64
+ msgid "unknown"
+ msgstr "ÎÅÉÚ×."
+
+-#: src/ata.c:98
++#: src/ata.c:85 src/ata.c:104 src/scsi.c:91
+ #, c-format
+-msgid "field(%d)\t = %d\n"
+-msgstr "ÐÏÌÅ(%d)\t = %d\n"
+-
+-#: src/ata.c:167
+ msgid "S.M.A.R.T. not available"
+ msgstr "S.M.A.R.T. ÎÅÄÏÓÔÕÐÅÎ"
+
+-#: src/db.c:180
++#: src/db.c:115
++#, c-format
++msgid ""
++"\n"
++"Regexp%s| Value | Description\n"
++"------%s---------------------\n"
++msgstr ""
++"\n"
++"òÅÇÜËÓ%s| úÎÁÞ. | ïÐÉÓÁÎÉÅ \n"
++"------%s---------------------\n"
++
++#: src/db.c:121
++#, c-format
++msgid "%s%s| %5d | %s\n"
++msgstr ""
++
++#: src/db.c:236
+ #, c-format
+ msgid "hddtemp: can't open %1$s: %2$s\n"
+ msgstr "hddtemp: ÎÅ ÍÏÇÕ ÏÔËÒÙÔØ %1$s: %2$s\n"
+
+-#: src/db.c:194
++#: src/db.c:250
+ #, c-format
+ msgid "ERROR: syntax error at line %1$d in %2$s\n"
+ msgstr "óÉÎÔÁËÓÉÞÅÓËÁÑ ïûéâëá × ÓÔÒÏËÅ %1$d ÆÁÊÌÁ %2$s\n"
+
+-#: src/db.c:201
++#: src/db.c:257
+ #, c-format
+ msgid " ERROR: line exceed %1$d characters in %2$s.\n"
+ msgstr "ïûéâëá: ÓÔÒÏËÁ ÄÌÉÎÎÅÅ %1$d ÓÉÍ×ÏÌÏ× × %2$s.\n"
+
+-#: src/scsi.c:112 src/scsi.c:130
++#: src/scsi.c:111 src/scsi.c:129
+ #, c-format
+ msgid "log sense failed : %s"
+ msgstr ""
++
++#~ msgid ""
++#~ "WARNING: Drive %s doesn't appear in the database of supported drives\n"
++#~ "WARNING: But using a common value, it reports something.\n"
++#~ "WARNING: Note that the temperature shown could be wrong.\n"
++#~ "WARNING: See --help, --debug and --drivebase options.\n"
++#~ "WARNING: And don't forget you can add your drive to hddtemp.db\n"
++#~ msgstr ""
++#~ "÷îéíáîéå: äÉÓË %s ÎÅ ×ËÌÀÞÅÎ × ÂÁÚÕ ÄÁÎÎÙÈ ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ ÐÒÉ×ÏÄÏ×.\n"
++#~ "÷îéíáîéå: îÏ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÒÁÓÐÒÏÓÔÒÁÎÅÎÎÙÈ ÐÁÒÁÍÅÔÒÏ× ÏÎ ÞÔÏ-ÔÏ "
++#~ "×ÙÄÁÅÔ.\n"
++#~ "÷îéíáîéå: úÁÍÅÔØÔÅ, ÞÔÏ ÐÏËÁÚÁÎÎÁÑ ÔÅÍÐÅÒÁÔÕÒÁ ÍÏÖÅÔ ÔÁËÏ×ÏÊ ÎÅ "
++#~ "Ñ×ÌÑÔØÓÑ.\n"
++#~ "÷îéíáîéå: óÍ. ÏÐÃÉÉ --help, --debug É --drivebase.\n"
++#~ "÷îéíáîéå: é ÎÅ ÚÁÂÕÄØÔÅ, ÞÔÏ ÍÏÖÎÏ ÄÏÂÁ×ÉÔØ ÐÒÉ×ÏÄ × hddtemp.db\n"
++
++#~ msgid "field(%d)\t = %d\n"
++#~ msgstr "ÐÏÌÅ(%d)\t = %d\n"
+--- hddtemp-0.3-beta15.orig/po/sv.po
++++ hddtemp-0.3-beta15/po/sv.po
+@@ -6,8 +6,8 @@
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: hddtemp 0.3-beta14-4\n"
+-"Report-Msgid-Bugs-To: hddtemp@guzu.net\n"
+-"POT-Creation-Date: 2005-02-25 22:43+0100\n"
++"Report-Msgid-Bugs-To: \n"
++"POT-Creation-Date: 2006-06-29 16:24+0200\n"
+ "PO-Revision-Date: 2005-11-02 19:03+0100\n"
+ "Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
+ "Language-Team: Swedish <sv@li.org>\n"
+@@ -17,23 +17,7 @@
+ "X-Poedit-Language: swe\n"
+ "X-Poedit-Country: swe\n"
+
+-#: src/hddtemp.c:112
+-#, c-format
+-msgid ""
+-"\n"
+-"Regexp%s| Value | Description\n"
+-"------%s---------------------\n"
+-msgstr ""
+-"\n"
+-"Regexp%s| Värde | Beskrivning\n"
+-"------%s---------------------\n"
+-
+-#: src/hddtemp.c:118
+-#, c-format
+-msgid "%s%s| %5d | %s\n"
+-msgstr "%s%s| %5d | %s\n"
+-
+-#: src/hddtemp.c:161
++#: src/hddtemp.c:156
+ #, c-format
+ msgid ""
+ "\n"
+@@ -46,7 +30,7 @@
+ "Modell: %s\n"
+ "\n"
+
+-#: src/hddtemp.c:188
++#: src/hddtemp.c:189
+ #, c-format
+ msgid ""
+ "WARNING: Drive %s doesn't seem to have a temperature sensor.\n"
+@@ -60,76 +44,63 @@
+ "net).\n"
+ "VARNING: Se --help, --debug och --drivebase flaggorna.\n"
+
+-#: src/hddtemp.c:192
++#: src/hddtemp.c:197
+ #, c-format
+ msgid "%s: %s: no sensor\n"
+ msgstr "%s: %s: ingen sensor\n"
+
+-#: src/hddtemp.c:197
+-#, c-format
+-msgid ""
+-"WARNING: Drive %s doesn't appear in the database of supported drives\n"
+-"WARNING: But using a common value, it reports something.\n"
+-"WARNING: Note that the temperature shown could be wrong.\n"
+-"WARNING: See --help, --debug and --drivebase options.\n"
+-"WARNING: And don't forget you can add your drive to hddtemp.db\n"
+-msgstr ""
+-"VARNING: Disken %s verkar inte finnas i databasen över diskar som stöds\n"
+-"VARNING: Men använder man ett vanligt värde rapporterar den något.\n"
+-"VARNING: Notera att temperaturen som visas kan vara felaktig.\n"
+-"VARNING: Se --help, --debug och --drivebase flaggorna.\n"
+-"VARNING: Och glöm inte att du kan lägga till din disk till hddtemp.db\n"
+-
+-#: src/hddtemp.c:202
++#: src/hddtemp.c:211
+ #, c-format
+ msgid "%s: %s: %d%sC or %sF\n"
+ msgstr "%s: %s: %d%sC eller %sF\n"
+
+-#: src/hddtemp.c:214
++#: src/hddtemp.c:235
+ #, c-format
+ msgid "%s: %s: drive is sleeping\n"
+ msgstr "%s: %s: disken sover\n"
+
+-#: src/hddtemp.c:217
+-#, c-format
+-msgid "%s: %s: known drive, but it doesn't have a temperature sensor.\n"
++#: src/hddtemp.c:242
++#, fuzzy, c-format
++msgid "%s: %s: drive supported, but it doesn't have a temperature sensor.\n"
+ msgstr "%s: %s: känd disk men den har ingen temperatursensor.\n"
+
+-#: src/hddtemp.c:220
++#: src/hddtemp.c:246
+ #, c-format
+ msgid "ERROR: %s: %s: unknown returned status\n"
+ msgstr "FEL: %s: %s: okänd returnerad status\n"
+
+-#: src/hddtemp.c:235
+-#, c-format
++#: src/hddtemp.c:261
++#, fuzzy, c-format
+ msgid ""
+ "\n"
+ "If one of the field value seems to match the temperature, be sure to read\n"
+-"the hddtemp man page before sending me a report (section REPORT). Thanks.\n"
++"the hddtemp man page before sending a report (section REPORT). Thanks.\n"
+ msgstr ""
+ "\n"
+ "Om ett av fältvärdena verkar matcha temperaturen, var säker på att du\n"
+ "läst manualsidan för hddtemp före du skickar en rapport till mig (sektionen\n"
+ "REPORT). Tack.\n"
+
+-#: src/hddtemp.c:308
++#: src/hddtemp.c:338
+ #, c-format
+ msgid "ERROR: invalid separator.\n"
+ msgstr "FEL: ogiltig separator.\n"
+
+-#: src/hddtemp.c:319
++#: src/hddtemp.c:349
+ #, c-format
+ msgid "ERROR: invalid port number.\n"
+ msgstr "FEL: ogiltigt portnummer.\n"
+
+-#: src/hddtemp.c:329
+-#, c-format
++#: src/hddtemp.c:371
++#, fuzzy, c-format
+ msgid ""
+-" Usage: hddtemp [OPTIONS] DISK1 [DISK2]...\n"
++" Usage: hddtemp [OPTIONS] [TYPE:]DISK1 [[TYPE:]DISK2]...\n"
+ "\n"
+ " hddtemp displays the temperature of drives supplied in argument.\n"
+ " Drives must support S.M.A.R.T.\n"
+ "\n"
++" TYPE could be SATA, PATA or SCSI. If omitted hddtemp will try to guess.\n"
++"\n"
+ " -b --drivebase : display database file content that allow hddtemp to\n"
+ " recognize supported drives.\n"
+ " -D --debug : display various S.M.A.R.T. fields and their values.\n"
+@@ -139,6 +110,7 @@
+ " -d --daemon : run hddtemp in TCP/IP daemon mode (port %d by "
+ "default.)\n"
+ " -f --file=FILE : specify database file to use.\n"
++" -F --foreground : don't daemonize, stay in foreground.\n"
+ " -l --listen=addr : listen on a specific interface (in TCP/IP daemon "
+ "mode).\n"
+ " -n --numeric : print only the temperature.\n"
+@@ -146,6 +118,8 @@
+ " -s --separator=C : separator to use between fields (in TCP/IP daemon "
+ "mode).\n"
+ " -S --syslog=s : log temperature to syslog every s seconds.\n"
++" -u --unit=[C|F] : force output temperature either in Celsius or "
++"Fahrenheit.\n"
+ " -q --quiet : do not check if the drive is supported.\n"
+ " -v --version : display hddtemp version number.\n"
+ " -w --wake-up : wake-up the drive if need.\n"
+@@ -184,61 +158,91 @@
+ "\n"
+ "Rapportera buggar eller nya hårddiskar till <hddtemp@guzu.net>.\n"
+
+-#: src/hddtemp.c:522
++#: src/hddtemp.c:402
+ #, c-format
+ msgid "hddtemp version %s\n"
+ msgstr "hddtemp version %s\n"
+
+-#: src/hddtemp.c:547
++#: src/hddtemp.c:418
+ #, c-format
+ msgid "ERROR: invalid interval.\n"
+ msgstr "FEL: ogiltigt intervall.\n"
+
+-#: src/hddtemp.c:547
++#: src/hddtemp.c:438
++#, c-format
+ msgid "Too few arguments: you must specify one drive, at least.\n"
+ msgstr "För få argument: du måste specificera åtminstone en disk.\n"
+
+-#: src/hddtemp.c:557
++#: src/hddtemp.c:448
++#, c-format
+ msgid "ERROR: can't use --debug and --daemon or --syslog options together.\n"
+ msgstr ""
+ "FEL: kan inte använda --debug och --daemon eller --syslog flaggorna "
+ "tillsammans.\n"
+
+-#: src/hddtemp.c:583
++#: src/hddtemp.c:505
+ #, c-format
+ msgid "ERROR: %s: can't determine bus type (or this bus type is unknown)\n"
+ msgstr ""
+ "FEL: %s: kan inte fastställa busstyp (eller så är denna busstyp okänd)\n"
+
+-#: src/ata.c:66 src/scsi.c:68
++#: src/ata.c:66 src/scsi.c:64
+ msgid "unknown"
+ msgstr "okänd"
+
+-#: src/ata.c:98
++#: src/ata.c:85 src/ata.c:104 src/scsi.c:91
+ #, c-format
+-msgid "field(%d)\t = %d\n"
+-msgstr "fält(%d)\t = %d\n"
+-
+-#: src/ata.c:167
+ msgid "S.M.A.R.T. not available"
+ msgstr "S.M.A.R.T. är inte tillgänglig"
+
+-#: src/db.c:180
++#: src/db.c:115
++#, c-format
++msgid ""
++"\n"
++"Regexp%s| Value | Description\n"
++"------%s---------------------\n"
++msgstr ""
++"\n"
++"Regexp%s| Värde | Beskrivning\n"
++"------%s---------------------\n"
++
++#: src/db.c:121
++#, c-format
++msgid "%s%s| %5d | %s\n"
++msgstr "%s%s| %5d | %s\n"
++
++#: src/db.c:236
+ #, c-format
+ msgid "hddtemp: can't open %1$s: %2$s\n"
+ msgstr "hddtemp: kan inte öppna %1$s: %2$s\n"
+
+-#: src/db.c:194
++#: src/db.c:250
+ #, c-format
+ msgid "ERROR: syntax error at line %1$d in %2$s\n"
+ msgstr "FEL: syntaxfel på rad %1$d i %2$s\n"
+
+-#: src/db.c:201
++#: src/db.c:257
+ #, c-format
+ msgid " ERROR: line exceed %1$d characters in %2$s.\n"
+ msgstr " FEL: raden överstiger %1$d tecken i %2$s.\n"
+
+-#: src/scsi.c:112 src/scsi.c:130
++#: src/scsi.c:111 src/scsi.c:129
+ #, c-format
+ msgid "log sense failed : %s"
+ msgstr "igenkänning av logg misslyckades : %s"
++
++#~ msgid ""
++#~ "WARNING: Drive %s doesn't appear in the database of supported drives\n"
++#~ "WARNING: But using a common value, it reports something.\n"
++#~ "WARNING: Note that the temperature shown could be wrong.\n"
++#~ "WARNING: See --help, --debug and --drivebase options.\n"
++#~ "WARNING: And don't forget you can add your drive to hddtemp.db\n"
++#~ msgstr ""
++#~ "VARNING: Disken %s verkar inte finnas i databasen över diskar som stöds\n"
++#~ "VARNING: Men använder man ett vanligt värde rapporterar den något.\n"
++#~ "VARNING: Notera att temperaturen som visas kan vara felaktig.\n"
++#~ "VARNING: Se --help, --debug och --drivebase flaggorna.\n"
++#~ "VARNING: Och glöm inte att du kan lägga till din disk till hddtemp.db\n"
++
++#~ msgid "field(%d)\t = %d\n"
++#~ msgstr "fält(%d)\t = %d\n"
+--- hddtemp-0.3-beta15.orig/po/pt.po
++++ hddtemp-0.3-beta15/po/pt.po
+@@ -7,7 +7,7 @@
+ msgstr ""
+ "Project-Id-Version: hddtemp 0.3-beta14\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2005-02-25 22:43+0100\n"
++"POT-Creation-Date: 2006-06-29 16:24+0200\n"
+ "PO-Revision-Date: 2006-03-29 23:22+0000\n"
+ "Last-Translator: Miguel Figueiredo <elmig@debianp.org>\n"
+ "Language-Team: Portuguese <traduz@debianpt.org>\n"
+@@ -15,23 +15,7 @@
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+-#: src/hddtemp.c:112
+-#, c-format
+-msgid ""
+-"\n"
+-"Regexp%s| Value | Description\n"
+-"------%s---------------------\n"
+-msgstr ""
+-"\n"
+-"Regexp%s| Valor | Descrição\n"
+-"------%s-------------------\n"
+-
+-#: src/hddtemp.c:118
+-#, c-format
+-msgid "%s%s| %5d | %s\n"
+-msgstr "%s%s| %5d | %s\n"
+-
+-#: src/hddtemp.c:161
++#: src/hddtemp.c:156
+ #, c-format
+ msgid ""
+ "\n"
+@@ -44,7 +28,7 @@
+ "Modelo: %s\n"
+ "\n"
+
+-#: src/hddtemp.c:188
++#: src/hddtemp.c:189
+ #, c-format
+ msgid ""
+ "WARNING: Drive %s doesn't seem to have a temperature sensor.\n"
+@@ -54,79 +38,68 @@
+ msgstr ""
+ "AVISO: O disco %s não parece ter um sensor de temperatura.\n"
+ "AVISO: Isto não significa que não tem nenhum.\n"
+-"AVISO: Se tem a certeza que tem um, por favor contacte-me (hddtemp@guzu.net).\n"
++"AVISO: Se tem a certeza que tem um, por favor contacte-me (hddtemp@guzu."
++"net).\n"
+ "AVISO: Veja as opções --help, --debug e --drivebase.\n"
+
+-#: src/hddtemp.c:192
++#: src/hddtemp.c:197
+ #, c-format
+ msgid "%s: %s: no sensor\n"
+ msgstr "%s: %s: sem sensor\n"
+
+-#: src/hddtemp.c:197
+-#, c-format
+-msgid ""
+-"WARNING: Drive %s doesn't appear in the database of supported drives\n"
+-"WARNING: But using a common value, it reports something.\n"
+-"WARNING: Note that the temperature shown could be wrong.\n"
+-"WARNING: See --help, --debug and --drivebase options.\n"
+-"WARNING: And don't forget you can add your drive to hddtemp.db\n"
+-msgstr ""
+-"AVISO: O disco %s não parece estar na base de dados de discos suportados\n"
+-"AVISO: Mas ao utilizar um valor usual, relata alguma coisa.\n"
+-"AVISO: Note que a temperatura mostrada pode estar errada.\n"
+-"AVISO: Veja as opções --help, --debug e --frivebase.\n"
+-"AVISO: E não se esqueça de adicionar o seu disco a hddtemp.db\n"
+-
+-#: src/hddtemp.c:202
++#: src/hddtemp.c:211
+ #, c-format
+ msgid "%s: %s: %d%sC or %sF\n"
+ msgstr "%s: %s: %d%sC ou %sF\n"
+
+-#: src/hddtemp.c:214
++#: src/hddtemp.c:235
+ #, c-format
+ msgid "%s: %s: drive is sleeping\n"
+ msgstr "%s: %s: o disco está adormecido\n"
+
+-#: src/hddtemp.c:217
+-#, c-format
+-msgid "%s: %s: known drive, but it doesn't have a temperature sensor.\n"
++#: src/hddtemp.c:242
++#, fuzzy, c-format
++msgid "%s: %s: drive supported, but it doesn't have a temperature sensor.\n"
+ msgstr "%s: %s: disco conhecido, mas não tem um sensor de temperatura.\n"
+
+-#: src/hddtemp.c:220
++#: src/hddtemp.c:246
+ #, c-format
+ msgid "ERROR: %s: %s: unknown returned status\n"
+ msgstr "ERRO: %s: %s: estado devolvido desconhecido\n"
+
+-#: src/hddtemp.c:235
+-#, c-format
++#: src/hddtemp.c:261
++#, fuzzy, c-format
+ msgid ""
+ "\n"
+ "If one of the field value seems to match the temperature, be sure to read\n"
+-"the hddtemp man page before sending me a report (section REPORT). Thanks.\n"
++"the hddtemp man page before sending a report (section REPORT). Thanks.\n"
+ msgstr ""
+ "\n"
+-"Se um dos campos de valores parecer coincidir com a temperatura, assegure-se\n"
++"Se um dos campos de valores parecer coincidir com a temperatura, assegure-"
++"se\n"
+ "que lê a página do manual hddtemp antes de me enviar um relatório (secção\n"
+ "REPORT). Obrigado.\n"
+
+-#: src/hddtemp.c:308
++#: src/hddtemp.c:338
+ #, c-format
+ msgid "ERROR: invalid separator.\n"
+ msgstr "ERRO: separador inválido.\n"
+
+-#: src/hddtemp.c:319
++#: src/hddtemp.c:349
+ #, c-format
+ msgid "ERROR: invalid port number.\n"
+ msgstr "ERRO: número de port inválido\n"
+
+-#: src/hddtemp.c:329
+-#, c-format
++#: src/hddtemp.c:371
++#, fuzzy, c-format
+ msgid ""
+-" Usage: hddtemp [OPTIONS] DISK1 [DISK2]...\n"
++" Usage: hddtemp [OPTIONS] [TYPE:]DISK1 [[TYPE:]DISK2]...\n"
+ "\n"
+ " hddtemp displays the temperature of drives supplied in argument.\n"
+ " Drives must support S.M.A.R.T.\n"
+ "\n"
++" TYPE could be SATA, PATA or SCSI. If omitted hddtemp will try to guess.\n"
++"\n"
+ " -b --drivebase : display database file content that allow hddtemp to\n"
+ " recognize supported drives.\n"
+ " -D --debug : display various S.M.A.R.T. fields and their values.\n"
+@@ -136,6 +109,7 @@
+ " -d --daemon : run hddtemp in TCP/IP daemon mode (port %d by "
+ "default.)\n"
+ " -f --file=FILE : specify database file to use.\n"
++" -F --foreground : don't daemonize, stay in foreground.\n"
+ " -l --listen=addr : listen on a specific interface (in TCP/IP daemon "
+ "mode).\n"
+ " -n --numeric : print only the temperature.\n"
+@@ -143,6 +117,8 @@
+ " -s --separator=C : separator to use between fields (in TCP/IP daemon "
+ "mode).\n"
+ " -S --syslog=s : log temperature to syslog every s seconds.\n"
++" -u --unit=[C|F] : force output temperature either in Celsius or "
++"Fahrenheit.\n"
+ " -q --quiet : do not check if the drive is supported.\n"
+ " -v --version : display hddtemp version number.\n"
+ " -w --wake-up : wake-up the drive if need.\n"
+@@ -156,19 +132,23 @@
+ " hddtemp mostra a temperatura dos discos indicados no argumento.\n"
+ " Os discos têm de suportar S.M.A.R.T.\n"
+ "\n"
+-" -b --drivebase : mostrar o conteúdo do ficheiro de base de dados que\n"
++" -b\t --drivebase : mostrar o conteúdo do ficheiro de base de dados que\n"
+ " permite ao hddtemp reconhecer os discos suportados.\n"
+-" -D --debug : mostrar vários campos S.M.A.R.T. e os seus valores.\n"
+-" Útil para encontrar um valor que pareça coincidir com "
+-" a temperatura e/ou para me enviar um relatório.\n"
++" -D\t --debug : mostrar vários campos S.M.A.R.T. e os seus valores.\n"
++" Útil para encontrar um valor que pareça coincidir "
++"com a temperatura e/ou para me enviar um relatório.\n"
+ " (feito para cada disco indicado).\n"
+-" -d --daemon : correr o hddtemp no modo daemon TCP/IP\n (porto %d por omissão.)\n"
++" -d --daemon : correr o hddtemp no modo daemon TCP/IP\n"
++" (porto %d por omissão.)\n"
+ " -f --file=FILE : especificar o ficheiro de base de dados a utilizar.\n"
+-" -l --listen=addr : escutar um interface específico (no modo daemon TCP/IP).\n"
++" -l --listen=addr : escutar um interface específico (no modo daemon TCP/"
++"IP).\n"
+ " -n --numeric : escrever apenas a temperatura.\n"
+ " -p --port=# : port para escutar (no modo daemon TCP/IP).\n"
+-" -s --separator=C : separador a utilizar entre campos (no modo daemon TCP/IP).\n"
+-" -S --syslog=s : registar a temperatura para o syslog a cada s segundos.\n"
++" -s --separator=C : separador a utilizar entre campos (no modo daemon "
++"TCP/IP).\n"
++" -S --syslog=s : registar a temperatura para o syslog a cada s "
++"segundos.\n"
+ " -q --quiet : não verificar se o disco é suportado.\n"
+ " -v --version : mostrar o número da versão do hddtemp.\n"
+ " -w --wake-up : acordar o disco se necessário.\n"
+@@ -177,58 +157,93 @@
+ "\n"
+ "Relatar bugs ou novos discos para <hddtemp@guzu.net>.\n"
+
+-#: src/hddtemp.c:522
++#: src/hddtemp.c:402
+ #, c-format
+ msgid "hddtemp version %s\n"
+ msgstr "hddtemp versão %s\n"
+
+-#: src/hddtemp.c:547
++#: src/hddtemp.c:418
+ #, c-format
+ msgid "ERROR: invalid interval.\n"
+ msgstr "ERRO: intervalo inválido.\n"
+
+-#: src/hddtemp.c:547
++#: src/hddtemp.c:438
++#, c-format
+ msgid "Too few arguments: you must specify one drive, at least.\n"
+-msgstr "Número de argumentos insuficiente: tem de especificar pelo menos um disco.\n"
++msgstr ""
++"Número de argumentos insuficiente: tem de especificar pelo menos um disco.\n"
+
+-#: src/hddtemp.c:557
++#: src/hddtemp.c:448
++#, c-format
+ msgid "ERROR: can't use --debug and --daemon or --syslog options together.\n"
+-msgstr "ERRO: não pode utilizar em conjunto as opções --debug e --daemon ou --syslog.\n"
++msgstr ""
++"ERRO: não pode utilizar em conjunto as opções --debug e --daemon ou --"
++"syslog.\n"
+
+-#: src/hddtemp.c:583
++#: src/hddtemp.c:505
+ #, c-format
+ msgid "ERROR: %s: can't determine bus type (or this bus type is unknown)\n"
+-msgstr "ERRO: %s: não é possível determinar o tipo do bus (ou este tipo de bus é desconhecido)\n"
++msgstr ""
++"ERRO: %s: não é possível determinar o tipo do bus (ou este tipo de bus é "
++"desconhecido)\n"
+
+-#: src/ata.c:66 src/scsi.c:68
++#: src/ata.c:66 src/scsi.c:64
+ msgid "unknown"
+ msgstr "desconhecido"
+
+-#: src/ata.c:98
++#: src/ata.c:85 src/ata.c:104 src/scsi.c:91
+ #, c-format
+-msgid "field(%d)\t = %d\n"
+-msgstr "campo(%d)\t = %d\n"
+-
+-#: src/ata.c:167
+ msgid "S.M.A.R.T. not available"
+ msgstr "S.M.A.R.T. não está disponível"
+
+-#: src/db.c:180
++#: src/db.c:115
++#, c-format
++msgid ""
++"\n"
++"Regexp%s| Value | Description\n"
++"------%s---------------------\n"
++msgstr ""
++"\n"
++"Regexp%s| Valor | Descrição\n"
++"------%s-------------------\n"
++
++#: src/db.c:121
++#, c-format
++msgid "%s%s| %5d | %s\n"
++msgstr "%s%s| %5d | %s\n"
++
++#: src/db.c:236
+ #, c-format
+ msgid "hddtemp: can't open %1$s: %2$s\n"
+ msgstr "hddtemp: não pode abrir %1$s: %2$s\n"
+
+-#: src/db.c:194
++#: src/db.c:250
+ #, c-format
+ msgid "ERROR: syntax error at line %1$d in %2$s\n"
+ msgstr "ERRO: erro de sintaxe na linha %1$d em %2$s\n"
+
+-#: src/db.c:201
++#: src/db.c:257
+ #, c-format
+ msgid " ERROR: line exceed %1$d characters in %2$s.\n"
+ msgstr " ERRO: a linha execedeu %1$d caracteres em %2$s.\n"
+
+-#: src/scsi.c:112 src/scsi.c:130
++#: src/scsi.c:111 src/scsi.c:129
+ #, c-format
+ msgid "log sense failed : %s"
+ msgstr "detecção de log falhou: %s"
++
++#~ msgid ""
++#~ "WARNING: Drive %s doesn't appear in the database of supported drives\n"
++#~ "WARNING: But using a common value, it reports something.\n"
++#~ "WARNING: Note that the temperature shown could be wrong.\n"
++#~ "WARNING: See --help, --debug and --drivebase options.\n"
++#~ "WARNING: And don't forget you can add your drive to hddtemp.db\n"
++#~ msgstr ""
++#~ "AVISO: O disco %s não parece estar na base de dados de discos suportados\n"
++#~ "AVISO: Mas ao utilizar um valor usual, relata alguma coisa.\n"
++#~ "AVISO: Note que a temperatura mostrada pode estar errada.\n"
++#~ "AVISO: Veja as opções --help, --debug e --frivebase.\n"
++#~ "AVISO: E não se esqueça de adicionar o seu disco a hddtemp.db\n"
++
++#~ msgid "field(%d)\t = %d\n"
++#~ msgstr "campo(%d)\t = %d\n"
+--- hddtemp-0.3-beta15.orig/po/de.po
++++ hddtemp-0.3-beta15/po/de.po
+@@ -0,0 +1,250 @@
++# German translation of hddtemp.
++# Copyright (C) 2008 Free Software Foundation, Inc.
++# This file is distributed under the same license as the hddtemp package.
++# Vinzenz Vietzke <vinz@v1nz.org>, 2008.
++# ,
++#
++#
++msgid ""
++msgstr ""
++"Project-Id-Version: hddtemp 0.3-beta15-44\n"
++"Report-Msgid-Bugs-To: hddtemp@packages.debian.org\n"
++"POT-Creation-Date: 2006-06-29 16:24+0200\n"
++"PO-Revision-Date: 2011-08-30 16:40+0200\n"
++"Last-Translator: Vinzenz Vietzke <vinz@v1nz.org>\n"
++"Language-Team: <debian-l10n-german@lists.debian.org>\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit"
++
++#: src/hddtemp.c:156
++#, c-format
++msgid ""
++"\n"
++"================= hddtemp %s ==================\n"
++"Model: %s\n"
++"\n"
++msgstr ""
++"\n"
++"================= hddtemp %s ==================\n"
++"Modell: %s\n"
++"\n"
++
++#: src/hddtemp.c:189
++#, c-format
++msgid ""
++"WARNING: Drive %s doesn't seem to have a temperature sensor.\n"
++"WARNING: This doesn't mean it hasn't got one.\n"
++"WARNING: If you are sure it has one, please contact me (hddtemp@guzu."
++"net).\n"
++"WARNING: See --help, --debug and --drivebase options.\n"
++msgstr ""
++"WARNUNG: Laufwerk %s scheint keinen Temperatur-Sensor zu haben.\n"
++"WARNUNG: Das bedeutet nicht, dass es keinen besitzt.\n"
++"WARNUNG: Falls Sie sicher sind, dass es einen besitzt, kontaktieren Sie "
++"mich bitte (hddtemp@guzu.net).\n"
++"WARNUNG: Siehe Optionen --help, --debug und --drivebase.\n"
++
++#: src/hddtemp.c:197
++#, c-format
++msgid "%s: %s: no sensor\n"
++msgstr "%s: %s: kein Sensor\n"
++
++#: src/hddtemp.c:211
++#, c-format
++msgid "%s: %s: %d%sC or %sF\n"
++msgstr "%s: %s: %d%s°C oder %s°F\n"
++
++#: src/hddtemp.c:235
++#, c-format
++msgid "%s: %s: drive is sleeping\n"
++msgstr "%s: %s: Laufwerk schläft\n"
++
++#: src/hddtemp.c:242
++#, c-format
++msgid "%s: %s: drive supported, but it doesn't have a temperature sensor.\n"
++msgstr ""
++"%s: %s: Laufwerk unterstützt, aber es hat keinen Temperatur-Sensor.\n"
++
++#: src/hddtemp.c:246
++#, c-format
++msgid "ERROR: %s: %s: unknown returned status\n"
++msgstr "FEHLER: %s: %s: zurückgegebener Status unbekannt\n"
++
++#: src/hddtemp.c:261
++#, c-format
++msgid ""
++"\n"
++"If one of the field value seems to match the temperature, be sure to read\n"
++"the hddtemp man page before sending a report (section REPORT). Thanks.\n"
++msgstr ""
++"\n"
++"Falls einer der Feldwerte der Temperatur zu entsprechen scheint, stellen "
++"Sie\n"
++"sicher, die hddtemp-Handbuchseite gelesen zu haben, bevor Sie einen "
++"Bericht\n"
++"senden (Abschnitt BERICHT). Danke.\n"
++
++#: src/hddtemp.c:338
++#, c-format
++msgid "ERROR: invalid separator.\n"
++msgstr "FEHLER: ungültiges Trennzeichen.\n"
++
++#: src/hddtemp.c:349
++#, c-format
++msgid "ERROR: invalid port number.\n"
++msgstr "FEHLER: ungültige Portnummer.\n"
++
++#: src/hddtemp.c:371
++#, c-format
++msgid ""
++" Usage: hddtemp [OPTIONS] [TYPE:]DISK1 [[TYPE:]DISK2]...\n"
++"\n"
++" hddtemp displays the temperature of drives supplied in argument.\n"
++" Drives must support S.M.A.R.T.\n"
++"\n"
++" TYPE could be SATA, PATA or SCSI. If omitted hddtemp will try to guess.\n"
++"\n"
++" -b --drivebase : display database file content that allow hddtemp "
++"to\n"
++" recognize supported drives.\n"
++" -D --debug : display various S.M.A.R.T. fields and their "
++"values.\n"
++" Useful to find a value that seems to match the\n"
++" temperature and/or to send me a report.\n"
++" (done for every drive supplied).\n"
++" -d --daemon : run hddtemp in TCP/IP daemon mode (port %d by "
++"default.)\n"
++" -f --file=FILE : specify database file to use.\n"
++" -F --foreground : don't daemonize, stay in foreground.\n"
++" -l --listen=addr : listen on a specific interface (in TCP/IP daemon "
++"mode).\n"
++" -n --numeric : print only the temperature.\n"
++" -p --port=# : port to listen to (in TCP/IP daemon mode).\n"
++" -s --separator=C : separator to use between fields (in TCP/IP daemon "
++"mode).\n"
++" -S --syslog=s : log temperature to syslog every s seconds.\n"
++" -u --unit=[C|F] : force output temperature either in Celsius or "
++"Fahrenheit.\n"
++" -q --quiet : do not check if the drive is supported.\n"
++" -v --version : display hddtemp version number.\n"
++" -w --wake-up : wake-up the drive if need.\n"
++" -4 : listen on IPv4 sockets only.\n"
++" -6 : listen on IPv6 sockets only.\n"
++"\n"
++"Report bugs or new drives to <hddtemp@guzu.net>.\n"
++msgstr ""
++" Verwendung: hddtemp [OPTIONEN] [TYP:]LAUFWERK1 [[TYP:]LAUFWERK2]...\n"
++"\n"
++" hddtemp zeigt die Temperatur der via Argument angegeben Laufwerke.\n"
++" Laufwerke müssen S.M.A.R.T. unterstützen.\n"
++"\n"
++" TYP kann SATA, PATA oder SCSI sein. Falls ausgelassen, wird hddtemp \n"
++" versuchen, diesen zu erraten.\n"
++"\n"
++" -b --drivebase : Datenbank-Datei-Inhalt anzeigen, der hddtemp "
++"erlaubt\n"
++" unterstützte Laufwerke zu erkennen.\n"
++" -D --debug : verschiedene S.M.A.R.T.-Felder und deren Werte "
++"anzeigen.\n"
++" Nützlich, um Werte zu finden, die der Temperatur "
++"entsprechen\n"
++" und/oder um mir einen Bericht zu senden.\n"
++" (bereits erledigt für jedes bereitgestellte "
++"Laufwerk).\n"
++" -d --daemon : hddtemp im TCP/IP-Daemon-Modus ausführen "
++"(Standardmäßig Port %d)\n"
++" -f --file=DATEI : zu verwendende Datenbank-Datei festlegen.\n"
++" -F --foreground : nicht daemonisieren, im Vordergrund bleiben.\n"
++" -l --listen=addr : auf einer bestimmten Schnittstelle auf Anfragen "
++"warten (im TCP/IP-Daemon-Modus).\n"
++" -n --numeric : nur die Temperatur ausgeben.\n"
++" -p --port=# : Port, auf dem auf Anfragen gewartet werden soll "
++"(im TCP/IP-Daemon-Modus).\n"
++" -s --separator=C : Trennzeichen zur Verwendung zwischen Feldern (im "
++"TCP/IP-Daemon-Modus).\n"
++" -S --syslog=s : Temperatur alle s Sekunden in das syslog "
++"eintragen.\n"
++" -u --unit=[C|F] : Ausgabe der Temperatur entweder in Celsius oder "
++"Fahrenheit erzwingen.\n"
++" -q --quiet : nicht prüfen, ob das Laufwerk unterstützt wird.\n"
++" -v --version : Versionsnummer von hddtemp anzeigen.\n"
++" -w --wake-up : Laufwerk bei Bedarf aufwecken.\n"
++" -4 : nur auf IPv4-Sockets auf Anfragen warten.\n"
++" -6 : nur auf IPv6-Sockets auf Anfragen warten.\n"
++"\n"
++"Fehler oder neue Laufwerke an <hddtemp@guzu.net> melden.\n"
++
++#: src/hddtemp.c:402
++#, c-format
++msgid "hddtemp version %s\n"
++msgstr "hddtemp Version %s\n"
++
++#: src/hddtemp.c:418
++#, c-format
++msgid "ERROR: invalid interval.\n"
++msgstr "FEHLER: ungültiges Intervall.\n"
++
++#: src/hddtemp.c:438
++#, c-format
++msgid "Too few arguments: you must specify one drive, at least.\n"
++msgstr "Zu wenige Argumente: Sie müssen mindestens ein Laufwerk angeben.\n"
++
++#: src/hddtemp.c:448
++#, c-format
++msgid "ERROR: can't use --debug and --daemon or --syslog options together.\n"
++msgstr ""
++"FEHLER: kann Optionen --debug und --daemon oder --syslog nicht zusammen "
++"verwenden.\n"
++
++#: src/hddtemp.c:505
++#, c-format
++msgid "ERROR: %s: can't determine bus type (or this bus type is unknown)\n"
++msgstr ""
++"FEHLER: %s: kann Bus-Typ nicht ermitteln (oder dieser Bus-Typ ist "
++"unbekannt)\n"
++
++#: src/ata.c:66 src/scsi.c:64
++msgid "unknown"
++msgstr "unbekannt"
++
++#: src/ata.c:85 src/ata.c:104 src/scsi.c:91
++#, c-format
++msgid "S.M.A.R.T. not available"
++msgstr "S.M.A.R.T. nicht verfügbar"
++
++#: src/db.c:115
++#, c-format
++msgid ""
++"\n"
++"Regexp%s| Value | Description\n"
++"------%s---------------------\n"
++msgstr ""
++"\n"
++"Regexp%s| Wert | Beschreibung\n"
++"------%s---------------------\n"
++
++#: src/db.c:121
++#, c-format
++msgid "%s%s| %5d | %s\n"
++msgstr "%s%s| %5d | %s\n"
++
++#: src/db.c:236
++#, c-format
++msgid "hddtemp: can't open %1$s: %2$s\n"
++msgstr "hddtemp: kann %1$s nicht öffnen: %2$s\n"
++
++#: src/db.c:250
++#, c-format
++msgid "ERROR: syntax error at line %1$d in %2$s\n"
++msgstr "FEHLER: Syntaxfehler in Zeile %1$d in %2$s\n"
++
++#: src/db.c:257
++#, c-format
++msgid " ERROR: line exceed %1$d characters in %2$s.\n"
++msgstr " FEHLER: Zeile überschreitet %1$d Zeichen in %2$s.\n"
++
++#: src/scsi.c:111 src/scsi.c:129
++#, c-format
++msgid "log sense failed : %s"
++msgstr "Protokoll-Erkennung fehlgeschlagen : %s"
+--- hddtemp-0.3-beta15.orig/po/LINGUAS
++++ hddtemp-0.3-beta15/po/LINGUAS
+@@ -1,2 +1,2 @@
+ # Set of available languages.
+-fr pt ru sv
++de fr pt ru sv
+--- hddtemp-0.3-beta15.orig/po/hddtemp.pot
++++ hddtemp-0.3-beta15/po/hddtemp.pot
+@@ -1,35 +1,22 @@
+-
+-# Copyright (C) 2006 Free Software Foundation, Inc.
+-# This file is distributed under the same license as the 'hddtemp' package.
+-# Emmanuel VARAGNAT <hddtemp@guzu.net>, 2006.
++# SOME DESCRIPTIVE TITLE.
++# Copyright (C) YEAR Free Software Foundation, Inc.
++# This file is distributed under the same license as the PACKAGE package.
++# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+ #
+ #, fuzzy
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+-"Report-Msgid-Bugs-To: hddtemp@guzu.net\n"
+-"POT-Creation-Date: 2005-02-25 22:43+0100\n"
++"Report-Msgid-Bugs-To: \n"
++"POT-Creation-Date: 2006-06-29 16:24+0200\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+-"Last-Translator: Emmanuel Varagnat <hddtemp@guzu.net>\n"
++"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=CHARSET\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+-#: src/hddtemp.c:112
+-#, c-format
+-msgid ""
+-"\n"
+-"Regexp%s| Value | Description\n"
+-"------%s---------------------\n"
+-msgstr ""
+-
+-#: src/hddtemp.c:118
+-#, c-format
+-msgid "%s%s| %5d | %s\n"
+-msgstr ""
+-
+-#: src/hddtemp.c:161
++#: src/hddtemp.c:156
+ #, c-format
+ msgid ""
+ "\n"
+@@ -38,7 +25,7 @@
+ "\n"
+ msgstr ""
+
+-#: src/hddtemp.c:188
++#: src/hddtemp.c:189
+ #, c-format
+ msgid ""
+ "WARNING: Drive %s doesn't seem to have a temperature sensor.\n"
+@@ -47,67 +34,59 @@
+ "WARNING: See --help, --debug and --drivebase options.\n"
+ msgstr ""
+
+-#: src/hddtemp.c:192
+-#, c-format
+-msgid "%s: %s: no sensor\n"
+-msgstr ""
+-
+ #: src/hddtemp.c:197
+ #, c-format
+-msgid ""
+-"WARNING: Drive %s doesn't appear in the database of supported drives\n"
+-"WARNING: But using a common value, it reports something.\n"
+-"WARNING: Note that the temperature shown could be wrong.\n"
+-"WARNING: See --help, --debug and --drivebase options.\n"
+-"WARNING: And don't forget you can add your drive to hddtemp.db\n"
++msgid "%s: %s: no sensor\n"
+ msgstr ""
+
+-#: src/hddtemp.c:202
++#: src/hddtemp.c:211
+ #, c-format
+ msgid "%s: %s: %d%sC or %sF\n"
+ msgstr ""
+
+-#: src/hddtemp.c:214
++#: src/hddtemp.c:235
+ #, c-format
+ msgid "%s: %s: drive is sleeping\n"
+ msgstr ""
+
+-#: src/hddtemp.c:217
++#: src/hddtemp.c:242
+ #, c-format
+-msgid "%s: %s: known drive, but it doesn't have a temperature sensor.\n"
++msgid "%s: %s: drive supported, but it doesn't have a temperature sensor.\n"
+ msgstr ""
+
+-#: src/hddtemp.c:220
++#: src/hddtemp.c:246
+ #, c-format
+ msgid "ERROR: %s: %s: unknown returned status\n"
+ msgstr ""
+
+-#: src/hddtemp.c:235
++#: src/hddtemp.c:261
+ #, c-format
+ msgid ""
+ "\n"
+ "If one of the field value seems to match the temperature, be sure to read\n"
+-"the hddtemp man page before sending me a report (section REPORT). Thanks.\n"
++"the hddtemp man page before sending a report (section REPORT). Thanks.\n"
+ msgstr ""
+
+-#: src/hddtemp.c:308
++#: src/hddtemp.c:338
+ #, c-format
+ msgid "ERROR: invalid separator.\n"
+ msgstr ""
+
+-#: src/hddtemp.c:319
++#: src/hddtemp.c:349
+ #, c-format
+ msgid "ERROR: invalid port number.\n"
+ msgstr ""
+
+-#: src/hddtemp.c:329
++#: src/hddtemp.c:371
+ #, c-format
+ msgid ""
+-" Usage: hddtemp [OPTIONS] DISK1 [DISK2]...\n"
++" Usage: hddtemp [OPTIONS] [TYPE:]DISK1 [[TYPE:]DISK2]...\n"
+ "\n"
+ " hddtemp displays the temperature of drives supplied in argument.\n"
+ " Drives must support S.M.A.R.T.\n"
+ "\n"
++" TYPE could be SATA, PATA or SCSI. If omitted hddtemp will try to guess.\n"
++"\n"
+ " -b --drivebase : display database file content that allow hddtemp to\n"
+ " recognize supported drives.\n"
+ " -D --debug : display various S.M.A.R.T. fields and their values.\n"
+@@ -117,6 +96,7 @@
+ " -d --daemon : run hddtemp in TCP/IP daemon mode (port %d by "
+ "default.)\n"
+ " -f --file=FILE : specify database file to use.\n"
++" -F --foreground : don't daemonize, stay in foreground.\n"
+ " -l --listen=addr : listen on a specific interface (in TCP/IP daemon "
+ "mode).\n"
+ " -n --numeric : print only the temperature.\n"
+@@ -124,6 +104,8 @@
+ " -s --separator=C : separator to use between fields (in TCP/IP daemon "
+ "mode).\n"
+ " -S --syslog=s : log temperature to syslog every s seconds.\n"
++" -u --unit=[C|F] : force output temperature either in Celsius or "
++"Fahrenheit.\n"
+ " -q --quiet : do not check if the drive is supported.\n"
+ " -v --version : display hddtemp version number.\n"
+ " -w --wake-up : wake-up the drive if need.\n"
+@@ -133,58 +115,69 @@
+ "Report bugs or new drives to <hddtemp@guzu.net>.\n"
+ msgstr ""
+
+-#: src/hddtemp.c:522
++#: src/hddtemp.c:402
+ #, c-format
+ msgid "hddtemp version %s\n"
+ msgstr ""
+
+-#: src/hddtemp.c:547
++#: src/hddtemp.c:418
+ #, c-format
+ msgid "ERROR: invalid interval.\n"
+ msgstr ""
+
+-#: src/hddtemp.c:547
++#: src/hddtemp.c:438
++#, c-format
+ msgid "Too few arguments: you must specify one drive, at least.\n"
+ msgstr ""
+
+-#: src/hddtemp.c:557
++#: src/hddtemp.c:448
++#, c-format
+ msgid "ERROR: can't use --debug and --daemon or --syslog options together.\n"
+ msgstr ""
+
+-#: src/hddtemp.c:583
++#: src/hddtemp.c:505
+ #, c-format
+ msgid "ERROR: %s: can't determine bus type (or this bus type is unknown)\n"
+ msgstr ""
+
+-#: src/ata.c:66 src/scsi.c:68
++#: src/ata.c:66 src/scsi.c:64
+ msgid "unknown"
+ msgstr ""
+
+-#: src/ata.c:98
++#: src/ata.c:85 src/ata.c:104 src/scsi.c:91
+ #, c-format
+-msgid "field(%d)\t = %d\n"
++msgid "S.M.A.R.T. not available"
+ msgstr ""
+
+-#: src/ata.c:167
+-msgid "S.M.A.R.T. not available"
++#: src/db.c:115
++#, c-format
++msgid ""
++"\n"
++"Regexp%s| Value | Description\n"
++"------%s---------------------\n"
++msgstr ""
++
++#: src/db.c:121
++#, c-format
++msgid "%s%s| %5d | %s\n"
+ msgstr ""
+
+-#: src/db.c:180
++#: src/db.c:236
+ #, c-format
+ msgid "hddtemp: can't open %1$s: %2$s\n"
+ msgstr ""
+
+-#: src/db.c:194
++#: src/db.c:250
+ #, c-format
+ msgid "ERROR: syntax error at line %1$d in %2$s\n"
+ msgstr ""
+
+-#: src/db.c:201
++#: src/db.c:257
+ #, c-format
+ msgid " ERROR: line exceed %1$d characters in %2$s.\n"
+ msgstr ""
+
+-#: src/scsi.c:112 src/scsi.c:130
++#: src/scsi.c:111 src/scsi.c:129
+ #, c-format
+ msgid "log sense failed : %s"
+ msgstr ""
+--- hddtemp-0.3-beta15.orig/src/sata.c
++++ hddtemp-0.3-beta15/src/sata.c
+@@ -118,11 +118,22 @@
+ int i;
+ u16 * p;
+
+- if(dsk->db_entry && dsk->db_entry->attribute_id == 0) {
++ if(dsk->db_entry->attribute_id == 0) {
+ close(dsk->fd);
+ dsk->fd = -1;
+ return GETTEMP_NOSENSOR;
+ }
++
++ switch(ata_get_powermode(dsk->fd)) {
++ case PWM_STANDBY:
++ case PWM_SLEEPING:
++ if (!wakeup)
++ return GETTEMP_DRIVE_SLEEP;
++ case PWM_UNKNOWN:
++ case PWM_ACTIVE: /* active or idle */
++ default:
++ break;
++ }
+
+ /* get SMART values */
+ if(sata_enable_smart(dsk->fd) != 0) {
+@@ -154,24 +165,15 @@
+ }
+
+ /* temperature */
+- if(dsk->db_entry && dsk->db_entry->attribute_id > 0)
+- field = sata_search_temperature(values, dsk->db_entry->attribute_id);
+- else
+- field = sata_search_temperature(values, DEFAULT_ATTRIBUTE_ID);
++ field = sata_search_temperature(values, dsk->db_entry->attribute_id);
+
+ if(field)
+ dsk->value = *(field+3);
+
+ if(dsk->db_entry && dsk->value != -1)
+ return GETTEMP_KNOWN;
+- else {
+- if(dsk->value != -1) {
+- return GETTEMP_GUESS;
+- }
+- else {
+- return GETTEMP_UNKNOWN;
+- }
+- }
++ else
++ return GETTEMP_UNKNOWN;
+
+ /* never reached */
+ }
+--- hddtemp-0.3-beta15.orig/src/satacmds.c
++++ hddtemp-0.3-beta15/src/satacmds.c
+@@ -39,7 +39,7 @@
+ #include <sys/ioctl.h>
+ #include <scsi/sg.h>
+ #include <linux/hdreg.h>
+-#include <netinet/in.h>
++#include <byteswap.h>
+
+ // Application specific includes
+ #include "satacmds.h"
+@@ -80,8 +80,8 @@
+
+ ret = scsi_SG_IO(device, cdb, sizeof(cdb), buffer, cmd[3] * 512, sense, sizeof(sense), dxfer_direction);
+
+- /* Verify SATA magics */
+- if (sense[0] != 0x72 || sense[7] != 0x0e || sense[9] != 0x0e || sense[10] != 0x00)
++ /* Verify SATA magic */
++ if (sense[0] != 0x72)
+ return 1;
+ else
+ return ret;
+@@ -95,10 +95,10 @@
+ p = s;
+ end = &s[bytecount & ~1]; /* bytecount must be even */
+
+- /* convert from big-endian to host byte order */
++ /* convert from big-endian to string order */
+ for (p = end ; p != s;) {
+ unsigned short *pp = (unsigned short *) (p -= 2);
+- *pp = ntohs(*pp);
++ *pp = bswap_16(*pp);
+ }
+
+ /* strip leading blanks */
+--- hddtemp-0.3-beta15.orig/src/backtrace.c
++++ hddtemp-0.3-beta15/src/backtrace.c
+@@ -16,9 +16,10 @@
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#define _GNU_SOURCE
+ #include <features.h>
+
+-#if defined(__i386__) && defined(__GLIBC__)
++#if (defined(__i386__) || defined(__x86_64__)) && defined(__GLIBC__)
+
+ #include <execinfo.h>
+
+@@ -31,8 +32,12 @@
+ #include <bits/sigcontext.h>
+ #include <sys/param.h>
+
+-#define __USE_GNU
+ #include <ucontext.h>
++#if defined(__i386__)
++# define REG_IP REG_EIP
++#elif defined(__x86_64__)
++# define REG_IP REG_RIP
++#endif
+
+ #define MAX_BTSIZE 64
+
+@@ -42,7 +47,6 @@
+ static char **messages = NULL;
+ static size_t btsize = 0;
+ static size_t i;
+- static unsigned int old_eip, old_ebp;
+ static char *strerr = "???";
+ static FILE *fstrm;
+
+@@ -61,10 +65,10 @@
+ SIC_CASE(SEGV_MAPERR);
+ SIC_CASE(SEGV_ACCERR);
+ }
+- fprintf(fstrm, "=== SEGFAULT (%s) : invalid access to %p, in 0x%08x\n",
++ fprintf(fstrm, "=== SEGFAULT (%s) : invalid access to %p, in %p\n",
+ strerr,
+ ist->si_addr,
+- puc->uc_mcontext.gregs[REG_EIP]);
++ (void*)puc->uc_mcontext.gregs[REG_IP]);
+ break;
+ case SIGILL:
+ switch(ist->si_code) {
+@@ -77,10 +81,10 @@
+ SIC_CASE(ILL_COPROC);
+ SIC_CASE(ILL_BADSTK);
+ }
+- fprintf(fstrm, "=== ILLEGAL INSTR (%s) : invalid access to %p, in 0x%08x\n",
++ fprintf(fstrm, "=== ILLEGAL INSTR (%s) : invalid access to %p, in %p\n",
+ strerr,
+ ist->si_addr,
+- puc->uc_mcontext.gregs[REG_EIP]);
++ (void*)puc->uc_mcontext.gregs[REG_IP]);
+ break;
+ case SIGBUS:
+ switch(ist->si_code) {
+@@ -88,10 +92,10 @@
+ SIC_CASE(BUS_ADRERR);
+ SIC_CASE(BUS_OBJERR);
+ }
+- fprintf(fstrm, "=== BUS ERROR (%p) : invalid access to %p, in 0x%08x\n",
++ fprintf(fstrm, "=== BUS ERROR (%p) : invalid access to %p, in %p\n",
+ strerr,
+ ist->si_addr,
+- puc->uc_mcontext.gregs[REG_EIP]);
++ (void*)puc->uc_mcontext.gregs[REG_IP]);
+ break;
+ }
+ fflush(fstrm);
+@@ -101,7 +105,7 @@
+ /*
+ old_eip = *(unsigned int*)((void*)&n-4);
+ old_ebp = *(unsigned int*)((void*)&n-8);
+- *(unsigned int*)((void*)&n-4) = puc->uc_mcontext.gregs[REG_EIP];
++ *(unsigned int*)((void*)&n-4) = puc->uc_mcontext.gregs[REG_IP];
+ *(unsigned int*)((void*)&n-8) = puc->uc_mcontext.gregs[REG_EBP];
+
+ btsize = backtrace(btinfo, MAX_BTSIZE);
+@@ -111,14 +115,14 @@
+ */
+
+ btsize = backtrace(btinfo, MAX_BTSIZE);
+- btinfo[1] = (void*) puc->uc_mcontext.gregs[REG_EIP];
++ btinfo[1] = (void*) puc->uc_mcontext.gregs[REG_IP];
+
+ messages = backtrace_symbols(btinfo, btsize);
+
+ for(i = 1;
+ i < btsize;
+ i++)
+- fprintf(fstrm, "[%d] #%d: %s\n", getpid(), i, messages[i]);
++ fprintf(fstrm, "[%d] #%zu: %s\n", getpid(), i, messages[i]);
+ fflush(fstrm);
+ fclose(fstrm);
+
+--- hddtemp-0.3-beta15.orig/src/daemon.c
++++ hddtemp-0.3-beta15/src/daemon.c
+@@ -163,19 +163,16 @@
+
+ switch(dsk->ret) {
+ case GETTEMP_NOT_APPLICABLE:
+- n = snprintf(msg, sizeof(msg), "%s%c%s%c%s%c%c",
++ n = snprintf(msg, sizeof(msg), "%s%c%s%cNA%c*",
+ dsk->drive, separator,
+ dsk->model, separator,
+- "NA", separator,
+- '*');
++ separator);
+ break;
+- case GETTEMP_GUESS:
+ case GETTEMP_UNKNOWN:
+- n = snprintf(msg, sizeof(msg), "%s%c%s%c%s%c%c",
++ n = snprintf(msg, sizeof(msg), "%s%c%s%cUNK%c*",
+ dsk->drive, separator,
+- dsk->model, separator,
+- "UNK", separator,
+- '*');
++ dsk->model, separator,
++ separator);
+ break;
+ case GETTEMP_KNOWN:
+ n = snprintf(msg, sizeof(msg), "%s%c%s%c%d%c%c",
+@@ -185,26 +182,23 @@
+ get_unit(dsk));
+ break;
+ case GETTEMP_NOSENSOR:
+- n = snprintf(msg, sizeof(msg), "%s%c%s%c%s%c%c",
++ n = snprintf(msg, sizeof(msg), "%s%c%s%cNOS%c*",
+ dsk->drive, separator,
+ dsk->model, separator,
+- "NOS", separator,
+- '*');
++ separator);
+ break;
+ case GETTEMP_DRIVE_SLEEP:
+- n = snprintf(msg, sizeof(msg), "%s%c%s%c%s%c%c",
++ n = snprintf(msg, sizeof(msg), "%s%c%s%cSLP%c*",
+ dsk->drive, separator,
+ dsk->model, separator,
+- "SLP", separator,
+- '*');
++ separator);
+ break;
+ case GETTEMP_ERROR:
+ default:
+- n = snprintf(msg, sizeof(msg), "%s%c%s%c%s%c%c",
++ n = snprintf(msg, sizeof(msg), "%s%c%s%cERR%c*",
+ dsk->drive, separator,
+ (dsk->model) ? dsk->model : "???", separator,
+- "ERR", separator,
+- '*');
++ separator);
+ break;
+ }
+ write(cfd,&separator, 1);
+@@ -222,14 +216,11 @@
+ for(dsk = ldisks; dsk; dsk = dsk->next) {
+ switch(dsk->ret) {
+ case GETTEMP_KNOWN:
+- case GETTEMP_GUESS:
+- value_to_unit(dsk);
+-
+ syslog(LOG_INFO, "%s: %s: %d %c",
+ dsk->drive,
+ dsk->model,
+- dsk->value,
+- dsk->db_entry->unit);
++ value_to_unit(dsk),
++ get_unit(dsk));
+ break;
+ case GETTEMP_DRIVE_SLEEP:
+ syslog(LOG_WARNING, _("%s: %s: drive is sleeping"),
+@@ -270,28 +261,30 @@
+ fd_set deffds;
+ time_t next_time;
+
+- switch(fork()) {
+- case -1:
+- perror("fork");
+- exit(2);
+- break;
+- case 0:
+- break;
+- default:
+- exit(0);
+- }
+-
+- setsid();
+-
+- switch(fork()) {
+- case -1:
+- perror("fork");
+- exit(2);
+- break;
+- case 0:
+- break;
+- default:
+- exit(0);
++if (!foreground) {
++ switch(fork()) {
++ case -1:
++ perror("fork");
++ exit(2);
++ break;
++ case 0:
++ break;
++ default:
++ exit(0);
++ }
++
++ setsid();
++
++ switch(fork()) {
++ case -1:
++ perror("fork");
++ exit(2);
++ break;
++ case 0:
++ break;
++ default:
++ exit(0);
++ }
+ }
+ chdir("/");
+ umask(0);
+--- hddtemp-0.3-beta15.orig/src/hddtemp.c
++++ hddtemp-0.3-beta15/src/hddtemp.c
+@@ -75,7 +75,7 @@
+ char separator = SEPARATOR;
+
+ struct bustype * bus[BUS_TYPE_MAX];
+-int tcp_daemon, debug, quiet, numeric, wakeup, af_hint;
++int tcp_daemon, debug, quiet, numeric, wakeup, foreground, af_hint;
+
+ static enum { DEFAULT, CELSIUS, FAHRENHEIT } unit;
+
+@@ -194,23 +194,7 @@
+ if (numeric && quiet)
+ printf("0\n");
+ else
+- printf(_("%s: %s: no sensor\n"), dsk->drive, dsk->model);
+-
+- break;
+- case GETTEMP_GUESS:
+-
+- if(!quiet)
+- fprintf(stderr,
+- _("WARNING: Drive %s doesn't appear in the database of supported drives\n"
+- "WARNING: But using a common value, it reports something.\n"
+- "WARNING: Note that the temperature shown could be wrong.\n"
+- "WARNING: See --help, --debug and --drivebase options.\n"
+- "WARNING: And don't forget you can add your drive to hddtemp.db\n"), dsk->drive);
+-
+- if (! numeric)
+- printf(_("%s: %s: %d%sC or %sF\n"), dsk->drive, dsk->model, dsk->value, degree, degree);
+- else
+- printf("%d\n", value_to_unit(dsk));
++ fprintf(stderr, _("%s: %s: no sensor\n"), dsk->drive, dsk->model);
+
+ break;
+ case GETTEMP_KNOWN:
+@@ -232,14 +216,14 @@
+ if (numeric && quiet)
+ printf("0\n");
+ else
+- printf(_("%s: %s: drive is sleeping\n"), dsk->drive, dsk->model);
++ fprintf(stderr, _("%s: %s: drive is sleeping\n"), dsk->drive, dsk->model);
+
+ break;
+ case GETTEMP_NOSENSOR:
+ if (numeric && quiet)
+ printf("0\n");
+ else
+- printf(_("%s: %s: drive supported, but it doesn't have a temperature sensor.\n"), dsk->drive, dsk->model);
++ fprintf(stderr, _("%s: %s: drive supported, but it doesn't have a temperature sensor.\n"), dsk->drive, dsk->model);
+
+ break;
+ default:
+@@ -268,8 +252,9 @@
+
+ int main(int argc, char* argv[]) {
+ int i, c, lindex = 0, db_loaded = 0;
++ int ret = 0;
+ int show_db;
+- struct disk * ldisks;
++ struct disk * ldisks;
+
+ backtrace_sigsegv();
+ backtrace_sigill();
+@@ -279,7 +264,7 @@
+ bindtextdomain (PACKAGE, LOCALEDIR);
+ textdomain (PACKAGE);
+
+- show_db = debug = numeric = quiet = wakeup = af_hint = syslog_interval = 0;
++ show_db = debug = numeric = quiet = wakeup = af_hint = syslog_interval = foreground = 0;
+ unit = DEFAULT;
+ portnum = PORT_NUMBER;
+ listen_addr = NULL;
+@@ -294,6 +279,7 @@
+ {"drivebase", 0, NULL, 'b'},
+ {"debug", 0, NULL, 'D'},
+ {"file", 1, NULL, 'f'},
++ {"foreground", 0, NULL, 'F'},
+ {"listen", 1, NULL, 'l'},
+ {"version", 0, NULL, 'v'},
+ {"port", 1, NULL, 'p'},
+@@ -305,7 +291,7 @@
+ {0, 0, 0, 0}
+ };
+
+- c = getopt_long (argc, argv, "bDdf:l:hp:qs:u:vnw46S:", long_options, &lindex);
++ c = getopt_long (argc, argv, "bDdf:l:hp:qs:u:vnw46FS:", long_options, &lindex);
+ if (c == -1)
+ break;
+
+@@ -382,12 +368,13 @@
+ " (done for every drive supplied).\n"
+ " -d --daemon : run hddtemp in TCP/IP daemon mode (port %d by default.)\n"
+ " -f --file=FILE : specify database file to use.\n"
++ " -F --foreground : don't daemonize, stay in foreground.\n"
+ " -l --listen=addr : listen on a specific interface (in TCP/IP daemon mode).\n"
+ " -n --numeric : print only the temperature.\n"
+ " -p --port=# : port to listen to (in TCP/IP daemon mode).\n"
+ " -s --separator=C : separator to use between fields (in TCP/IP daemon mode).\n"
+ " -S --syslog=s : log temperature to syslog every s seconds.\n"
+- " -u --unit=[C|F] : force output temperature either in Celius or Fahrenheit.\n"
++ " -u --unit=[C|F] : force output temperature either in Celsius or Fahrenheit.\n"
+ " -q --quiet : do not check if the drive is supported.\n"
+ " -v --version : display hddtemp version number.\n"
+ " -w --wake-up : wake-up the drive if need.\n"
+@@ -418,6 +405,9 @@
+ }
+ }
+ break;
++ case 'F':
++ foreground = 1;
++ break;
+ default:
+ exit(1);
+ }
+@@ -489,6 +479,7 @@
+ if( (dsk->fd = open(dsk->drive, O_RDONLY | O_NONBLOCK)) < 0) {
+ snprintf(dsk->errormsg, MAX_ERRORMSG_SIZE, "open: %s\n", strerror(errno));
+ dsk->type = ERROR;
++ ret = 1;
+ continue;
+ }
+
+@@ -501,6 +492,7 @@
+
+ ldisks = dsk->next;
+ free(dsk);
++ ret = 1;
+ continue;
+ }
+
+@@ -514,11 +506,17 @@
+ db_loaded = 1;
+ }
+
++ dsk->db_entry = (struct harddrive_entry *)malloc(sizeof(struct harddrive_entry));
+ dbe = is_a_supported_drive(dsk->model);
+- if(dbe) {
+- dsk->db_entry = (struct harddrive_entry *)malloc(sizeof(struct harddrive_entry));
++ if(dbe)
+ memcpy(dsk->db_entry, dbe, sizeof(struct harddrive_entry));
+- }
++ else {
++ dsk->db_entry->regexp = "";
++ dsk->db_entry->description = "";
++ dsk->db_entry->attribute_id = DEFAULT_ATTRIBUTE_ID;
++ dsk->db_entry->unit = 'C';
++ dsk->db_entry->next = NULL;
++ }
+ }
+ }
+
+@@ -530,5 +528,5 @@
+ do_direct_mode(ldisks);
+ }
+
+- return 0;
++ return ret;
+ }
+--- hddtemp-0.3-beta15.orig/src/ata.c
++++ hddtemp-0.3-beta15/src/ata.c
+@@ -75,7 +75,7 @@
+ int i;
+ u16 * p;
+
+- if(dsk->db_entry && dsk->db_entry->attribute_id == 0) {
++ if(dsk->db_entry->attribute_id == 0) {
+ close(dsk->fd);
+ dsk->fd = -1;
+ return GETTEMP_NOSENSOR;
+@@ -140,24 +140,15 @@
+ */
+
+ /* temperature */
+- if(dsk->db_entry && dsk->db_entry->attribute_id > 0)
+- field = ata_search_temperature(values, dsk->db_entry->attribute_id);
+- else
+- field = ata_search_temperature(values, DEFAULT_ATTRIBUTE_ID);
++ field = ata_search_temperature(values, dsk->db_entry->attribute_id);
+
+ if(field)
+ dsk->value = *(field+3);
+
+- if(dsk->db_entry && dsk->value != -1)
++ if(dsk->value != -1)
+ return GETTEMP_KNOWN;
+- else {
+- if(dsk->value != -1) {
+- return GETTEMP_GUESS;
+- }
+- else {
+- return GETTEMP_UNKNOWN;
+- }
+- }
++ else
++ return GETTEMP_UNKNOWN;
+
+ /* never reached */
+ }
+--- hddtemp-0.3-beta15.orig/src/hddtemp.h
++++ hddtemp-0.3-beta15/src/hddtemp.h
+@@ -39,8 +39,6 @@
+ GETTEMP_ERROR, /* Error */
+ GETTEMP_NOT_APPLICABLE, /* */
+ GETTEMP_UNKNOWN, /* Drive is not in database */
+- GETTEMP_GUESS, /* Not in database, but something was guessed, user must
+- check that the temperature returned is correct */
+ GETTEMP_KNOWN, /* Drive appear in database */
+ GETTEMP_NOSENSOR, /* Drive appear in database but is known to have no sensor */
+ GETTEMP_DRIVE_SLEEP /* Drive is sleeping */
+@@ -78,7 +76,7 @@
+
+ extern struct bustype * bus[BUS_TYPE_MAX];
+ extern char errormsg[MAX_ERRORMSG_SIZE];
+-extern int tcp_daemon, debug, quiet, wakeup, af_hint;
++extern int tcp_daemon, debug, quiet, wakeup, af_hint, foreground;
+ extern char separator;
+ extern long portnum, syslog_interval;
+ extern char * listen_addr;
+--- hddtemp-0.3-beta15.orig/src/scsicmds.c
++++ hddtemp-0.3-beta15/src/scsicmds.c
+@@ -147,6 +147,7 @@
+ return 1;
+ else {
+ scsi_fixstring(buffer + 8, 24);
++ buffer[32] = 0;
+ return 0;
+ }
+ }
diff --git a/meta-oe/recipes-support/hddtemp/files/init b/meta-oe/recipes-support/hddtemp/files/init
new file mode 100644
index 0000000000..0df8f67f61
--- /dev/null
+++ b/meta-oe/recipes-support/hddtemp/files/init
@@ -0,0 +1,100 @@
+#!/bin/sh
+#
+# skeleton example file to build /etc/init.d/ scripts.
+# This file should be used to construct scripts for /etc/init.d.
+#
+# Written by Miquel van Smoorenburg <miquels@cistron.nl>.
+# Modified for Debian GNU/Linux
+# by Ian Murdock <imurdock@gnu.ai.mit.edu>.
+#
+# Version: @(#)skeleton 1.8 03-Mar-1998 miquels@cistron.nl
+#
+
+### BEGIN INIT INFO
+# Provides: hddtemp
+# Required-Start: $remote_fs $syslog $network
+# Required-Stop: $remote_fs $syslog $network
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: disk temperature monitoring daemon
+# Description: hddtemp is a disk temperature monitoring daemon
+### END INIT INFO
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+NAME=hddtemp
+DAEMON=/usr/sbin/$NAME
+DESC="disk temperature monitoring daemon"
+
+DISKS="/dev/hd[a-z] /dev/hd[a-z][a-z]"
+DISKS="$DISKS /dev/sd[a-z] /dev/sd[a-z][a-z]"
+DISKS="$DISKS /dev/sr[a-z] /dev/sr[a-z][a-z]"
+INTERFACE="0.0.0.0"
+PORT="7634"
+SEPARATOR="|"
+RUN_SYSLOG="0"
+
+# Reads config file (will override defaults above)
+[ -r /etc/default/hddtemp ] && . /etc/default/hddtemp
+
+if [ -n "$RUN_SYSLOG" ] && [ "$RUN_SYSLOG" != "0" ] ; then
+ SYSLOG_ARG="-S $RUN_SYSLOG"
+fi
+
+if [ "$RUN_DAEMON" = "true" ] || [ "$RUN_DAEMON" = "yes" ] ; then
+ DAEMON_ARG="-d -l $INTERFACE -p $PORT -s $SEPARATOR"
+fi
+
+[ -x "$DAEMON" ] || exit 0
+
+. /lib/lsb/init-functions
+
+case "$1" in
+ start)
+ # master switch
+ if [ -n "$DAEMON_ARG" ] || [ -n "$SYSLOG_ARG" ] ; then
+ log_daemon_msg "Starting $DESC" "$NAME:"
+ CDROMS_LIST=$(sed -ne 's/^drive name:\t\+\(.*\)$/ \/dev\/\1/p' /proc/sys/dev/cdrom/info 2>/dev/null) || :
+ CDROMS_LIST="$CDROMS_LIST $(grep -sl '^ide-scsi ' /proc/ide/hd*/driver | awk -F / '{ print "/dev/"$4 }')"
+ for disk in $DISKS ; do
+ echo $CDROMS_LIST | grep -wq $disk && continue
+ echo $DISKS_NOPROBE | grep -wq $disk && continue
+ if $DAEMON -wn $OPTIONS $disk 2>/dev/null | grep -q '^[0-9]\+$' ; then
+ DISKS_LIST="$DISKS_LIST $disk";
+ fi
+ done
+ if [ -n "$DISKS_LIST" ] || [ -n "$DISKS_NOPROBE" ] ; then
+ start-stop-daemon --start --quiet --exec $DAEMON -- $DAEMON_ARG $SYSLOG_ARG $OPTIONS $DISKS_NOPROBE $DISKS_LIST
+ ret=$?
+ log_progress_msg "$DISKS_NOPROBE$DISKS_LIST"
+ log_end_msg $ret
+ else
+ log_progress_msg "no disks with monitoring capability were found."
+ log_end_msg 0
+ fi
+ fi
+ ;;
+ stop)
+ # master switch
+ if [ "$RUN_DAEMON" = "true" ] || [ "$RUN_DAEMON" = "yes" ] || [ "$RUN_SYSLOG" != "0" ] ; then
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ start-stop-daemon --stop --oknodo --exec $DAEMON --retry 30
+ log_end_msg $?
+ fi
+ ;;
+ force-reload|reload)
+ exit 3
+ ;;
+ restart)
+ $0 stop && $0 start
+ ;;
+ status)
+ status_of_proc $DAEMON $NAME
+ exit $?
+ ;;
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|stop|restart|status}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb b/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb
new file mode 100644
index 0000000000..a0bc4e6456
--- /dev/null
+++ b/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Hard disk temperature monitor daemon"
+SECTION = "console/network"
+LICENSE = "GPLv2+"
+
+SRC_URI = "http://download.savannah.nongnu.org/releases/hddtemp/hddtemp-0.3-beta15.tar.bz2 \
+ file://hddtemp-no-nls-support.patch \
+ file://hddtemp_0.3-beta15-52.diff \
+ file://hddtemp-0.3-beta15-autodetect-717479.patch \
+ file://hddtemp-db.patch;striplevel=0 \
+ file://hddtemp.db \
+ file://init \
+ "
+
+SRC_URI[md5sum] = "8b829339e1ae9df701684ec239021bb8"
+SRC_URI[sha256sum] = "618541584054093d53be8a2d9e81c97174f30f00af91cb8700a97e442d79ef5b"
+
+LIC_FILES_CHKSUM = "file://GPL-2;md5=eb723b61539feef013de476e68b5c50a"
+
+inherit autotools gettext update-rc.d
+
+FILES_${PN} += "/usr/share/misc/hddtemp.db"
+
+do_install_append() {
+ install -d ${D}/usr/share/misc/
+ install -m 0644 ${WORKDIR}/hddtemp.db ${D}/usr/share/misc/hddtemp.db
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0644 ${WORKDIR}/init ${D}${sysconfdir}/init.d/hddtemp
+}
+
+INITSCRIPT_NAME = "hddtemp"
+INITSCRIPT_PARAMS = "start 99 2 3 4 5 . stop 20 0 1 6 ."