aboutsummaryrefslogtreecommitdiff
path: root/sysutils/smartmontools
diff options
context:
space:
mode:
authorBruce M Simpson <bms@FreeBSD.org>2003-11-01 02:57:51 +0000
committerBruce M Simpson <bms@FreeBSD.org>2003-11-01 02:57:51 +0000
commit55e0a4a8d618d0bef01a44b06c73122753f3b643 (patch)
tree10a1d28db1448c1aec2db700c3f33d3873581ad7 /sysutils/smartmontools
parent3b4acd3405c2ec27a10b45ee8d761f81e872b870 (diff)
downloadports-55e0a4a8d618d0bef01a44b06c73122753f3b643.tar.gz
ports-55e0a4a8d618d0bef01a44b06c73122753f3b643.zip
Unbreak build on 4-STABLE and 5.1-RELEASE. Add a warning which states
that 5.1-CURRENT is required in order to monitor ATA devices.
Notes
Notes: svn path=/head/; revision=92765
Diffstat (limited to 'sysutils/smartmontools')
-rw-r--r--sysutils/smartmontools/Makefile7
-rw-r--r--sysutils/smartmontools/files/patch-knowndrives.c10
-rw-r--r--sysutils/smartmontools/files/patch-os_freebsd.c50
3 files changed, 65 insertions, 2 deletions
diff --git a/sysutils/smartmontools/Makefile b/sysutils/smartmontools/Makefile
index a3aec3f9a686..2699e4972ce5 100644
--- a/sysutils/smartmontools/Makefile
+++ b/sysutils/smartmontools/Makefile
@@ -7,6 +7,7 @@
PORTNAME= smartmontools
PORTVERSION= 5.22
+PORTREVISION= 1
CATEGORIES= sysutils
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
@@ -42,8 +43,10 @@ do-install:
.include <bsd.port.pre.mk>
-.if ${OSVERSION} < 500000
-IGNORE= smartmontools currently support only FreeBSD 5.x
+.if ${OSVERSION} < 501112
+pre-everything:
+ @${ECHO} "WARNING: In order to support monitoring of ATA devices,"
+ @${ECHO} "${PORTNAME} requires 5.1-CURRENT (__FreeBSD_version 501112)."
.endif
post-install:
diff --git a/sysutils/smartmontools/files/patch-knowndrives.c b/sysutils/smartmontools/files/patch-knowndrives.c
new file mode 100644
index 000000000000..31472c3a0a57
--- /dev/null
+++ b/sysutils/smartmontools/files/patch-knowndrives.c
@@ -0,0 +1,10 @@
+--- knowndrives.c.orig Sat Nov 1 02:33:08 2003
++++ knowndrives.c Sat Nov 1 02:33:20 2003
+@@ -17,6 +17,7 @@
+ *
+ */
+
++#include <sys/types.h>
+ #include <stdio.h>
+ #include <regex.h>
+ #include "atacmds.h"
diff --git a/sysutils/smartmontools/files/patch-os_freebsd.c b/sysutils/smartmontools/files/patch-os_freebsd.c
new file mode 100644
index 000000000000..f7fb6ba13752
--- /dev/null
+++ b/sysutils/smartmontools/files/patch-os_freebsd.c
@@ -0,0 +1,50 @@
+--- os_freebsd.c.orig Sat Nov 1 02:34:37 2003
++++ os_freebsd.c Sat Nov 1 02:40:19 2003
+@@ -402,13 +402,17 @@
+
+ if (cam_send_ccb(cam_dev,ccb) < 0) {
+ warn("error sending SCSI ccb");
++ #if __FreeBSD_version > 500000
+ cam_error_print(cam_dev,ccb,CAM_ESF_ALL,CAM_EPF_ALL,stderr);
++ #endif
+ cam_freeccb(ccb);
+ return -1;
+ }
+
+ if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
++ #if __FreeBSD_version > 500000
+ cam_error_print(cam_dev,ccb,CAM_ESF_ALL,CAM_EPF_ALL,stderr);
++ #endif
+ cam_freeccb(ccb);
+ return -1;
+ }
+@@ -426,8 +430,10 @@
+ cam_close_device(cam_dev);
+
+ if (report > 0) {
++ int trunc;
++
+ pout(" status=0\n");
+- int trunc = (iop->dxfer_len > 256) ? 1 : 0;
++ trunc = (iop->dxfer_len > 256) ? 1 : 0;
+
+ pout(" Incoming data, len=%d%s:\n", (int)iop->dxfer_len,
+ (trunc ? " [only first 256 bytes shown]" : ""));
+@@ -444,6 +450,9 @@
+
+
+ static int get_ata_channel_unit ( const char* name, int* unit, int* dev) {
++#ifndef ATAREQUEST
++ return -1;
++#else
+ // there is no direct correlation between name 'ad0, ad1, ...' and
+ // channel/unit number. So we need to iterate through the possible
+ // channels and check each unit to see if we match names
+@@ -483,6 +492,7 @@
+ return -1;
+ else
+ return 0;
++#endif
+ }
+
+