pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/sysutils/smartmontools smartmontools: update to 7.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/89bcd84e86a3
branches:  trunk
changeset: 328233:89bcd84e86a3
user:      tnn <tnn%pkgsrc.org@localhost>
date:      Fri Jan 18 00:28:24 2019 +0000

description:
smartmontools: update to 7.0

Date 2018-12-30
Summary: smartmontools release 7.0
-----------------------------------------------------------
- smartctl: New options '-j' and '--json[=giosu]' to enable experimental
  JSON output mode.  Also supports an alternative flat format suitable
  for grep ('--json=g').
- smartctl '-l devstat': Fix for logs with 256 sectors.
- smartctl '-l error': Prints SCSI Pending Defects log page if supported.
- smartctl '-H': Prints SCSI Format Status log page if supported.
- smartctl '-x': Now includes '-l defects'.
- NVMe/USB: Device type '-d sntjmicron' for NVMe drives behind JMicron USB
  to NVMe bridges.
- NVMe: SMART/Health Information and Error Information are always read with
  broadcast NSID.
- SCSI: Various improvements for the decoding of log pages.
- SCSI: Improved handling of READ CAPACITY command.
- SCSI: Support for SAS host managed drives.
- New option '-d scsi+TYPE' to disable SAT auto detection for 'aacraid'
  and 'cciss'.
- update-smart-drivedb: New option '-u github'.
- update-smart-drivedb: New signing key.
- configure: New options '--with-cxx11-regex' and '--with-libsystemd'.
- configure: Default for '--with-nvme-devicescan' is now 'yes' on Linux
  and Windows.
- configure: Default for '--with-scriptpath' now includes '/usr/local/bin'.
- configure: Options '-with-initscriptdir=[auto|yes]' are no longer
  supported.
- Reworked handling of unaligned LE and BE integers.
- Dropped various backward compatibility fixes for very old compilers.
- Replaced GPL header with 'SPDX-License-Identifier' in all source files.
- HDD, SSD and USB additions to drive database.
- Always use '-d sat' for USB vendor IDs with known SAT support.
- Linux: Device scan with '-d by-id' scans '/dev/disk/by-id/*' symlinks.
- Linux: Dropped device scan support for devfs.
- Linux: Fixed device scan with multiple '-d TYPE' options.
- Linux: Fixed device scan crash on missing '/proc/devices'.
- Linux: USB ID detection also for '/dev/sgN'.
- Linux: Compile fix for systems with musl libc.
- Linux smartd: Could now run as systemd service with 'Type=notify' set.
- FreeBSD: NVMe device scanning.
- FreeBSD: Various compile fixes.
- NetBSD: Fixed regression in name based device type detection.
- NetBSD big endian: Fixed regression in ATA code.
- NetBSD big endian: Fixed byte ordering of ATA IDENTIFY data from USB/SAT
  drives.
- Windows: Improved search for actual CSMI port number.
- Windows: Installer includes VERSIONINFO resource.

diffstat:

 sysutils/smartmontools/Makefile                    |    5 +-
 sysutils/smartmontools/distinfo                    |   11 +-
 sysutils/smartmontools/patches/patch-os_netbsd.cpp |  113 ---------------------
 3 files changed, 7 insertions(+), 122 deletions(-)

diffs (148 lines):

diff -r 3ad49282f570 -r 89bcd84e86a3 sysutils/smartmontools/Makefile
--- a/sysutils/smartmontools/Makefile   Thu Jan 17 22:49:17 2019 +0000
+++ b/sysutils/smartmontools/Makefile   Fri Jan 18 00:28:24 2019 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.32 2018/08/04 19:05:13 sevan Exp $
+# $NetBSD: Makefile,v 1.33 2019/01/18 00:28:24 tnn Exp $
 
-DISTNAME=              smartmontools-6.6
-PKGREVISION=           1
+DISTNAME=              smartmontools-7.0
 CATEGORIES=            sysutils
 MASTER_SITES=          ${MASTER_SITE_SOURCEFORGE:=smartmontools/}
 
