# HG changeset patch # User Jarod Tian # Date 1478567414 28800 # Node ID 39b1b8abc92d5ab8d02dd954c30de470012d33f7 # Parent c523ba6bf5f16dee7f97603771089298d9b742b2 15806655 SUNBT7187466 Integrate smp_utils into solaris diff -r c523ba6bf5f1 -r 39b1b8abc92d components/smp_utils/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/smp_utils/Makefile Mon Nov 07 17:10:14 2016 -0800 @@ -0,0 +1,93 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved. +# +include ../../make-rules/shared-macros.mk + +COMPONENT_NAME= smp_utils +COMPONENT_VERSION= 0.97 +COMPONENT_PROJECT_URL= http://sg.danny.cz/sg/smp_utils.html +COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) +COMPONENT_ARCHIVE= $(COMPONENT_SRC).tgz +COMPONENT_ARCHIVE_HASH= \ + sha256:0e10d304cfa8789bcf16537e8f72d9afdf8838fca20ae68103c317432d00915b +COMPONENT_ARCHIVE_URL= http://sg.danny.cz/sg/p/$(COMPONENT_ARCHIVE) +COMPONENT_BUGDB= utility/smputils + +TPNO= 11065 + +include $(WS_MAKE_RULES)/prep.mk +include $(WS_MAKE_RULES)/configure.mk +include $(WS_MAKE_RULES)/ips.mk + +CC += $(CC_BITS) +CPPFLAGS += -I$(COMPONENT_DIR)/$(COMPONENT_SRC)/include +CONFIGURE_OPTIONS += --disable-static +CONFIGURE_OPTIONS += CPPFLAGS="$(CPPFLAGS)" + +PKG_PROTO_DIRS += $(COMPONENT_DIR)/files + +ASLR_MODE = $(ASLR_ENABLE) + +COMPONENT_INSTALL_ARGS += sbindir=$(USRSBINDIR) + +# common targets +build: $(BUILD_64) + +install: $(INSTALL_64) + +test: install $(TEST_64) + +# Actions to show versions of each utility for test target +COMPONENT_PRE_TEST_ACTION = \ + $(PROTOUSRSBINDIR)/smp_conf_general -V; \ + $(PROTOUSRSBINDIR)/smp_conf_phy_event -V; \ + $(PROTOUSRSBINDIR)/smp_conf_route_info -V; \ + $(PROTOUSRSBINDIR)/smp_conf_zone_man_pass -V; \ + $(PROTOUSRSBINDIR)/smp_conf_zone_perm_tbl -V; \ + $(PROTOUSRSBINDIR)/smp_conf_zone_phy_info -V; \ + $(PROTOUSRSBINDIR)/smp_discover -V; \ + $(PROTOUSRSBINDIR)/smp_discover_list -V; \ + $(PROTOUSRSBINDIR)/smp_ena_dis_zoning -V; \ + $(PROTOUSRSBINDIR)/smp_phy_control -V; \ + $(PROTOUSRSBINDIR)/smp_phy_test -V; \ + $(PROTOUSRSBINDIR)/smp_read_gpio -V; \ + $(PROTOUSRSBINDIR)/smp_rep_broadcast -V; \ + $(PROTOUSRSBINDIR)/smp_rep_exp_route_tbl -V; \ + $(PROTOUSRSBINDIR)/smp_rep_general -V; \ + $(PROTOUSRSBINDIR)/smp_rep_manufacturer -V; \ + $(PROTOUSRSBINDIR)/smp_rep_phy_err_log -V; \ + $(PROTOUSRSBINDIR)/smp_rep_phy_event -V; \ + $(PROTOUSRSBINDIR)/smp_rep_phy_event_list -V; \ + $(PROTOUSRSBINDIR)/smp_rep_phy_sata -V; \ + $(PROTOUSRSBINDIR)/smp_rep_route_info -V; \ + $(PROTOUSRSBINDIR)/smp_rep_self_conf_stat -V; \ + $(PROTOUSRSBINDIR)/smp_rep_zone_man_pass -V; \ + $(PROTOUSRSBINDIR)/smp_rep_zone_perm_tbl -V; \ + $(PROTOUSRSBINDIR)/smp_write_gpio -V; \ + $(PROTOUSRSBINDIR)/smp_zone_activate -V; \ + $(PROTOUSRSBINDIR)/smp_zone_lock -V; \ + $(PROTOUSRSBINDIR)/smp_zone_unlock -V; \ + $(PROTOUSRSBINDIR)/smp_zoned_broadcast -V; + +REQUIRED_PACKAGES += system/library diff -r c523ba6bf5f1 -r 39b1b8abc92d components/smp_utils/files/RtSCSIDeviceInfo.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/smp_utils/files/RtSCSIDeviceInfo.html Mon Nov 07 17:10:14 2016 -0800 @@ -0,0 +1,20 @@ + + + + + + + + + +When SCSI Device Info is in the Rights Included column, it grants the right to +use commands needed to inquiry or read SCSI device information. +

