From 4cac24ee80c7e6f774191f6ff63ac36ccdc441ba Mon Sep 17 00:00:00 2001 From: Pav Lucistnik Date: Sun, 25 Mar 2007 16:08:55 +0000 Subject: - Fix smartd to detect drives if the first drive has two-digit number (like ad10) - Recognize some new Western Digital Caviar SE drives PR: ports/110806 Submitted by: marck --- sysutils/smartmontools-devel/Makefile | 1 + sysutils/smartmontools-devel/files/patch-knowndrives.cpp | 14 ++++++++++++++ sysutils/smartmontools-devel/files/patch-os__freebsd.cpp | 14 ++++++++++++++ sysutils/smartmontools/Makefile | 1 + sysutils/smartmontools/files/patch-knowndrives.cpp | 14 ++++++++++++++ sysutils/smartmontools/files/patch-os__freebsd.cpp | 14 ++++++++++++++ 6 files changed, 58 insertions(+) create mode 100644 sysutils/smartmontools-devel/files/patch-knowndrives.cpp create mode 100644 sysutils/smartmontools-devel/files/patch-os__freebsd.cpp create mode 100644 sysutils/smartmontools/files/patch-knowndrives.cpp create mode 100644 sysutils/smartmontools/files/patch-os__freebsd.cpp (limited to 'sysutils') diff --git a/sysutils/smartmontools-devel/Makefile b/sysutils/smartmontools-devel/Makefile index 158c22081338..130b29c884d0 100644 --- a/sysutils/smartmontools-devel/Makefile +++ b/sysutils/smartmontools-devel/Makefile @@ -7,6 +7,7 @@ PORTNAME= smartmontools PORTVERSION= 5.37 +PORTREVISION= 1 CATEGORIES= sysutils MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= ${PORTNAME} diff --git a/sysutils/smartmontools-devel/files/patch-knowndrives.cpp b/sysutils/smartmontools-devel/files/patch-knowndrives.cpp new file mode 100644 index 000000000000..07291d4df9be --- /dev/null +++ b/sysutils/smartmontools-devel/files/patch-knowndrives.cpp @@ -0,0 +1,14 @@ + +$FreeBSD$ + +--- knowndrives.cpp.orig ++++ knowndrives.cpp +@@ -1031,7 +1031,7 @@ + NULL, NULL, NULL, NULL + }, + { "Western Digital Caviar SE (Serial ATA) family", +- "^WDC WD((4|8|12|16|20|25|32)00JD|(12|16|20|25|30|32)00JS|1600AAJS)-.*$", ++ "^WDC WD((4|8|12|16|20|25|32)00[JP]D|(12|16|20|25|30|32)00JS|1600AAJS)-.*$", + ".*", + NULL, NULL, NULL, NULL + }, diff --git a/sysutils/smartmontools-devel/files/patch-os__freebsd.cpp b/sysutils/smartmontools-devel/files/patch-os__freebsd.cpp new file mode 100644 index 000000000000..7a20564c8cb9 --- /dev/null +++ b/sysutils/smartmontools-devel/files/patch-os__freebsd.cpp @@ -0,0 +1,14 @@ + +$FreeBSD$ + +--- os_freebsd.cpp.orig ++++ os_freebsd.cpp +@@ -1008,7 +1008,7 @@ + // to first list. Turn on NOCHECK for second call. This results in no + // error if no more matches found, however it does append the actual + // pattern to the list of paths.... +- if ((retglob=glob(pattern1, GLOB_ERR, NULL, &globbuf)) || ++ if ((retglob=glob(pattern1, GLOB_ERR|GLOB_NOCHECK, NULL, &globbuf)) || + (retglob=glob(pattern2, GLOB_ERR|GLOB_APPEND|GLOB_NOCHECK,NULL,&globbuf))) { + int retval = -1; + // glob failed diff --git a/sysutils/smartmontools/Makefile b/sysutils/smartmontools/Makefile index 158c22081338..130b29c884d0 100644 --- a/sysutils/smartmontools/Makefile +++ b/sysutils/smartmontools/Makefile @@ -7,6 +7,7 @@ PORTNAME= smartmontools PORTVERSION= 5.37 +PORTREVISION= 1 CATEGORIES= sysutils MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= ${PORTNAME} diff --git a/sysutils/smartmontools/files/patch-knowndrives.cpp b/sysutils/smartmontools/files/patch-knowndrives.cpp new file mode 100644 index 000000000000..07291d4df9be --- /dev/null +++ b/sysutils/smartmontools/files/patch-knowndrives.cpp @@ -0,0 +1,14 @@ + +$FreeBSD$ + +--- knowndrives.cpp.orig ++++ knowndrives.cpp +@@ -1031,7 +1031,7 @@ + NULL, NULL, NULL, NULL + }, + { "Western Digital Caviar SE (Serial ATA) family", +- "^WDC WD((4|8|12|16|20|25|32)00JD|(12|16|20|25|30|32)00JS|1600AAJS)-.*$", ++ "^WDC WD((4|8|12|16|20|25|32)00[JP]D|(12|16|20|25|30|32)00JS|1600AAJS)-.*$", + ".*", + NULL, NULL, NULL, NULL + }, diff --git a/sysutils/smartmontools/files/patch-os__freebsd.cpp b/sysutils/smartmontools/files/patch-os__freebsd.cpp new file mode 100644 index 000000000000..7a20564c8cb9 --- /dev/null +++ b/sysutils/smartmontools/files/patch-os__freebsd.cpp @@ -0,0 +1,14 @@ + +$FreeBSD$ + +--- os_freebsd.cpp.orig ++++ os_freebsd.cpp +@@ -1008,7 +1008,7 @@ + // to first list. Turn on NOCHECK for second call. This results in no + // error if no more matches found, however it does append the actual + // pattern to the list of paths.... +- if ((retglob=glob(pattern1, GLOB_ERR, NULL, &globbuf)) || ++ if ((retglob=glob(pattern1, GLOB_ERR|GLOB_NOCHECK, NULL, &globbuf)) || + (retglob=glob(pattern2, GLOB_ERR|GLOB_APPEND|GLOB_NOCHECK,NULL,&globbuf))) { + int retval = -1; + // glob failed -- cgit v1.2.3