From owner-svn-ports-all@FreeBSD.ORG Tue Jul 8 06:13:24 2014 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EB8C243D; Tue, 8 Jul 2014 06:13:24 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CC8212F37; Tue, 8 Jul 2014 06:13:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s686DOKm062841; Tue, 8 Jul 2014 06:13:24 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s686DOIw062836; Tue, 8 Jul 2014 06:13:24 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201407080613.s686DOIw062836@svn.freebsd.org> From: Jung-uk Kim Date: Tue, 8 Jul 2014 06:13:24 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r361174 - in head/sysutils/i2c-tools: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jul 2014 06:13:25 -0000 Author: jkim Date: Tue Jul 8 06:13:23 2014 New Revision: 361174 URL: http://svnweb.freebsd.org/changeset/ports/361174 QAT: https://qat.redports.org/buildarchive/r361174/ Log: - Update to 3.1.1. - Add a recommended patch from upstream (r6250). - Add an option to specify device other than /dev/smb0. - Install manual page. - Update MAINTAINER to use FreeBSD address. - Remove the leading article from COMMENT. - Add LICENSE. - Convert to USES=tar:bzip2. PR: 191198 Approved by: avg (maintainer, timeout > 2 weeks) Added: head/sysutils/i2c-tools/files/patch-eeprom_decode-dimms.1 (contents, props changed) Modified: head/sysutils/i2c-tools/Makefile head/sysutils/i2c-tools/distinfo head/sysutils/i2c-tools/files/patch-eeprom_decode-dimms Modified: head/sysutils/i2c-tools/Makefile ============================================================================== --- head/sysutils/i2c-tools/Makefile Tue Jul 8 06:12:01 2014 (r361173) +++ head/sysutils/i2c-tools/Makefile Tue Jul 8 06:13:23 2014 (r361174) @@ -2,22 +2,25 @@ # $FreeBSD$ PORTNAME= i2c-tools -PORTVERSION= 3.1.0 +PORTVERSION= 3.1.1 CATEGORIES= sysutils MASTER_SITES= http://dl.lm-sensors.org/i2c-tools/releases/ -MAINTAINER= avg@icyb.net.ua -COMMENT= A heterogeneous set of I2C tools +MAINTAINER= avg@FreeBSD.org +COMMENT= Heterogeneous set of I2C tools + +LICENSE= GPLv2 -USE_BZIP2= yes NO_BUILD= yes -USES= perl5 shebangfix +USES= perl5 shebangfix tar:bzip2 USE_PERL5= run -PLIST_FILES= sbin/decode-dimms +PLIST_FILES= man/man1/decode-dimms.1.gz sbin/decode-dimms SHEBANG_FILES= eeprom/decode-dimms do-install: + ${INSTALL_MAN} ${WRKSRC}/eeprom/decode-dimms.1 \ + ${STAGEDIR}${PREFIX}/man/man1/ ${INSTALL_SCRIPT} ${WRKSRC}/eeprom/decode-dimms \ ${STAGEDIR}${PREFIX}/sbin Modified: head/sysutils/i2c-tools/distinfo ============================================================================== --- head/sysutils/i2c-tools/distinfo Tue Jul 8 06:12:01 2014 (r361173) +++ head/sysutils/i2c-tools/distinfo Tue Jul 8 06:13:23 2014 (r361174) @@ -1,2 +1,2 @@ -SHA256 (i2c-tools-3.1.0.tar.bz2) = 960023f61de292c6dd757fcedec4bffa7dd036e8594e24b26a706094ca4c142a -SIZE (i2c-tools-3.1.0.tar.bz2) = 66840 +SHA256 (i2c-tools-3.1.1.tar.bz2) = 14d4d7d60d1c12e43f2befe239c682a5c44c27682f153d4b58c1e392d2db1700 +SIZE (i2c-tools-3.1.1.tar.bz2) = 71789 Modified: head/sysutils/i2c-tools/files/patch-eeprom_decode-dimms ============================================================================== --- head/sysutils/i2c-tools/files/patch-eeprom_decode-dimms Tue Jul 8 06:12:01 2014 (r361173) +++ head/sysutils/i2c-tools/files/patch-eeprom_decode-dimms Tue Jul 8 06:13:23 2014 (r361174) @@ -1,57 +1,26 @@ ---- eeprom/decode-dimms.orig 2012-04-18 10:02:28.495892381 +0300 -+++ eeprom/decode-dimms 2012-04-18 10:02:38.695897992 +0300 -@@ -41,9 +41,9 @@ use strict; - use POSIX qw(ceil); +--- eeprom/decode-dimms.orig 2014-06-19 15:50:29.000000000 -0400 ++++ eeprom/decode-dimms 2014-06-19 16:18:34.000000000 -0400 +@@ -42,7 +42,7 @@ use Fcntl qw(:DEFAULT :seek); + use File::Basename; use vars qw($opt_html $opt_bodyonly $opt_side_by_side $opt_merge - $opt_igncheck $use_sysfs $use_hexdump $sbs_col_width -+ $opt_igncheck $use_hexdump $sbs_col_width ++ $opt_igncheck $opt_smbdev $use_smbdev $use_hexdump $sbs_col_width @vendors %decode_callback $revision @dimm $current %hexdump_cache); use constant LITTLEENDIAN => "little-endian"; - use constant BIGENDIAN => "big-endian"; - -@@ -252,8 +252,6 @@ $revision =~ s/ \([^()]*\)//; - "Edgewater Computer Systems", "XMOS Semiconductor Ltd.", "GENUSION, Inc.", "Memory Corp NV", - "SiliconBlue Technologies", "Rambus Inc."]); +@@ -305,7 +305,7 @@ + "Silicon Space Technology"] + ); -$use_sysfs = -d '/sys/bus'; -- ++$use_smbdev = '/dev/smb0'; + # We consider that no data was written to this area of the SPD EEPROM if # all bytes read 0x00 or all bytes read 0xff - sub spd_written(@) -@@ -525,16 +523,21 @@ sub sdram_voltage_interface_level($) - return ($_[0] < @levels) ? $levels[$_[0]] : "Undefined!"; - } - --# Common to SDR and DDR SDRAM -+# Common to SDR, DDR and DDR2 SDRAM - sub sdram_module_configuration_type($) - { -- my @types = ( -- "No Parity", # 0 -- "Parity", # 1 -- "ECC", # 2 -- ); -+ my $byte = $_[0] & 0x07; -+ my @edc; -+ -+ return "No Parity" if $byte == 0; - -- return ($_[0] < @types) ? $types[$_[0]] : "Undefined!"; -+ # Data ECC includes Data Parity so don't print both -+ push @edc, "Data Parity" if ($byte & 0x03) == 0x01; -+ push @edc, "Data ECC" if ($byte & 0x02); -+ # New in DDR2 specification -+ push @edc, "Address/Command Parity" if ($byte & 0x04); -+ -+ return join ", ", @edc; - } - - # Parameter: EEPROM bytes 0-127 (using 3-62) -@@ -1019,6 +1022,9 @@ sub decode_ddr2_sdram($) - printl("Voltage Interface Level", - sdram_voltage_interface_level($bytes->[8])); +@@ -1079,6 +1079,9 @@ + printl("Module Configuration Type", + sdram_module_configuration_type($bytes->[11])); + printl("Module Configuration Type", + sdram_module_configuration_type($bytes->[11])); @@ -59,14 +28,27 @@ printl("Refresh Rate", ddr2_refresh_rate($bytes->[12])); my @burst; -@@ -1557,6 +1563,26 @@ sub spd_sizes($) +@@ -1289,8 +1292,9 @@ + printl("DLL-Off Mode supported?", ($bytes->[30] & 128) ? "Yes" : "No"); + printl("Operating temperature range", sprintf "0-%d degrees C", + ($bytes->[31] & 1) ? 95 : 85); +- printl("Refresh Rate in extended temp range", +- ($bytes->[31] & 2) ? "2X" : "1X"); ++ printl_cond($bytes->[31] & 1, ++ "Refresh Rate in extended temp range", ++ ($bytes->[31] & 2) ? "1X" : "2X"); + printl("Auto Self-Refresh?", ($bytes->[31] & 4) ? "Yes" : "No"); + printl("On-Die Thermal Sensor readout?", + ($bytes->[31] & 8) ? "Yes" : "No"); +@@ -1624,6 +1628,28 @@ } } +sub freebsd_readbyte ($$) { + my ($offset, $dimm_i) = @_; + -+ my $command = sprintf('/usr/sbin/smbmsg -s %#02x -c %d -i 1 -F %%02x 2>/dev/null', $dimm_i, $offset); ++ my $command = sprintf('/usr/sbin/smbmsg -f %s -s %#02x -c %d -i 1 -F %%02x 2>/dev/null', ++ $use_smbdev, $dimm_i, $offset); + my $output = `$command`; + chomp($output); + my $byte = hex($output); @@ -76,7 +58,8 @@ +sub freebsd_readword ($$) { + my ($offset, $dimm_i) = @_; + -+ my $command = sprintf('/usr/sbin/smbmsg -s %#02x -c %d -w -i 2 -F %%04x 2>/dev/null', $dimm_i, $offset); ++ my $command = sprintf('/usr/sbin/smbmsg -f %s -s %#02x -c %d -w -i 2 -F %%04x 2>/dev/null', ++ $use_smbdev, $dimm_i, $offset); + my $output = `$command`; + chomp($output); + my $word = hex($output); @@ -86,7 +69,7 @@ # Read bytes from SPD-EEPROM # Note: offset must be a multiple of 16! sub readspd($$$) -@@ -1566,22 +1592,14 @@ sub readspd($$$) +@@ -1633,22 +1659,14 @@ if ($use_hexdump) { @bytes = read_hexdump($dimm_i); return @bytes[$offset..($offset + $size - 1)]; @@ -116,7 +99,48 @@ } } return @bytes; -@@ -1710,60 +1728,20 @@ printh('Memory Serial Presence Detect De +@@ -1702,7 +1720,7 @@ + # Parse command-line + foreach (@ARGV) { + if ($_ eq '-h' || $_ eq '--help') { +- print "Usage: $0 [-c] [-f [-b]] [-x|-X file [files..]]\n", ++ print "Usage: $0 [-c] [-f [-b]] [-d|-x|-X file [files..]]\n", + " $0 -h\n\n", + " -f, --format Print nice html output\n", + " -b, --bodyonly Don't print html header\n", +@@ -1711,6 +1729,7 @@ + " --merge-cells Merge neighbour cells with identical values\n", + " (side-by-side output only)\n", + " -c, --checksum Decode completely even if checksum fails\n", ++ " -d, Read data from the device\n", + " -x, Read data from hexdump files\n", + " -X, Same as -x except treat multibyte hex\n", + " data as little endian\n", +@@ -1746,6 +1765,10 @@ + $opt_igncheck = 1; + next; + } ++ if ($_ eq '-d') { ++ $opt_smbdev = 1; ++ next; ++ } + if ($_ eq '-x') { + $use_hexdump = BIGENDIAN; + next; +@@ -1760,7 +1783,11 @@ + exit; + } + +- push @dimm, { eeprom => basename($_), file => $_ } if $use_hexdump; ++ if ($opt_smbdev) { ++ $use_smbdev = $_; ++ } else { ++ push @dimm, { eeprom => basename($_), file => $_ } if $use_hexdump; ++ } + } + + if ($opt_html && !$opt_bodyonly) { +@@ -1777,61 +1804,20 @@ Jean Delvare, Trent Piepho and others'); @@ -138,7 +162,7 @@ - sub get_dimm_list { -- my (@dirs, $dir, $file, @files); +- my (@dirs, $dir, $opened, $file, @files); - - if ($use_sysfs) { - @dirs = ('/sys/bus/i2c/drivers/eeprom', '/sys/bus/i2c/drivers/at24'); @@ -148,6 +172,7 @@ - - foreach $dir (@dirs) { - next unless opendir(local *DIR, $dir); +- $opened++; - while (defined($file = readdir(DIR))) { - if ($use_sysfs) { - # We look for I2C devices like 0-0050 or 2-0051 @@ -168,13 +193,11 @@ - close(DIR); - } - -- if (@files) { -- return sort { $a->{file} cmp $b->{file} } @files; -- } elsif (! -d '/sys/module/eeprom') { -- print "No EEPROM found, are you sure the eeprom module is loaded?\n"; +- if (!$opened) { +- print STDERR "No EEPROM found, try loading the eeprom or at24 module\n"; - exit; + my @dimms; -+ if (! -c '/dev/smb0') { ++ if (! -c $use_smbdev) { + print "SMBus device not found\n"; + exit; + } @@ -184,11 +207,13 @@ + next unless spd_written(@test_bytes); + push @dimms, { eeprom => sprintf('0x%02X', $spd), file => $spd }; } +- +- return sort { $a->{file} cmp $b->{file} } @files; + return @dimms; } # @dimm is a list of hashes. There's one hash for each EEPROM we found. -@@ -1954,7 +1932,7 @@ for $current (0 .. $#dimm) { +@@ -2022,7 +2008,7 @@ print "\n\n"; } else { print "" if $opt_html; Added: head/sysutils/i2c-tools/files/patch-eeprom_decode-dimms.1 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/i2c-tools/files/patch-eeprom_decode-dimms.1 Tue Jul 8 06:13:23 2014 (r361174) @@ -0,0 +1,21 @@ +--- eeprom/decode-dimms.1.orig 2014-02-20 04:59:56.488360000 -0500 ++++ eeprom/decode-dimms.1 2014-06-19 16:20:15.000000000 -0400 +@@ -21,7 +21,7 @@ + decode-dimms \- decode the information found in memory module SPD EEPROMs + .SH SYNOPSIS + .B decode-dimms +-[-c] [-f [-b]] [-x|-X file [files..]] ++[-c] [-f [-b]] [-d|-x|-X file [files..]] + .br + .B decode-dimms + -h +@@ -53,6 +53,9 @@ + .B \-c, --checksum + Decode completely even if checksum fails + .TP ++.B \-d ++Read data from the device ++.TP + .B \-x + Read data from hexdump files + .TP