+If SCSI Device Info is grayed, then you are not entitled to Add or Remove this +right. +

+ + diff -r c523ba6bf5f1 -r 39b1b8abc92d components/smp_utils/files/RtSCSIDeviceManagement.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/smp_utils/files/RtSCSIDeviceManagement.html Mon Nov 07 17:10:14 2016 -0800 @@ -0,0 +1,20 @@ + + + + + + + + + +When SCSI Device Management is in the Rights Included column, it grants the +right to use commands needed to manage, modify SCSI device status or data. +

+If SCSI Device Management is grayed, then you are not entitled to Add or +Remove this right. +

+ + diff -r c523ba6bf5f1 -r 39b1b8abc92d components/smp_utils/files/smp_utils-exec_attr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/smp_utils/files/smp_utils-exec_attr Mon Nov 07 17:10:14 2016 -0800 @@ -0,0 +1,30 @@ +SCSI Device Info:solaris:cmd:RO::/usr/sbin/smp_discover:privs=zone +SCSI Device Info:solaris:cmd:RO::/usr/sbin/smp_discover_list:privs=zone +SCSI Device Info:solaris:cmd:RO::/usr/sbin/smp_read_gpio:privs=zone +SCSI Device Info:solaris:cmd:RO::/usr/sbin/smp_rep_broadcast:privs=zone +SCSI Device Info:solaris:cmd:RO::/usr/sbin/smp_rep_exp_route_tbl:privs=zone +SCSI Device Info:solaris:cmd:RO::/usr/sbin/smp_rep_general:privs=zone +SCSI Device Info:solaris:cmd:RO::/usr/sbin/smp_rep_manufacturer:privs=zone +SCSI Device Info:solaris:cmd:RO::/usr/sbin/smp_rep_phy_err_log:privs=zone +SCSI Device Info:solaris:cmd:RO::/usr/sbin/smp_rep_phy_event:privs=zone +SCSI Device Info:solaris:cmd:RO::/usr/sbin/smp_rep_phy_event_list:privs=zone +SCSI Device Info:solaris:cmd:RO::/usr/sbin/smp_rep_phy_sata:privs=zone +SCSI Device Info:solaris:cmd:RO::/usr/sbin/smp_rep_self_conf_sta:privs=zone +SCSI Device Info:solaris:cmd:RO::/usr/sbin/smp_rep_route_info:privs=zone +SCSI Device Info:solaris:cmd:RO::/usr/sbin/smp_rep_zone_man_pass:privs=zone +SCSI Device Info:solaris:cmd:RO::/usr/sbin/smp_rep_zone_perm_tbl:privs=zone + +SCSI Device Management:solaris:cmd:RO::/usr/sbin/smp_conf_general:privs=zone +SCSI Device Management:solaris:cmd:RO::/usr/sbin/smp_conf_phy_event:privs=zone +SCSI Device Management:solaris:cmd:RO::/usr/sbin/smp_conf_route_info:privs=zone +SCSI Device Management:solaris:cmd:RO::/usr/sbin/smp_conf_zone_man_pass:privs=zone +SCSI Device Management:solaris:cmd:RO::/usr/sbin/smp_conf_zone_perm_tbl:privs=zone +SCSI Device Management:solaris:cmd:RO::/usr/sbin/smp_conf_zone_phy_info:privs=zone +SCSI Device Management:solaris:cmd:RO::/usr/sbin/smp_ena_dis_zoning:privs=zone +SCSI Device Management:solaris:cmd:RO::/usr/sbin/smp_phy_control:privs=zone +SCSI Device Management:solaris:cmd:RO::/usr/sbin/smp_phy_test:privs=zone +SCSI Device Management:solaris:cmd:RO::/usr/sbin/smp_write_gpio:privs=zone +SCSI Device Management:solaris:cmd:RO::/usr/sbin/smp_zone_activate:privs=zone +SCSI Device Management:solaris:cmd:RO::/usr/sbin/smp_zone_lock:privs=zone +SCSI Device Management:solaris:cmd:RO::/usr/sbin/smp_zone_unlock:privs=zone +SCSI Device Management:solaris:cmd:RO::/usr/sbin/smp_zoned_broadcast:privs=zone diff -r c523ba6bf5f1 -r 39b1b8abc92d components/smp_utils/files/smp_utils-prof_attr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/smp_utils/files/smp_utils-prof_attr Mon Nov 07 17:10:14 2016 -0800 @@ -0,0 +1,2 @@ +SCSI Device Info:RO::Inquiry, read device information:help=RtSCSIDeviceInfo.html +SCSI Device Management:RO::Manage, modify device status or data:help=RtSCSIDeviceManagement.html;profiles=SCSI Device Info diff -r c523ba6bf5f1 -r 39b1b8abc92d components/smp_utils/patches/smp_utils-solaris-build.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/smp_utils/patches/smp_utils-solaris-build.patch Mon Nov 07 17:10:14 2016 -0800 @@ -0,0 +1,50 @@ +#Use -v to switch to standard error output. This patch is deemed +#Solaris-centric and thus not worthy of being submitted upstream. +diff -urN smp_utils-0.97/lib/Makefile.am smp_utils-0.97.new/lib/Makefile.am +--- smp_utils-0.97/lib/Makefile.am 2011-08-06 20:47:17.000000000 -0700 ++++ smp_utils-0.97.new/lib/Makefile.am 2012-10-29 23:22:01.250489177 -0700 +@@ -38,7 +38,7 @@ + + + +-AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -W ++AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -v + # AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -W -pedantic -std=c99 + + lib_LTLIBRARIES = libsmputils1.la +diff -urN smp_utils-0.97/lib/Makefile.in smp_utils-0.97.new/lib/Makefile.in +--- smp_utils-0.97/lib/Makefile.in 2011-11-16 16:48:55.000000000 -0800 ++++ smp_utils-0.97.new/lib/Makefile.in 2012-10-29 23:22:01.251160763 -0700 +@@ -243,7 +243,7 @@ + @OS_SOLARIS_TRUE@EXTRA_libsmputils1_la_SOURCES = \ + @OS_SOLARIS_TRUE@ smp_dummy.c + +-AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -W ++AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -v + # AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -W -pedantic -std=c99 + lib_LTLIBRARIES = libsmputils1.la + libsmputils1_la_LDFLAGS = -version-info 1:0:0 +diff -urN smp_utils-0.97/src/Makefile.am smp_utils-0.97.new/src/Makefile.am +--- smp_utils-0.97/src/Makefile.am 2011-11-29 12:11:36.000000000 -0800 ++++ smp_utils-0.97.new/src/Makefile.am 2012-10-29 23:22:36.457726462 -0700 +@@ -28,7 +28,7 @@ + ## endif + + +-AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -W ++AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -v + # AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -W -pedantic -std=c99 + + smp_conf_general_SOURCES = smp_conf_general.c +diff -urN smp_utils-0.97/src/Makefile.in smp_utils-0.97.new/src/Makefile.in +--- smp_utils-0.97/src/Makefile.in 2011-11-29 12:11:36.000000000 -0800 ++++ smp_utils-0.97.new/src/Makefile.in 2012-10-29 23:22:36.458435498 -0700 +@@ -319,7 +319,7 @@ + top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -W ++AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -v + # AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -W -pedantic -std=c99 + smp_conf_general_SOURCES = smp_conf_general.c + smp_conf_general_LDADD = ../lib/libsmputils1.la @os_libs@ diff -r c523ba6bf5f1 -r 39b1b8abc92d components/smp_utils/smp_utils.license --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/smp_utils/smp_utils.license Mon Nov 07 17:10:14 2016 -0800 @@ -0,0 +1,25 @@ +Copyright (c) 2006-2009 Douglas Gilbert. + All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. diff -r c523ba6bf5f1 -r 39b1b8abc92d components/smp_utils/smp_utils.p5m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/smp_utils/smp_utils.p5m Mon Nov 07 17:10:14 2016 -0800 @@ -0,0 +1,114 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. +# + + default mangler.man.stability uncommitted> +set name=pkg.fmri \ + value=pkg:/system/storage/smp_utils@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) +set name=pkg.summary \ + value="Utilities for SMP expanders that help diagnose problems" +set name=pkg.description \ + value="The smp_utils package contains utilities for the Serial Attached SCSI (SAS) Serial Management Protocol (SMP). Most utilities correspond to a single SMP function, sending out a request, checking for errors and if all is well processing the response. The response is either decoded, printed out in ASCII hexadecimal or sent as binary to stdout." +set name=com.oracle.info.description value="SMP diagnostic tools" +set name=com.oracle.info.tpno value=$(TPNO) +set name=info.classification \ + value="org.opensolaris.category.2008:Applications/System Utilities" +set name=info.source-url value=$(COMPONENT_ARCHIVE_URL) +set name=info.upstream-url value=$(COMPONENT_PROJECT_URL) +set name=org.opensolaris.arc-caseid value=PSARC/2012/329 +set name=org.opensolaris.consolidation value=$(CONSOLIDATION) + +file smp_utils-exec_attr path=etc/security/exec_attr.d/smp_utils +file smp_utils-prof_attr path=etc/security/prof_attr.d/smp_utils +file RtSCSIDeviceInfo.html \ + path=usr/lib/help/profiles/locale/RtSCSIDeviceInfo.html +file RtSCSIDeviceManagement.html \ + path=usr/lib/help/profiles/locale/RtSCSIDeviceManagement.html + +file path=usr/include/scsi/smp_lib.h +file path=usr/lib/$(MACH64)/libsmputils1.la +link path=usr/lib/$(MACH64)/libsmputils1.so target=libsmputils1.so.1.0.0 +link path=usr/lib/$(MACH64)/libsmputils1.so.1 target=libsmputils1.so.1.0.0 +file path=usr/lib/$(MACH64)/libsmputils1.so.1.0.0 +file path=usr/sbin/smp_conf_general +file path=usr/sbin/smp_conf_phy_event +file path=usr/sbin/smp_conf_route_info +file path=usr/sbin/smp_conf_zone_man_pass +file path=usr/sbin/smp_conf_zone_perm_tbl +file path=usr/sbin/smp_conf_zone_phy_info +file path=usr/sbin/smp_discover +file path=usr/sbin/smp_discover_list +file path=usr/sbin/smp_ena_dis_zoning +file path=usr/sbin/smp_phy_control +file path=usr/sbin/smp_phy_test +file path=usr/sbin/smp_read_gpio +file path=usr/sbin/smp_rep_broadcast +file path=usr/sbin/smp_rep_exp_route_tbl +file path=usr/sbin/smp_rep_general +file path=usr/sbin/smp_rep_manufacturer +file path=usr/sbin/smp_rep_phy_err_log +file path=usr/sbin/smp_rep_phy_event +file path=usr/sbin/smp_rep_phy_event_list +file path=usr/sbin/smp_rep_phy_sata +file path=usr/sbin/smp_rep_route_info +file path=usr/sbin/smp_rep_self_conf_stat +file path=usr/sbin/smp_rep_zone_man_pass +file path=usr/sbin/smp_rep_zone_perm_tbl +file path=usr/sbin/smp_write_gpio +file path=usr/sbin/smp_zone_activate +file path=usr/sbin/smp_zone_lock +file path=usr/sbin/smp_zone_unlock +file path=usr/sbin/smp_zoned_broadcast +file path=usr/share/man/man8/smp_conf_general.8 +file path=usr/share/man/man8/smp_conf_phy_event.8 +file path=usr/share/man/man8/smp_conf_route_info.8 +file path=usr/share/man/man8/smp_conf_zone_man_pass.8 +file path=usr/share/man/man8/smp_conf_zone_perm_tbl.8 +file path=usr/share/man/man8/smp_conf_zone_phy_info.8 +file path=usr/share/man/man8/smp_discover.8 +file path=usr/share/man/man8/smp_discover_list.8 +file path=usr/share/man/man8/smp_ena_dis_zoning.8 +file path=usr/share/man/man8/smp_phy_control.8 +file path=usr/share/man/man8/smp_phy_test.8 +file path=usr/share/man/man8/smp_read_gpio.8 +file path=usr/share/man/man8/smp_rep_broadcast.8 +file path=usr/share/man/man8/smp_rep_exp_route_tbl.8 +file path=usr/share/man/man8/smp_rep_general.8 +file path=usr/share/man/man8/smp_rep_manufacturer.8 +file path=usr/share/man/man8/smp_rep_phy_err_log.8 +file path=usr/share/man/man8/smp_rep_phy_event.8 +file path=usr/share/man/man8/smp_rep_phy_event_list.8 +file path=usr/share/man/man8/smp_rep_phy_sata.8 +file path=usr/share/man/man8/smp_rep_route_info.8 +file path=usr/share/man/man8/smp_rep_self_conf_stat.8 +file path=usr/share/man/man8/smp_rep_zone_man_pass.8 +file path=usr/share/man/man8/smp_rep_zone_perm_tbl.8 +file path=usr/share/man/man8/smp_utils.8 +file path=usr/share/man/man8/smp_write_gpio.8 +file path=usr/share/man/man8/smp_zone_activate.8 +file path=usr/share/man/man8/smp_zone_lock.8 +file path=usr/share/man/man8/smp_zone_unlock.8 +file path=usr/share/man/man8/smp_zoned_broadcast.8 + +license smp_utils.license license=BSD + +depend type=require fmri=driver/storage/smp