diff -r 3ad49282f570 -r 89bcd84e86a3 sysutils/smartmontools/distinfo
--- a/sysutils/smartmontools/distinfo   Thu Jan 17 22:49:17 2019 +0000
+++ b/sysutils/smartmontools/distinfo   Fri Jan 18 00:28:24 2019 +0000
@@ -1,9 +1,8 @@
-$NetBSD: distinfo,v 1.31 2018/08/04 19:05:13 sevan Exp $
+$NetBSD: distinfo,v 1.32 2019/01/18 00:28:24 tnn Exp $
 
-SHA1 (smartmontools-6.6.tar.gz) = 8946f6350d6df9341d571381d66ffbb7d83b8af2
-RMD160 (smartmontools-6.6.tar.gz) = 8504a7a04e99d26acb3662ae5e0e8e6d38a52b5d
-SHA512 (smartmontools-6.6.tar.gz) = 64bb533dac29f62ddd662a16a12c97df1af9cbac9ac526ce7af0b3bff9da49cf265a2030d91a7160452b56a67e80d7f34c9b4e45bbb320114f55695e2cb5cfaf
-Size (smartmontools-6.6.tar.gz) = 903847 bytes
+SHA1 (smartmontools-7.0.tar.gz) = 00e6a7bb26b283695ab0deaf521be6723ba44f0a
+RMD160 (smartmontools-7.0.tar.gz) = db20533115aa05a52836dbef0006c664083fbe90
+SHA512 (smartmontools-7.0.tar.gz) = 96e18a201182579f699d541539ce393e7bc2191e027cfdf7f87455a63da3a14451574f8fe391232047ac941ace453a017193d0a4987a4edb8f7ed9d5007f0512
+Size (smartmontools-7.0.tar.gz) = 944925 bytes
 SHA1 (patch-aa) = bd08aff267f0e9e9307ebc57858e61e35144bf16
 SHA1 (patch-ag) = 01b0b35d89d6d6a11b13b3c05a141c46a0c1590b
-SHA1 (patch-os_netbsd.cpp) = 70a5fcfbdced36203b2b07b3496cddf915ef8938
diff -r 3ad49282f570 -r 89bcd84e86a3 sysutils/smartmontools/patches/patch-os_netbsd.cpp
--- a/sysutils/smartmontools/patches/patch-os_netbsd.cpp        Thu Jan 17 22:49:17 2019 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-$NetBSD: patch-os_netbsd.cpp,v 1.2 2018/08/04 19:05:13 sevan Exp $
-
-Missing #include
-Backport fix for NetBSD on bigendian systems
-https://www.smartmontools.org/ticket/943
-https://www.smartmontools.org/changeset/4628
-
---- os_netbsd.cpp.orig 2017-08-08 19:38:15.000000000 +0000
-+++ os_netbsd.cpp
-@@ -26,6 +26,7 @@
- 
- #include <sys/drvctlio.h>
- #include <sys/utsname.h>
-+#include <sys/stat.h>
- #include <errno.h>
- #include <unistd.h>
- 
-@@ -206,7 +207,7 @@ bool netbsd_ata_device::ata_pass_through
-   req.sec_count = in.in_regs.sector_count;
-   req.sec_num = in.in_regs.lba_low;
-   req.head = in.in_regs.device;
--  req.cylinder = le16toh(in.in_regs.lba_mid | (in.in_regs.lba_high << 8));
-+  req.cylinder = in.in_regs.lba_mid | (in.in_regs.lba_high << 8);
- 
-   switch (in.direction) {
-     case ata_cmd_in::no_data:
-@@ -237,41 +238,10 @@ bool netbsd_ata_device::ata_pass_through
-   out.out_regs.sector_count = req.sec_count;
-   out.out_regs.lba_low = req.sec_num;
-   out.out_regs.device = req.head;
--  out.out_regs.lba_mid = le16toh(req.cylinder);
--  out.out_regs.lba_high = le16toh(req.cylinder) >> 8;
-+  out.out_regs.lba_mid = req.cylinder;
-+  out.out_regs.lba_high = req.cylinder >> 8;
-   out.out_regs.status = req.command;
- 
--  // Command specific processing
--  if (in.in_regs.command == ATA_SMART_CMD
--       && in.in_regs.features == ATA_SMART_STATUS
--       && in.out_needed.lba_high)
--  {
--    unsigned const char normal_lo=0x4f, normal_hi=0xc2;
--    unsigned const char failed_lo=0xf4, failed_hi=0x2c;
--
--    // Cyl low and Cyl high unchanged means "Good SMART status"
--    if (!(out.out_regs.lba_mid==normal_lo && out.out_regs.lba_high==normal_hi)
--    // These values mean "Bad SMART status"
--        && !(out.out_regs.lba_mid==failed_lo && out.out_regs.lba_high==failed_hi))
--
--    {
--      // We haven't gotten output that makes sense; print out some debugging info
--      char buf[512];
--      snprintf(buf, sizeof(buf),
--        "CMD=0x%02x\nFR =0x%02x\nNS =0x%02x\nSC =0x%02x\nCL =0x%02x\nCH =0x%02x\nRETURN =0x%04x\n",
--        (int)req.command,
--        (int)req.features,
--        (int)req.sec_count,
--        (int)req.sec_num,
--        (int)(le16toh(req.cylinder) & 0xff),
--        (int)((le16toh(req.cylinder) >> 8) & 0xff),
--        (int)req.error);
--      printwarning(BAD_SMART,buf);
--      out.out_regs.lba_high = failed_hi;
--      out.out_regs.lba_mid = failed_lo;
--    }
--  }
--
-   return true;
- }
- 
-@@ -834,24 +804,29 @@ smart_device * netbsd_smart_interface::a
-     }
-   }
- 
--  if (str_starts_with(test_name, net_dev_raw_prefix)) {
-+  if (str_starts_with(test_name, net_dev_raw_prefix))
-     test_name += strlen(net_dev_raw_prefix);
--    if (!strncmp(net_dev_ata_disk, test_name, strlen(net_dev_ata_disk)))
--      return get_ata_device(test_name, "ata");
--    if (!strncmp(net_dev_scsi_disk, test_name, strlen(net_dev_scsi_disk))) {
-+  else if (str_starts_with(test_name, net_dev_prefix))
-+    test_name += strlen(net_dev_prefix);
-+  else
-+    return 0; // device is not starting with /dev/ or /dev/r*
-+
-+  if (!strncmp(net_dev_ata_disk, test_name, strlen(net_dev_ata_disk)))
-+    return get_ata_device(name, "ata");
-+
-+  if (!strncmp(net_dev_scsi_disk, test_name, strlen(net_dev_scsi_disk))) {
-       // XXX Try to detect possible USB->(S)ATA bridge
-       // XXX get USB vendor ID, product ID and version from sd(4)/umass(4).
-       // XXX check sat device via get_usb_dev_type_by_id().
--
-       // No USB bridge found, assume regular SCSI device
--      return get_scsi_device(test_name, "scsi");
--    }
--    if (!strncmp(net_dev_scsi_tape, test_name, strlen(net_dev_scsi_tape)))
--      return get_scsi_device(test_name, "scsi");
--  } else if (str_starts_with(test_name, net_dev_prefix)) {
--    if (!strncmp(NVME_PREFIX, test_name, strlen(NVME_PREFIX)))
--      return get_nvme_device(test_name, "nvme", 0 /* use default nsid */);
--  }
-+      return get_scsi_device(name, "scsi");
-+ }
-+
-+  if (!strncmp(net_dev_scsi_tape, test_name, strlen(net_dev_scsi_tape)))
-+    return get_scsi_device(name, "scsi");
-+
-+  if (!strncmp(net_dev_nvme_ctrl, test_name, strlen(net_dev_nvme_ctrl)))
-+    return get_nvme_device(name, "nvme", 0 /* use default nsid */);
- 
-   // device type unknown
-   return 0;



Home | Main Index | Thread Index | Old Index